Environment Assessment

Slides:



Advertisements
Similar presentations
Chapter 26 Legacy Systems.
Advertisements

Software Re-engineering
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Evolution IS301 – Software.
CIS 376 Bruce R. Maxim UM-Dearborn
Chapter 11 Software Evolution
CMMI – Continuous as well as staged model CMMI capability levels – Incomplete, performed, managed, defined, quantitatively managed, optimized Example.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Evolution Managing the processes of software system change
Software Reengineering
Driss Kettani Sommerville, 6th edition Software Engineering II Software re-engineering l Reorganising and modifying existing software systems to make them.
INVENTORY ANALYZER FINAL PRESENTATION Lynette Jones Tamanna Patel Ann Van Dyne CIS 375 Fall
Chapter 9 – Software Evolution Lecture 1 1Chapter 9 Software evolution.
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Software Re-engineering
Chapter 9 – Software Evolution and Maintenance
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution CS 425 November 12, 2013 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
CS 425/625 Software Engineering Legacy Systems
 CS 5380 Software Engineering Chapter 9 Software Evolution.
Lecture 1 Chapter 9 Software evolution1. Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding.
Figures – Chapter 9. Figure 9.1 A spiral model of development and evolution.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 28Slide 1 CO7206 System Reengineering 4.2 Software Reengineering Most slides are Slides.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Chapter 9 – Software Evolution Lecture 1 Chapter 9 Software evolution1.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
Chapter 9 – Software Evolution Chapter 9 Software Evolution130/10/2014.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution CS 425 November 12, 2012 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
© SERG Reverse Engineering (Software Maintenance & Reengineering) Software Maintenance Managing the processes of system change.
CS223: Software Engineering Lecture 33: Software Maintenance.
CS223: Software Engineering Lecture 34: Software Maintenance.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVI. Software Evolution.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Chapter 9 – Software Evolution
Chapter 18 Maintaining Information Systems
Introduction to Software Evolution and Maintenance
Software Maintenance.
Chapter 9 – Software Evolution
Software Maintenance
Software Maintenance PPT By :Dr. R. Mall.
Chapter 9 – Software Evolution
CS 425/625 Software Engineering Software Evolution
Software Engineering Lecture #39
Software Testing and Maintenance Maintenance and Evolution Overview
IS301 – Software Engineering V:
Program Restructuring
Chapter 27 Software Change.
Chapter 9 – Software Evolution
Extreme Programming.
Chapter 8 Software Evolution.
Unit 5 15SE202 Software engineering Principles
Lecture 06:Software Maintenance
Software Engineering I Session 8
Chapter 9 – Software Evolution
Legacy system components
Software Engineering Lecture #29
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Re- engineeniering.
Chapter 9 – Software Evolution
Terms: Data: Database: Database Management System: INTRODUCTION
Introduction Software maintenance:
Software Engineering Lecture #28
Software Re-engineering and Reverse Engineering
For University Use Only
Presentation transcript:

Environment Assessment 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, is the system maintained by someone else Failure rate Does the hardware have a high rate of reported failure Does the support software crash often and force system restarts

Software Engineering II Lecture 39 Fakhar Lodhi

Recap

Age How old is the hardware and software Performance Is the performance of the system adequate Do performance problems have a significant effect on system users Support requirements What local support is required by hardware and software If there are high costs associated with this support, it may be worth considering system replacement

Maintenance Cost What are the cost of hardware maintenance and software licenses Interoperability Are there problems interfacing the system with other systems Can compilers etc be used with current versions of the operating system Is system emulation required

Application software assessment Understandability How difficult is it to understand the software code of the current system How complex are the control structures that are used Documentation What system documentation is available Is the documentation complete, consistent, and up-to-date Data Is there an explicit data model for the system To what extent is data duplicated in different files

Application software assessment Programming Language Are modern compilers available for the programming language Is the language still used for new system development 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 system

Software Reengineering Re-implementing legacy systems to make them more maintainable Long term activity

Software Reengineering Process Model

Inventory analysis Inventory of all applications Size, age, business criticality, current maintainability Inventory should be updated regularly as the status of the application can change as a function of time

Document restructuring Weak documentation is a trademark of many legacy applications Options available Create documentation Time consuming If program is relatively stable and is coming to the end of its useful life then just leave it as it is. Update documentation Needs resources Document when touched approach

Reverse engineering Documenting the overall functionality of the system that is not there The overall functionality of the entire system must be understood before more detailed analysis can be carried out Reverse engineering for software is a process for analyzing a program in an effort to create a representation of the program at a higher level of abstraction than the source code Reverse engineering is the process of design recovery

Reverse engineering activities Include: Reverse engineering to understand processing Reverse engineering to understand data Internal data structures Database structures Reverse engineering user interfaces