written 6.8 years ago by | modified 2.8 years ago by |
Subject: Software Engineering
Topic: Introduction to Software Engineering
Difficulty: High
written 6.8 years ago by | modified 2.8 years ago by |
Subject: Software Engineering
Topic: Introduction to Software Engineering
Difficulty: High
written 6.7 years ago by |
Software engineering is the application of principles used in the field of engineering, which usually deals with physical systems, to the design, development, testing, deployment and management of systems.
The field of software engineering applies the disciplined, structured approach to programming that is used in engineering to software development with the stated goal of improving the quality, time and budget efficiency.Software engineering is typically used for large and intricate software systems rather than single applications or programs. Development, however, is simply one phase of the process. While a software engineer is typically responsible for the design of systems, programmers are often responsible for coding its implementation.
Software engineering involves a number of fields that cover the process of engineering software and certification including: requirements gathering, software design, software construction, software maintenance, software configuration management, software engineering management, software development process management and creation, software engineering models and methods, software quality, software engineering professional practices as well as foundational computing and mathematical and engineering study. A Layered Technology
A Layered Technology
Divided into 4 layers:-
1. A quality Process :-
Any engineering approach must rest on an quality. The "Bed Rock" that supports software Engineering is Quality.
2. Process :-
Foundation for SE is the Process Layer SE process is the glue that holds all the technology layers together and enables the timely development of computer software.
It forms the base for management control of software project.
3. Methods :-
SE methods provide the "Technical Questions" for building Software. Methods contain a broad array of tasks that include communication requirement analysis, design modeling, program construction testing and support.
4. Tools :-
SE tools provide automated or semi-automated support for the "Process" and the "Methods". Tools are combined and interrelated so that information created by one tool can be used by another.