A Classroom information management system (Master of Software Engineering, unofficial) - Woody, Jeffrey L. (My University, 2005)
Software re-engineering is an accepted solution for upgrading legacy software. Many factors such as changing technology, increased user expectations, competing products, and limitations to expanding a product's feature set may influence the need for re-engineering a software product. The three main phases of a software re-engineering process are: (1) reverse engineering the original product into an abstraction, (2) modifying the abstraction to match the vision for the re-engineered product, and (3) implementing the modified abstraction. This report addresses all the three phases of a re-engineering project. An existing commercial software for managing classroom information is re-engineered from a single-user, rich-client application into a multi-user web-based application with many additional requirements such as security, extensibility, administration, ease-of-use, and new user classifications. This report describes the activities performed in each re-engineering phase, the challenges encountered, the issues that arose, the current status of the project, and its limitations and continuing work.
Keywords: Software engineering; School management and organization; Computer software -- Development