Upload
kamal-naser
View
135
Download
14
Embed Size (px)
Citation preview
تطوير ل ةإلجرائيانماذج الاتالبرمجي
Software Process ModelsDr. Mohammad Ahmad
ITA330-S14
المحاضرة محتويات
•( البرمجي المنتج حياة دورة Software DevelopmentمراحلLife Cycle )
الشالل )• (Waterfall Modelنموذجالبدئي )• الطراز (Prototype Modelنموذجالحلزوني )• (Spiral Modelالنموذجالمتزامن • التطوير Synchronized developing ) نموذج
Model)
2ITA330 – S14
البرمجية؟ اإلجرائية هي ما
برمجي منتج تطوير النهائي هدفها المرتبة األنشطة من مجموعة. موجود منتج تحسين أو جديد
: رئيسية عامة أنشطة حول البرمجية اإلجرائيات كل تتمحورالتحليل •التصميم•التحقيق•
: التالي النحو على فهي التفصيلية المراحل اماالمتطلبات • تحديدالمتطلبات • توصيفالبنيان • تصميمالتفصيلي • التصميمالتحقيق•المكاملة•الصيانة•
ITA330 – S143
البرمجي المنتج حياة دورة(Software Development Life Cycle – SDLC)
ITA330 – S144
الشاللي النموذج(Waterfall Model)
ITA330 – S145
6
الشاللي النموذج
تطوير • نموذج أول
للمراحل • خطي تسلسل–. المختلفة المراحل بين تقاطعات ال
•. بالوثائق موجCه
•. مسبق بشكل بأكملها التخطيط عملية تجري
ITA330 – S14
الشاللي النموذج
واستكمال • المتطلبات كل جمع يمكن أنه يفترض. بالتصميم البدء قبل التحليل
– : المنتج، توصيف متعاقبة مراحل مجموعة على يعتمدالبرمجة ) .Codingالتصميم، االختبارات( ،
آخر – تجاوز بعد إال جديدة مرحلة إلى االنتقال يمكن العالم ) .check pointنقطة بنجاح( السابقة المرحلة من
ITA330 – S147
الشاللي النموذج مراحل
وتعريفها • المتطلبات تحليل
النظام • تصميم
الوحدوية )• واالختبارات (.Unit Testingالتنفيذ
النظام )• واختبارات Integration and SystemالمكاملةTesting.)
•. والصيانة التشغيل
بعد • التعديالت تبني صعوبة النموذج عقبات أهم من . االنتقال قبل مرحلة كل إكمال يجب باإلجرائية البدء
. التالية المرحلة إلى
ITA330 – S148
األولي االستطالع(Concept Exploration)
المرح • ”.لتركز النظام؟ “ نريد لماذا السؤال طرح على ة
•:) النموذج ) من ليست إلزامية ليست–.” المشروع “ قبل ما مرحلة Y أحيانا Zدعى ت
وزمن • الكلفة وتقدير األولية الخطط إلعداد موجهةالتنفيذ.
•: المحتملة المخرجاتالمفهوم )– المنتج( )Concept Documentوثيقة وصف ،Product
Description( )النظام مقترح ،System Proposal )العمل بيان ،(Statement of Work( )المشروع ميثاق ،Project Charter.)
ITA330 – S149
المتطلبات ) (1تحليل(Requirements Analysis)
•.” ماذا؟ “ السؤال مرحلة
•: بالمتطلبات المقصود ماويصف: المتطلب– قيوده، من لقيد أو النظام خدمات من لخدمة بيان
أو مفرد لمستخدم بالنسبة النظام من المطلوب السلوك الخدمة بيانلمجموعة . منبالنسبة المستخدمين
الخدمة – ضبط: بيان قاعدة الخدمة بيان يجب (business rule)يعرف . يجريها أن يجب حسابية عملية عن الخدمة بيان يعبر وقد Y دوما احترامها
النظام.
القيد – على: بيان أو النظام سلوك على مفروض قيد عن القيد بيان يعبرتطويره.
ITA330 – S1410
المتطلبات ) (2تحليل
• : المتطلبات من نوعانوظيفية – (Functional)متطلبات
–. يقدمها أن يجب التي والوظائف النظام إمكانات بها Zقصد وي
وظيفية – غير (Non-functional)متطلباتمع – االتصال التثبيت، النظام، إدارة األداء، الوثوقية، االستخدام،
.)... التجهيزات ) قانونية، أخرى متطلبات إلى إضافة أخرى، أنظمة
• : أولويات قائمة ضمن ترتيبها يجب(.Must-haveضرورية )•وجودها )• Zحبذ (.Should-haveيتوفيرها • الجيد (Could-have / Nice-to-have)من
ITA330 – S1411
المتطلبات ) (3تحليل
•. : النظام مقترح العمل، بيان المرحلة مدخالت
المخرجات:•المتطلبات – (Requirements Document)وثيقةالمتطلبات )– توصيف Requirements Specificationوثيقة
Document - RSD )أو(Software Requirements Specification - SRS)
األولى )– المرجعية النقطة Zعتبر (.1st Project Baselineت
12ITA330 – S14
التصميم(Design)
•.” كيف؟ “ هو المرحلة في األساسي السؤال•. المتطلبات: توصيف وثيقة المدخالتالمخرجات:•
الوظيفي )– (.Functional Specificationالتوصيفالتفصيلي )– التصميم (.Detailed Design Documentوثيقةاالستخدام )– واجهات (.User Interface Specificationتوصيفالبيانات )– (.Data Modelنموذج
ITA330 – S1413
التصميم
•: مرحلتين إلى عادة Zقسم ي
.1( البنيان النظام(: Architectural Designتصميم توصيف هوقرارات يتخذ أن يجب والذي تكونه، التي المجتزآت بداللة . والمخدم الزبون من لكل بالنسبة الحل استراتيجيات بشأن
.2( التفصيلي العمل(: Detailed Designالتصميم توصيف هويتضمن أن يجب والذي النظام، في مجتزأ لكل الداخليبالمجتزأ الخاصة المعطيات وفق التفصيلية الخوارزميات . أن ويجب النهائية العمل بنية لقيود تخضع أن يجب والتي
: التفصيلي التصميم يتضمن.1. البيانية االستخدام واجهات تصميم
.2. المعطيات وقواعد بنى تصميمITA330 – S14
14
التحقيق(Implementation)
بالفعل • القيام ”Do It“مرحلة•. الوحدات واختبار الرماز كتابة•. والمكاملة التصميم مرحلتي مع Y غالبا تتراكب•: للمرحلة موازية أخرى أنشطة
–. التصميم إكمال–. المكاملة بدء–. بعض عن بعضها مستقل بشكل الوحدات اختبار
ITA330 – S1415
التحقيق
•: المرحلة يميز ما أهمالفريق – على الضغوط زيادة
–. مستوياته أعلى في الفريق إشغال
اإلشكاليات:•–. األخيرة اللحظة تعديالت
المشاريع ) – في سيما ال الفريق أعضاء بين التنسيق صعوباتالكبيرة(.
ITA330 – S1416
واالختبارات المكاملة( Integration & Test)
•. التحقيق مرحلة نهاية مع تبدأ
•: التوازي على مرحلتين على Y غالبا Zنفذ ت–. األولية االختبارات و الجزئية المكاملة
المجتزآت )• بمكاملة (.Modulesتبدأ
•. النظام من مكتملة غير أولية نسخة بناء إلى تؤدي
•. Y تدريجيا جديدة مجتزآت Zضاف ت
ITA330 – S1417
واالختبارات المكاملة
•. المبرمجين مهمات من Y مبدئيا المكاملة Zعتبر ت
الجودة )• ضمان فريق مهمات من االختبارات Zعتبر QAتTeam.)
• : المكاملة طرقالوظيفية(: Top-downتنازلية )– المجتزآت بمكاملة نبدأ
. المكتملة غير للبرامج محاكاة مع المركزية
المستويات(: Bottom upتصاعدية )– مجتزآت بمكاملة نبدأاألدنى.
–. التنازلية الطريقة عادة نفضلITA330 – S14
18
واالختبارات المكاملة
االختبارات: •
المكاملة )– (.Integration testingاختبارات
األسود )– والصندوق األبيض الصندوق Blackاختبارات& White-box testing.)
األعباء )– تحت العمل Load & Stressاختباراتtesting.)
القبول )– (.Acceptance testingاختبارات
ITA330 – S1419
واالختبارات المكاملة
• : المرحلة يميز ما أهم– . الفريق على الضغوط زيادة–. الخطة مواعيد تجاوز–. النظام مزايا حول الزبون مع الخالفاللحظات – وأخطاء الفشل عن الناتج اإلحباط
األخيرة.–. الموازنة تجاوز
ITA330 – S1420
والصيانة التسليم(Deployment & Maintenance)
•. الصيانة مرحلة الخطط Zهمل ت ما Y غالبا
الصيانة: •– . األخطاء إصالح
– . جديدة مزايا إضافة
األداء )– (.Improve performanceتحسين
من • عالية درجة على اإلصدارات إدارة مسألة تصبحاألهمية.
•. السابقة الوثائق لتحديث الضرورة تظهر
ITA330 – S1421
الشاللي النموذج إيجابيات
• . والتتبع واالستخدام الفهم سهل• ( ويطور عالية بخبرات تتمتع ال التي العمل لفرق مناسب
خبراتها(.•( عالم نقاط بتعريف لعملية( Milestonesيسمح واضحة
التطوير.• . المتطلبات تثبيت باتجاه يدفعواألزمنة ) • البشرية للموارد التخطيط عملية اإلدارة على يسهل
والكلف(.إنجازه • جرى ما بفهم تسمح وثيقة بإنتاج مرحلة كل تنتهي
في) العمل فريق في جديدة عناصر إدخال يسهل الذي األمر.) مرحلة أية
ITA330 – S1422
الشاللي النموذج سلبيات
• . Y مسبقا معروفة المتطلبات كافة تكون أن يجب
•.) التعديالت ) مرونة من تقلل نهائية مرحلة كل مخرجات Zعتبر ت
•. واإلنجاز التقدم درجة عن خاطئة انطباعات يعطي قد
•.) المراحل ) تكرار المشكالت حل منطق مع يتماشى ال
• ( فوات بعد ربما إال النظام لمعاينة للزبون فرصة يعطي الاألوان(.
المشروع • نهاية في فقط واالختبارات المكاملة عمليات تجري.) مخاطر) من ذلك عليه ينطوي ما مع
•. الوثائق من Y كبيرا Y كما ينتج أن يمكن
ITA330 – S1423
الشاللي؟ النموذج نستخدم متى
•. جيد بشكل ومعرفة واضحة المتطلبات
•. للمنتج مستقر ووصف تعريف هناك
•. Y مسبقا موجود منتج من جديد إصدار بناء عند
•. جديدة عمل منصة إلى موجود منتج نقل عند
•. Y فنيا Y ضعيفا العمل فريق يكون عندما
ITA330 – S1424
المهيكلة المنهجيات(Structured Methods)
•. المهيكلة المنهجيات عن Y نمطيا Y مثاال الشاللي النموذج Zعتبر ي
•: : أساسيتين تقنيتين على عادة تستند المهيكلة المنهجية
المعطيات – تدفق اإلجرائيات DFD( Data Flow Diagrams)مخططات لنمذجة
الكيانات – عالقات لنمذجة ERD( Entity Relationship Diagrams)مخططاتالمعطيات.
• : المهيكلة المنهجية ميزات خصائص•. Y وتزايديا Y تكراريا منه أكثر Y وتحويليا Y تسلسليا منحى المنهجية تأخذ
ويصعب • Y مسبقا المعرفة العمل وظائف تلبي مرنة غير Y حلوال المنهجية تعطي . المستقبل في Y تدريجيا توسيعها
استخدام • إعادة تدعم وال الصفر من Y دوما يبدأ التطوير أن المنهجية تفترض. موجودة برمجية مكونات
ITA330 – S1425
البدئي ) الطراز (prototypeنموذج
ITA330 – S1426
البدئي الطراز نموذج استخدامات
متطلبات • فهم على والمطورين الزبائن لمساعدةالنظام.
المتطلبات )– يمكن(: Requirements Elicitationانتقاء. ألعمالهم النظام دعم آلية لفهم الطراز اختبار للمستخدمين
المتطلبات )– من يسمح(: Requirements Validationالتحقق. الناقصة والمتطلبات المتطلبات أخطاء بكشف الطراز
خالل ) • من المخاطر وآثار احتماالت تخفيض في يساعد.) المتطلبات توصيف في األخطاء احتماالت تخفيض
ITA330 – S1427
البدئي الطراز بناء مناهج
Evolutionaryprototyping
Throw-awayPrototyping
Deliveredsystem
Executable Prototype +System Specification
OutlineRequirements
ITA330 – S1428
البدئي الطراز بناء مناهج
التطوري )• الطراز (Evolutionary prototypingبناءالمراحل – من عدد عبر بناؤه تم الذي الطراز تحسين Zعاد ي
. المستهدف النهائي النظام إلى Y وصوال المتعاقبةصالح – نظام المستخدمين تسليم بهدف التطوري الطراز Zبنى ي
األكثر. المتطلبات بتحقيق البدء يتم الحالة هذه وفي للعمل.Y وضوحا
المهمل )• الطراز (Throw-away prototypingبناءثم – ومن ومشكالتها المتطلبات اكتشاف بهدف الطراز Zبنى ي
. أخرى تطوير إجرائية استخدام ذلك بعد يمكن حيث Zهمل، ي– . منها والتحقق المتطلبات اكتشاف بهدف المهمل الطراز Zبنى ي
. Y وضوحا المتطلبات بأقل البدء يتم الحالة هذه وفيITA330 – S14
29
التطوري البدئي الطراز نموذج(Evolutionary Prototype)
التزايدية • اإلصدارات من كسلسلة النظام Zبنى ي(Incremental. للزبون( Y تباعا Zسلم ت
–. المتطلبات جمع مرحلة خالل Y بدئيا Y طرازا المطورون يبني–. المنجز الطراز بتقييم المستخدمون يقوم–. التصحيحية اإلجراءات باقتراح المستخدمون يقوم–. جديدة نسخة زبناء الطراز بتحسين المطورون يقوميقوم – والكفاية، الرضى من مقنعة درجة الزبون بلوغ عند
خالل من لتحسينه األخير النموذج رماز بمراجعة المطورون. Y نهائيا Y منتجا العتباره الالزمة المعايير تطبيق
ITA330 – S1430
التطوري البدئي الطراز إيجابياتإشراك ) • جمعها أثناء النظام متطلبات معاينة الزبائن يستطيع
.) الزبون والتزام
•.) وبالعكس ) الزبائن من المطورون يتعلمأو • متوقع هو ما مع Y وتوافقا دقة أكثر النهائي المنتج يكون
مطلوب.
•. مبكرة مراحل في الواضحة غير المتطلبات اكتشاف يمكن
• . والتطوير التصميم أثناء المرونة من عالية درجة يوفر
•. المنتج باتجاه التقدم لدرجة وصحيحة واضحة مؤشرات يعطي
•. مفيدة لوظائف سريع بتسليم يسمح
ITA330 – S1431
التطوري البدئي الطراز سلبيات
من • المزيد نحو المنظمة التطوير منهجية عن الفريق Zبعد ي قد( “ والتصحيح ” البرمجة (. code-and-fixعمليات
•. عالية بمهارات التطوير فريق يتمتع أن يجب• . والزمن الكلفة تقدير صعوبة تزداد•. الالحقة الصيانة عمليات تعقيد من يزيد قد•. نهائي غير طراز تسليم باتجاه الزبون يضغط قدمع • منتهية غير حلقة إلى الطراز تحسين عملية تتحول قد
والمتطلبات االحتياجات من المزيد .(scope creep)اكتشافZظهر ) • ي ال قد vكاف بشكل الوظيفية غير المتطلبات اختبار يمكن ال
.) واضح بشكل الحساسة األمان متطلبات النموذج
ITA330 – S1432
المهمل البدئي الطراز مشكالت
الطراز • تسليم بهدف لضغوط المطورون يتعرض قد . نهائي كمنتج
•: الخطأ هذا في الوقوع تجنب يجبغير – المتطلبات لتلبية الطراز تحسين Y مستحيال يكون قد
الوظيفية.
– . توثيق دون من الطراز يبقى
–. إضافية تعديالت إجراء عند النظام بنية تنهار قد
–. الصعوبة في غاية Y أمرا الجودة معايير احترام يصبح
ITA330 – S1433
البدئي الطراز نموذج فوائد
بين • الفهم سوء عن الناجمة المشكالت بحل يسمح. والمستخدمين المطورين
الخدمات • وبتوضيح الناقصة الخدمات باكتشاف يسمحالملتبسة.
مرحلة • في للعمل صالح نظام على الحصول يمكن. اإلجرائية من مبكرة
دقيق • توصيف لوضع الطراز من االستفادة يمكنللنظام.
•. النظام واختبار المستخدمين تدريب نجاح على يساعدITA330 – S14
34
يجمxxxع مxxxا بين الطبيعxxxة • لنمxxوذج الطxxراز التكراريxxة
البxدئي والطبيعxة الممنهجxة للنمxxxxxxوذج التسلسxxxxxxلي
)الشاللي(.
مxxع تطxxوير سxxريع لنسxxخ • من النظxxxxxxxام تزايديxxxxxxxة
الxxبرمجي في سلسxxلة من اإلصدارات التزايدية.
الحلزوني النموذج
ITA330 – S1435
الحلزوني النموذج
مرحلة • كل يسبقالبدائل – دراسةالمخاطر – تحليل
مرحلة • كل يليللنسخة – تقييمالتالية – للمرحلة تخطيط
ITA330 – S1436
الحلزوني النموذج
•. مرحلة كل في وإدارتها المخاطر تحليل على يركز
كل • يهتم صغيرة مشاريع كسلسلة إليه النظر يمكنالمخاطر ) من مجموعة بمعالجة Start small, exploreمنها
risks, prototype, plan, repeat.)
• ( الحلقة تشبه Y مسبقا الحلقات عدد تحديد يمكن ال .) الشاللي النموذج منه األخيرة
ITA330 – S1437
الحلزوني النموذج إيجابيات
تجاوزها • يمكن ال التي للمخاطر مبكرة مؤشرات يعطي.) الكلفة) من وبقليل
• ( بسبب Y مبكرا النظام رؤية المستخدمون يستطيع .) الطراز بناء تقنيات على االعتماد
• . البداية في خطورة األكثر الوظائف Zبنى ت
• . العمل مراحل كل من قريبين المستخدمون يبقى
المستخدمين • وآراء انطباعات على الحصول يمكن. مبكر بشكل
ITA330 – S1438
الحلزوني النموذج سلبيات
المشاريع • في مبرر غير المخاطر تقييم زمن يصبحالصغيرة.
• Y وقتا الطرز وبناء المخاطر وتقييم التخطيط يتطلب قد. Y جدا Y طويال
• .) االستخدام ) شائع غير معقد النموذج
• . المخاطر تقييم في لخبراء يحتاج
•. بنتائجها التنبؤ يمكن ال بطريقة الحلقات عدد يتزايد قد
درجة • لتقدير عالم ونقاط مؤشرات تعريف الصعب من . النهائي المنتج باتجاه التقدم
ITA330 – S1439
الحلزوني؟ النموذج نستخدم متى
أو ) • المعقدة الكبيرة لألنظمة بالنسبة Y منطقيا Zعتبر ي.) الداخلي لالستخدام الموجهة
• . كثيرة مخاطر على تنطوي التي للمشاريع Y مناسبا Zعتبر ي
يدرك • وال Y جدا معقدة المتطلبات تكون عندما . واضح بشكل احتياجاتهم المستخدمون
•.) مسبوق ) غير Y كليا جديد منتج إعداد على العمل عند
ITA330 – S1440
المتزامن التطوير نموذج
البرمجية • المشاريع إدارة لمشاكل حلبشكل • البرمجي المنتج تطوير مراحل تنفيذ
متساير و متزامنللمطورين • كابوس للمديرين، أمثلي حل
41
المختلفة النماذج بين مقارنةمع ) • البرمجيات لتطوير مختلفة نماذج عرض تم
.) منها كل وسلبيات إيجابيات
•: األنسب النموذج انتقاء معايير تتضمن–.)... إدارتها ) خبراتها، حجمها، المؤسسة
–. العمل فريق ومهارات خبرات
– . المطلوب المنتج طبيعة
األفضل؟ • االقتراح
ITA330 – S1442