🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

SE341 Part 5.pdf

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

Full Transcript

Benghazi University Faculty of Information Technology software Engineering Department SE341 Software Evolution & Maintenance Part.4 Instructor: Mohammed Sultan Spring (2023-2024) Legacy systems  Software systems that are developed speci...

Benghazi University Faculty of Information Technology software Engineering Department SE341 Software Evolution & Maintenance Part.4 Instructor: Mohammed Sultan Spring (2023-2024) Legacy systems  Software systems that are developed specially for an organisation have a long lifetime  Many software systems that are still in use were developed many years ago using technologies that are now obsolete  These systems are still business critical that is, they are essential for the normal functioning of the business  They have been given the name legacy systems 2 Software Evolution & Maintenance - SE341 Legacy system dilemma  It is expensive and risky to replace the legacy system  It is expensive to maintain the legacy system  Businesses must weigh up the costs and risks and may choose to extend the system lifetime using techniques such as re-engineering. 3 Software Evolution & Maintenance - SE341 Legacy system components Embeds knowledge of Uses Support Application Business policies software software and rules Runs-on Runs-on Uses Uses Constrains System Application Business hardware data processes 4 Software Evolution & Maintenance - SE341 Legacy system components  System hardware - may be mainframe hardware  Support software - operating systems and utilities  Application software - several different programs  Application data - data used by these programs that is often critical business information  Business processes - the processes that support a business objective and which rely on the legacy software and hardware  Business policies and rules - constraints on business operations 5 Software Evolution & Maintenance - SE341 Legacy application system Program 1 Program 2 Program 3 File 1 File 2 File 3 File 4 File 5 File 6 Program 4 Program 5 Program 6 Program 7 6 Software Evolution & Maintenance (SE)341 Legacy system example – Payroll system Write tax Tax transaction transactions Tax deduction +SS Employee number +tax office records Write pension Pension data Monthly pay data rates Decoded Pension Read employee employee deduction + record Valid record SS number employee record Validate Compute employee data Print payslip salary Empoyeedata + PRINTER deductions Read monthly Pay information Net payment + bank pay data account info. Tax Write bank Bank tables transaction transactions Monthly pay data Social security deduction + SS number Write social Social security data security data 7 Software Evolution & Maintenance (SE)341 Legacy system management  Organizations that rely on legacy systems must choose a strategy for evolving these systems  Scrap the system completely and modify business processes so that it is no longer required;  Continue maintaining the system;  Transform the system by re-engineering to improve its maintainability;  Replace the system with a new system.  The strategy chosen should depend on the system quality and its business value. 8 Software Evolution & Maintenance (SE)341 Legacy system categories  Low quality, low business value  These systems should be scrapped  Low-quality, high-business value  These make an important business contribution but are expensive to maintain. Should be re-engineered or replaced if a suitable system is available.  High-quality, low-business value  Replace with COTS, scrap completely or maintain  High-quality, high business value  Continue in operation using normal system maintenance 9 Software Evolution & Maintenance - SE341 Business value assessment  Assessment should take different viewpoints into account  System end-users  Business customers  Line managers  IT managers  Senior managers  Interview different stakeholders and collate results 10 Software Evolution & Maintenance - SE341 Issues in business value assessment  The use of the system  If systems are only used occasionally or by a small number of people, they may have a low business value  The business processes that are supported  A system may have a low business value if it forces the use of inefficient business processes  System dependability  If a system is not dependable and the problems directly affect business customers, the system has a low business value  The system outputs  If the business depends on system outputs, then the system has a high business value 11 Software Evolution & Maintenance - SE341 System quality assessment  Business process assessment  How well does the business process support the current goals of the business?  Environment assessment  How effective is the system’s environment and how expensive is it to maintain?  Application assessment  What is the quality of the application software system? 12 Software Evolution & Maintenance - SE341 Factors used in environment assessment Factor Questions Supplier stability Is the supplier still in existence? Is the supplier financially stable and likely to continue in existence? If the supplier is no longer in business, does someone else maintain the systems? Failure rate Does the hardware have a high rate of reported failures? Does the support software crash and force system restarts? Age How old is the hardware and software? The older the hardware and support software, the more obsolete it will be. It may still function correctly but there could be significant economic and business benefits to moving to a more modern system. Performance Is the performance of the system adequate? Do performance problems have a significant effect on system users? Support What local support is required by the hardware and software? If there are high requirements costs associated with this support, it may be worth considering system replacement. Maintenance costs What are the costs of hardware maintenance and support software licences? Older hardware may have higher maintenance costs than modern systems. Support software may have high annual licensing costs. Interoperability Are there problems interfacing the system to other systems? Can compilers, for example, be used with current versions of the operating system? Is hardware emulation required? 13 Software Evolution & Maintenance - SE341 ‫‪Factors used in environment assessment‬‬ ‫األسئــــــــــــــــــلة‬ ‫العامل‬ ‫هل المورد ال ٌزال موجودًا? هل المورد مستقر مالًٌا ومن المرجح أن ٌستمر فً الوجود?‬ ‫استقرار المورد‬ ‫إذا لم ٌعد المورد ٌعمل ‪ ،‬فهل ٌقوم شخص آخر بصٌانة األنظمة?‬ ‫هل الجهاز به نسبة عالٌة من اإلخفاقات المبلغ عنها? هل ٌتعطل برنامج الدعم وٌفرض‬ ‫معدل الفشل‬ ‫إعادة تشغٌل النظام?‬ ‫كم عمر األجهزة والبرامج? كلما كانت األجهزة وبرامج الدعم أقدم ‪ ،‬كلما أصبحت قدٌمة‪.‬‬ ‫قد ال ٌزال ٌعمل بشكل صحٌح ولكن قد تكون هناك فوائد اقتصادٌة وتجارٌة كبٌرة‬ ‫العمر‬ ‫لالنتقال إلى نظام أكثر حداثة‪.‬‬ ‫هل أداء النظام مالئم? هل مشاكل األداء لها تأثٌر كبٌر على مستخدمً النظام?‬ ‫األداء‬ ‫ما هو الدعم المحلً المطلوب من قبل األجهزة والبرامج? إذا كانت هناك تكالٌف عالٌة‬ ‫مرتبطة بهذا الدعم ‪ ،‬فقد ٌكون من المفٌد التفكٌر فً استبدال النظام‪.‬‬ ‫متطلبات الدعم‬ ‫ما هً تكالٌف صٌانة األجهزة وتراخٌص برامج الدعم? قد ٌكون لألجهزة القدٌمة تكالٌف‬ ‫صٌانة أعلى من األنظمة الحدٌثة‪.‬قد ٌكون لبرامج الدعم تكالٌف ترخٌص سنوٌة عالٌة‪.‬‬ ‫تكالٌف الصٌانة‬ ‫هل توجد مشاكل فً ربط النظام بأنظمة أخرى? هل ٌمكن استخدام المجمعٌن ‪ ،‬على سبٌل‬ ‫المثال ‪ ،‬مع اإلصدارات الحالٌة من نظام التشغٌل? هل مضاهاة األجهزة مطلوبة?‬ ‫التوافقٌة‬ ‫‪14‬‬ ‫‪Software Evolution & Maintenance - SE341‬‬ Factors used in application assessment Factor Questions Understandability How difficult is it to understand the source code of the current system? How complex are the control structures that are used? Do variables have meaningful names that reflect their function? Documentation What system documentation is available? Is the documentation complete، consistent, and current? Data Is there an explicit data model for the system? To what extent is data duplicated across files? Is the data used by the system up to date and consistent? Performance Is the performance of the application adequate? Do performance problems have a significant effect on system users? Programming language Are modern compilers available for the programming language used to develop the system? Is the programming language still used for new system development? Configuration Are all versions of all parts of the system managed by a configuration management management system? Is there an explicit description of the versions of components that are used in the current system? Test data Does test data for the system exist? Is there a record of regression tests carried out when new features have been added to the system? Personnel skills Are there people available who have the skills to maintain the application? Are there people available who have experience with the system? 15 Software Evolution & Maintenance - SE341 ‫‪Factors used in application assessment‬‬ ‫األسئــــــــــــــــــلة‬ ‫العامل‬ ‫ما مدى صعوبة فهم الكود المصدري للنظام الحالً? ما مدى تعقٌد هٌاكل التحكم المستخدمة? هل‬ ‫القابلٌة للفهم‬ ‫المتغٌرات لها أسماء ذات مغزى تعكس وظٌفتها?‬ ‫ما هً وثائق النظام المتوفرة? هل الوثائق كاملة ومتسقة وحدٌثة?‬ ‫التوثٌق‬ ‫هل ٌوجد نموذج بٌانات واضح للنظام? إلى أي مدى ٌتم تكرار البٌانات عبر الملفات? هل البٌانات التً‬ ‫ٌستخدمها النظام محدثة ومتسقة?‬ ‫البٌانات‬ ‫هل أداء التطبٌق مالئم? هل مشاكل األداء لها تأثٌر كبٌر على مستخدمً النظام?‬ ‫األداء‬ ‫هل المعالجات الحدٌثة متاحة للغة البرمجة المستخدمة فً تطوٌر النظام? هل ما زالت لغة البرمجة‬ ‫مستخدمة لتطوٌر النظام الجدٌد?‬ ‫لغة البرمجة‬ ‫هل ٌتم إدارة جمٌع إصدارات جمٌع أجزاء النظام بواسطة نظام إدارة االعدادات? هل ٌوجد وصف‬ ‫صرٌح إلصدارات المكونات المستخدمة فً النظام الحالً?‬ ‫إدارة اعدادات التطبٌق‬ ‫هل توجد بٌانات اختبار للنظام? هل ٌوجد سجل الختبارات االرتداد التً ٌتم إجراؤها عند إضافة مٌزات‬ ‫جدٌدة إلى النظام?‬ ‫بٌانات االختبار‬ ‫هل ٌتوفر أشخاص لدٌهم المهارات الالزمة للحفاظ على التطبٌق? هل ٌوجد أشخاص لدٌهم خبرة فً‬ ‫النظام?‬ ‫مهارات الموظفٌن‬ ‫‪16‬‬ ‫‪Software Evolution & Maintenance - SE341‬‬ System measurement  You may collect quantitative data to make an assessment of the quality of the application system  The number of system change requests  The number of different user interfaces used by the system  The volume of data used by the system 17 Software Evolution & Maintenance - SE341

Use Quizgecko on...
Browser
Browser