Software Evolution (King Saud University) PDF

Document Details

AttentiveSteelDrums9226

Uploaded by AttentiveSteelDrums9226

King Saud University

King Saud University

Tags

software evolution software maintenance legacy systems computer science

Summary

These lecture notes from King Saud University cover software evolution, maintenance, and legacy systems. Topics include evolution processes, software maintenance, and legacy systems.

Full Transcript

College of Computer and Information Sciences Software Evolution Section 9.1+9.3+9.4 (Somerville) Second Semester 1445 H/ 1445 1 Topics covered College of Computer and I...

College of Computer and Information Sciences Software Evolution Section 9.1+9.3+9.4 (Somerville) Second Semester 1445 H/ 1445 1 Topics covered College of Computer and Information Sciences Evolution processes. Software maintenance. Legacy Systems 2 Software Specification Software Software Software (Requirements Design & Validation Evolution Engineering) Development jj1 · new- Customers and engineers The software is designed The software is checked to The software is modified go define the and ensure that it - to reflect software that programmed is what the changing is to be. customer customer and produced and requires. market the requirements constraints The 4 Fundamental SW Process Activities Software change ‫تغيير البرمجيات‬.‫ التغيير في البرمجيات ال مفر منه‬.‫ تظهر متطلبات جديدة عند استخدام البرمجيات‬.‫ يتغير البيئة التجارية‬ College of Computer and Information Sciences -.‫ يجب إصالح األخطاء‬ juj)).‫ يتم إضافة أجهزة الحاسوب واملعدات الجديدة إلى النظام‬.‫ قد يكون عليك تحسني أداء أو موثوقية النظام‬ s Software change -.‫ املشكلة الرئيسية لجميع املؤسسات هي تنفيذ و إدارة التغييرات على أنظمتها البرمجية الحالية‬ is inevitable. · is g ↳ New requirements emerge when the software is used. The business environment changes. widwest 201 Errors must be repaired. 5 - New computers and equipment is added to the system. r The performance or reliability of the system may have to be improved. - - A key problem for all organizations is implementing and managing change to their existing software systems. · 9 4 ‫أهمية التطور‬ Importance of evolution ‫ فهي‬- ‫ تستثمر املؤسسات مبالغ ضخمة في أنظمتها البرمجية‬.‫أصول أساسية لألعمال‬.‫ يجب تغييرها وتحديثها‬،‫ للحفاظ على قيمة هذه األصول لألعمال‬ ‫ تخصص الغالبية العظمى من ميزانيات البرمجيات في الشركات‬ College of Computer and ‫ال من تطوير برمجيات‬ً ‫الكبيرة لتغيير وتطوير البرمجيات الحالية بد‬ Information Sciences.‫جديدة‬ j5s · Organizations have huge investments in their - software systems - they are critical business & assets. To maintain the value of these assets to the gi & business, they must be changed and updated. - = - D61 The majority of the software budget in large & = companies is devoted to changing and evolving ② existing software rather than developing new L software.. s jajes & https://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm 5 si A spiral model of development and evolution College of Computer and Information Sciences & 3 3 - - - 3 pri D & asil · T 6 Evolution and servicing College of Computer and Information Sciences s & Jig 510 5) S 15735 main 1 regirment : J F 3 7 Evolution and servicing n ‫التطور والخدمة‬ ‫ املرحلة في دورة حياة نظام البرمجيات حيث‬:‫ التطور‬ ‫يكون في استخدام تشغيلي ويتطور مع اقتراحات‬.‫املتطلبات الجديدة وتنفيذها في النظام‬ ‫ ولكن‬،‫ تظل البرمجيات مفيدة‬،‫ في هذه املرحلة‬:‫ الخدمة‬ ‫القيام بالتغييرات يقتصر على تلك الالزمة للحفاظ على‬ ‫ مثل إصالح األخطاء و إجراء تغييرات لتعكس‬،‫تشغيلها‬ & ‫ ال يتم إضافة وظائف‬.‫التغيرات في بيئة البرمجيات‬.‫جديدة‬ College of Computer and ‫ قد يستمر استخدام البرمجيات‬:‫ إخراج من الخدمة‬.‫ولكن ال ُتجرى عليها مزيد من التغييرات‬ Information Sciences 15 · · & & Evolution: The stage in a software system’s life cycle where it is in 5 E - - operational use and is evolving as new requirements are proposed and 25 · gi implemented in the system. ↳ Servicing: At this stage, the software remains useful, but the onlyO changes & gas is made are those required to keep it operational i.e. bug fixes and changes to %g O [j) - reflect changes in the software’s environment. No new functionality is added. - z Phase-out: The software may still be used but no further changes are made - O N to it. 8 Evolution processes => · go ‫عمليات التطور البرمجي‬ :‫ تعتمد عمليات تطور البرمجيات على‬.‫ نوع البرمجيات التي يتم االعتناء بها‬.‫ العمليات التطويرية املستخدمة‬ College of Computer and.‫ مهارات وخبرة األشخاص املعنيني‬ Information Sciences.‫ تقديم اقتراحات التغيير هو املحرك لتطور النظام‬ ‫ مما يسمح بتقدير التكلفة والتأثير‬،‫ يجب ربطها باملكونات املتأثرة بالتغيير‬.‫الناتج عن التغيير‬ Software evolution processes depend on: 3 The type of software being maintained.↳ & The development processes used. war n ↳ a ↳ The skills and experience of the people involved. 9 5. j ↳ Proposals for change are the driver for system evolution. & Should be linked with components that are affected by the change, thus - allowing the cost and impact of the change to be estimated. - 9 The software evolution process College of Computer and · Information Sciences 2 ① & So g - -I' E · g S 10 ‫األساليب الرشيقة والتطور‬ ‫ لذا فإن‬،‫ تعتمد األساليب الرشيقة على التطوير التدريجي‬ so Agile methods and evolution ‫االنتقال من املرحلة التطويرية إلى املرحلة التطورية يكون‬.‫سا‬ً ‫سل‬ ‫ التطور مجرد استمرار لعملية التطوير بناًء على إصدارات‬.‫النظام املتكررة‬ College of Computer and ‫ اختبار االنحدار التلقائي يكون ذا قيمة خاصة عندما يتم‬ Information Sciences ·Tere.‫إجراء تغييرات على النظام‬ ‫ يمكن التعبير عن التغييرات على شكل قصص مستخدم‬.‫إضافية‬ Agile methods are based on incremental development so the transition from * - - S development to evolution - is & a seamless one. egg its & Evolution is simply a continuation of the development process based on - frequent system releases. To A - Automated regression testing is particularly valuable when changes are made to - Sin - a system. O Changes may be- expressed as additional user stories. S - & 11 eviation software↓ Software Maintenance -- 5 depe College of Computer and Information Sciences Modifying a program after it has been put into use. - Maintenance does ① not normally involve major ↳ changes to the system’s architecture. - · % 3 g :.. Changes are implemented by modifying existing - ~ Se components and adding new components to the - & system. Three types of maintenance: j Sr Fault repair. gijo12) > - · Environmental adaptation. · Maintenance effort distribution Functionality addition. - i99 12 Software Maintenance College of Computer and 6 199 · Information Sciences - 3 115 3 -. -j. O costs may decrease as more effort is expended during The overall lifetime - & & - system development to produce a maintainable system. g Because of the potential reduction in costs of understanding, analysis, and testing, there is a F - significant multiplier effect when the system is developed for maintainability. 8 - E & I & , Si - > - 50 Development and maintenance costs 13 * 35 ‫أنظمة متراكمة‬ Legacy systems ~ ‫ األنظمة املتراكمة هي أنظمة قديمة تعتمد على لغات وتقنيات لم يعد استخدامها في تطوير األنظمة‬.‫الجديدة‬ ‫ قد تعتمد البرمجيات املتراكمة على أجهزة قديمة مثل أجهزة الحواسيب الرئيسية وقد تكون لها عمليات‬.‫و إجراءات مترابطة قديمة‬ College of Computer and ‫ األنظمة املتراكمة ليست مجرد أنظمة برمجيات بل هي نظم اجتماعية فنية أوسع تشمل األجهزة‬ Information Sciences.‫والبرمجيات واملكتبات والبرمجيات الداعمة األخرى وعمليات األعمال‬ F Legacy systems are older systems that rely on languages and technology that & are no longer used for new systems development. Legacy software may be dependent on older hardware, such as mainframe - & computers and may have associated legacy processes and procedures. ⑧ Legacy systems are not just software systems but are broader socio-technical & systems that include hardware, software, libraries and other supporting software and business processes. 14 Legacy systems – change or replace? College of Computer and Information Sciences , Legacy 00 system replacement is risky and expensive so businesses continue to use these systems. It is risky because of - & · Lack of complete system specification. Tight integration of system and business processes. edi ‫ التغيير أو االستبدال؟‬- ‫األنظمة املتراكمة‬ ‫ إنه خطير بسبب‬.‫ استبدال األنظمة املتراكمة يعتبر أمًرا خطيًرا ومكلًفا لذا تستمر الشركات في استخدام هذه األنظمة‬.‫ عدم وجود مواصفات كاملة للنظام‬ Undocumented business rules (embedded in the legacy system).7.‫ التكامل الوثيق بني النظام وعمليات األعمال‬.(‫ قواعد األعمال غير املوثقة )املضمنة في النظام املتراكم‬.‫أو تزيد عن امليزانية‬/‫ قد تتأخر عمليات تطوير البرمجيات الجديدة و‬ ‫ األنظمة املتراكمة مكلفة للتغيير بسبب‬ New software development may be late and/or over budget. -.‫ عدم وجود أسلوب برمجة متسق‬.‫ استخدام لغات برمجة قديمة مع قلة األشخاص املتاحني الذين يتمتعون بهذه املهارات اللغوية‬.‫ وثائق النظام غير الكافية‬ --.‫ تدهور هيكل النظام‬.‫ قد تجعل األمثلة البرمجية من الصعب فهمها‬.‫ أخطاء البيانات وتكرارها وعدم اتساقها‬ Legacy systems are expensive to change because No consistent programming style. > - S 50 %99 ,. Use of obsolete programming languages with few people available with these language skills. gj & Inadequate system documentation. > System structure degradation. Program optimizations may make them hard to understand. - Data errors, duplication and inconsistency. - & - 15 Legacy system management Sign - College of Computer and Information Sciences 5 Organizations that rely on legacy systems must choose a strategy for evolving these 3 I 3 systems. A. Scrap the system completely. D - B f B. Replace the system or transform it by re- T engineering to improve its maintainability. & C. Replace with COTS, scrap or maintain. & - & [ D. Continue in operation using normal - maintenance. - C & A The strategy chosen should depend on the - system quality and its business value. An example of a legacy system assessment 16 College of Computer and Information Sciences Thank you 17

Use Quizgecko on...
Browser
Browser