Software Engineering is a layered technology. There are four types of layers in Software Engineering such as Tools, methods, process, A quality focus.
i. A quality focus: Total quality management, six sigma and similar philosophies foster a continuous process improvement culture and it is a culture that ultimately leads to the development of software engineering. The bedrock that supports software engineering is called A quality focus.
ii. Process: According to Ivar Jacobson, A process defines who is doing what, when and how to reach a certain goal. Otherwise, a process defines a framework that must be established for the effective delivery of software engineering technology. The software process forms the basis for management control of software projects and establishes the context in which technical methods are applied for work products are produced such as – models, documents, data, reports, forms, etc.
iii. Methods: Software Engineering methods provide the technical “how to’s for building software”. Methods encompass a broad array of tasks that include communication, requirements analysis, design modelling, program construction, testing and support.
iv. Tools: Software Engineering tools provide automated or semi-automated support for the process and the methods. When tools are integrated so that information created by one tool can be used by another, a system for the support of software development is called Computer-Aided Software Engineering.