Software Engineering- Layered Technology
The first-time Definition of Software engineering is proposed by Fritz Bauer at the NATO Science committee in 1969.
“Software Engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines”.
Almost every reader will be tempted to add to this definition.
IEEE has developed an IEEE standard 610.12-1990 in the year 1993 for a more comprehensive definition when it states :
Software engineering: (1) The application of a systematic, disciplined, quantifiable approach to development, operation, and maintenance of software; that is, the application of engineering to software (2) The study of approaches as in (1)
Software engineering is a fully layered technology. To develop a software, we need to go from one layer to another. All these layers are related to each other and each layer demands the fulfillment of the previous layer.
Layers of Software Development
- Quality Focus
- Process
- Methods
- Tools
Software engineering must rest on an organizational commitment to quality. Total quality management and similar philosophies foster a continuous process improvement culture, and this culture ultimately leads to the development of increasingly more mature approaches to software engineering. The bedrock that supports software engineering is a quality focus. The foundation for software engineering is the process layer. Software engineering methods provide the technical how-to’s for building software. Methods will include requirements analysis, design, program construction, testing, and support. Software engineering tools provide automated or semi-automated support for the process and the methods.
0 comments:
Post a Comment