In continuation to my previous post, here I am going to write about Aspects, Scope and Design pattern of Software Engineering.
The scope of software engineering is extremely broad but in general, following five aspects are involved.

The term Software Engineering, first coined by NATO study group in 1967, building software is similar to other engineering tasks. To solve the software crisis, Software engineering should use the philosophies and paradigms of established engineering disciplines.

Feasibility study of new techniques should be done in terms of economics. If new techniques are not economically viable then it may lead towards the software failure due to Over Budget.
The computer scientist investigates several ways to produce software, some good and some bad, but the software engineer is interested in only those techniques that make sound economic sense.
For e.g.: If a new coding method is 10% faster than the currently used method. Should it be used?
Now in this scenario most of the peoples would go with the answer “Yes, of course”;
But in terms of Software Engineering answer would be “What would be the cost of implementation?”

Maintenance is described within the context of the software life cycle.
i. Requirement phase
ii. Specification phase
iii. Planning Phase
iv. Design Phase
v. Implementation Phase
vi. Integration Phase
vii. Maintenance Phase
viii. Retirement
More details about these phases would be share in upcoming posts.

Under this aspect two commonly used design paradigms are given below:
a) Structured Design paradigm
This design model is further divided into 2 different types
a) Action (Function) oriented, OR
b) Data Oriented
b) Object Oriented Design paradigm
Both data and actions are of equal importance. System is collection of interacting Objects.

Large software products are developed by large software teams. And members have different responsibilities like requirements, design, implementation, and testing. Activities betweens the teams have to be well organized for efficiency.