| Subject | 
include | 
have part | 
have challenge | 
make | 
be | 
is part of | 
is a kind of | 
is a subtopic of | 
consist of | 
involve | 
organize into | 
reduce | 
have purpose | 
have definition from the Canadian Standards Association | 
has part | 
consists of | 
has definition | 
use | 
have definition from the IEEE | 
have goal | 
| maintenance |   |   |   |   |   | software engineering | process | 1.6 - Software Engineering Projects |   |   |   |   |   |   |   |   | In the context of software, any process involving modifying software following its general release to users |   |   |   | 
| software engineering |   | ensuring that maintenance and evolution of software is done in a systematic way | accurately forecasting how much time it will take either to develop a system, or to make a specific set of changes |   | undergoing development in its technology and techniques |   | process | 1.2 - What is Software Engineering? | developing completely new software | the translation of higher-level designs into particular programming languages | software projects |   |   | The systematic activities involved in the design, implementation and testing of software to optimize its production and support | project management | modifying software that has been already written - this is because software is normally continually changed over a period of years until it becomes obsolete | The process of solving customers problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints. The application of engineering to software systems of any kind | resources such as the time and money of the stakeholders, and the CPU-time and memory of computers | (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1) | solving customers' problems | 
| reengineering | adding any new features for users | ensuring that maintenance and evolution of software is done in a systematic way | accurately forecasting how much time it will take either to develop a system, or to make a specific set of changes | the system more amenable to adding features in the future | undergoing development in its technology and techniques | software engineering | software engineering | 11.2 - Software Process Models | developing completely new software | the translation of higher-level designs into particular programming languages | software projects | long-term costs | to increase maintainability of a system | The systematic activities involved in the design, implementation and testing of software to optimize its production and support | refactoring | modifying software that has been already written - this is because software is normally continually changed over a period of years until it becomes obsolete | A type of maintenance performed to improve the design of some part of a software system, in general so that it has higher maintainability. In general, no new features are added for users | resources such as the time and money of the stakeholders, and the CPU-time and memory of computers | (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1) | solving customers' problems |