Object Oriented Software Engineering   View all facts   Glossary   Help
subject > process > maintenance > reengineering
Next maintenancerefactoring    Upmaintenance, software engineering    Previous maintenanceperfective maintenance   

reengineering
subjectfact 
reengineeringhas definition 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 users2001-08-30 14:57:14.0
has purpose to increase maintainability of a system2001-08-30 14:57:14.0
has part forward engineering2001-08-30 14:57:14.0
has part refactoring2001-08-30 14:57:15.0
includes
  • cleaning up the code to make it more readable
  • completely replacing a layer
  • re-factoring part of the design
2001-08-30 14:57:15.0
is a subtopic of 1.6 - Software Engineering Projects2001-08-30 14:57:15.0
is a subtopic of 11.2 - Software Process Models2001-08-30 14:57:15.0
is a kind of maintenance2001-08-30 14:57:15.0
is a kind of software engineering2001-08-30 14:57:15.0
reduces long-term costs2001-08-30 14:57:15.0
should make the system more amenable to adding features in the future2001-08-30 14:57:15.0
should not include adding any new features for users2001-08-30 14:57:15.0
maintenanceis part of software engineering2001-08-30 14:56:32.0
software engineeringhas challenge accurately forecasting how much time it will take either to develop a system, or to make a specific set of changes2001-08-30 14:57:39.0
has definition from the Canadian Standards Association The systematic activities involved in the design, implementation and testing of software to optimize its production and support2001-08-30 14:57:39.0
has definition from the IEEE (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)2001-08-30 14:57:39.0
has goal solving customers' problems2001-08-30 14:57:39.0
has part ensuring that maintenance and evolution of software is done in a systematic way2001-08-30 14:57:39.0
involves applying well-understood techniques in an organized and disciplined way2001-08-30 14:57:39.0
involves the translation of higher-level designs into particular programming languages2001-08-30 14:57:39.0
is / labour-intensive2001-08-30 14:57:39.0
is highly iterative2001-08-30 14:57:39.0
is undergoing development in its technology and techniques2001-08-30 14:57:39.0
is normally organized into software projects2001-08-30 14:57:39.0
sometimes consists of developing completely new software2001-08-30 14:57:39.0
uses resources such as the time and money of the stakeholders, and the CPU-time and memory of computers2001-08-30 14:57:40.0
usually consists of modifying software that has been already written - this is because software is normally continually changed over a period of years until it becomes obsolete2001-08-30 14:57:40.0
processsee also process^22001-08-30 14:57:05.0

Next maintenancerefactoring    Upmaintenance, software engineering    Previous maintenanceperfective maintenance