Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Transcript

‫‪12‬المحاضرة رقم‬ ‫تغيير البرمجيات‬ ‫مقدمة‬ ‫المشكلة الرئيسية للمنظمات هى تنفيذ وإدارة التغيير للنظم الموروثة‪ ،‬يصبح تغيير البرمجيات ‬ ‫حتميا فى الحاالت االتية‪:‬‬ ‫ظهور متطلبات جديدة عند استخدام البرمجيات‪ ،‬تغيير بيئة العمل‪ ،‬اصالح االعطال ‬ ‫والمشاكل‪ ،‬وجوب اضافة واستخدام معدة جديدة‪ ،...

‫‪12‬المحاضرة رقم‬ ‫تغيير البرمجيات‬ ‫مقدمة‬ ‫المشكلة الرئيسية للمنظمات هى تنفيذ وإدارة التغيير للنظم الموروثة‪ ،‬يصبح تغيير البرمجيات ‬ ‫حتميا فى الحاالت االتية‪:‬‬ ‫ظهور متطلبات جديدة عند استخدام البرمجيات‪ ،‬تغيير بيئة العمل‪ ،‬اصالح االعطال ‬ ‫والمشاكل‪ ،‬وجوب اضافة واستخدام معدة جديدة‪ ،‬تحسين االعتمادية واالداء‪.‬‬ ‫استراتيجيات تغيير البرمجيات‬ ‫صيانة البرمجيات‪ :‬يتم عمل التغييرات استجابة لتغيير المتطلبات لكن الهيكل الرئيسى ‬ ‫للبرمجيات يظل مستق ار‪.‬‬ ‫التحويل المعمارى‪ :‬تعديل معمارية النظام عامة من معمارية مركزية الى معمارية موزعة‪.‬‬ ‫اعادة هندسة البرمجيات‪ :‬ال تضائف وظائفية جديدة للنظام لكن يعاد هيكلته ويعاد تنظيمه ‬ ‫ليالئم تغييرات مستقبلية‪.‬‬ ‫صيانة البرمجيات‬ ‫تعديل برنامج بعد وضعه فى االستخدام والتتعلق الصيانة عادة بتغييرات كبيرة فى معمارية ‬ ‫النظام‪ ،‬تنفذ‪ 1‬التغييرات بتعديل مكونات موجودة واضافة مكونات جديدة‪.‬‬ ‫حتمية الصيانة‬ ‫تميل متطلبات النظام للتغيير عند تطوير النظام الن البيئة تتغير لهذا فقد ال يلبى النظام ‬ ‫المسلم المتطلبات‪ ،‬ترتبط النظم ارتباطا وثيقا ببيئتها وعند تثبيت نظام فى بيئة فانه يغير هذه‬ ‫البيئة وبالتالى تغير من متطلبات النظام‪ ،‬يجب الحفاظ على النظم وصيانتها لتبقى مفيدة فى‬ ‫بيئتها‪.‬‬ ‫انواع الصيانة‬ ‫صيانة الصالح اعطال البرمجيات ‬ ‫صيانة لتكيف البرمجيات مع بيئات التشغيل المختلفة ‬ ‫صيانة الضافة او تعديل وظيفية النظام‪.‬‬ ‫توزيع مجهود الصيانة‬ Distribution of maintenance effort Fault repair (17%) Functionality Software addition or adaptation modification (18%) (65%) ‫نموذج الصيانة الحلزونى‬ Spiral maintenance model Specification Implemention Start Release 1 Operation Validation Release 2 Release 3 ‫تكاليف الصيانة‬ ‫عادة ما تكون اكبر من تكاليف التطوير بما يصل ال ضعف او مائة ضعف اعتمادا على ‬ ‫التطبيق‪ ،‬تتأثر بعوامل تقنية وغير تقنية‪ ،‬وتزيد عند صيانة البرمجيات قد تتلف الصيانة‬ ‫هيكل البرمجيات ولذلك فانها تزيد من صعوبة عمل صيانة اضافية‪ ،‬يمكن ان يكون الطالة‬ ‫عمر البرمجيات تكاليف دعم عالية‪.‬‬ ‫تكاليف الصيانة والتطوير‬ Development/maintenance costs System 1 System 2 0 50 100 150 200 250 300 350 400 450 500 $ Development costs Maintenance costs ‫معامالت تكاليف الصيانة‬ ‫استقرار الفريق‪ :‬تنخفض تكاليف الصيانة عندما يكون نفس الطاقم لبعض الوقت‪.‬‬ ‫المسئولية التعاقدية‪ :‬قد ال تكون على مطورى النظام برنامج اى مسئولية تعاقدية للصيانى ‬ ‫لذلك لن يكون سبب لتصميم تغييرات مستقبلية‪.‬‬ ‫مهارات الطاقم‪ :‬عادة ما يكون طاقم الصيانة غير خبيرة ولهم معرفة محدودة بالمجال‪.‬‬ ‫البرمجيات اإلرتقائية‬ ‫بدال من التفكير فى تطوير منفرد ومراحل صيانة فان البرمجيات االرتقائية هى تلك ‬ ‫البرمجيات التى تصمم بحيث يمكنها االستمرار فى التغيير والتطوير طوال فترة حياتها‪.‬‬ ‫عملية الصيانة‬ The maintenance process Change Impact System release Change System requests analysis planning implementa tion release Perfective Adaptive Corrective maintenance maintenance maintenance ‫طلبات التغيير‬ ‫هى طلبات لتغيير النظام من المستخدمين او المستهلكين او اإلدارة فى االساس يجب ان ‬ ‫يتم تحليل كل طلبات التغيير بعناية كل جزء من عملية الصيانة‪ ،‬ثم تنفذ بعد ذلك‪ ،‬عمليا‬ ‫فان بعض طلبات التغيير تنفذ بسرعة وفى عجلة كاصالح االخطاء او تغييرات فى بيئة‬ ‫النظام او تغييرات االعمال الطارئة المطلوبة‪.‬‬ ‫تنفيذ التغيير‬ Change implementation Proposed Requirements Requirements Software changes analysis updating development ‫االصالح الطارئ‬ Emergency repair Change Analyze Modify Deliver modified requests source code source code system ‫توقع تنبؤ الصيانة‬ ‫يهتم بتقدير وتخمين اى اجزاء النظام سوف تسبب المشاكل ولها تكاليف صيانة عالية‪ ،‬‬ ‫يعتمد قبول التغيير على قابلية صيانة المكونات التى تتأثر بالتغيير‪ ،‬تنفيذ التغييرات يقلل من‬ ‫قابلية صيانة النظام‪ ،‬تعتمد تكاليف الصيانة على عدد التغييرات وتكاليف اعتمادا على قابلية‬ ‫الصيانة‪.‬‬ ‫توقع الصيانة‬ Maintenance prediction What parts of the system will be the most expensive What parts of the system are to maintain? most likely to be affected by change requests? Predicting maintainability What will be the lifetime maintenance costs of this Predicting system Predicting system? changes maintenance costs What will be the costs of How many change maintaining this system requests can be over the next year? expected?

Tags

software maintenance change management system engineering
Use Quizgecko on...
Browser
Browser