يؤسس معيار الأيزو 12207 دورة حياة البرنامج وتشمل العمليات والأنشطة التي يتم تطبيقها أثناء الحصول على خدمات النظام وتنظيمها. ترتبط بكل عملية مجموعة من النتائج. هناك 23 عملية Process و95 نشاط Activity و325 مهمة Task و224 نتيجة Outcome (المعيار الجديد «أيزو\آي إي سي 12207:2008 هندسة الأنظمة والبرمجيات – عمليات دورة حياة البرنامج» يعرف 43 عملية نظام وبرنامج).
الهدف الرئيسي للمعيار هو تقديم منظومة مشتركة بحيث يتمكن كل المشتركين في عملية تطوير البرمجيات - مشترين ومزودي الخدمة ومطورين ومسئولين عن الصيانة ومسئولين عن التشغيل ومدراء وتقنيينن – من استخدام لغة مشتركة، وهذه اللغة المشتركة عبارة عن عمليات معرفة بدقة. الهدف أن تمتاز بنية هذا المعيار بالمرونة وأن تقبل التقسيم لوحدات بحيث يسهل أن تلائم احتياجات أي مستخدم. يبنى المعيار على مبدأين أساسيين: التقسيم والمسئولية، التقسيم يعني أن تكون العمليات على أعلى قدر من الوحدة وأقل قدر من الارتباط، وتعني المسئولية أن تتولي كل عملية مسئولية ما مما يسهل تطبيق المعيار في مشاريع يشترك فيها قانونيا العديد من الأشخاص.
يمكن تغيير العمليات والأنشطة والمهام حسبما تقتضي الحاجة أي مشروع برمجي. تقسم هذه العمليات لثلاثة أنواع: أساسية ودعم وتنظيمية، يجب أن تتوفر عمليات الدعم والتنظيم بشكل مستقل عن المؤسسة والمشروع الذي يتم تنفيذه، والعمليات الأساسية يتم البدأ فيها إذا استدعى الأمر.
العمليات الرئيسية في دورة الحياة
تتضمن العمليات الرئيسية في دورة الحياة مجموعة العمليات الأساسية في عمل أي منتج برمجي، وتنقسم لخمسة عمليات أساسية:
الحيازة
العرض
التطوير
التشغيل
الصيانة
تغطي العمليات الرئيسية مساحة ضخمة لذا تم تحديد نطاق (إدارة المشروع) scope. يشرح هذا المقال كل العمليات الرئيسية في دورة الحياة ولكنه يتناول عمليات الحيازة والتطوير بشكل أكثر استفاضة.
الأنشطة
يمكن تقسيم كل عملية من عمليات دورة الحياة إلى مجموعة من الأنشطة. يشرح هذا الفصل الأنشطة المختلفة في كل عملية من هؤلاء.
الحيازة
تشمل مرحلة الحيازة الأنشطة المتعلقة بافتتاح المشروع، ويمكن تقسيمها إلى مجموعة من الأنشطة والمنتجات المستلمة التي يتم الانتهاء منها بترتيب زمني.
افتتاح المشروع: يشمل هذا النشاط إتمام المهام التالية
وصف الحاجة التي تدفع إلى تطوير أو تحسين أو الحصول على منتج ما;
توضع في هذه المرحلة خطة إدارة المشروع، وتضم هذه الخطة معلومات عن المشروع مثل النقاط الفاصلة التي يجب الوصول إليها. هذه الخطة مطلوبة في المرحلة التالية وهي مرحلة التطوير.
في مرحلة التطوير يتم تصميم وبناء واختبار البرنامج وينتج عنها منتج برمجي جاهز للتسليم للعميل. قام العديد من الأشخاص بوضع أساليب مختلفة لتطوير البرمجيات، واختيار أسلوب منهم يعتمد على الوضع وقتها، ولكن النموذج-في V-model هو الأسلوب المستخدم في الكثير من المشاريع. يمكن استخدام بعض التقنيات أثناء عملية التطوير كاليو إم إل في التصميم وتي ماب للاختبار. يتضمن هذا الفصل أهم خطوات النموذج-في.
اختبار الوحدات البرمجية للتأكد من قيامها بوظيفتها كما ينبغي، وإن كان الأمر كذلك فيمكن الانتقال بالمشروع إلى النشاط التالي وإلا يتم إعادة المشروع إلى مرحلة تصميم الوحدات البرمجية لتصحيح أي أخطاء.
اختبار الاتصال بين الوحدات البرمجية للتأكد من خلوه من الأخطاء، وإن كان فيمكن الانتقال بالمشروع إلى النشاط التالي وإلا يتم إعادة المشروع إلى مرحلة التصميم عالي المستوى لتصحيح أي أخطاء.
يتأكد هذا الاختبار من تواجد كل المتطلبات الوظيفية في المنتج، إن كان هذا الحال فقد اكتمل المنتج وجاهز لتسليمه للعميل وإلا يعود المشروع إلى مرحلة المتطلبات البرمجية لتعديل المتطلبات الوظيفية.
التشغيل
تجري مرحلتي التشغيل والصيانة على التوازي، تشمل مرحلة التشغيل أنشطة مثل مساعدة الممستخدمين على استخدام المنتج الجديد.
الصيانة
تشمل مرحلة الصيانة مهام صيانة للعمل على استمرار المنتج في آداء وظيفته. تشمل الصيانة أي تحسينات وتعديلات وإضافات محتملة من المستخدم النهائي. عادة ما تقوم الشركة المطورة للبرنامج بتوثيق أي عيوب أو قصور للعمل لاحقا على إيجاد حلول لها ومعالجة الأخطاء المكررة في مراحل الصيانة المستقبلية.
المنتجات المستلمة
يبين هذا الفصل المنتجات التي يتم تسليمها في كل نشاط.
الحيازة
تشمل الحيازة الانشطة المتعلقة بافتتاح المشروع. يمكن تقسيم مرحلة الحيازة إلى مجموعة من الأنشطة والمنتجات المستلمة التي يتم الانتهاء منها واحدا تلو الآخر.
افتتاح المشروع: المنتجات التي تسلم في هذا النشاط هي:
يمكن استخدام الأسلوب الذي تم شرحه في هذا المقال في شركة مسئولة عن تطوير وصيانة برمجيات للعملاء، خاصة إذا قررت هذه الشركة أن تبدأ في بناء تطبيق ما من الصفر ويكون المطور هو أيضا المسئول عن صيانة التطبيق والمساعدة في تشغيله.
Mitchell H. Levine. (2000), Analyzing the Deliverables Produced in the Software Development Life Cycle. Retrieved February 17, 2006, from Audit Serve, Inc. Website: [1]
SSC San Diego Process Asset Library. Retrieved February 19, 2006 from SSC San Diego Process Asset Library Website: http://sepo.spawar.navy.mil/12207.doc