Subject |
include |
have part |
have challenge |
make |
be |
is a kind of |
is a subtopic of |
consist of |
involve |
organize into |
reduce |
have purpose |
have definition from the Canadian Standards Association |
be part of |
has part |
consists of |
use |
result in |
has definition |
have definition from the IEEE |
have goal |
adaptive maintenance | | | | | | maintenance | 1.6 - Software Engineering Projects | | | | | | | | | | | new capabilities for the user except the ability to operate the software in the changed environment | A type of maintenance performed to change software so that it will work in an altered environment, such as when an operating system, hardware platform, compiler, software library or database structure changes | | |
corrective maintenance | | | | | | maintenance | 1.6 - Software Engineering Projects | | | | | | | | | | | | A type of maintenance performed to correct a defect in software | | |
enhancement | | | | | | maintenance | 1.6 - Software Engineering Projects | | | | | | | | | | | | A type of maintenance performed to add a new capability to software | | |
perfective maintenance | | | | | | maintenance | 1.6 - Software Engineering Projects | | | | | | | | | | | | A type of maintenance that includes reengineering, and is sometimes applied more broadly to include enhancement | | |
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 | 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 | resources such as the time and money of the stakeholders, and the CPU-time and memory of computers | | 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 | (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 |
refactoring | | 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 | software engineering | 11.2 - Software Process Models | 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 | reengineering | 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 | resources such as the time and money of the stakeholders, and the CPU-time and memory of computers | | Changing part of the design; performed as part of reengineering | (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 |