Process, Methods, and Tools
Software engineering used as a layered technology. An engineering approach must rest on an organizational commitment to quality. Total quality management and same philosophies foster a continuous procedure improvement culture and is this culture that ultimately leads to the development of increasingly more mature approaches to software engineering. The bedrock which supports software engineering is a focus on quality.
The process layer is the foundation for software engineering. Software engineering process is the glue that enables rational and timely development of computer software and carries the technology layers together. Process describes a framework for a group of key procedure fields which must be develop for effective delivery of software engineering technology. The key process areas form the basis for management control of software projects and establish the context in which technical methods are applied, work products are milestones , produced are established, change is properly managed and quality is ensured.
Figure software engineering layers
Software engineering techniques give the technical how for building software. Techniques encompass a wide array of tasks which include requirements design, analysis, testing, program construction, and maintenance. Software engineering techniques rely on a set of basic principles which govern every field of the technology and other descriptive techniques and include modeling activities.
Software engineering tools gives semi-automated or automated support for the procedure and the techniques. When the tools are integrated so that information created through one tool can be used by another a system for the support of software development is called computer-aided software engineering, is developed. CASE is combines the software, the hardware, and the software engineering database to develop a software engineering environment that is analogous to CAD or CAE for hardware.