What is Layered Technology ?

Software engineering is a layered technology. Which means, to develop software one will have to move from one layer to another. The layers are related and each layer demands the fulfillment of the previous layer. The figure below shows the four layers of software development :

1. A Quality Focus : An engineering approach must have a focus on quality which provides a continuous process improvement culture. This quality is achieved through use of Total Quality Management, which enables continuous process improvement custom that leads to the development of more established approaches to software engineering. The bedrock that supports software engineering is a Quality Focus.

2. Process : Process layer is the foundation that defines a framework with activities for effective delivery of software engineering technology. The process layer allows the development of software on time. It defines an outline for a set of key process areas that must be acclaimed for effective delivery of software engineering technology. The process layer establishes the context in which technical methods are applied, work products such as models, documents, data, reports, forms, etc. are produced, milestones are established, quality is ensured, and change is properly managed.

3. Methods : The Methods layer provide technical how-to's for building software. This layer covers a broad array of tasks that include requirements analysis, design, coding, testing, and maintenance phase of the software development. The Methods layer relies on a set of basic principles that govern each area of the technology and include modeling activities and other descriptive techniques.

4. Tools : The Tools layer provide automated and semi-automated support for the process and methods. Sometimes tools are integrated in such a way that other tools can use information created by one tool. This multi-usage is commonly referred to as Computer-Aided Software Engineering (CASE). CASE combines software, hardware, and software engineering database to create software engineering analogous to Computer-Aided Design (CAD) for hardware. CASE helps in application development including analysis, design, code generation, and debugging and testing.

Next Topic :

No comments:

Post a Comment