Software Engineering – A Layered Approach

What is layered approach of Software Engineering ?

Software engineering deals with process, methods, and their implementation tools and finally the quality of the product.This is known as the layered approach of software engineering

  1. Quality Focus

 Software engineering is a layered technology. Referring to Figure 1.1, any engineering approach must
rest on an organizational commitment to quality.
 Total quality management, Six Sigma and similar principles help a continuous software process
improvement, and this ultimately leads to the development of increasingly more mature approaches to
software engineering.
 The bedrock that supports software engineering is a quality focus.

2. Process Layer

 The foundation for software engineering is the process layer.
 Software engineering process is the glue that holds the technology layers together and enables balanced
and timely development of computer software.
 Process defines a framework for a set of key process areas that must be established for effective
delivery of software engineering technology.
 Process defines the context in which technical methods can be applied, work products are produced,
milestones are established, quality is ensured etc.

3. Method Layer

 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,program construction, testing, and support.

4. Tools Layer

 Software engineering tools provide automated or semi-automated support for the process and the
methods.
 Tools are combines so that information created by one tool can be used by another, a system that is
developed for the support of software development, is called as computer-aided software engineering(CASE). CASE combines software, hardware, and a software engineering database.

Basics of Software Engineering

What is a Software ?

  • It is a set of instructions (computer programs) that when executed provide desired function and performance.
  • It is a Data structures that enable the programs to adequately manipulate information.
  • It is a Documents that describe the operation and use of the programs.

What is Embedded Software ?

 Intelligent products have become commonplace in nearly every consumer and industrial market.
 Embedded software resides in read-only memory and is used to control products and systems for the
consumer and industrial markets.
 Embedded software can perform very limited and esoteric functions (e.g., keypad control for a
microwave oven) or provide significant function and control capability (e.g., digital functions in an
automobile such as fuel control, dashboard displays, and braking systems).
 A function point extension called feature points.
 It is a superset of the function point measure that can be applied to systems and engineering software applications.

 The feature point measure accommodates applications in which algorithmic complexity is high. Real-
time, process control and embedded software applications tend to have high algorithmic complexity and are therefore amenable to the feature point.

Changing Nature of Software

 Whenever one starts with the software implementation changes can occur any time.
 The software can be change due to any reason.
 But while implementing software one should be ready for such changes as if changes occur there shall not be drastic change in the system.
 The development team should manage to implement/mould the implemented system so that the
changes can be reflected and the user requirements meet.
 When change occur the team look for the current status of the system and from there onwards they starts implementing a system with new requirements of a user or changes which is to be implemented in a system.