SE Module 1
SE Module 1
MVJ20CS33
Chapter 1
1. Introduction to software Engineering:
Software Engineering is a systematic, disciplined, quantifiable study and
approach to the design, development, operation, and maintenance of a software
system.
With the passes of time, the organization’s needs and modus Operandi of
working could substantially be changed so in this frequently changing time the
tools(software) that they are using need to change for maximizing the
performance.
b) Environment change:
d) Security risks:
Using outdated software within an organization may lead you to at the verge
of various software-based cyber attacks and could expose your confidential
data illegally associated with the software that is in use. So, it becomes
necessary to avoid such security breaches through regular assessment of the
security patches/modules are used within the software. If the software isn’t
robust enough to bear the current occurring Cyber attacks so it must be
changed (updated).
In order to increase the performance and fast data processing and other
functionalities, an organization need to continuously evolute the software
throughout its life cycle so that stakeholders & clients of the product could
work efficiently.
Characteristic of software:
There is some characteristic of software which is given below:
1. Functionality
2. Reliability
3. Usability
1. System Software:
2. Application Software:
4. Embedded Software:
5. Product-line Software:
6. Web Application:
Chapter 2
2.1 process models:
A software process model is an abstraction of the software development
process. The models specify the stages and order of a process. So, think of this
as a representation of the order of activities of the process and the sequence in
which they are performed.
The goal of a software process model is to provide guidance for controlling and
coordinating the tasks to achieve the end product and objectives as effectively
as possible.
2. Planning: This activity establishes a plan for the software engineering work
that follows. It describes the technical tasks which are conduct. The resource
requires and the work products are producing with a work schedule.
4. Construction: This activity combines code generation and the testing that is
required to uncover errors in the code.
The Waterfall Model was the first Process Model to be introduced. It is also
referred to as a software life cycle model. It is very simple to understand and
use. In a waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software
development.
The waterfall Model illustrates the software development process in a linear
sequential flow. This means that any phase in the development process begins
only if the previous phase is complete. In this waterfall model, the phases do
not overlap.
Waterfall Model – Design:
Waterfall approach was first SDLC Model to be used widely in Software
Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate phases. In this
Waterfall model, typically, the outcome of one phase acts as the input for the
next phase sequentially.
The following illustration is a representation of the different phases of the
Waterfall Mode.
Evolutionary model is used when the customer prefers to receive the product in
increments so that he can start using the different features as and when they are
developed rather than waiting all the time for the full product to be developed
and delivered.
Advantages of Evolutionary Model
Large project: Evolutionary model is normally useful for very large products.
The core modules get tested thoroughly, thereby reducing the chances of
errors in the core modules of the final products.
Evolutionary model avoids the need to commit large resources in one go for
development of the system.
The spiral model combines the idea of iterative development with the
systematic, controlled aspects of the waterfall model. This Spiral model is a
combination of iterative development process model and sequential linear
development model i.e. the waterfall model with a very high emphasis on risk
analysis. It allows incremental releases of the product or incremental
refinement through each iteration around the spiral.
Spiral Model - Design
The spiral model has four phases. A software project repeatedly passes through
these phases in iterations called Spirals.
In the risk analysis phase, a process is undertaken to identify risk and alternate
solutions. A prototype is produced at the end of the risk analysis phase. If any
risk is found during the risk analysis then alternate solutions are suggested and
implemented.
In this phase software is developed, along with testing at the end of the phase.
Hence in this phase the development and testing is done. at the end of the third
quadrant the next version of the software is available.
This phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.
Transition—the final project phase which delivers the new system to its
end-users. Transition phase includes also data migration from legacy
systems and user trainings.
Each phase and its iteration consists of a set of predefined activities. The
Unified Process describes work activities as disciplines—a discipline is a
set of activities and related artifacts in one subject area (e.g., the activities
It indicates developers how to control the value of their assets, what to draw up
a sound plan as well as how to make promises. This also provides them the
evidence to explain their proposals.
The goal of the TSP is to enhance the quality and efficiency of the entire team
application development project, in addition to helping us help meet the expense
and timeline obligations of creating software.
OBJECTIVES OF CMMI: