Legacy systems & Ethics & Closing Flashcards
What 4 reasons exist for software change?
- Functionality (Add a new feature)
- Maintenance (Fixing a bug)
- Improving design
- Optimization (of performance and usage)
What is legacy code?
In the industry, legacy code is often used as a slang term for difficult-to-change code
that we don’t understand. […] To me, legacy code is simply code without tests.
What is the legacy code change algorithm’s steps?
- Identify change points
- Find test points
- Break dependencies
- Write tests
- Make changes and refactor
What means exist to address the challenges of legacy code?
Wrapping
* Surround legacy data, programs, systems, or interfaces with new interfaces
-Disadvantages: Need for legacy maintenance and thus competence maintenance i.e. wrapping = existing technologies maintenance plus one more
————————————————————-
Migration
* Maintain: functionality, process, and operational & business environment. I.e. keep many years of requirement elicitation.
- Challenges: High complexity, Requires solid understanding of LIS functionality, operation, and interactions
————————————————————
Redevelopment
* Develop the system from scratch in modern technology, tools, architecture, and hardware
- Risk of failure too great, Requirement elicitation challenging, unable to extract from LIS, hard to identify from scratch
What is LIS?
A LIS (legacy information systems) can be defined as “any information system that significantly resists modification and evolution.” In fact, if a software system can be maintained within an acceptable budget it is usually not considered a LIS.
What migration methods exist?
- Chicken little strategy
Lets LIS and target systems interoperate during migration using a mediating module, generally known as a “gateway”.
11 step plan for cutting over from the LIS to the target system. Each step is incremental - Butterfly methodology