Abstract
Abstract:
Software engineering seeks to devise techniques for software development. Software systems go through two principal phases: development, and operations and maintenance. The conventional design-scheme requires that a large amount of time be spent developing specifications. Alternative schemes, include rapid prototyping, the very high level language approach, and the reusability approach. The design phase includes the decomposition of the requirement specification into certain basic elements and partitioning the set of decomposed elements into modules. Current design methodologies include functional decomposition, the data-flow design, and the data-structure design. Software maintenance can be divided into three categories: perfective, adaptive, and corrective maintenance. Software quality assurance aims to optimize reliability, reusability, and efficiency. Tables, graphs, and diagrams illustrate many of the features of software engineering.