Today’s most of the work is executed by the computers. This needs large amount of creative and fast software.It increases the demand of computer professionals who can prepare fastest algorithms with computational speed. Software engineering is very large working area in which the person with different professions are needed with good working efficiency. Software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product.
Every part of the software is evolved with accomplishing something which is going to be worked during his life cycle and it really matters in the real world problem.
Software Evolution Laws:-
1. S-type (static-type): -
This is a software, which works strictly according to defined specifications and solutions.
2. P-type (practical-type): -
This is a software with a collection of procedures.
3. E-type (embedded-type): -
This software works closely as the requirement of real-world environment.
Software paradigms includes the
In this phase information related to development and design of the software is collected from user. This step comes in the form of two designs logical design and physical design. Engineers produce logical diagrams, data-flow diagrams and in some cases pseudo codes.
The software is maintained timely by updating the code according to the changes taking place in user end environment or technology. This phase may face challenges from hidden bugs and unidentified problems.
The implementation of software design starts in terms of writing program code in the suitable programming language and developing error-free executable programs efficiently.
Aspects Of Software Engineering:-
1. Large software:–
It is easier to build a wall than to a house or building, likewise, as the size of software become large engineering has to step to give it a scientific process.
If the software process were not based on scientific and engineering concepts, it would be easier to re-create new software than to scale an existing one.
As hardware industry has shown its skills and due to huge manufacturing has lower down the price of computer and electronic hardware. But the cost of software remains high if proper process is not adapted.
4. Dynamic Nature:-
The always growing and adapting nature of software hugely depends upon the environment in which user works. If the nature of software is always changing, new enhancements need to be done in the existing one which is ensured by software engineering
5. Quality Management:-
Better process of software development provides better and quality software product.
Software Development Models:-
1. Waterfall Model:-
It is a simplest model of software development paradigm.It concludes that one after another task should be completed in linear manner.
2. Iterative Model:-
This model leads the software development process in iterations. This provides good control over the software’s life cycle.