Mapa mental
Service Evolution
Conteúdo do mapa
Service Evolution
software change is inevitable
- -new requirements are needed when the software is used -business becomes bigger -errors must be repaired -computer and equipment added to the system therefore software must change to fit compatibility.
- big problem for organisations is implementing and managing change to existing software systems
importance of change in businesses
- -organisations have huge investment and software is a critical asset -to maintain these assets the value of the assets must be changed and updated.
Define: Means rather than buying new software, update existing software and services. e.g. changes to software will be made.
what triggers evolution?
- -changing business requirements -software defects -change to other systems
spiral model of evolution
- 1) specification 2) Implemention 3) Validation 4) Operation these processes go round and round until the business is satisified with the outcome.
processes of changing software after it has been delivered it called 'software maintenance'.
Evolution and servicing
- -evolution: new changes are implemented into the current system -servicing: bug fixes etc.. no functionality is added. -phase out, the software may still be used but no further changes are made (costs to much than buying new software etc..)
Agile
- Agile methods are based on incremental development so the transition from development to evolution is a seamless one.
The system requirements are likely to change while the system is being developed because the environment is changing. Therefore a delivered system won
systems must change if they are to remain useful
Lehman’s laws
software maintenance
- modifying a program after it has been put to use.
Types of maintenance
- -fault repairs -environmental adaptation -functional addition
Maintenance cost
- usually greater than developed costs -increases as software is maintained -ageing software can have high maintenance costs (old languages etc) maintenance cost factors: -team stability -contractual responsbility -staff skills -program age and structure
system re-engineering
- re-strcuting or re-writing part or all of a system without changing its functionality. -re-engineering involves thinking about different ways of creating the system to make it easier to maintain.
- advantages of re-engineering
- -reduced risk as there is a high risk in software development, staffing problems and specification problems -reduced costs, the cost of re-engineering is often less than developing new software.
- cost factors
- § The quality of the software to be reengineered. § The tool support available for reengineering. § The extent of the data conversion which is required. § The availability of expert staff for reengineering. – This can be a problem with old systems based on technology that is no longer widely used.
refactoring
- process of making improvements to a system in a way that enables a slow down of degradation. thus, meaning that the software lasts longer. -refactoring is not adding functionality but adding imrpovements to the processes already. -refactoring is modyfying a program to improve its structure and reduce complexity. think of refactoring as ‘preventative maintenance’
bad smells in a program code
- -duplicate code -long methods -switch case statements -Data clumping -Speculative generality
Informações
- Descrição
- Mapa Mental sobre Service Evolution, criado por jkenyon em 24-04-2013.
- Criado por
- jkenyon
- Visualizações
- 38
- Avaliação