Document Details
Uploaded by Deleted User
Tags
Full Transcript
3المحاضرة رقم عمليات البرمجيات 1- Software Processes مقدمة Software Processesعمليات البرمجيات هى مجموعة من األنشطة المترابطة المتماسكة المطلوبة لتطوير وإنتاج النظم البرمجية. واألنشطة العامة هى :توصيف المتطلبات ،التصميم ،التنفيذ ،اإلختبار ، التحقق...
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 analy sis 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 فى الربع األول من الحلزون يتم تحديد األهداف والبدائل والقيود ، فى الربع الثانى يتم تقييم البدائل وتعريف وتحليل المخاطر ،فى الربع الثالث يتم التطوير والتأكد من منتج المرحلة التالية ،وفى الربع األخير يتم تخطيط المرحلة التالية. النهـــــــــــــاية