The term softwareengineering
is composed of two words,
software and engineering.
3.
Software Engineering asan engineering
branch associated with the development
of software product using well-defined
scientific principles, methods and
procedures.
The outcome of software engineering is
an efficient and reliable software product.
The importance ofsoftware engineering lies in the
fact that a specific piece of Software is required in
almost every industry, every business, and purpose.
As time goes on, it becomes more important for
the following reasons that we will be discussing in
detail:
1.Reduces Complexity
2.Handling Big Projects
3.To Minimize Software costs
4.To decrease time
5.Effectiveness
6.Reliable Software
6.
1. Reduces Complexity
Dealingwith big Software is very
complicated and challenging. Thus, to
reduce the complications of projects,
software engineering has great
solutions. It simplifies complex problems
and solves those issues one by one.
7.
2. Handling BigProjects
Big projects need lots of patience,
planning, and management, which you
never get from any company. The
company will invest its resources;
therefore, it should be completed within
the deadline. It is only possible if the
company uses software engineering to
deal with big projects without problems.
8.
3. To MinimizeSoftware Costs
Software engineers are paid highly as
Software needs a lot of hard work and
workforce development. These are developed
with the help of a large number of codes. But
programmers in software engineering project
all things and reduce the things which are not
needed. As a result of the production of
Software, costs become less and more
affordable for Software that does not use this
method.
9.
4. To DecreaseTime
If things are not made according to
the procedures, it becomes a huge
loss of time. Accordingly, complex
Software must run much code to get
definitive running code. So, it takes
lots of time if not handled properly.
10.
5. Effectiveness
Making standardsdecides the
effectiveness of things. Therefore,
a company always targets the
software standard to make it more
effective. And Software becomes
more effective only with the help
of software engineering.
11.
6. Reliable Software
TheSoftware will be reliable if
software engineering, testing, and
maintenance are given. As a
software developer, you must
ensure that the Software is secure
and will work for the period or
subscription you have agreed
Operational
This tells ushow 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
15.
Characteristics of GoodSoftware
Functionality:The software meets the requirements and specifications that it was designed for, and it
behaves as expected when it is used in its intended environment.
Usability: The software is easy to use and understand, and it provides a positive user experience.
Reliability: The software is free of defects, and it performs consistently and accurately under different
conditions and scenarios.
Performance: The software runs efficiently and quickly, and it can handle large amounts of data or
traffic.
Security: The software is protected against unauthorized access, and it keeps the data and functions
safe from malicious attacks.
Maintainability: The software is easy to change and update, and it is well-documented, so that it can
be understood and modified by other developers.
Reusability: The software can be reused in other projects or applications, and it is designed in a way
that promotes code reuse.
Scalability: The software can handle an increasing workload, and it can be easily extended to meet
the changing requirements.
Testability: The software is designed in a way that makes it easy to test and validate, and it has a
comprehensive test coverage.
SOFTWARE MODEL: Byusing diagrams
and various modeling languages,
software modeling helps in visualizing
and understanding the complex aspects
of the software, making it easier to
plan, develop, and manage the system.
18.
Top 8 SoftwareDevelopment Models
• 1. Waterfall Model
• 2. V-Model
• 3. Incremental Model
• 4. RAD Model
• 5. Iterative Model
• 6. Spiral Model
• 7. Prototype model
• 8. Agile Model
19.
The Waterfall processis a step-
by-step development and project
management process. As the
name suggests, this model
follows a straight path where
each step (like planning,
designing, building, testing, and
launching) needs to be finished
before moving to the next. This
approach works well for projects
where all the steps are clear from
the beginning.
20.
The validation phaseinvolves
dynamic analysis methods and testing
to ensure the software product meets
the customer’s requirements and
expectations. This phase includes
several stages including unit testing,
integration testing, system testing
and acceptance testing.
V-Design: In V-Design the left side
represents the development activity, the
right side represents the testing activity.
The verification phase refers to the
practice of evaluating the
product development process to
ensure the team meets the specified
requirements. The verification phase
includes several steps: business
requirement analysis, system
analysis, software architecture design,
module design and coding.
21.
Incremental Model isa
process of software
development where
requirements divided into
multiple standalone
modules of the software
development cycle. In this
model, each module goes
through the requirements,
design, implementation
and testing phases.
22.
RAD model stands
forrapid application
development model.
The methodology of
RAD model is similar
to that of
incremental or
waterfall model. It is
used for small
projects.
23.
The basic conceptof
Iterative model is that the
software should be
developed through repeated
cycles or what we also call
iteration and only a small
part of it should be
developed at a time. This
model was developed to
overcome the drawbacks of
the classical waterfall model.
24.
The Spiral Modelis one of
the most important
Software Development Life
Cycle models
. The Spiral Model is a
combination of the waterfall
model and the iterative
model.
25.
Prototype model isan activity in
which prototypes of software
applications are created. First a
prototype is created and then the
final product is manufactured
based on that prototype.
One problem in this model is that
if the end users are not satisfied
with the prototype model, then a
new prototype model is created
again, due to which this model
consumes a lot of money and time.
26.
The Spiral Modelis a
combination of the
waterfall model and
the iterative model.