محاضرة2عمليات_البرمجيات_هندسة_برمجيات PDF

Summary

This lecture introduces software processes and different models like the waterfall model, evolutionary development, and reuse-oriented development. It also discusses the stages and steps involved in each model. The focus is on various aspects of software development processes, from requirements specification to testing and implementation.

Full Transcript

Chapter2: Software Processes ‫عمليات البرمجيات‬ By: Ma’afer Mansour ‫مقدمة‬ ‫عمليات البرمجيات ‪Software Processes‬‬ ‫هى مجموعة من األنشطة المترابطة المتماسكة المطلوبة لتطوير وإنتاج‬ ‫‪‬‬...

Chapter2: Software Processes ‫عمليات البرمجيات‬ By: Ma’afer Mansour ‫مقدمة‬ ‫عمليات البرمجيات ‪Software Processes‬‬ ‫هى مجموعة من األنشطة المترابطة المتماسكة المطلوبة لتطوير وإنتاج‬ ‫‪‬‬ ‫النظم البرمجية‪.‬‬ ‫واألنشطة العامة هى‪ :‬توصيف المتطلبات‪ ،‬التصميم‪ ،‬التنفيذ‪ ،‬اإلختبار‪،‬‬ ‫‪‬‬ ‫التحقق‪ ،‬الصيانة‪ ،‬إرتقاء النظم البرمجية‪.‬‬ ‫وتمثل هذه األنشطة فى نموذج عمليات البرمجيات‪.‬‬ ‫‪‬‬ ‫‪2‬‬ ‫نماذج عمليات البرمجيات‬ ‫نموذج العملية البرمجية ‪ Software process model‬هو تمثيل مجرد‬ ‫‪‬‬ ‫لوصف العملية من منظور معين‪ ،‬ومن النماذج العامة لعمليات البرمجيات‪:‬‬ ‫نموذج الشالل ‪ : The waterfall model‬وهى عبارة عن مراحل واضحة‬ ‫‪‬‬ ‫المعالم منفصلة لوضع المواصفات والتطوير‪.‬‬ ‫التطوير اإلرتقائى ‪ :Evolutionary development‬وفيه تتداخل‬ ‫‪‬‬ ‫المواصفات مع التطوير‪.‬‬ ‫التطوير المعتمد على إعادة اإلستخدام ‪: Reuse-based development‬‬ ‫‪‬‬ ‫بتجميع النظام من مكونات موجودة‪.‬‬ ‫‪3‬‬ Waterfall model ‫نموذج الشالل‬ :‫مراحله‬ Requirements analysis and.‫تعريف وتحليل وتحديد المتطلبات‬ definition System and software design.‫تصميم النظام وتصميم البرمجيات‬ Implementation and unit testing.‫تنفيذ وإختبار وحدات النظام‬ Integration and system testing.‫تجميع النظام وإختباره‬ Operation and maintenance.‫عمل النظم وصيانته‬ 4 Requirements Waterfall model definition System and software design Implementation and unit testing Integr ation and system testing Operation and maintenance 5 ‫من عيوب نموذج الشالل صعوبة تقدير وتكييف التغييرات أثناء‬ ‫‪‬‬ ‫العملية‪.‬‬ ‫من مشاكل نموذج الشالل‪ :‬التقسيم غير المرن للمشروع إلى‬ ‫‪‬‬ ‫مراحل منفصلة‪ ،‬يزيد من صعوبة اإلستجابة عن تغيير متطلبات‬ ‫المستهلك‪ ،‬لهذا يصبح هذا النموذج مفيدا فقط ومرغوبا عند التفهم‬ ‫الكامل للمتطلبات وقلة التغييرات فيها إلى الحد األدنى‪.‬‬ ‫‪6‬‬ ‫التطوير اإلرتقائى‬ ‫‪Evolutionary development‬‬ ‫نموذج تطوير إلنتاج البرمجيات تتداخل فيه المواصفات مع‬ ‫‪‬‬ ‫التطوير‪.‬‬ ‫التطوير اإلستكشافى‪ Exploratory development :‬الهدف‬ ‫‪.1‬‬ ‫هو العمل مع المستهلك والتوصل إلى النظام النهائى من خالل‬ ‫خطوط عامة تمهيدية للمواصفات ويجب البدء بمتطلبات مفهومة‬ ‫جيدا‪.‬‬ ‫النماذج األولية‪ Throw-away prototyping :‬الغرض هو‬ ‫‪.2‬‬ ‫فهم متطلبات النظام ويجب البدء بمتطلبات مفهومة إلى حد ما‪.‬‬ ‫‪7‬‬ Evolutionary development Concurr ent activities Initial Specification version Outline Intermediate Development description versions Final Validation version ‫فى التطوير االرتقائي يتم وضع خطوط وصف عامة ثم تتم‬ ‫‪‬‬ ‫متابعة العمل بأنشطة متالقية مساعدة لتحديد المواصفات التي‬ ‫تعطى إصدا ار أوليا يمكن أن يتفاعل مرة أخرى مع تحديد‬ ‫المواصفات لتغييرها وتعديلها وهكذا‪ ،‬ثم من تحديد المواصفات تبدأ‬ ‫أعمال التطوير التي توفر إصدارات وسيطة تتفاعل بدورها مع‬ ‫التطوير وتؤثر فيه وتتأثر به‪ ،‬ثم يتم التحقق من النظام للوصول‬ ‫إلى اإلصدار النهائي‪.‬تتفاعل أيضا مراحل تحديد المواصفات‬ ‫والتطوير والتحقق مع بعضها البعض‪.‬‬ ‫‪9‬‬ ‫من مشاكل التطوير اإلرتقائى ‪ : Problems‬نقص وضوح‬ ‫‪‬‬ ‫العمليات‪ ،‬فقر هيكلية النظم‪ ،‬وتحتاج مهارات خاصة‬ ‫بلغات تسمح بالنماذج األولية السريعة‪.‬‬ ‫قابلية تطبيق التطوير اإلرتقائى ‪ : Applicability‬للنظم‬ ‫‪‬‬ ‫الصغيرة والمتوسطة الحجم ذات التفاعلية‪ ،‬وألج ازء من‬ ‫النظم الكبيرة مثل واجهة المستخدم‪ ،‬وللنظم قصيرة األمد‪.‬‬ ‫‪10‬‬ ‫التطوير المبنى على إعادة االستخدام‬ ‫‪Reuse-oriented development‬‬ ‫يعتمد على إعادة اإلستخدام التقليدى حيث يتم تجميع النظام من عدة مكونات‬ ‫‪‬‬ ‫موجودة أو من نظم أخرى )‪.(Commercial-off-the-shelf‬‬ ‫مراحل العمليات‪Process stages.‬‬ ‫‪‬‬ ‫تحليل المكونات‪Component analysis.‬‬ ‫‪.1‬‬ ‫تعديل اإلحتياجات‪Requirements modification.‬‬ ‫‪.2‬‬ ‫تصميم النظام بإعادة اإلسنخدام‪System design with reuse.‬‬ ‫‪.3‬‬ ‫التطوير والتجميع‪Development and integration.‬‬ ‫‪.4‬‬ ‫خطواتها‪ :‬توصيف المتطلبات‪ ،‬تحليل المكونات‪ ،‬تعديل المتطلبات‪ ،‬تصميم النظام‬ ‫‪‬‬ ‫بإعادة اإلستخدام‪ ،‬التطوير والتجميع‪ ،‬التحقق من النظام‪.‬‬ ‫‪11‬‬ Reuse-oriented development Requirements Component Requirements System design specification analysis modification with reuse Development System and integration validation 12 ‫مواصفات البرمجيات‬ ‫‪Software specification‬‬ ‫هى عملية وضع وتحديد الخدمات المطلوبة والقيود المفروضة‬ ‫‪‬‬ ‫على تشغيل النظام وتطويره‪ ،‬وتتضمن عملية هندسة المتطلبات‪،‬‬ ‫دراسة الجدوى‪ ،‬إستنباط وتحليل المتطلبات‪ ،‬تحديد مواصفات‬ ‫المتطلبات‪ ،‬التحقق من المتطلبات‪.‬‬ ‫‪13‬‬ ‫عملية هندسة االحتياجات‬ ‫ينتج عن دراسة الجدوى تقرير جدوى ومن استنباط وتحليل‬ ‫‪‬‬ ‫المتطلبات يتم تقديم نماذج النظام‪.‬عند توصيف المتطلبات يجرى‬ ‫تحديد متطلبات المستخدم والنظام‪ ،‬وبعد التحقق من المتطلبات‬ ‫يتم توثيق المتطلبات الناتجة عن متطلبات النظام والمستخدم‪.‬‬ ‫‪14‬‬ ‫عمليات تصميم البرمجيات‬ ‫‪The software design process‬‬ ‫بعد تحديد مواصفات المتطلبات تمر أنشطة التصميم بعدة مراحل‬ ‫‪‬‬ ‫تبدأ بتحديد معمارية التصميم الذى يقود إلى موجز مجرد‬ ‫للمواصفات ثم يتم تصميم واجهة االستخدام وتصميم مكونات‬ ‫وهيكل البيانات وتصميم الخطوات المنطقية للتنفيذ‪.‬‬ ‫‪15‬‬ ‫عمليات تصميم البرمجيات‬ ‫‪The software design process‬‬ ‫طرق التصميم‪Design methods :‬‬ ‫منهجيات نمطية لتطوير تصميم البرمجيات‪ ،‬يتم توثيق التصميم‬ ‫‪‬‬ ‫كمجموعة نماذج رسومية‪ ،‬والنماذج المحتملة منها‪ :‬نموذج تدفق‬ ‫البيانات‪ ،‬نموذج خصائص الجزئيات‪ ،‬النموذج الهيكلى‪ ،‬ونماذج‬ ‫الكائن‪.‬‬ ‫‪16‬‬ ‫تصميم وتنفيذ البرمجيات‬ ‫‪Software design and implementation‬‬ ‫هي العملية الناتجة عن تحويل مواصفات النظام إلى نظام‬ ‫‪‬‬ ‫تنفيذي‪ ،‬وفى تصميم البرمجيات يتم تصميم هيكل البرمجيات التي‬ ‫تحقق هذه المواصفات أما التنفيذ فيعنى تحويل هذا الهيكل إلى‬ ‫برامج تنفيذية‪ ،‬وتتصل أنشطة التصميم والتنفيذ ببعضها البعض‬ ‫اتصاال وثيقا وقد تتداخل فيما بينها‪.‬‬ ‫‪17‬‬ ‫البرمجة وإكتشاف وتصحيح العلل‬ ‫‪Programming and debugging‬‬ ‫تبدأ بتحديد المشكلة وتحديد الخطأ فى البرنامج‪ ،‬يتبعها تصميم‬ ‫‪‬‬ ‫إصالح العطل‪ ،‬ثم إصالح الخطأ‪ ،‬وإعادة إختبار البرنامج‪.‬‬ ‫‪18‬‬ ‫التحقق من البرمجيات ‪Software validation‬‬ ‫ثبوت الصحة والتأكيد والتحقق هو بيان أن النظام يطابق المواصفات ويلبى‬ ‫‪‬‬ ‫متطلبات المستهلك‪.‬‬ ‫عمليات الفحص واإلختبار‪The testing process :‬‬ ‫تتضمن إختبار المكونات‪ :‬إختبار الوحدات‪ ،‬إختبار المركب البرمجى‪.‬‬ ‫‪‬‬ ‫يحتوى إختبار التجميع على‪ :‬إختبار النظم الفرعية‪ ،‬وإختبار النظام‪.‬‬ ‫‪‬‬ ‫يعنى إختبار القبول‪ :‬إختبار يقوم به المستخدم‪.‬‬ ‫‪‬‬ ‫‪19‬‬ The testing process Unit testing Module testing Sub-system testing System testing Acceptance testing Component Integration testing User testing testing 20 ‫مراحل االختبار‬ ‫‪Testing stages‬‬ ‫‪.1‬إختبار الوحدات ‪ Unit testing‬بإختبار األجزاء المنفردة‪.‬‬ ‫‪.2‬إختبار المركبات البرمجية ‪ Module testing‬بإختبار المجموعات المرتبطة‬ ‫من األجزاء التى تعتمد عل بعضها البعض‪.‬‬ ‫‪.3‬إختبار النظام الفرعى ‪ : Sub-system testing‬بتجميع المكونات البرمجية‬ ‫فى نظام فرعى وإختبارها‪ ،‬ويتم التركيز على إختبار واجهة المستخدم‪.‬‬ ‫‪.4‬إختبار النظام ‪ System testing‬بإختبار النظام ككل وإختبار الخصائص‬ ‫المنبثقة‪.‬‬ ‫‪.5‬إختبار القبول ‪ Acceptance testing‬بإختبار النظام ببيانات المستهلك‬ ‫لفحص قبوله‪.‬‬ ‫‪21‬‬ ‫إرتقاء البرمجيات‪Software evolution :‬‬ ‫كلما تغيرت المتطلبات خالل تغير ظروف األعمال فإن‬ ‫‪‬‬ ‫البرمجيات التى تدعم هذه األعمال يجب أن تتضمن التغيرات‬ ‫الجديدة وأن تتغير وتتكيف تبعا لذلك‪.‬‬ ‫إرتقاء النظام‪System evolution :‬‬ ‫يتضمن األنشطة األتية‪:‬‬ ‫تعريف متطلبات النظام‪ ،‬تقييم النظم الموجودة‪ ،‬إقتراح تغييرات‬ ‫‪‬‬ ‫النظام‪ ،‬تعديل النظام‪ ،‬وصوال للنظام الجديد‪.‬‬ ‫‪22‬‬ System evolution Define system Assess existing Propose system Modify requirements systems changes systems Existing New systems system 23

Use Quizgecko on...
Browser
Browser