Lesson1-Intro To Software Engineering PDF
Lesson1-Intro To Software Engineering PDF
Programmin
g
❑ These can be combined into various categories, though each of
them is contained in one another:
PROGRAMMING PARADIGM
Software
Development ❑ Programming paradigm is a subset of
Software design paradigm which is further a
Softwar
subset of Software development paradigm.
e ❑ This paradigm is related closely to
Design
programming aspect of software development.
This includes –
Programmin ❑ Coding
g ❑ Testing
❑ Implementation
❑ The need of software engineering arises because of
higher rate of change in user requirements and
environment on which the software is working.
❑ 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.
❑ Scalability – 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.
❑ Cost – As hardware industry has shown its skills and
huge manufacturing has lower down he price of
computer and electronic hardware. But the cost of
software remains high if proper process is not
adapted.
❑ 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. This is where
software engineering plays a good role.
❑ Quality Management- Better process of
software development provides better and
quality software product.
❑ A software product can be judged by what it offers
and how well it can be used. This software must
satisfy on the following grounds:
❑ Operational
❑ Transitional
❑ Maintenance
OPERATIONAL
❑ This tells us how well software works in
operations. It can be measured on:
❑ Budget
❑ Usability
❑ Efficiency
❑ Correctness
❑ Functionality
❑ Dependability
❑ Security
❑ Safety
TRANSITIONAL
❑ This aspect is important when the software is
moved from one platform to another:
❑ Portability
❑ Interoperability
❑ Reusability
❑ Adaptability
MAINTENANCE
❑ This aspect briefs about how well a software has
the capabilities to maintain itself in the ever-
changing environment:
❑ Modularity
❑ Maintainability
❑ Flexibility
❑ Scalability