The term software engineering comprises of two words, software and engineering.
The collection or a group of executable programming code along with the documentations and libraries is known as software. The program is said to be an executable code when any specific computational purpose is served. The software that is being designed for a desired specific requirement is known as software product.
The concept related to product development with the help of well-defined scientific methods and principles is known as Engineering.
The branch of engineering that is related to development of the software product with the help of well-defined scientific methods, procedures and principles is known as software engineering. An efficient and reliable software product is the result of software engineering concept.
Software engineering as defined by IEEE is as follows –
Software engineering is the application of engineering to software, in other words, application of a systematic and quantifiable approach to the development and maintenance of software.
Software engineering as defined by Fritz Bauer, a scientist from German is as follows –
Attaining software that is economically reliable and efficient on the machines by using sound engineering principles, is referred as software engineering.
With the help of software engineering methods and principles, a software product is developed and the process of development is known as software evolution. Software evolution includes right from the software development, updates maintenance and till the development of the desired software product as per the requirements.
The initial step of the software evolution is gathering of the requirements. Then a prototype of the intended software is created by the developers and the feedback from the users is obtained at the early stages of the development of the software product. As per the suggestions of the users, the product is changed several times till the desired software is established.
Once the desired software is established as per the user, it needs to change in accordance with the technological advancements and changes in the requirements. This can be achieved by updating the existing software to match the desired user requirements.
The laws for the software evolution have been provided by Lehman and the software evolution is divided into three different categories. They are -
E-type software evolution is associated with eight laws. They are as follows -
Software is designed by following some of the methods and steps which are known as Software paradigms. A number of methods are proposed and are in practice today but only the appropriate is selected by the software engineering.
From the above figure, it is understood that the Programming paradigm is a subset of Software design paradigm and Software design paradigm is a subset of Software development paradigm.
All the engineering concepts that are related to the software development are applies in software engineering paradigms. This paradigm helps in building the software product by gathering the different requirements and researches. Software Development Paradigm includes -
Software Design paradigm is a subset of Software Development and includes -
Programming paradigm is associated with the programming part of software development. Programming paradigm include -
The environment in which the software works and the changes in the requirements of the user may lead to the need for software engineering.
Based on the parameters like what is being offered by software and how best software can be used, the software product is judged. The software should be -
The characteristic of well-engineered software is as follows -
The operational characteristic provides information about the working of the software. The working of the software is measured on the basis of -
The transitional characteristics are essential for moving the software from one platform to another.
The software need to be capable enough to maintain and sustain the ever-changing environment. The aspects of maintenance are -
To summarize, a branch of computer science which deals with producing efficient, in-budget durable and scalable software products by using well-defined engineering concepts is known as software engineering.
Software Engineering Related Interview Questions
|Java Script Interview Questions||ASP.NET Interview Questions|
|MySQL Interview Questions||Manual Testing Interview Questions|
|Artificial Intelligence Interview Questions||Java Interview Questions|
|Software testing Interview Questions||Test Cases Interview Questions|
|Software Development Lifecycle (SDLC) Interview Questions||Software Process Engineer Interview Questions|
|Software Architecture and Design Interview Questions|
Software Engineering Tutorial
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.