Software Engineering Project Planning (Cost Estimation and Scheduling) 13/05/1446 PDF

Summary

This document is a presentation on Software Engineering Project Planning, focusing on cost estimation and project scheduling. It covers various aspects of project planning, including defining goals, tasks, resources, and timelines. The presentation also discusses different cost estimation methods and scheduling tools.

Full Transcript

‫‪13/05/1446‬‬ ‫هندسة البرمجيات‬ ‫‪Software Engineering‬‬ ‫مرحلة التخطيط‬ ‫)تقدير التكلفة وجدولة المشروع(‬ ‫‪Cost Estimation and Project Scheduling‬‬...

‫‪13/05/1446‬‬ ‫هندسة البرمجيات‬ ‫‪Software Engineering‬‬ ‫مرحلة التخطيط‬ ‫)تقدير التكلفة وجدولة المشروع(‬ ‫‪Cost Estimation and Project Scheduling‬‬ ‫أ‪.‬يوسف الخطيب‬ ‫مرحلة التخطيط‬ ‫ ماهي مرحلة التخطيط؟‬ ‫ أهداف التخطيط‪.‬‬ ‫ خطوات التخطيط‪.‬‬ ‫ تقدير تكلفة البرمجة والعوامل المؤثرة بها ‪.‬‬ ‫ طرق تقدير التكلفة‪.‬‬ ‫ جودلة المشروع البرمجي‪.‬‬ ‫ أدوات الجدولة‪.‬‬ ‫‪1‬‬ ‫‪13/05/1446‬‬ ‫ماهي مرحلة التخطيط؟‬ ‫ تخطيط المشروع ‪:‬‬ ‫ هو عملية تحديد اﻷهداف ونطاق العمل‪ ،‬باﻹﺿاﻓة إلى تعيين المهام‬ ‫والموارد والميزانية لكل خطوة‪.‬‬ ‫ تخطيط المشروع هو أيﺿًا الكيفية التي يتم من خﻼلها رسم ووصف‬ ‫الخارطة التي سيتم اتباعها ﻓي مرحلة تنفيذ المشروع ومراقبته والتحكم ﻓيه‬ ‫وإغﻼقه‪.‬‬ ‫اهداف التخطيط‬ ‫‪ -1 ‬التخطيط يؤدي إلى تحديد أهداف واﺿحة للعمل وسياساته‪.‬‬ ‫‪ -2‬يساهم ﻓي مواجهة التحديات والتغيرات التي ربما تحدث خﻼل المستقبل‬ ‫القريب والبعيد‪.‬‬ ‫ ‪ -3‬يقلل من التكاليف وتجنب الهدر اﻹداري ‪ ،‬وبالتالي اﻻستخدام اﻷمثل‬ ‫للموارد المادية ‪.‬‬ ‫ ‪ - 4‬يساعد التخطيط علي تقسيم العمل ‪ ،‬وتحديد الصﻼحيات والمسؤوليات‪.‬‬ ‫ ‪ -5‬العمل على وﺿع خطة مسبقة ﻷي مشروع مهم جداً لتفادي الفشل‬ ‫والمخاطر‪.‬‬ ‫‪2‬‬ ‫‪13/05/1446‬‬ ‫خطوات التخطيط لمشروع برمجي‬ ‫عند التخطيط لمشروع برمجي يجب أن نقوم ب ‪:‬‬ ‫ ‬ ‫‪.1‬تحديد اهداف المشروع‪.‬‬ ‫ ‬ ‫‪.2‬دراسة الجدوي‪.‬‬ ‫ ‬ ‫‪.3‬تحديد المستلزمات الخاصة للمشروع البرمجي من عتاد وبرمجيات‬ ‫ ‬ ‫وعنصر بشري‪.‬‬ ‫‪.4‬تحديد حدود او نطاق المشروع و المخاطر المتوقعة‪.‬‬ ‫ ‬ ‫‪.5‬تقدير المدة الزمنية المشروع‪.‬‬ ‫ ‬ ‫‪.6‬تقدير تكلفة المشروع‪.‬‬ ‫ ‬ ‫تقدير التكلفة و زمن المشروع هو‬ ‫الجزء اﻻهم واﻻصعب في التخطيط‬ ‫تقدير التكلفة و زمن المشروع‬ ‫ اصبحت البرمجيات ﻓي يومنا هذا أغلى تكلفة من المعتاد‪ ،‬وعند حدوث أي‬ ‫خطأ ﻓي تقدير التكلفة قد ينتج عنه خسارة لمعدي المنظومات ومن ثم ﻓشل‬ ‫إعداد المنظومة‪.‬‬ ‫ وتحديد الجدول الزمني مهم ايﺿا ً ‪ ،‬ﻷنه مرتبط بتقدير التكلفة ويؤثر على‬ ‫نجاح المشروع ‪ ،‬ولهذ ا تم إعداد طرق للتقدير كل مهمة من مهام المشروع‬ ‫ليتم معرﻓة الزمن الكلي‪.‬‬ ‫‪3‬‬ ‫‪13/05/1446‬‬ ‫تقدير التكلفة‬ ‫‪Cost Estimation‬‬ ‫ عوامل تؤثر على تقدير التكلفة‪:‬‬ ‫‪ (1‬درجة تعقيد البرمجيات ‪: Complexity of Software‬‬ ‫ كلما زاد تعقيد البرمجيات زادت التكلفة‪.‬‬ ‫‪ (2‬حجم البرنامج ‪.Size Of Software‬‬ ‫البرمجيات الكبيرة أكثر تكلفة من الصغيرة‬ ‫ ‬ ‫‪ (3‬التقنية المستخدمة ‪Technologies‬‬ ‫عﻼقة عكسية‪.‬‬ ‫‪‬‬ ‫‪ (4‬أداء المبرمجين ‪Performance of programmers‬‬ ‫المبرمج الخبير والمتمكن يوﻓر من التكلفة‬ ‫ ‬ ‫طرق تقدير التكلفة‬ ‫‪Cost Estimation Methods‬‬ ‫ ‪-1‬تقدير التماثلية ‪ANALOGOUS ESTIMATING‬‬ ‫ يستند تقدير التكلفة إلى بيانات تاريخية من مشاريع مماثلة‪.‬يمكن تعديل‬ ‫اﻻختﻼﻓات المعروﻓة بين المشروعات من أجل التقدير‪.‬يستخدم هذا النوع‬ ‫من التقدير بشكل عام ﻓي المراحل المبكرة للمشروع وهو أقل دقة من‬ ‫الطرق اﻷخرى‪.‬‬ ‫ ‪ – 2‬حكم الخبراء ‪EXPERT JUDGEMENT‬‬ ‫ يستخدم خبرة الخبراء والمعرﻓة لتقدير تكاليف المشروع‪.‬ستأخذ هذه التقنية‬ ‫ﻓي الحسبان عوامل محددة للمشروع ولكن يمكن أيﺿًا أن تكون متحيزة‪.‬‬ ‫‪4‬‬ ‫‪13/05/1446‬‬ ‫طرق تقدير التكلفة‬ ‫‪Cost Estimation Methods‬‬ ‫ ‪-3‬التقدير ‪BOTTOM-UP ESTIMATING‬‬ ‫ التقدير من القاعدة الى القمة ‪ Bottom-Up Estimation‬أي من اﻷجزاء‬ ‫الصغيرة حتى الوصول الى المشروع ككل‪ ،‬بدءا ً من المهام و النشاطات التفصيلية‬ ‫حتى الوصول الى المشروع الكامل‪ ،‬يوفر هذا النوع من التقدير دقة كبيرة و‬ ‫موثوقية عالية‪.‬‬ ‫ ‪-4‬تكلفة الجودة ‪COST OF QUALITY‬‬ ‫ هي مجموع التكاليف التي يتم إنفاقها لﺿمان تقديم المنتج إلى المستهلك حسب‬ ‫متطلباته ورغباته‪.‬‬ ‫ هي مجموع التكاليف التي يتحملها المنتج والمتعلقة بتحديد مستوى جودة المنتج‬ ‫وتقييم مدى مطابقة مواصفات المنتج مع متطلبات ورغبات المستهلك‪.‬‬ ‫طرق تقدير التكلفة‬ ‫‪Cost Estimation Methods‬‬ ‫ ‪-5‬تحليل العطاءات ‪VENDOR BID ANALYSIS‬‬ ‫ يمكن استخدام تحليل البائعين لتقدير تكلفة المشروع من خﻼل مقارنة‬ ‫العروض من بائعين متعددين‪.‬‬ ‫ ‪-6‬برامج تقدير تكاليف المشروع ‪PROJECT MANAGEMENT‬‬ ‫‪ESTIMATING SOFTWARE‬‬ ‫ يتﺿمن برنامج إدارة المشروع تقدير تكلفة تطبيقات البرامج وجداول‬ ‫البيانات وتطبيقات المحاكاة وأدوات البرامج اﻹحصائية ‪ ،‬والتي تعتبر مفيدة‬ ‫بشكل خاص لفحص بدائل تقدير التكلفة‪.‬‬ ‫‪5‬‬ ‫‪13/05/1446‬‬ ‫جدولة المشروع البرمجي‬ ‫‪Software project scheduling‬‬ ‫ تعريف جدولة المشروع هي عملية تحويل خطة المشروع الى جدول زمني‬ ‫لتشغيل المشروع‪ ،‬ابتداء من لحظة مباشرة العمل ﻓي المشروع‪ ،‬مرورا بجميع‬ ‫اﻷنشطة المتتابعة والمتداخلة‪ ،‬وصوﻻ الى لحظة انتهاء العمل ﻓي المشروع‪،‬‬ ‫وتحديد الوقت الﻼزم لتنفيذ المشروع من لحظة البدء وحتى لحظة اﻹنتهاء‪.‬‬ ‫ منافﻊ جدولة المشروع ‪:‬‬ ‫ تعتبر جدولة المشروع اطارا منسقا لتخطيط وتوجيه ومراقبة المشروع‪.‬‬ ‫ تشير الجدولة الى الوقت الذي يحتاج ﻓيه المشروع الى تواجد بعض الخبرات‬ ‫والمهارات الخاصة‪.‬‬ ‫منافع جدولة المشروع‬ ‫ تساعد الجدولة ﻓي توﻓير خطوط اتصال اوﺿح واقصر بين اﻷقسام والوظائف‬ ‫وﻓرق العمل‪.‬‬ ‫ تساعد الجدولة ﻓي تحديد التاريخ المتوقع إلنهاء المشروع‪.‬‬ ‫ للجدولة دور ﻓي تحديد اﻷنشطة الحرجة التي اذا تأخرت ﻓان وقت المشروع‬ ‫سيتأخر‪.‬‬ ‫ تساهم الجدولة ﻓي تحديد تواريخ بداية ونهاية اﻷنشطة وعﻼقتها باﻷنشطة‬ ‫اﻷخرى‪.‬‬ ‫ تساعد الجدولة ﻓي تخفيف الخﻼﻓات الشخصية والصراعات على الموارد وذلك‬ ‫ﻻن الوقت محددة مسبقا‪ ،‬مما يسهل عملية التنسيق‪.‬‬ ‫‪6‬‬ ‫‪13/05/1446‬‬ ‫أدوات الجدولة‬ ‫‪Tools of scheduling‬‬ ‫ تحتاج الخطة اﻹدارية الناجحة للمشروع أن تكون في إطار زمني محدد‪ ،‬لتحقيق‬ ‫اﻷهداف المرجوة وفق طريقة محكمة وواضحة المعالم‪.‬‬ ‫ تفترض أدوات الجدولة أن المشروع يتكون من مجموعة نشاطات او مهام بعﺿها‬ ‫ينجز بالتوازي واﻷخر يعتمد على بعض‪.‬‬ ‫ أدوات الجدولة المستخدمة في التخطيط ومتابعة المشروع‪:‬‬ ‫ ‪ -1‬مخطط جانت ‪Gantt Chat‬‬ ‫ ‪ -2‬طريق المسار الحرج ‪Critical Path Method CMP‬‬ ‫ ‪ 3-‬مخطط بيرت ‪Project Evaluation & Review Technique‬‬ ‫مخطط جاﻧﺖ ‪Gantt Chart‬‬ ‫ تمت تسميته تيمنًا بالمهندس الميكانيكي الذي ابتكره هنري جانت‪.‬‬ ‫ وهو رسم بياني ﻹدارة المشروع بتحديد النشاطات والمهام الخاصة به ِوﻓق إطار‬ ‫زمني مخصص لكل مهمة على حدة‪.‬‬ ‫ يُستخدم مخطط جانت ﻓي مرحلة التخطيط قبل عملية تنفيذ المشروع‪ ،‬من أجل‬ ‫جدولة المهام وتقدير الوقت الزمني لها‪.‬‬ ‫ يتكون المخطط من مجموعة من المهام والنشاطات‪ ،‬يتم تمثيل الزمن بالمحور‬ ‫أﻷﻓقي مع بتحديد تاريخ ال َبدْء واﻻنتهاء والمحور الرأسي للنشاطات‪.‬‬ ‫ يتم ترتيب هذه اﻷنشطة وأوقاتها ِوﻓق تسلسل منطقي وتتابع زمني يراعي‬ ‫المصادر والمتطلبات لكل منها‪.‬‬ ‫‪7‬‬ ‫‪13/05/1446‬‬ ‫مخطط جاﻧﺖ ‪Gantt Chart‬‬ ‫خطوات رسم مخطط جاﻧﺖ‬ ‫‪.1‬اﻓتح برنامج اﻻكسل‬ ‫‪.2‬ادخل الجدول التالي ‪:‬‬ ‫المدة‬ ‫تاريخ اﻻنتهاء‬ ‫تاريخ البدء‬ ‫اسم المهمة‬ ‫‪4‬‬ ‫‪15-Oct‬‬ ‫‪11-Oct‬‬ ‫مهمة ‪1‬‬ ‫‪4‬‬ ‫‪20-Oct‬‬ ‫‪16-Oct‬‬ ‫مهمة‪2‬‬ ‫‪5‬‬ ‫‪22-Oct‬‬ ‫‪17-Oct‬‬ ‫مهمة‪3‬‬ ‫‪5‬‬ ‫‪25-Oct‬‬ ‫‪20-Oct‬‬ ‫مهمة ‪4‬‬ ‫نحذف صف المدة ونقوم بعمل عملية حسابية داخله ﻻيجاد الناتج‬ ‫‪.3‬‬ ‫تحديد عمود تاريخ البدء‬ ‫‪.4‬‬ ‫الذهاب الى خيار ادراج ونختار مخططات‬ ‫‪.5‬‬ ‫الﺿغط على المخطط الناتج بالزر اﻷيمن ونختار خيار تحديد البيانات‬ ‫‪.6‬‬ ‫‪.7‬‬ ‫‪8‬‬ ‫‪13/05/1446‬‬ ‫طريق المسار الحرج‬ ‫‪Critical Path Method CMP‬‬ ‫ المسار الحرج )‪(Critical Path Method- CPM‬وهو أطول مسار يتم تنفيذ‬ ‫نشاطات المشروع فيه‪.‬‬ ‫ يتم تحديد هذا المسار من خﻼل مخطط شبكة اﻻنشطة والذي يتم من خﻼله تحديد‬ ‫تسلسل تنفيذ اﻷنشطة ﻓي المشروع‪.‬‬ ‫ ‪ -1‬يتم تحديد المسارات الموجودة على مخطط شبكة اﻷنشطة بحيث يبدأ كل مسار‬ ‫من نقطة بداية المشروع وينتهي بآخر نشاط ﻓي المشروع‪.‬‬ ‫ ‪ -2‬يتم جمع المدة الزمنية التي يحتاجها كل نشاط ليتم إنجازه على كل مسار من‬ ‫المسارات التي تم تحديدها سابقاً‪ ،‬والمسار الذي سيحتاج إلى ﻓترة زمنية أكبر‬ ‫سيكون هو المسار الحرج‪.‬‬ ‫بناء المخطط الشبكي و تحديد المسار الحرج‬ ‫ تتلخص خطوات تطبيق طريقة المسار الحرج ﻓي‪:‬‬ ‫ ‪-1‬معرﻓة كل اﻷنشطة التي يجمعها المشروع ﻓي البداية يتم عمل قائمة بكل المهام‬ ‫)اﻷنشطة( التي يﺿمها المشروع ‪.‬‬ ‫ ‪-2‬معرﻓة العﻼقات بين هذه المهام هناك مهام يمكن أن تنفذ على التوازي أو قد‬ ‫تعتمد علي انتهاء مهام أخرى )على التسلسل(‪ ،‬ﻓي هذه الخطوة يتم عمل قائمة بكل‬ ‫مهمة وعﻼقاتها بالمهمات األخرى‪.‬‬ ‫ ‪- 3‬رسم المهام علي المخطط الشبكي بعد معرﻓة المهام وما يترتب عليها من مهام‬ ‫أخرى‪ ،‬يتم رسم المخطط الشبكي الخاص بالمشروع بحيث تكون اﻷنشطة‬ ‫مرسومة عند العقد )‪Activity on Node‬‬ ‫‪9‬‬ ‫‪13/05/1446‬‬ ‫خطوات تطبيق طريقة المسار الحرج‬ ‫ ‪ - 4‬تقدير الزمن الﻼزم ﻹنهاء كل مهمة من واقع الخبرات السابقة بهذه المهام أو‬ ‫باستخدام الحساب المعتمد على كمية العمل واﻹنتاجية‪.‬‬ ‫ ‪ - 5‬تحديد المسار الحرج من المخطط الشبكي و هو أطول مسار من حيث المدة‬ ‫الزمنية الﻼزمة ﻹنهائه‪ ،‬والذي يتسبب ﻓي تأخير المشروع كله إن حدث تأخير ﻓي‬ ‫أي نشاط ﻓيه‪.‬‬ ‫ ‪ - 6‬تحديث المخطط الشبكي بشكل دوري أثناء تنفيذ المشروع ‪.‬‬ ‫مثال‬ ‫ اوجد الفترة التي يستغرقها المشروع ‪Project Duration‬وكذلك المسار الحرج‬ ‫‪CP‬؟‬ ‫‪Activity‬‬ ‫‪Dependency‬‬ ‫)‪Duration(Days‬‬ ‫النشاط‬ ‫اﻹعتمادية‬ ‫الزمن‬ ‫‪A‬‬ ‫‪-‬‬ ‫‪5‬‬ ‫‪B‬‬ ‫‪A‬‬ ‫‪4‬‬ ‫‪C‬‬ ‫‪A‬‬ ‫‪5‬‬ ‫‪D‬‬ ‫‪B‬‬ ‫‪6‬‬ ‫‪E‬‬ ‫‪C‬‬ ‫‪3‬‬ ‫‪F‬‬ ‫‪D,E‬‬ ‫‪4‬‬ ‫‪ES‬‬ ‫‪Activity‬‬ ‫‪EF‬‬ ‫المسار اﻷمامي‬ ‫المسار العكسي‬ ‫نأخذ القيمة اﻷعلى‬ ‫‪LS‬‬ ‫‪Duration‬‬ ‫‪LF‬‬ ‫نأخذ القيمة اﻷقل‬ ‫‪10‬‬ ‫‪13/05/1446‬‬ ‫مﻼحظات‬ ‫)‪ (4‬الوقت المبكر للحدث تحتسب القيمة اﻷعلى‪.‬‬ ‫مﻼحظات‬ ‫‪11‬‬ ‫‪13/05/1446‬‬ ‫‪Project Evaluation & Review Technique‬‬ ‫مخطط بيرت‬ ‫ّ‬ ‫مخطط بيرت أو جدول تقنيّة تقييم البرنامج ومراجعته هو أداة ﻹدارة المشاريع‬ ‫ ‬ ‫تُستخدم لتمثيل الجدول ّ‬ ‫الزمني للمشروع بشكل مرئي‪.‬‬ ‫الزمني للمشروع بأكمله‪ ،‬بما ﻓي ذلك المهام والمعالم‬ ‫ّ‬ ‫مخطط شبكي يحدّد الجدول ّ‬ ‫ ‬ ‫الرئيسية‪.‬‬ ‫الﻼزم ﻹكمال المشروع‪ ،‬وتعيين المهام‬ ‫ّ‬ ‫مخطط بيرت ﻓي التنبّؤ بالوقت ّ‬ ‫ يساعدك‬ ‫ّ‬ ‫للموظفين‪ ،‬وإيجاد المسار الحرج‪.‬‬ ‫‪Project Evaluation & Review Technique‬‬ ‫مخطط بيرت‬ ‫‪12‬‬ ‫‪13/05/1446‬‬ ‫‪Project Evaluation & Review Technique‬‬ ‫مخطط بيرت‬ ‫ يجب أداء المهام التي تعتمد على بعﺿها البعض بترتيب محدّد‪.‬إذًا‪ ،‬إذا كانت‬ ‫نظرا ﻷنّه‬ ‫المه ّمة ‪B‬تعتمد على المه ّمة ‪ ،A‬ﻓسيتم رسم السّهم من المه ّمة ‪A‬إلى ‪ً B‬‬ ‫يجب إنهاء ‪A‬أوﻻً‪.‬‬ ‫ قد تكون لديك مهام أو عناصر مختلفة ﻓي المرحلة نفسها دون وجود عﻼقة تربط‬ ‫بينها‪.‬ندعوها المهام المتوازية‪.‬‬ ‫نهاية المحاضرة‬ ‫بالتوفيق ‪‬‬ ‫‪13‬‬

Use Quizgecko on...
Browser
Browser