المحاضرة رقم 1 - مقدمة (1)-1.pdf

Full Transcript

‫هندسة البرمجيات‬ ‫أ‪.‬ياسر محمد علي‬ ‫المحاضرة رقم ‪1‬‬ ‫مقدمة‬ ‫مقدمة‬ ‫البرمجيات ‪Software‬‬ ‫ليست هى برامج الكمبيوتر فقط لكنها أيضا ً كل التوثيق‬ ‫‪‬‬ ‫المرتبط بها‪ ،‬وبيانات التجهيز والتكوين الالزمة لجعل‬...

‫هندسة البرمجيات‬ ‫أ‪.‬ياسر محمد علي‬ ‫المحاضرة رقم ‪1‬‬ ‫مقدمة‬ ‫مقدمة‬ ‫البرمجيات ‪Software‬‬ ‫ليست هى برامج الكمبيوتر فقط لكنها أيضا ً كل التوثيق‬ ‫‪‬‬ ‫المرتبط بها‪ ،‬وبيانات التجهيز والتكوين الالزمة لجعل‬ ‫البرامج تعمل بصورة صحيحة‪.‬‬ ‫هناك نوعان من المنتجات البرمجية‪:‬‬ ‫البرامج العامة الشاملة ‪ Generic Products‬وهى نظم مستقلة تنتج بواسطة‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫منظمات التطوير وتباع فى السوق لى عميل واحيانا يطلق عليها اسم البرمجيات‬ ‫المغلقة‪.‬‬ ‫البرمجيات المخصصة ‪ Bespoke Products‬وهى نظم مخصصة لعميل معين يطلب‬ ‫أ‬ ‫تجهيزها ويتم تطويرها بواسطة شركة او مطور تخصيصا لهذا العميل‪.‬‬ ‫‪Software Engineering‬‬ ‫هندسة البرمجيات‬ ‫أ‬ ‫أ‬ ‫هى فرع من المعرفة يهتم بكل اشكال إنتاج البرمجيات‪ ،‬ويجب ان يتبنى مهندس‬ ‫‪‬‬ ‫أ‬ ‫البرمجيات اإلقتراب المنظم والنظامى فى عمله‪ ،‬ويستخدم الدوات المناسبة‬ ‫والتقنيات الضرورية إعتمادا على المشكلة التى يقوم بحلها وقيود التطوير المفروضة‬ ‫والموارد المتاحة‪.‬‬ ‫أ‬ ‫‪‬هى فرع من فروع المعرفة الهندسية يختص بكل اشكال إنتاج البرمجيات بدءا من‬ ‫المراحل المبكرة لخصائص النظام حتى صيانة هذا النظام بعد إستخدامه‪.‬‬ ‫عمليات البرمجيات‪Software Process:‬‬ ‫أ‬ ‫أ‬ ‫هى مجموعة من النشطة والنتائج المرتبطة بها التى تنتج منتجات البرمجيات‪ ،‬او هدفها‬ ‫أ‬ ‫تطوير وارتقاء البرمجيات‪ ،‬ويتم تنفيذ غالبية هذه النشطة بواسطة مهندسى البرمجيات‬ ‫أ‬ ‫النشطة العامة فى عمليات البرمجيات‪:‬‬ ‫مواصفات البرمجيات‪ :‬ما الذى يجب على النظام ان يفعله وما هى قيود تطويره‬ ‫أ‬ ‫تطوير البرمجيات‪ :‬إنتاج نظام البرمجيات ويجب ان تحقق البرمجيات المنتجة‬ ‫المواصفات‪.‬‬ ‫أ‬ ‫التثبت‪ :‬فحص وإختبار ان البرمجيات تحقق ما يريده العميل‪.‬‬ ‫إرتقاء البرمجيات‪ :‬تغيير وتطوير البرمجيات إستجابة لمقتضيات التغيير‪.‬‬ ‫‪Cost of SWE‬‬ ‫تكاليف هندسة البرمجيات‪:‬‬ ‫بصفة تقديرية فإن حوالى ‪ %60‬من التكاليف تعتبر تكاليف تطوير‪Development Cost‬‬ ‫وحوالى ‪ %40‬هى تكاليف فحص وإختبار‪ ، Testing Cost‬وبالنسبة للبرمجيات الخاصة‬ ‫فإن تكاليف اإلرتقاء تتجاوز تكاليف التطوير‪.‬‬ ‫هندسة البرمجيات بمساعدة الكمبيوتر ‪CASE‬‬ ‫مصطلح ‪ CASE‬هو إختصار كلمات هندسة البرمجيات بمساعدة الكمبيوتر ‪Computer‬‬ ‫أ‬ ‫‪ Aided Software Engineering‬ويغطى نطاقا واسعا من انواع البرامج المختلفة التى‬ ‫أ‬ ‫تستخدم فى دعم انشطة عمليات البرمجيات مثل تحليل المتطلبات ونمذجة النظام وإك تشاف وتصحيح‬ ‫العلل واإلختبار‪.‬‬ ‫هندسة البرمجيات بمساعدة الكمبيوتر عبارة عن نظم برمجية توفر دعما ً آليا ً‬ ‫ألنشطة عمليات البرمجيات وتستخدم نظم ‪ CASE‬لدعم الطرق والمنهجيات‪.‬‬ ‫خصائص البرمجيات الجيدة‬ ‫الشرح‬ ‫المواصفات‬ ‫لبد من وجود إمكانية تعديل البرنامج حتى يفى بحاجات العميل‬ ‫قابلية التعديل‬ ‫المتغيرة‪.‬‬ ‫(‪)Maintainability‬‬ ‫أ‬ ‫خرى‬ ‫أ‬ ‫وهذا يتضمن مواصفات ا مثل التماسك‪ ،‬توفير المن والسالمة‪،‬‬ ‫اإلعتمادية‬ ‫أ‬ ‫أ‬ ‫وإمكانية اإلطمئنان إلى اداء البرنامج‪ ،‬بمعنى انه فى حالة إنهيار‬ ‫أ‬ ‫أ‬ ‫(‪)Dependability‬‬ ‫النظام‪ ،‬ل يجب ان يسبب البرنامج خسائر مادية اوإقتصادية‪.‬‬ ‫أ‬ ‫يجب ان يحسن البرنامج إستخدام الموارد المتاحة مثل الذاكرة وقدرة‬ ‫الفاعلية‬ ‫أ‬ ‫المعالج بافضل صورة ممكنة‪.‬‬ ‫(‪)Efficiency‬‬ ‫أ‬ ‫يجب ان يملك البرنامج واجهة إستخدام مناسبة‪ ،‬ومستندات مصاحبة‬ ‫سهولة اإلستخدام‬ ‫لشرح إمكانياته وتوضيح تصميمه‪.‬‬ ‫(‪)Usability‬‬ ‫بعض التحديات تواجه هندسة البرمجيات‬ ‫هناك تحديات تواجه هندسة البرمجيات ومنها‪:‬‬ ‫اإللتقاء مع النظم القديمة الموروثة‪Legacy Systems.‬‬ ‫‪‬‬ ‫اإلستجابة لطلب تقليل وقت التسليم‪Delivery Times.‬‬ ‫‪‬‬ ‫المسئولية اإلحترافية واألخالقية‬ ‫‪Professional & Ethical Responsibility‬‬ ‫أ‬ ‫موضوعات المسئولية اإلحترافية والخالقية‬ ‫الخصوصية‪Confidentiality.‬‬ ‫‪‬‬ ‫‪‬الك فاءة والتخصص‪Competence.‬‬ ‫المسئولية اإلحترافية واألخالقية‬ ‫‪Professional & Ethical‬‬ ‫‪Responsibility‬‬ ‫أ‬ ‫موضوعات المسوئلية ا إلحترافية والخالقية‬ ‫حقوق الملكية الفكرية‪Intellectual property rights.‬‬ ‫‪‬‬ ‫إساءة إستخدام الكمبيوتر‪Computer Misuse.‬‬ ‫‪‬‬ ‫النهاية‬ ‫هندسة البرمجيات‬ ‫المحاضرة رقم ‪2‬‬ ‫هندسة النظم المبنية على الكمبيوتر‬ ‫مقدمة‬ ‫تهتم هندسة النظم ‪ Systems Engineering‬المبنية على الكمبيوتر بتصميم ‪ Designing‬وإنجاز‬ ‫‪ implementing‬وتجهيز ‪ deploying‬وتشغيل النظم ‪ operating systems‬والتى بدورها‬ ‫تتضمن العتاد ‪ ،Hardware‬والبرمجيات ‪ ،Software‬والبشر ‪.People‬‬ ‫أ‬ ‫النظام‪ :‬عبارة عن تجميع عدة مكونات مرتبطة ببعضها تعمل معا لتحقيق هدف معين‪ ،‬وقد يكون النظام برمجيا او‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫ميكانيكيا او كهربيا او عتادا يقوم بتشغيله الشخاص‪ ،‬وتعتمد مكونات النظام على بعضها وتمتزج خصائص‬ ‫أ‬ ‫وسلوكيات مكونات النظام ول يمكن فصلها او فكها‪.‬‬ ‫البرمجيات وهندسة النظم‬ ‫الخصائص المنبثقة‪Emergent system properties :‬‬ ‫أ‬ ‫هى خصائص مميزة للنظام ككل وليست لمكوناته اى خصائص النظام بصفة عامة بدل من‬ ‫أ‬ ‫الخصائص التى يمكن إشتقاقها من مكونات النظام‪ ،‬من امثلة الخصائص الحرجة‪:‬‬ ‫‪The reliability of the system‬‬ ‫‪ ‬إعتمادية النظام‪.‬‬ ‫‪The usability of a system‬‬ ‫‪ ‬قابلية إستخدام النظام‪.‬‬ ‫أ‬ ‫انواع الخصائص المنبثقة‬ ‫‪Types of emergent property‬‬ ‫‪ -‬الخصائص الوظيفية‪ Functional properties :‬تظهر عندما تعمل كل مكونات‬ ‫أ‬ ‫واجزاء النظام معا لتحقيق غرض ما‪.‬‬ ‫‪ -‬الخصائص الغير وظيفية ‪Non-functional emergent properties :‬‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫مثل اإلعتمادية والمان والداء والتامين‪reliability, performance, ،‬‬ ‫‪ safety, and security‬فهذه الخصائص تتعلق بتصرف النظام فى بيئة عمله‪.‬‬ ‫النظم وبيئتها‬ ‫‪Systems and their environment‬‬ ‫النظم غير مستقلة لكنها تتواجد فى بيئة‪ ،‬وقد تغير البيئة وظيفة النظام‪ ،‬وتؤثر البيئة على‬ ‫‪‬‬ ‫وظيفية النظام‪.‬‬ ‫طبقات النظام‪System hierarchies :‬‬ ‫فى نظام المبانى‪ :‬تتواجد المبانى فى شوارع هى نفسها جزء من مدينة‪ ،‬يحتوى نظام المبنى‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫ايضا على نظم فرعية مثل نظام التامين‪ ،‬نظام التسخين‪ ،‬نظام اإلضاءة‪ ،‬نظام طاقة‪ ،‬نظام‬ ‫صرف‪ ،‬نظام مياه…‪..‬‬ System hierarchies Town Street Building Heating Power Water system system system Security Lighting Waste system system system ‫العوامل البشرية والتنظيمية‬ ‫‪Human and organisational factors‬‬ ‫من العوامل البشرية والتنظيمية‪:‬‬ ‫تغييرات العمليات‪ Process changes :‬هل يحتاج النظام تغييرا ليقوم‬ ‫‪‬‬ ‫بعملياته فى البيئة‪.‬‬ ‫التغييرات التنظيمية‪ Organisational changes :‬هل يغير النظام بنية‬ ‫‪‬‬ ‫النفوذ فى المنظمة‪.‬‬ ‫نمذجة هيكل النظام‬ ‫‪System architecture modelling‬‬ ‫تبين نماذج بنية النظام النظم الفرعية والتنسيق البينى فيما بينها‪ ،‬وتوضع غالبا فى مخططات‬ ‫‪‬‬ ‫صندوقية‪.‬يعرض نموذج هيكل النظام شكال مجردا للنظم الفرعية التى يتكون منها النظام‪،‬‬ ‫أ‬ ‫وقد يحتوى على المعلومات الرئيسية التى تتدفق بين النظمة الفرعية‪ ،‬وعادة ما يمثل على‬ ‫أ‬ ‫هيئة مخطط صندوقى ‪ ،Diagram Block‬وقد يعرف النواع المختلفة للمكونات الوظيفية‬ ‫فى هذا النموذج‪.‬‬ ‫مثال نظام إدارة مستشفى‬ ‫‪‬‬ ‫عمليات هندسة النظام هى‬ requirements definition.‫تحديد وتعريف المتطلبات‬ System Design.‫تصميم النظام‬ Sub-system development.‫تطوير النظم الفرعية‬ System integration.‫تجمع النظام‬ System installation.‫تثبيت النظام‬ System evolution.‫إرتقاء النظام‬ System decommissioning.‫تقويض النظام‬ The system engineering process Requirements System definition decommissioning System System design evolution Sub-system System development installation System integration ‫مشاكل متطلبات النظام‬ ‫‪System requirements problems‬‬ ‫التغيير بعد تحديد النظام‪.‬يجب توقع تطورات العتاد واإلتصالت على مدى عمر‬ ‫‪‬‬ ‫النظام‪.‬صعوبة تحديد المتطلبات غير الوظيفية عمليا بدقة بدون وجود تصور عن‬ ‫بنية مكونات النظام‪.‬‬ ‫عملية تصميم النظام‬ ‫‪The system design process‬‬ ‫تقسيم المتطلبات‪ : Partition requirements :‬تنظيم المتطلبات فى مجموعات مرتبطة‬ ‫‪‬‬ ‫ببعضها‪.‬‬ ‫تحديد النظم الفرعية‪ :Identify sub-systems :‬التى يحقق جمعها تحقيق متطلبات النظام‪.‬‬ ‫‪‬‬ ‫تخصيص متطلبات النظم الفرعية‪Assign requirements to sub-systems :‬‬ ‫‪‬‬ ‫تحديد وظيفية النظم الفرعية‪Specify sub-system functionality.‬‬ ‫‪‬‬ ‫تحديد واجهات النظم الفرعية ‪ Define sub-system interfaces‬ويعتبر نشاط حرج‬ ‫‪‬‬ ‫لتطوير النظم الفرعية المتوازية‪.‬‬ The system design process Partition Define sub-system requirements interfaces Identify Specify sub-system sub-systems functionality Assign requirements to sub-systems ‫هى عملية وضع العتاد والبرمجيات‬ ‫‪System integration‬‬ ‫تجميع النظام‪:‬‬ ‫‪‬‬ ‫أ‬ ‫والشخاص معا لكى يعمل النظام‪.‬‬ ‫تثبيت النظام‪ System installation :‬قد تكون إفتراضات البيئة غير صحيحة‪،‬‬ ‫‪‬‬ ‫قد تتواجد مقاومة بشرية لتقديم النظام الجديد‪.‬قد ل يتعايش النظام مع النظم‬ ‫المختلفة لبعض الوقت‪.‬قد تتواجد مشاكل تركيب وتثبيت فيزيائية لبعض‬ ‫المكونات يجب تحديد تدريب المشتغلين بالنظام‪.‬‬ ‫تشغيل النظام‪ System operation :‬قد تظهر بعض المتطلبات غير المتوقعة والتى لم‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫تكن مرئية‪.‬قد يستخدم المستخدمون النظام بطريقة لم تكن فى نية او تخطيط او توقع‬ ‫أ‬ ‫مصمم النظام‪ ،‬قد تك تشف مشاكل فى التفاعل مع النظم الخرى‪.‬‬ ‫أ‬ ‫أ‬ ‫إرتقاء النظام‪ System evolution :‬للنظم الكبيرة فترة حياة اطول ويجب ان ترتبط‬ ‫‪‬‬ ‫بإحتياجات متطلبات التغيير ان النظم الموجوة فعليا والتى يجب صيانتها غالبا ما تكون من‬ ‫أ‬ ‫النظم الموروثة القديمة لإلرتقاء تكلفة باهظة متاصلة فى طبيعته إذ يجب تحليل التغييرات‬ ‫أ‬ ‫أ‬ ‫من وجهات نظر العمال ومن وجهة نظر التقنية‪ ،‬كما ان تفاعل النظم الفرعية قد يخلق‬ ‫المشاكل الغير متوقعة‪.‬‬ ‫أ‬ ‫تقويض النظام‪ System decommissioning :‬اخذ النظام خارج الخدمة بعد‬ ‫‪‬‬ ‫إنتهاء فترة حياته المفيدة‪.‬‬ ‫إقتناء النظام‪System procurement :‬‬ ‫أ‬ ‫يهتم بتحديد النظام الذى يتم شراؤه والبائع الذى يتم الشراء منه‪.‬يعنى إقتناء نظام يلبى إحتياجات او بعض‬ ‫‪‬‬ ‫احتياجات المؤسسة وقد تكون بعض خصائص النظام ومواصفاته وبنية التصميم ضرورية قبل تدبير النظام‪،‬‬ ‫أ‬ ‫كما ان المواصفات تبين مدى تكلفة النظام وجدواه القتصادية‪.‬‬ ‫تتضمن عملية القتناء نظرة عامة لمسح السوق للبحث عن النظم الموجودة والقيام بعمل التحديد العام للنظام‬ ‫‪‬‬ ‫المطلوب‪ ،‬ثم تحديد اإلحتياجات وتوفيقها ثم إختيار نظام‪ ،‬وتحديد وتكرار الطلب‪ ،‬ثم إختيار مصدر التوريد‪،‬‬ ‫أ‬ ‫كما قد يتم مسح السوق وإختيار نظام معين ثم عمل مفاوضات العقد‪ ،‬وتطوير التفاوض بشان العقد‪.‬‬ ‫موضوعات الشراء ‪Procurement issues‬‬ ‫‪‬‬ ‫‪Contractors and sub-contractors‬‬ ‫المقاول والمقاول الفرعى‪:‬‬ ‫ر‬ ‫أ‬ ‫إقتناء نظم العتاد والبرمجيات الكبيرة تعتمد اساسا على مقاول رئيسى وقد يقوم مو د مقاول‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫أ أ‬ ‫فرعى او اك ثر بتوفير بعض اجزاء النظام بالتعاقد مع المقاول الول الرئيسى ول يتصل‬ ‫أ‬ ‫بالمستهلك او الزبون‪.‬‬ ‫‪Contractor/Sub-contractor model‬‬ ‫نموذج المقاول والمقاول الفرعى‪:‬‬ ‫يجزئ أ‬ ‫اعماله على عدد من المقاوليين الفرعيين‪.‬‬ ‫من المستهلك إلى المقاول الذى‬ ‫‪‬‬ Contractor/Sub-contractor model System customer Principal contractor Sub-contractor 1 Sub-contractor 2 Sub-contr actor 3 ‫النــــــــــــــهاية‬ ‫المحاضرة رقم ‪3‬‬ ‫عمليات البرمجيات ‪1-‬‬ ‫‪Software Processes‬‬ ‫مقدمة‬ ‫عمليات البرمجيات ‪Software Processes‬‬ ‫أ‬ ‫هى مجموعة من النشطة المترابطة المتماسكة المطلوبة لتطوير وإنتاج النظم البرمجية‪.‬‬ ‫‪‬‬ ‫أ‬ ‫والنشطة العامة هى‪ :‬توصيف المتطلبات‪ ،‬التصميم‪ ،‬التنفيذ‪ ،‬اإلختبار‪ ،‬التحقق‪ ،‬الصيانة‪ ،‬إرتقاء‬ ‫‪‬‬ ‫النظم البرمجية‪.‬‬ ‫أ‬ ‫وتمثل هذه النشطة فى نموذج عمليات البرمجيات‪.‬‬ ‫‪‬‬ ‫نماذج عمليات البرمجيات‬ ‫نموذج العملية البرمجية ‪ Software process model‬هو تمثيل مجرد لوصف العملية من‬ ‫‪‬‬ ‫منظور معين‪ ،‬ومن النماذج العامة لعمليات البرمجيات‪:‬‬ ‫نموذج الشالل ‪ : The waterfall model‬وهى عبارة عن مراحل واضحة المعالم منفصلة لوضع‬ ‫‪‬‬ ‫المواصفات والتطوير‪.‬‬ ‫التطوير اإلرتقاىئ ‪ :Evolutionary development‬وفيه تتداخل المواصفات مع التطوير‪.‬‬ ‫‪‬‬ ‫التطوير المعتمد على إعادة اإلستخدام ‪ : Reuse-based development‬بتجميع النظام من‬ ‫‪‬‬ ‫مكونات موجودة‪.‬‬ Waterfall model ‫نموذج الشالل‬ :‫مراحله‬ Requirements analysis and definition.‫تعريف وتحليل وتحديد المتطلبات‬ System and software design.‫تصميم النظام وتصميم البرمجيات‬ Implementation and unit testing.‫تنفيذ وإختبار وحدات النظام‬ Integration and system testing.‫تجميع النظام وإختباره‬ Operation and maintenance.‫ عمل النظم وصيانته‬ Waterfall model Requirements definition System and software design Implementation and unit testing Integr ation and system testing Operation and maintenance ‫أ‬ ‫من عيوب نموذج الشالل صعوبة تقدير وتكييف التغييرات اثناء العملية‪.‬‬ ‫‪‬‬ ‫من مشاكل نموذج الشالل‪ :‬التقسيم غير المرن للمشروع إلى مراحل منفصلة‪ ،‬يزيد من‬ ‫‪‬‬ ‫صعوبة اإلستجابة عن تغيير متطلبات المستهلك‪ ،‬لهذا يصبح هذا النموذج مفيدا فقط‬ ‫أ‬ ‫ومرغوبا عند التفهم الكامل للمتطلبات وقلة التغييرات فيها إلى الحد الدنى‪.‬‬ ‫التطوير ا إلرتقاىئ‬ ‫‪Evolutionary development‬‬ ‫نموذج تطوير إلنتاج البرمجيات تتداخل فيه المواصفات مع التطوير‪.‬‬ ‫‪‬‬ ‫التطوير اإلستكشافى‪ Exploratory development :‬الهدف هو العمل مع‬ ‫‪‬‬ ‫المستهلك والتوصل إلى النظام النهاىئ من خالل خطوط عامة تمهيدية للمواصفات‬ ‫ويجب البدء بمتطلبات مفهومة جيدا‪.‬‬ ‫أ‬ ‫النماذج الولية‪ Throw-away prototyping :‬الغرض هو فهم متطلبات‬ ‫‪‬‬ ‫النظام ويجب البدء بمتطلبات مفهومة إلى حد ما‪.‬‬ Evolutionary development Concurr ent activities Initial Specification version Outline Intermediate Development description versions Final Validation version ‫أ‬ ‫فى التطوير اإلرتقاىئ يتم وضع خطوط وصف عامة ثم تتم متابعة العمل بانشطة متالقية‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫مساعدة لتحديد المواصفات التى التى تعطى إصدارا اوليا بمكن ان يتفاعل مرة اخرى مع‬ ‫أ أ‬ ‫تحديد المواصفات لتغييرها وتعديلها وهكذا‪ ،‬ثم من تحديد المواصفات تبدا اعمال‬ ‫أ‬ ‫التطوير التى توفر إصدارات وسيطة تتفاعل بدورها مع التطوير وتؤثر فيه وتتاثر به‪ ،‬ثم‬ ‫أ‬ ‫يتم التحقق من النظام للوصول إلى اإلصدار النهاىئ‪.‬تتفاعل ايضا مراحل تحديد‬ ‫المواصفات والتطوير والتحقق مع بعضها البعض‪.‬‬ ‫من مشاكل التطوير اإلرتقاىئ ‪ : Problems‬نقص وضوح العمليات‪ ،‬فقر‬ ‫‪‬‬ ‫أ‬ ‫هيكلية النظم‪ ،‬وتحتاج مهارات خاصة بلغات تسمح بالنماذج الولية السريعة‪.‬‬ ‫قابلية تطبيق التطوير اإلرتقاىئ ‪ : Applicability‬للنظم الصغيرة‬ ‫‪‬‬ ‫أ‬ ‫والمتوسطة الحجم ذات التفاعلية‪ ،‬ولجزاء من النظم الكبيرة مثل واجهة‬ ‫أ‬ ‫المستخدم‪ ،‬وللنظم قصيرة المد‪.‬‬ ‫التطوير المبنى على إاعادة ا إلستخدام‬ ‫‪Reuse-oriented development‬‬ ‫يعتمد على إعادة اإلستخدام التقليدى حيث يتم تجميع النظام من عدة مكونات موجودة أاو من نظم أاخرى‬ ‫‪‬‬ ‫)‪.(Commercial-off-the-shelf‬‬ ‫مراحل العمليات‪Process stages.‬‬ ‫‪‬‬ ‫تحليل المكونات‪Component analysis.‬‬ ‫‪‬‬ ‫تعديل اإلحتياجات‪Requirements modification.‬‬ ‫‪‬‬ ‫تصميم النظام بإعادة اإلسنخدام‪System design with reuse.‬‬ ‫‪‬‬ ‫التطوير والتجميع‪Development and integration.‬‬ ‫‪‬‬ ‫خطواتها‪ :‬توصيف المتطلبات‪ ،‬تحليل المكونات‪ ،‬تعديل المتطلبات‪ ،‬تصميم النظام بإعادة اإلستخدام‪،‬‬ ‫‪‬‬ ‫التطوير والتجميع‪ ،‬التحقق من النظام‪.‬‬ Reuse-oriented development Requirements Component Requirements System design specification analysis modification with reuse Development System and integration validation ‫تكرار العمليات ‪Process iteration‬‬ ‫دائما ما تستخرج متطلبات النظام من سير المشروع لهذا تتكرر العملية ويعاد العمل على المراحل المبكرة‬ ‫‪‬‬ ‫أ أ‬ ‫أ‬ ‫من المشروع خاصة فى النظم الكبيرة‪ ،‬وقد يتم التكرار المتتالى فى اى عملية او فى اى نموذج‪ ،‬وهناك‬ ‫أ‬ ‫منهجيتان للتكرار هما‪ :‬التطوير المتزايد او التطوير بنموذج الحلزون‪.‬‬ ‫التطوير المتزايد‪ Incremental development :‬بدل من التوصل إعداد النظام مرة واحدة‬ ‫‪‬‬ ‫أ‬ ‫يقسم التطوير والتسليم إلى اجزاء متزايدة يقوم كل منها بتوفير وظيفة مطلوبة‪ ،‬وتكون لمتطلبات‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫أ أ‬ ‫المستخدمين اعلى اولوية‪ ،‬وتوضع المتطلبات ذات الولوية العلى فى الجزاء المبكرة من النظام‪.‬‬ ‫أ‬ ‫تعريف الخطوط العريضة للمتطلبات‪ ،‬تخصيص المتطلبات لالجزاء المتزايدة‪ ،‬تصميم معمارية النظام‪،‬‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫تطوير اجزاء تزايد النظام‪ ،‬تحقق من التزايد‪ ،‬تجميع الجزاء المتزايدة‪ ،‬التحقق من النظام حتى نصل‬ ‫للنظام النهاىئ‪.‬‬ Incremental development Define outline Assign requirements Design system requirements to increments architecture Develop system Valida te Integrate Valida te increment increment increment system Final system System incomplete ‫التطوير الحلزونى‬ ‫‪Spiral development‬‬ ‫أ‬ ‫أ‬ ‫يمثل تطوير العمليات على هيئة لولبية بدل من تتابع متتال لالنشطة او التتابع المتتالى‬ ‫‪‬‬ ‫مع الرجوع عكسيا لمزيد من التحسين‪ ،‬وتمثل كل حلقة من الحلزون مرحلة من مراحل‬ ‫أ‬ ‫العملية‪ ،‬ولتوجد مراحل ثابتة مثل توصيف المتطلبات او التصميم‪ ،‬ويتم إختيار‬ ‫أ‬ ‫الحلقات فى الحلزون بناء على ما هو مطلوب‪ ،‬ويتم تقدير المخاطر وتحليلها وحل امورها‬ ‫خالل العمليات‪.‬‬ Spiral model of the software process Determine objectives Evaluate alternatives alternatives and identify, resolve risks constraints Risk analysis Risk analysis Risk analysis Opera- Prototype 3 tional Prototype 2 protoype Risk REVIEW analysis Proto- type 1 Requirements plan Simulations, models, benchmarks Life-cycle plan Concept of Operation S/W requirements Product design Detailed Requirement design Development plan validation Code Design Unit test Integration and test plan V&V Integr ation Plan next phase test Acceptance Service test Develop, verify next-level product ‫قطاعات نموذج الحلزون‬ ‫‪Spiral model sectors‬‬ ‫أ‬ ‫أ‬ ‫فى الربع الول من الحلزون يتم تحديد الهداف والبدائل والقيود‪ ،‬فى الربع الثانى يتم‬ ‫‪‬‬ ‫أ‬ ‫تقييم البدائل وتعريف وتحليل المخاطر‪ ،‬فى الربع الثالث يتم التطوير والتاكد من منتج‬ ‫أ‬ ‫المرحلة التالية‪ ،‬وفى الربع الخير يتم تخطيط المرحلة التالية‪.‬‬ ‫النهـــــــــــــاية‬ ‫المحاضرة رقم ‪4‬‬ ‫عمليات البرمجيات ‪2-‬‬ ‫‪Software Processes‬‬ ‫مواصفات البرمجيات‬ ‫‪Software specification‬‬ ‫هى عملية وضع وتحديد الخدمات المطلوبة والقيود المفروضة على تشغيل النظام‬ ‫‪‬‬ ‫وتطويره‪ ،‬وتتضمن عملية هندسة المتطلبات‪ ،‬دراسة الجدوى‪ ،‬إستنباط وتحليل‬ ‫المتطلبات‪ ،‬تحديد مواصفات المتطلبات‪ ،‬التحقق من المتطلبات‪.‬‬ ‫طرق تجميع المتطلبات‬ ‫االتصال المباشر عن طريق المقابالت‬ ‫‪‬‬ ‫االستبيانات واالستمارات‬ ‫‪‬‬ ‫االطالع المباشر‬ ‫‪‬‬ ‫االجتماعات‬ ‫‪‬‬ ‫النماذج االولية ‪protoypes‬‬ ‫‪‬‬ ‫التوجد طريقة افضل في كل الحاالت ‪.‬‬ ‫‪‬‬ ‫مواصفات البرمجيات‬ ‫‪Software specification‬‬ ‫هى عملية وضع وتحديد الخدمات المطلوبة والقيود المفروضة على تشغيل النظام‬ ‫‪‬‬ ‫وتطويره‪ ،‬وتتضمن عملية هندسة المتطلبات‪ ،‬دراسة الجدوى‪ ،‬إستنباط وتحليل‬ ‫المتطلبات‪ ،‬تحديد مواصفات المتطلبات‪ ،‬التحقق من المتطلبات‪.‬‬ ‫عملية هندسة ا إلحتياجات‬ ‫ينتج عن دراسة الجدوى تقرير جدوى ومن إستنباط وتحليل المتطلبات يتم تقديم نماذج‬ ‫‪‬‬ ‫النظام‪.‬عند توصيف المتطلبات يجرى تحديد متطلبات المستخدم والنظام‪ ،‬وبعد‬ ‫التحقق من المتطلبات يتم توثيق المتطلبات الناتجة عن متطلبات النظام والمستخدم‪.‬‬ The requirements engineering process Feasibility Requirements study elicitation and analysis Requir ements specification Feasibility Requirements report validation System models User and system requirements Requirements document ‫تصميم وتنفيذ البرمجيات‬ ‫‪Software design and implementation‬‬ ‫هى العملية الناتجة عن تحويل مواصفات النظام إلى نظام تنفيذى‪ ،‬وقى تصميم‬ ‫‪‬‬ ‫أ‬ ‫البرمجيات يتم تصميم هيكل البرمجيات التى تحقق هذه المواصفات اما التنفيذ فيعنى‬ ‫أ‬ ‫تحويل هذا الهيكل إلى برامج تنفيذية‪ ،‬وتتصل انشطة التصميم والتنفيذ ببعضها البعض‬ ‫إتصال وثيقا وقد تتداخل فيما بينها‪.‬‬ ‫أ‬ ‫انشطة عملية التصميم‬ ‫‪Design process activities‬‬ ‫هى‪ :‬تنفيذ التصميم المعمارى‪ ،‬عمل تجريد للمواصفات‪ ،‬تصميم واجهة اإلستخدام‪،‬‬ ‫‪‬‬ ‫تصميم المكونات‪ ،‬تصميم هيكل البيانات‪.‬‬ The software design process Requirements specification Design activities Architectural Interface Comp onent Data Algorithm Abstract design design design e structur design specification design Software Data System Interface Comp onent Algorithm specification structure architecture specification specification specification specification Design products ‫أ‬ ‫منتجات انشطة التصميم هى معمارية النظام‪ ،‬مواصفات البرمجيات‪ ،‬مواصفات واجهة‬ ‫‪‬‬ ‫اإلستخدام‪ ،‬مواصفات المكونات‪ ،‬مواصفات هيكل البيانات‪.‬‬ ‫طرق التصميم‪Design methods :‬‬ ‫منهجيات نمطية لتطوير تصميم البرمجيات‪ ،‬يتم توثيق التصميم كمجموعة نماذج‬ ‫‪‬‬ ‫رسومية‪ ،‬والنماذج المحتملة منها‪ :‬نموذج تدفق البيانات‪ ،‬نموذج خصائص الجزئيات‪،‬‬ ‫النموذج الهيكلى‪ ،‬ونماذج الكائن‪.‬‬ ‫البرمجة و إاك تشاف وتصحيح العلل‬ ‫‪Programming and debugging‬‬ ‫أ‬ ‫أ‬ ‫تبدا بتحديد المشكلة وتحديد الخطا فى البرنامج‪ ،‬يتبعها تصميم إصالح العطل‪ ،‬ثم‬ ‫‪‬‬ ‫أ‬ ‫إصالح الخطا‪ ،‬وإعادة إختبار البرنامج‪.‬‬ The debugging process Locate Design Repair Re-test error error repair error program ‫التحقق من البرمجيات ‪Software validation‬‬ ‫أ‬ ‫أ‬ ‫ثبوت الصحة والتاكيد والتحقق هو بيان ان النظام يطابق المواصفات ويلبى متطلبات المستهلك‪.‬‬ ‫‪‬‬ ‫عمليات الفحص واإلختبار‪The testing process :‬‬ ‫تتضمن إختبار المكونات‪ :‬إختبار الوحدات‪ ،‬إختبار المركب البرمجى‪.‬‬ ‫‪‬‬ ‫يحتوى إختبار التجميع على‪ :‬إختبار النظم الفرعية‪ ،‬وإختبار النظام‪.‬‬ ‫‪‬‬ ‫يعنى إختبار القبول‪ :‬إختبار يقوم به المستخدم‪.‬‬ ‫‪‬‬ ‫مراحل عملية االختبار‬ Unit testing Module testing Sub-system testing System testing Acceptance testing Component Integration testing User testing testing ‫مراحل ا إلختبار‬ ‫‪Testing stages‬‬ ‫أ‬ ‫إختبار الوحدات ‪Unit testing‬بإختبار الجزاء المنفردة‪.‬‬ ‫‪‬‬ ‫أ‬ ‫إختبار المركبات البرمجية ‪ Module testing‬بإختبار المجموعات المرتبطة من الجزاء التى تعتمد‬ ‫‪‬‬ ‫عل بعضها البعض‪.‬‬ ‫إختبار النظام الفرعى ‪ : Sub-system testing‬بتجميع المكونات البرمجية فى نظام فرعى‬ ‫‪‬‬ ‫وإختبارها‪ ،‬ويتم التركيز على إختبار واجهة المستخدم‪.‬‬ ‫إختبار النظام ‪ System testing‬بإختبار النظام ككل وإختبار الخصائص المنبثقة‪.‬‬ ‫‪‬‬ ‫إختبار القبول ‪ Acceptance testing‬بإختبار النظام ببيانات المستهلك لفحص قبوله‪.‬‬ ‫‪‬‬ ‫إرتقاء البرمجيات‪Software evolution :‬‬ ‫و أ‬ ‫كلما تغيرت المتطلبات خالل تغير ظر ف العمال فإن البرمجيات التى تدعم هذه‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫العمال يجب ان تتضمن التغيرات الجديدة وان تتغير وتتكيف تبعا لذلك‪.‬‬ ‫إرتقاء النظام‪System evolution :‬‬ ‫أ‬ ‫أ‬ ‫يتضمن النشطة التية‪:‬‬ ‫تعريف متطلبات النظام‪ ،‬تقييم النظم الموجودة‪ ،‬إقتراح تغييرات النظام‪ ،‬تعديل‬ ‫‪‬‬ ‫النظام‪ ،‬وصول للنظام الجديد‪.‬‬ System evolution ‫تطور النظام‬ Define system Assess existing Propose system Modify requirements systems changes systems Existing New systems system ‫النهـــــــــــــاية‬ ‫المحاضرة رقم ‪5‬‬ ‫إدارة المشروع ‪1-‬‬ ‫‪Project management‬‬ ‫مقدمة‬ ‫أ‬ ‫أ‬ ‫اإلدارة الجيدة للمشروع هى اقوى واهم عوامل نجاح المشروع‪ ،‬وتسبب‬ ‫‪‬‬ ‫الطبيعة غير الملموسة للبرمجيات المشاكل المتعددة فى إدارة المشروعات‪.‬‬ ‫أ‬ ‫أ أ‬ ‫وبالرغم من إتباع القواعد فإن اهم النشطة التى لها تاثير قوى هى ‪ :‬التخطيط‪،‬‬ ‫التوقع‪ ،‬وجدولة المهام‪.‬‬ ‫أ‬ ‫انشطة ا إلدارة‬ ‫‪Management activities‬‬ ‫تتضمن‪ :‬ك تابة المقترح‪ ،‬تخطيط المشروع وجدولته‪ ،‬تكاليف المشروع‪،‬‬ ‫‪‬‬ ‫مراقبة المشروع‪ ،‬إعادة تقدير الموقف‪ ،‬اإلختيار الشخصى والتقييم‪ ،‬ك تابة‬ ‫التقرير والعروض التقديمية‪.‬‬ ‫عموميات ا إلدارة‬ ‫‪Management commonalities‬‬ ‫أ‬ ‫أ‬ ‫هيئة او طاقم المشروع‪ :‬قد ل يمكن تخصيص الشخاص المناسبين للعمل فى المشروع‪ ،‬كما ل‬ ‫‪‬‬ ‫أ‬ ‫تسمح الميزانية المخصصة للمشروع بإستخدام طاقم من الفراد لهم تكلفة عالية‪ ،‬وقد ل يكون‬ ‫أ‬ ‫متاحا توفر الشخاص الذين يملكون الخبرة المرغوب فيها‪ ،‬وقد ترغب المؤسسة فى تطوير‬ ‫أ‬ ‫مهارات الفراد والموظفين العاملين لديها من خالل مشروع البرمجيات‪.‬‬ ‫تخطيط المشروع‬ ‫‪Project planning‬‬ ‫هو الوقت الكبير المستهلك فى أانشطة إدارة المشروع‪ ،‬وهى أانشطة مستمرة من التصور‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫المبدىئ حتى تسليم المشروع‪ ،‬ويجب ان تتم مراجعة الخطط بإنتظام كلما اتيحت‬ ‫أ‬ ‫معلومات جديدة‪ ،‬ويمكن تطوير العديد من انواع الخطط التى تلبى ما يحتاجه دعم‬ ‫خطة مشروع البرمجيات مكن ميزانية وجدولة‪.‬‬ Types of project plan Plan Des cription Quality plan Des cribes the quality procedures and s tandards that will be us ed in a project. Validation plan Des cribes the approach, resources and s chedule used for sys tem validation. Configuration Des cribes the configuration management management plan procedures and structures to be us ed. Maintenance plan Predicts the maintenance requirements of the s ystem, maintenance cos ts and effort required. Staff development plan. Des cribes how the skills and experience of the project team members will be developed. ‫عملية تخطيط المشروع‬ ‫‪Project planning process‬‬ ‫تقدير قيود المشروع‪.‬‬ ‫‪‬‬ ‫عمل تقييمات تمهيدية لمعامالت المشروع‬ ‫‪‬‬ ‫أ‬ ‫تعريف احداث المشروع الهامة وقابلية التسليم‪.‬‬ ‫‪‬‬ ‫هيكل خطة المشروع يتكون من‬ ‫‪Project plan structure‬‬ ‫مقدمة‪ ،‬تنظيم المشروع‪ ،‬تحليل المخاطر‪ ،‬متطلبات موارد العتاد والبرمجيات‪ ،‬تقسيم‬ ‫‪‬‬ ‫آ‬ ‫العمل‪ ،‬جدولة المشروع‪ ،‬مراقبة ال لية وتقريرها‪.‬‬ ‫أ‬ ‫تنظيم النشطة‬ ‫‪Activity organization‬‬ ‫أ‬ ‫يجب تنظيم النشطة فى المشروع إلنتاج مخرجات واضحة ملموسة لإلدارة للحكم على‬ ‫‪‬‬ ‫أ‬ ‫تقدم المشروع‪ ،‬الحداث الهامة والمعالم الرئيسية هى نقطة النهاية وغاية نشاط‬ ‫العمليات‪ ،‬قابلية التسليم هى نتائج المشروع التى تسلم إلى المستهلك‪ ،‬تسمح عمليات‬ ‫أ‬ ‫الشالل بالتعريف المباشر الواضح والتقديم لالحداث الهامة‪.‬‬ ‫جدولة المشروع‬ ‫‪Project scheduling‬‬ ‫تقسيم المشروع إلى مهام‪ ،‬تخمين الوقت والموارد الالزمة إلك تمال كل مهمة‪.‬‬ ‫‪‬‬ ‫عملية جدولة مهام المشروع‪:‬‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫من هندسة المتطلبات يتم تعريف النشطة وتعريف إعتمادية النشطة وتقدير موارد‬ ‫‪‬‬ ‫أ‬ ‫النشطة وتخصيص البشر لإلنشطة إنشاء مخططات المشروع للحصول على المخططات‬ ‫أ‬ ‫البيانية لالنشطة‪.‬‬ The project scheduling process Identify Identify activity Estimate resources Allocate people Create project activities dependencies for activities to activities charts Software Activity charts requirements and bar charts ‫مشاكل جدولة المهام‬ ‫‪The project scheduling process‬‬ ‫توقع صعوبة المشاكل‪ ،‬وبالتالى صعوبة تكلفة حلول التطوير‪.‬‬ ‫‪‬‬ ‫أ‬ ‫لتتناسب اإلنتاجية مع عدد الشخاص القائمين على تنفيذ‪.‬‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫إضافة الشخاص إلى مشروع متاخر قد يزيد التاخير سبب اعباء اإلتصالت‪.‬‬ ‫‪‬‬ ‫المحاضرة رقم ‪6‬‬ ‫إدارة المشروع ‪2-‬‬ ‫‪Project management‬‬ ‫أ‬ ‫المخططات البيانية وشبكة النشطة‬ ‫‪Bar charts and activity networks‬‬ ‫تدوين رسومى يستخدم لتمثيل جدولة مهام المشروع‪ ،‬ويبين تقسيم المشروع إلى مهام‪،‬‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫وليجب ان تكون المهام قصيرة جدا بحيث تتراوح مدتها بين اسبوعين‪ ،‬وتبين‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫مخططات النشطة إعتمادية النشطة والمسار الحرج لها‪ ،‬وتبين اعمدة المخططات‬ ‫جدولة المهام مع وقت التقويم التاريخى‪.‬‬ Task durations and dependencies ‫الخط الزمنى لألنشطة‬ ‫‪Activity timeline‬‬ ‫تخصيص طاقم العمل‬ Staff allocation ‫إادارة المخاطر‬ ‫‪Risk management‬‬ ‫أ‬ ‫تهتم إدارة المخاطر بتعريف المخاطر ورسم الخطط لتقليل تاثيرها على المشروع‪.‬‬ ‫‪‬‬ ‫المخاطرة هى إحتما حدوث ظرف مناوئ‪ ،‬وتؤثر مخاطر المشروع على جدولة المهام‬ ‫‪‬‬ ‫أ‬ ‫والموارد‪ ،‬وتؤثؤ مخاطر المنتج على ك فاءة واداء البرمجيات التى يجرى تطويرها‪ ،‬وتؤثر‬ ‫أ‬ ‫أ‬ ‫مخاطر العمال على تطوير المنظمة او إنتاج البرمجيات‪.‬‬ ‫عملية إادارة المخاطر وتتضمن‬ ‫‪The risk management process‬‬ ‫أ‬ ‫تعريف المخاطرة‪ :‬بتعريف مخاطر المشروع‪ ،‬والمنتج والعمال‪.‬‬ ‫‪‬‬ ‫تحليل المخاطرة‪ :‬بتخمين وتقييم وترجيح اإلحتمالت والنتائج المنطقية لهذه المخاطر‪.‬‬ ‫‪‬‬ ‫تخطيط المخاطرة‪ :‬مراقبة المخاطر خالل المشروع‪.‬‬ ‫‪‬‬ ‫تعريف المخاطرة‬ Risk identification.‫ مخاطر التقييم‬،‫ مخاطر المتطلبات‬،‫ المخاطر التنظيمية‬،‫ مخاطر البشر‬،‫مخاطر التقنية‬ -Organisational risks- People risks - Technology risks Estimation risks - Requirements risks ‫أ‬ ‫المخاطر وانواعها‬ ‫فيما يلى نوع المخاطرة والمخاطر المحتملة‪:‬‬ ‫مخاطرة تقنية‪ :‬قد ل تتمكن قاعدة البيانات المستخدمة فى النظام من العمل والمعالجة‬ ‫‪‬‬ ‫كلما زاد معدل إنتقال البيانات الك ثير المتوقع مع الوقت‪.‬‬ ‫البشر‪ :‬حاجة إمداد طاقم العمل بمهارات مطلوبة‪.‬‬ ‫‪‬‬ ‫التنظيمية‪ :‬إعادة تشكيل بنية المنظمة قد يؤدى إلى إدارة مختلفة مسئولة عن المشروع‪.‬‬ ‫‪‬‬ ‫(تابع)‬ ‫المخاطر وأنواعها‬ ‫أ‬ ‫أ‬ ‫الدوات‪ :‬الشفرة المولدة بواسطة ادوات هندسة البرمجيات بمساعدة الكمبيوتر غير‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫كافية‪ ،‬كما قد ليمكن تجميع او توافر تكامل ادوات هندسة البرمجبات بمساعدة‬ ‫الكمبيوتر‪.‬‬ ‫أ‬ ‫المتطلبات‪ :‬تغيير المتطلبات تحتاج إعادة اعمال لتصميم‪ ،‬كما قد يفشل الزبون فى فهم‬ ‫‪‬‬ ‫حتمية تغيير المتطلبات‪.‬‬ ‫التقدير‪ :‬عدم التخمين والتقدير الصحيح للوقت المطلوب فى تطوير البرمجيات‪ ،‬كما قد‬ ‫‪‬‬ ‫أ‬ ‫ليكون هناك تخمين وتقدير صحيح إلصالح العطال‪ ،‬وحجم البرمجيات‪.‬‬ ‫تحليل المخاطر‬ ‫‪Risk analysis‬‬ ‫أ‬ ‫تخمين وتقدير إحتمالية ومدى جدية كل خطر‪ ،‬وقد يكون إحتمال الخطر منخفضا او‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫متوسطا او عاليا جدا‪ ،‬وقد تكون تاثيرات الخطر فاجعة او خطيرة او مقبولة او ضئيلة غير‬ ‫مؤثرة‪.‬‬ ‫تخطيط المخاطر‪:‬‬ ‫‪‬‬ ‫وضع كل مخاطرة فى اإلعتبار‪ ،‬وتطوير إستراتيجية للتعامل مع هذه المخاطرة‪.‬‬ ‫‪‬‬ ‫مراقبة المخاطرة‬ ‫‪Risk monitoring‬‬ ‫أ أ‬ ‫تقدير كل المخاطر المعرفة على فترات منتظمة لتقدير ما إذا كانت سوف تصبح اقل او‬ ‫‪‬‬ ‫أ‬ ‫أ‬ ‫أ‬ ‫اك ثر إحتمال‪.‬ايضا تقدير ما إذا كانت تاثيرات المخاطرة قد تغيرت‪.‬يجب مناقشة كل‬ ‫مخاطرة رئيسية فى إجتماعات تقدم إدارة المشروع الدورية‪.‬‬

Use Quizgecko on...
Browser
Browser