تذكير بمساهمة فاتح الموضوع :يجب أن لا نخلط بين طور التحوّل هذا و طور الاختبار التقليدي في نهاية النموذج الانحداري ، فمنذ بداية التحوّل يجب ان يكون لدينا منتجا قابلا للتشغيل و تم اختباره بالكامل، و أن يكون جاهزا و متوفرا للمستخدمين. و كما اوضحنا سابقا، بعض المشاريع قد تتطلب خطوة اختبار مبدئية ، و لكن المنتج يجب ان يكون مكتملا قد الامكان فبل الدخول في هذا الطور.
كم عدد هذه التكرارات؟ و كم يجب ان تطول؟
التكرار الواحد يجب عادة ان يمتد من اسبوعين الى شهرين، أية زيادة على شهرين سوف تؤدي الى زيادة في التعقيد و الوصول الى النقطة التي لامناص منها : "الانفجار الكبير" ، دوّامة ضم الأجزاء الى بعضها البعض، حيث العديد من المكونات البرمجية ستحتاج الى ان تنتظم و تلتحم لأول مرة.
اذا كبر المشروع و زاد تعقيده فلا يعني هذا أن تكون التكرارات أطول - لأن هذا سوف يزيد من مستوى التعقيد الذي سيكون على المطوّرين التعامل معه في المرّة الواحدة. بدلا من ذلك المشروع الأكبر يجب أن يخصص له تكرارات أكثر.
فيما يلي بعض العوامل التي يجب أن توثر في طول مدّة النكرار:
* دورات التطوير المبكرة قد تحتاج لأن تكون أطول. هذا يعطي المطوّرين فرصة لأداء اعمال استكشافية على تقنيات جديدة أو غير مختبرة ، أو لتحديد البنية التحتية للمشروع.
* الأفراد حديثو الخبرة.
* فرق العمل المتعددة والتي تعمل على التوازي.
* فرق العمل المتوزعة (في أكثر من موقع).
ايضا ، أريد ان اضم الى هذه القائمة المشروع ذو المراسمية العالية الذي سيحتاج عادة الى تكرارات أطول. و نقصد بالمشروع ذو المراسمية العالية ذلك الذي يتطلّب اصدار و توفير الكثير من الوثائق الخاصة بالمشروع الى الزبون، أو ربما مشروع يجب ان يلبّي العديد من المتطلبات القانونية . مثال جيد على هذا المشاريع ذات العلاقة بلأمور العسكرية، ففي هذه الحالة فان أعمال التوثيق سوف تزيد من طول فترة التكرار - و لكن كمية التطوير البرمجي الذي يتم التصدي له في هذا التكرار يجب أن يكون في حدوده الدنيا لتجنّب عدّونا الرئيسي و هو عبء التعقيد.
القيد الزمني Time Boxing
الأسلوب الأمثل لادارة عملية تكرارية تزايدية هو هو فرض قيد زمني. بهذا الاسلوب الحازم يتم تحديد فترة زمنية ثابتة يجب خلالها اتمام تكرارية معينة.
اذا لم تكتمل التكرارية مع نهاية القيد الزمني، فالتكرارية يتم انهاؤها على أية حال. النشاط الأهم في التقييد الزمني هو المراجعة في نهاية التكرارية. المراجعة يجب أن تبحث في أسباب التأخير، و أن تعيد جدولة الأعمال غير المنتهية و تضمينها في التكرارات القادمة.
احدى النصائح لكيفية تطبيق القيد الزمني، أن يكون المطورون هم المسؤولون (أو على الأقل الكلمة العليا) عن تحديد ما هي المتطلبات التي يتم تغطيتها في كل تكرار ، باعتبارهم الذين سوف يلتزمون بهذه الآجال.
الالتزام بالقيد الزمني يعد صعبا، فهو يتطلّب حسّا عاليا بالانضباطية خلال كامل المشروع. من المغري جدا التخلّي عن المراجعة و تخطّي القيد الزمني اذا حان أجل التكرار و كانت نسبة اكتمال"99%" . حالما يرضخ المشروع لمثل هذا الاغراء و يتم تجاهل مراجعة واحدة ، فان المفهوم بكامله يبدأ في التداعي. اذا تم تجاهل عدة مراجعات ، فان التخطيط للتكرارات القادمة سوف تكون مائعة و تبدأ الفوضى في أخذ مكانها.
بعض المدراء يفترضون ان التقييد الزمني يعيق مرونة الارجاء، هذا غير صحيح، فاذا لم تكتمل التكرارية وقت انتهاء أجل القيد الزمني فإن العمل غير المكتمل يجب نقله الى التكرارات التالية، و يتم اعادة جدولة خطط التتكرارات - يمكن ان يتضمن هذا ارجاء تاريخ التسليم أو اضافة تكرارات أكثر. عموما للتقييد الزمني فوائد هي:
* الهيكلية الصارمة تفرض عملية التخطيط و معاودتها. فلا يتم التخلّي عن الخطط اذا بدأ المشروع في التمطط.
* إذا تم فرض التقييد الزمني، تتضائل فرص ان يغوص المشروع في الفوضى اذا ما ظهرت مشاكل، حيث ان هناك دائما مراجعة رسمية منتظمة تلوح في الأفق.
* إذا ما تسرّب الخوف و بدأ المطوّرون في التخبّط بصورة عشوائية، سيتم وقف هذا التخبّط حالما تتم المراجعة.
بصورة اساسية، يسمح القيد الزمني للمشروع بكامله أن يتريث مرة بعد الأخرى ليحزم أمره من جديد. انه لا يعرقل امكانيات الارجاء، و يحتاج الى ادارة مشروعات قوية كي يعمل بصورة صحيحة.
التوقيتات النمطية للمشروع
كم يجب ان يستغرق كل طور من الأطوار الأربعة؟ هذا يتباين من مشروع لآخر، و لكن كمؤشّر عام 10% للإستهلال، 30% للتفصيل، 50% للبناء و 10% للإنتقال
شكل9: التوقيتات المحتملة لكل طور. هذا المثال يوضح طول كل طور لمشروع يستغرق سنتين.
العملية الموّحدة من راشيونال
The Rational Unified Process
العملية الموحّدة من راشيونال (the RUP) هي المثال الأكثر شهرة للدورة الحياتية التكرارية قيد الاستعمال حاليا. تم تطوير RUP من قبل نفس "الاصدقاء الثلاثة" الذين قاموا بتطوير UML ، و لذلك فان RUP متكاملة جدا مع UML.
بصورة أساسية، تقدّر مؤسسة راشيونال بأن كل مشروع يختلف عن الآخر، و ذو احتياجات مختلفة، مثلا، بعض المشاريع لاتتطلب الا طورا قصيرا للإستهلال، بينما مشاريع ذات علاقة بأمور عسكرية فإن طور الاستهلال فيها قد يمتد لسنوات.
حتى هذه النقطة، تعد RUP مرنة و تسمح باعادة تكييف كل طور في العملية. ايضا تحدد RUP و بكل عناية قواعدا لكل فرد في المشروع و بحسب الاحتياج.
و قد اصدرت مؤسسة راشيونال منتوجا لمساعدة المشاريع التي تتبنى RUP و يمكن ايجاد المزيد من التفاصيل في www .rational . com . المنتوج بالأساس عبارة عن دليل على شبكة الانترنت يضم جميع ملامح RUP. و تقدم الشركة امكانية استعمالة على سبيل التجربة لمدة 30 يوما.
vcb
تفصيل مزايا و عيوب RUP خارج نطاق درسنا هذا، و لكن بصفة عامة فان أساس RUP هي الدورة الحياتية التكرارية التزايدية و التي سيتم تبنّيها خلال دروسنا هذه,
موجز
اطار العمل التكراري التزايدي يقدم العديد من الفوائد مقارنة بالعمليات التقليدية.
اطار العمل هذا ينقسم الى أربعة أطوار الاستهلال، النفصيل، البناء، الانتقال.
التطوير التصاعدي يعني استهداف الحصول على توليف قابل للتشغيل في نهاية كل تكرار (بأكبر عدد ممكن منها).
التكرارات يمكن تقييدها زمنيا كأسلوب صارم لجدولة و مراجعة التكرارات .
بقية هذه الدروس سوف تركز على اطار العمل Framework ، و كيف تقوم UML بدعم مخرجات كل طور في اطار العمل.
(3)لاحظ أنه في أطوار الاستهلال و التفصيل، يمكن بناء مجسمات (برمجية) أولية. هذه المجسمات يمكن تطويرها تماما بنفس الطريقة ؛ أي سلسلة من التكرارات الانحدارية المصغرة. عموما و بقصد التوضيح في هذه الدروس سوف نبقي على أطوار الاستهلال و التفصيل بسيطة قدر الامكان، و نستعمل الانحداريات عند البناء فقط.
______________
وللحديث بقيه ان شــاء الله سنكمل الموضوع في وقت اخر <<<
اتمنى لكمـ استفاده ممتعه .,
البلسمــ