Shared Flashcard Set

Details

Ch 21 Software Evolution
Software Engineering 8th Edition - Ian Sommerville
16
Computer Science
Undergraduate 4
10/30/2011

Additional Computer Science Flashcards

 


 

Cards

Term
Lehan's Laws to Program Evolution
Definition
  • Continuing Change 
  • Increasing Complexity
  • Large program evolution
  • Organizational stability
  • Conservation of familiarity
  • Continuing growth
  • Declining quality
  • Feedback system
Term
The three different type of software maintenance
Definition
  • Maintenance to repair software faults
  • Maintenance to adapt the software to a dfferent operating environment
  • Maintenance to add to or modify the system's functionality
Term
Key factors that distinguish development and maintenance, and which lead to higher maintenance costs
Definition
  • Team stability
  • Contractual responsibility
  • Staff skills
  • Program age and structure
Term
Maintenance predictions that are closely related
Definition
  • Whether a system change should be accepted depends, on the maintainability of the system components affected by that change
  • Implementing system changes tends to degrade the system structure and hence reduce its maintainability
  • Maintenance costs depend on the number of changes, and the costs of change implementation depend on the maintainability of system components
Term

Examples of process metrics that can be used for assessing maintainability

Definition
  • Number of requests for corrective maintainence
  • Average time required for impact analysis
  • Average time taken to implement a change request
  • Number of outstanding change requests
Term
System evolution process
Definition
  • Change requests
  • Impact analysis
  • Release planning
    • Fault repair
    • Platform adaptation
    • System enhancement
  • Change implementation
  • System release
Term
Urgent changes can arise for three reasons
Definition
  • If a serious system fault occurs that has to be repaires to allow normal operation to continue
  • If changes to the sysm's operating environment have unexpected effects that disrupt normal operation
  • If there are anticipated changes to the businss running the system, such as the emergence of new compeitiors or the introduction of new legislation.
Term
Two key advantages system re-engineering has over more radical approaches to system evolution.
Definition
  • Reduced risk
  • Reduced cost
Term
The activities in the re-engineering process
Definition
  • Source code translation
  • Reverse engineering
  • Program structure improvement
  • Program modularization
  • Data re-engineering
Term
The principle factors that affect re-engineering costs
Definition
  • The quality of the software to be re-engineered
  • The tool support available for re-engineering
  • The extent of data conversion required
  • The availability of expert sstaff
Term
Four strategic options for legacy system evolution
Definition
  • Scrap the system completely
  • Leave the system unchanged and continue with regular maintenance
  • Re-engineer the system to improve its maintainability
  • Replace all or part of the system with a new system
Term
The four clusters of legacy systems
Definition
  • Low quality, low business
  • Low quality, high business value
  • High quality, low business value
  • High quality, high business value
Term
The four basic issues to discuss when assessing the value of a system
Definition
  • The use of the system
  • The business processes that are supported
  • The system dependability
  • The system outputs
Term
Factors to consider in the environment assessment of legacy systems
Definition
  • Supplier stability
  • Failure rate
  • Age
  • Performance
  • Support requirements
  • Maintenance costs
  • Interoperability
Term
Factors to considers to assess the technical quality of a system
Definition
  • Understandability
  • Documentation
  • Data
  • Performance
  • Programming language
  • Configuration management
  • Test data
  • Personnel skills
Term
Examples of quantitive data that might be collected while assessing legacy systems
Definition
  • The number of system change requests
  • The number of user interfaces
  • The volume of data used by the system
Supporting users have an ad free experience!