42
ال ج ماذ ن ا ي ئ را ج لإ ة ل ي ج م ر لب ر ا ي و ط ي اتSoftware Process Models Dr. Mohammad Ahmad ITA330-S14

النماذج الإجرائية لتطوير البرمجيات

Embed Size (px)

Citation preview

Page 1: النماذج الإجرائية لتطوير البرمجيات

تطوير ل ةإلجرائيانماذج الاتالبرمجي

Software Process ModelsDr. Mohammad Ahmad

ITA330-S14

Page 2: النماذج الإجرائية لتطوير البرمجيات

المحاضرة محتويات

•( البرمجي المنتج حياة دورة Software DevelopmentمراحلLife Cycle )

الشالل )• (Waterfall Modelنموذجالبدئي )• الطراز (Prototype Modelنموذجالحلزوني )• (Spiral Modelالنموذجالمتزامن • التطوير Synchronized developing ) نموذج

Model)

2ITA330 – S14

Page 3: النماذج الإجرائية لتطوير البرمجيات

البرمجية؟ اإلجرائية هي ما

برمجي منتج تطوير النهائي هدفها المرتبة األنشطة من مجموعة. موجود منتج تحسين أو جديد

: رئيسية عامة أنشطة حول البرمجية اإلجرائيات كل تتمحورالتحليل •التصميم•التحقيق•

: التالي النحو على فهي التفصيلية المراحل اماالمتطلبات • تحديدالمتطلبات • توصيفالبنيان • تصميمالتفصيلي • التصميمالتحقيق•المكاملة•الصيانة•

ITA330 – S143

Page 4: النماذج الإجرائية لتطوير البرمجيات

البرمجي المنتج حياة دورة(Software Development Life Cycle – SDLC)

ITA330 – S144

Page 5: النماذج الإجرائية لتطوير البرمجيات

الشاللي النموذج(Waterfall Model)

ITA330 – S145

Page 6: النماذج الإجرائية لتطوير البرمجيات

6

الشاللي النموذج

تطوير • نموذج أول

للمراحل • خطي تسلسل–. المختلفة المراحل بين تقاطعات ال

•. بالوثائق موجCه

•. مسبق بشكل بأكملها التخطيط عملية تجري

ITA330 – S14

Page 7: النماذج الإجرائية لتطوير البرمجيات

الشاللي النموذج

واستكمال • المتطلبات كل جمع يمكن أنه يفترض. بالتصميم البدء قبل التحليل

– : المنتج، توصيف متعاقبة مراحل مجموعة على يعتمدالبرمجة ) .Codingالتصميم، االختبارات( ،

آخر – تجاوز بعد إال جديدة مرحلة إلى االنتقال يمكن العالم ) .check pointنقطة بنجاح( السابقة المرحلة من

ITA330 – S147

Page 8: النماذج الإجرائية لتطوير البرمجيات

الشاللي النموذج مراحل

وتعريفها • المتطلبات تحليل

النظام • تصميم

الوحدوية )• واالختبارات (.Unit Testingالتنفيذ

النظام )• واختبارات Integration and SystemالمكاملةTesting.)

•. والصيانة التشغيل

بعد • التعديالت تبني صعوبة النموذج عقبات أهم من . االنتقال قبل مرحلة كل إكمال يجب باإلجرائية البدء

. التالية المرحلة إلى

ITA330 – S148

Page 9: النماذج الإجرائية لتطوير البرمجيات

األولي االستطالع(Concept Exploration)

المرح • ”.لتركز النظام؟ “ نريد لماذا السؤال طرح على ة

•:) النموذج ) من ليست إلزامية ليست–.” المشروع “ قبل ما مرحلة Y أحيانا Zدعى ت

وزمن • الكلفة وتقدير األولية الخطط إلعداد موجهةالتنفيذ.

•: المحتملة المخرجاتالمفهوم )– المنتج( )Concept Documentوثيقة وصف ،Product

Description( )النظام مقترح ،System Proposal )العمل بيان ،(Statement of Work( )المشروع ميثاق ،Project Charter.)

ITA330 – S149

Page 10: النماذج الإجرائية لتطوير البرمجيات

المتطلبات ) (1تحليل(Requirements Analysis)

•.” ماذا؟ “ السؤال مرحلة

•: بالمتطلبات المقصود ماويصف: المتطلب– قيوده، من لقيد أو النظام خدمات من لخدمة بيان

أو مفرد لمستخدم بالنسبة النظام من المطلوب السلوك الخدمة بيانلمجموعة . منبالنسبة المستخدمين

الخدمة – ضبط: بيان قاعدة الخدمة بيان يجب (business rule)يعرف . يجريها أن يجب حسابية عملية عن الخدمة بيان يعبر وقد Y دوما احترامها

النظام.

القيد – على: بيان أو النظام سلوك على مفروض قيد عن القيد بيان يعبرتطويره.

ITA330 – S1410

Page 11: النماذج الإجرائية لتطوير البرمجيات

المتطلبات ) (2تحليل

• : المتطلبات من نوعانوظيفية – (Functional)متطلبات

–. يقدمها أن يجب التي والوظائف النظام إمكانات بها Zقصد وي

وظيفية – غير (Non-functional)متطلباتمع – االتصال التثبيت، النظام، إدارة األداء، الوثوقية، االستخدام،

.)... التجهيزات ) قانونية، أخرى متطلبات إلى إضافة أخرى، أنظمة

• : أولويات قائمة ضمن ترتيبها يجب(.Must-haveضرورية )•وجودها )• Zحبذ (.Should-haveيتوفيرها • الجيد (Could-have / Nice-to-have)من

ITA330 – S1411

Page 12: النماذج الإجرائية لتطوير البرمجيات

المتطلبات ) (3تحليل

•. : النظام مقترح العمل، بيان المرحلة مدخالت

المخرجات:•المتطلبات – (Requirements Document)وثيقةالمتطلبات )– توصيف Requirements Specificationوثيقة

Document - RSD )أو(Software Requirements Specification - SRS)

األولى )– المرجعية النقطة Zعتبر (.1st Project Baselineت

12ITA330 – S14

Page 13: النماذج الإجرائية لتطوير البرمجيات

التصميم(Design)

•.” كيف؟ “ هو المرحلة في األساسي السؤال•. المتطلبات: توصيف وثيقة المدخالتالمخرجات:•

الوظيفي )– (.Functional Specificationالتوصيفالتفصيلي )– التصميم (.Detailed Design Documentوثيقةاالستخدام )– واجهات (.User Interface Specificationتوصيفالبيانات )– (.Data Modelنموذج

ITA330 – S1413

Page 14: النماذج الإجرائية لتطوير البرمجيات

التصميم

•: مرحلتين إلى عادة Zقسم ي

.1( البنيان النظام(: Architectural Designتصميم توصيف هوقرارات يتخذ أن يجب والذي تكونه، التي المجتزآت بداللة . والمخدم الزبون من لكل بالنسبة الحل استراتيجيات بشأن

.2( التفصيلي العمل(: Detailed Designالتصميم توصيف هويتضمن أن يجب والذي النظام، في مجتزأ لكل الداخليبالمجتزأ الخاصة المعطيات وفق التفصيلية الخوارزميات . أن ويجب النهائية العمل بنية لقيود تخضع أن يجب والتي

: التفصيلي التصميم يتضمن.1. البيانية االستخدام واجهات تصميم

.2. المعطيات وقواعد بنى تصميمITA330 – S14

14

Page 15: النماذج الإجرائية لتطوير البرمجيات

التحقيق(Implementation)

بالفعل • القيام ”Do It“مرحلة•. الوحدات واختبار الرماز كتابة•. والمكاملة التصميم مرحلتي مع Y غالبا تتراكب•: للمرحلة موازية أخرى أنشطة

–. التصميم إكمال–. المكاملة بدء–. بعض عن بعضها مستقل بشكل الوحدات اختبار

ITA330 – S1415

Page 16: النماذج الإجرائية لتطوير البرمجيات

التحقيق

•: المرحلة يميز ما أهمالفريق – على الضغوط زيادة

–. مستوياته أعلى في الفريق إشغال

اإلشكاليات:•–. األخيرة اللحظة تعديالت

المشاريع ) – في سيما ال الفريق أعضاء بين التنسيق صعوباتالكبيرة(.

ITA330 – S1416

Page 17: النماذج الإجرائية لتطوير البرمجيات

واالختبارات المكاملة( Integration & Test)

•. التحقيق مرحلة نهاية مع تبدأ

•: التوازي على مرحلتين على Y غالبا Zنفذ ت–. األولية االختبارات و الجزئية المكاملة

المجتزآت )• بمكاملة (.Modulesتبدأ

•. النظام من مكتملة غير أولية نسخة بناء إلى تؤدي

•. Y تدريجيا جديدة مجتزآت Zضاف ت

ITA330 – S1417

Page 18: النماذج الإجرائية لتطوير البرمجيات

واالختبارات المكاملة

•. المبرمجين مهمات من Y مبدئيا المكاملة Zعتبر ت

الجودة )• ضمان فريق مهمات من االختبارات Zعتبر QAتTeam.)

• : المكاملة طرقالوظيفية(: Top-downتنازلية )– المجتزآت بمكاملة نبدأ

. المكتملة غير للبرامج محاكاة مع المركزية

المستويات(: Bottom upتصاعدية )– مجتزآت بمكاملة نبدأاألدنى.

–. التنازلية الطريقة عادة نفضلITA330 – S14

18

Page 19: النماذج الإجرائية لتطوير البرمجيات

واالختبارات المكاملة

االختبارات: •

المكاملة )– (.Integration testingاختبارات

األسود )– والصندوق األبيض الصندوق Blackاختبارات& White-box testing.)

األعباء )– تحت العمل Load & Stressاختباراتtesting.)

القبول )– (.Acceptance testingاختبارات

ITA330 – S1419

Page 20: النماذج الإجرائية لتطوير البرمجيات

واالختبارات المكاملة

• : المرحلة يميز ما أهم– . الفريق على الضغوط زيادة–. الخطة مواعيد تجاوز–. النظام مزايا حول الزبون مع الخالفاللحظات – وأخطاء الفشل عن الناتج اإلحباط

األخيرة.–. الموازنة تجاوز

ITA330 – S1420

Page 21: النماذج الإجرائية لتطوير البرمجيات

والصيانة التسليم(Deployment & Maintenance)

•. الصيانة مرحلة الخطط Zهمل ت ما Y غالبا

الصيانة: •– . األخطاء إصالح

– . جديدة مزايا إضافة

األداء )– (.Improve performanceتحسين

من • عالية درجة على اإلصدارات إدارة مسألة تصبحاألهمية.

•. السابقة الوثائق لتحديث الضرورة تظهر

ITA330 – S1421

Page 22: النماذج الإجرائية لتطوير البرمجيات

الشاللي النموذج إيجابيات

• . والتتبع واالستخدام الفهم سهل• ( ويطور عالية بخبرات تتمتع ال التي العمل لفرق مناسب

خبراتها(.•( عالم نقاط بتعريف لعملية( Milestonesيسمح واضحة

التطوير.• . المتطلبات تثبيت باتجاه يدفعواألزمنة ) • البشرية للموارد التخطيط عملية اإلدارة على يسهل

والكلف(.إنجازه • جرى ما بفهم تسمح وثيقة بإنتاج مرحلة كل تنتهي

في) العمل فريق في جديدة عناصر إدخال يسهل الذي األمر.) مرحلة أية

ITA330 – S1422

Page 23: النماذج الإجرائية لتطوير البرمجيات

الشاللي النموذج سلبيات

• . Y مسبقا معروفة المتطلبات كافة تكون أن يجب

•.) التعديالت ) مرونة من تقلل نهائية مرحلة كل مخرجات Zعتبر ت

•. واإلنجاز التقدم درجة عن خاطئة انطباعات يعطي قد

•.) المراحل ) تكرار المشكالت حل منطق مع يتماشى ال

• ( فوات بعد ربما إال النظام لمعاينة للزبون فرصة يعطي الاألوان(.

المشروع • نهاية في فقط واالختبارات المكاملة عمليات تجري.) مخاطر) من ذلك عليه ينطوي ما مع

•. الوثائق من Y كبيرا Y كما ينتج أن يمكن

ITA330 – S1423

Page 24: النماذج الإجرائية لتطوير البرمجيات

الشاللي؟ النموذج نستخدم متى

•. جيد بشكل ومعرفة واضحة المتطلبات

•. للمنتج مستقر ووصف تعريف هناك

•. Y مسبقا موجود منتج من جديد إصدار بناء عند

•. جديدة عمل منصة إلى موجود منتج نقل عند

•. Y فنيا Y ضعيفا العمل فريق يكون عندما

ITA330 – S1424

Page 25: النماذج الإجرائية لتطوير البرمجيات

المهيكلة المنهجيات(Structured Methods)

•. المهيكلة المنهجيات عن Y نمطيا Y مثاال الشاللي النموذج Zعتبر ي

•: : أساسيتين تقنيتين على عادة تستند المهيكلة المنهجية

المعطيات – تدفق اإلجرائيات DFD( Data Flow Diagrams)مخططات لنمذجة

الكيانات – عالقات لنمذجة ERD( Entity Relationship Diagrams)مخططاتالمعطيات.

• : المهيكلة المنهجية ميزات خصائص•. Y وتزايديا Y تكراريا منه أكثر Y وتحويليا Y تسلسليا منحى المنهجية تأخذ

ويصعب • Y مسبقا المعرفة العمل وظائف تلبي مرنة غير Y حلوال المنهجية تعطي . المستقبل في Y تدريجيا توسيعها

استخدام • إعادة تدعم وال الصفر من Y دوما يبدأ التطوير أن المنهجية تفترض. موجودة برمجية مكونات

ITA330 – S1425

Page 26: النماذج الإجرائية لتطوير البرمجيات

البدئي ) الطراز (prototypeنموذج

ITA330 – S1426

Page 27: النماذج الإجرائية لتطوير البرمجيات

البدئي الطراز نموذج استخدامات

متطلبات • فهم على والمطورين الزبائن لمساعدةالنظام.

المتطلبات )– يمكن(: Requirements Elicitationانتقاء. ألعمالهم النظام دعم آلية لفهم الطراز اختبار للمستخدمين

المتطلبات )– من يسمح(: Requirements Validationالتحقق. الناقصة والمتطلبات المتطلبات أخطاء بكشف الطراز

خالل ) • من المخاطر وآثار احتماالت تخفيض في يساعد.) المتطلبات توصيف في األخطاء احتماالت تخفيض

ITA330 – S1427

Page 28: النماذج الإجرائية لتطوير البرمجيات

البدئي الطراز بناء مناهج

Evolutionaryprototyping

Throw-awayPrototyping

Deliveredsystem

Executable Prototype +System Specification

OutlineRequirements

ITA330 – S1428

Page 29: النماذج الإجرائية لتطوير البرمجيات

البدئي الطراز بناء مناهج

التطوري )• الطراز (Evolutionary prototypingبناءالمراحل – من عدد عبر بناؤه تم الذي الطراز تحسين Zعاد ي

. المستهدف النهائي النظام إلى Y وصوال المتعاقبةصالح – نظام المستخدمين تسليم بهدف التطوري الطراز Zبنى ي

األكثر. المتطلبات بتحقيق البدء يتم الحالة هذه وفي للعمل.Y وضوحا

المهمل )• الطراز (Throw-away prototypingبناءثم – ومن ومشكالتها المتطلبات اكتشاف بهدف الطراز Zبنى ي

. أخرى تطوير إجرائية استخدام ذلك بعد يمكن حيث Zهمل، ي– . منها والتحقق المتطلبات اكتشاف بهدف المهمل الطراز Zبنى ي

. Y وضوحا المتطلبات بأقل البدء يتم الحالة هذه وفيITA330 – S14

29

Page 30: النماذج الإجرائية لتطوير البرمجيات

التطوري البدئي الطراز نموذج(Evolutionary Prototype)

التزايدية • اإلصدارات من كسلسلة النظام Zبنى ي(Incremental. للزبون( Y تباعا Zسلم ت

–. المتطلبات جمع مرحلة خالل Y بدئيا Y طرازا المطورون يبني–. المنجز الطراز بتقييم المستخدمون يقوم–. التصحيحية اإلجراءات باقتراح المستخدمون يقوم–. جديدة نسخة زبناء الطراز بتحسين المطورون يقوميقوم – والكفاية، الرضى من مقنعة درجة الزبون بلوغ عند

خالل من لتحسينه األخير النموذج رماز بمراجعة المطورون. Y نهائيا Y منتجا العتباره الالزمة المعايير تطبيق

ITA330 – S1430

Page 31: النماذج الإجرائية لتطوير البرمجيات

التطوري البدئي الطراز إيجابياتإشراك ) • جمعها أثناء النظام متطلبات معاينة الزبائن يستطيع

.) الزبون والتزام

•.) وبالعكس ) الزبائن من المطورون يتعلمأو • متوقع هو ما مع Y وتوافقا دقة أكثر النهائي المنتج يكون

مطلوب.

•. مبكرة مراحل في الواضحة غير المتطلبات اكتشاف يمكن

• . والتطوير التصميم أثناء المرونة من عالية درجة يوفر

•. المنتج باتجاه التقدم لدرجة وصحيحة واضحة مؤشرات يعطي

•. مفيدة لوظائف سريع بتسليم يسمح

ITA330 – S1431

Page 32: النماذج الإجرائية لتطوير البرمجيات

التطوري البدئي الطراز سلبيات

من • المزيد نحو المنظمة التطوير منهجية عن الفريق Zبعد ي قد( “ والتصحيح ” البرمجة (. code-and-fixعمليات

•. عالية بمهارات التطوير فريق يتمتع أن يجب• . والزمن الكلفة تقدير صعوبة تزداد•. الالحقة الصيانة عمليات تعقيد من يزيد قد•. نهائي غير طراز تسليم باتجاه الزبون يضغط قدمع • منتهية غير حلقة إلى الطراز تحسين عملية تتحول قد

والمتطلبات االحتياجات من المزيد .(scope creep)اكتشافZظهر ) • ي ال قد vكاف بشكل الوظيفية غير المتطلبات اختبار يمكن ال

.) واضح بشكل الحساسة األمان متطلبات النموذج

ITA330 – S1432

Page 33: النماذج الإجرائية لتطوير البرمجيات

المهمل البدئي الطراز مشكالت

الطراز • تسليم بهدف لضغوط المطورون يتعرض قد . نهائي كمنتج

•: الخطأ هذا في الوقوع تجنب يجبغير – المتطلبات لتلبية الطراز تحسين Y مستحيال يكون قد

الوظيفية.

– . توثيق دون من الطراز يبقى

–. إضافية تعديالت إجراء عند النظام بنية تنهار قد

–. الصعوبة في غاية Y أمرا الجودة معايير احترام يصبح

ITA330 – S1433

Page 34: النماذج الإجرائية لتطوير البرمجيات

البدئي الطراز نموذج فوائد

بين • الفهم سوء عن الناجمة المشكالت بحل يسمح. والمستخدمين المطورين

الخدمات • وبتوضيح الناقصة الخدمات باكتشاف يسمحالملتبسة.

مرحلة • في للعمل صالح نظام على الحصول يمكن. اإلجرائية من مبكرة

دقيق • توصيف لوضع الطراز من االستفادة يمكنللنظام.

•. النظام واختبار المستخدمين تدريب نجاح على يساعدITA330 – S14

34

Page 35: النماذج الإجرائية لتطوير البرمجيات

يجمxxxع مxxxا بين الطبيعxxxة • لنمxxوذج الطxxراز التكراريxxة

البxدئي والطبيعxة الممنهجxة للنمxxxxxxوذج التسلسxxxxxxلي

)الشاللي(.

مxxع تطxxوير سxxريع لنسxxخ • من النظxxxxxxxام تزايديxxxxxxxة

الxxبرمجي في سلسxxلة من اإلصدارات التزايدية.

الحلزوني النموذج

ITA330 – S1435

Page 36: النماذج الإجرائية لتطوير البرمجيات

الحلزوني النموذج

مرحلة • كل يسبقالبدائل – دراسةالمخاطر – تحليل

مرحلة • كل يليللنسخة – تقييمالتالية – للمرحلة تخطيط

ITA330 – S1436

Page 37: النماذج الإجرائية لتطوير البرمجيات

الحلزوني النموذج

•. مرحلة كل في وإدارتها المخاطر تحليل على يركز

كل • يهتم صغيرة مشاريع كسلسلة إليه النظر يمكنالمخاطر ) من مجموعة بمعالجة Start small, exploreمنها

risks, prototype, plan, repeat.)

• ( الحلقة تشبه Y مسبقا الحلقات عدد تحديد يمكن ال .) الشاللي النموذج منه األخيرة

ITA330 – S1437

Page 38: النماذج الإجرائية لتطوير البرمجيات

الحلزوني النموذج إيجابيات

تجاوزها • يمكن ال التي للمخاطر مبكرة مؤشرات يعطي.) الكلفة) من وبقليل

• ( بسبب Y مبكرا النظام رؤية المستخدمون يستطيع .) الطراز بناء تقنيات على االعتماد

• . البداية في خطورة األكثر الوظائف Zبنى ت

• . العمل مراحل كل من قريبين المستخدمون يبقى

المستخدمين • وآراء انطباعات على الحصول يمكن. مبكر بشكل

ITA330 – S1438

Page 39: النماذج الإجرائية لتطوير البرمجيات

الحلزوني النموذج سلبيات

المشاريع • في مبرر غير المخاطر تقييم زمن يصبحالصغيرة.

• Y وقتا الطرز وبناء المخاطر وتقييم التخطيط يتطلب قد. Y جدا Y طويال

• .) االستخدام ) شائع غير معقد النموذج

• . المخاطر تقييم في لخبراء يحتاج

•. بنتائجها التنبؤ يمكن ال بطريقة الحلقات عدد يتزايد قد

درجة • لتقدير عالم ونقاط مؤشرات تعريف الصعب من . النهائي المنتج باتجاه التقدم

ITA330 – S1439

Page 40: النماذج الإجرائية لتطوير البرمجيات

الحلزوني؟ النموذج نستخدم متى

أو ) • المعقدة الكبيرة لألنظمة بالنسبة Y منطقيا Zعتبر ي.) الداخلي لالستخدام الموجهة

• . كثيرة مخاطر على تنطوي التي للمشاريع Y مناسبا Zعتبر ي

يدرك • وال Y جدا معقدة المتطلبات تكون عندما . واضح بشكل احتياجاتهم المستخدمون

•.) مسبوق ) غير Y كليا جديد منتج إعداد على العمل عند

ITA330 – S1440

Page 41: النماذج الإجرائية لتطوير البرمجيات

المتزامن التطوير نموذج

البرمجية • المشاريع إدارة لمشاكل حلبشكل • البرمجي المنتج تطوير مراحل تنفيذ

متساير و متزامنللمطورين • كابوس للمديرين، أمثلي حل

41

Page 42: النماذج الإجرائية لتطوير البرمجيات

المختلفة النماذج بين مقارنةمع ) • البرمجيات لتطوير مختلفة نماذج عرض تم

.) منها كل وسلبيات إيجابيات

•: األنسب النموذج انتقاء معايير تتضمن–.)... إدارتها ) خبراتها، حجمها، المؤسسة

–. العمل فريق ومهارات خبرات

– . المطلوب المنتج طبيعة

األفضل؟ • االقتراح

ITA330 – S1442