0% found this document useful (0 votes)
29 views48 pages

Introduction To Software Engineering

hen there is some embedded hardware and software to operate these peripheral devices. As well as generate certain output those devices. So here also we can see that it receives some input say for example input from this front panel in terms of the temperature duration. Then it produces some output on the display as well as some sound output and it performs certain operations depending on the input provided based on stored program. So it also is there a lot of technology and sambar powder in hind
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views48 pages

Introduction To Software Engineering

hen there is some embedded hardware and software to operate these peripheral devices. As well as generate certain output those devices. So here also we can see that it receives some input say for example input from this front panel in terms of the temperature duration. Then it produces some output on the display as well as some sound output and it performs certain operations depending on the input provided based on stored program. So it also is there a lot of technology and sambar powder in hind
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 48

INTRODUCTION TO SOFTWARE

ENGINEERING
Software
• The software is a collection of integrated
programs.
• Software subsists of carefully-organized
instructions and code written by developers
on any of various particular computer
languages.
Software Engineering
• Engineering is the application
of scientific and practical knowledge
to invent, design, build, maintain,
and improve frameworks, processes, etc.
Why SE required?
• To manage Large software
• For more Scalability
• Cost Management
• To manage the dynamic nature of software
• For better quality Management
Need of Software Engineering

• Adaptability
• Cost
• Dynamic nature
• Quality management
Characteristics of a good software engineer

• Exposure to systematic methods, i.e., familiarity


with software engineering principles.
• Good technical knowledge of the project range
(Domain knowledge).
• Good programming abilities.
• Good communication skills. These skills comprise
of oral, written, and interpersonal skills.
• High motivation.
Importance of SE
Software Process
• A software process is the set of activities and
associated outcome that produce a software
product. Software engineers mostly carry out
these activities.
• These are four key process activities.
Software Process..
• Software specifications: The functionality of the
software and constraints on its operation must be
defined.
• Software development: The software to meet the
requirement must be produced.
• Software validation: The software must be
validated to ensure that it does what the customer
wants.
• Software evolution: The software must evolve to
meet changing client needs.
The Software Process Model

• Software process model is an abstraction of


the actual process, which is being described.
• Process models may contain activities, which
are part of the software process, software
product, and the roles of people involved in
software engineering.
• A workflow model: This shows the series of
activities in the process along with their
inputs, outputs and dependencies. The
activities in this model perform human
actions.
• A dataflow or activity model: This represents
the process as a set of activities, each of which
carries out some data transformations. It
shows how the input to the process, such as a
specification is converted to an output such as
a design. The activities here may be at a lower
level than activities in a workflow model. They
may perform transformations carried out by
people or by computers.
• A role/action model: This means the roles of
the people involved in the software process
and the activities for which they are
responsible.
Models

• Waterfall Model
• RAD Model
• Spiral Model
• V-model
• Incremental Model
• Agile Model
• Iterative Model
• Big-Bang Model
• Prototype Model
Program vs. Software

• Software is more than programs. Any program


is a subset of software, and it becomes
software only if documentation & operating
procedures manuals are prepared.
• There are three components of the software.
They are
1. Program:
Program is a combination of source code &
object code.
2. Documentation:
Documentation consists of different types of
manuals. Examples of documentation
manuals are: Data Flow Diagram, Flow
Charts, ER diagrams, etc.
3.Operating Procedures:
Operating Procedures consist of instructions
to set up and use the software system and
instructions on how react to the system
failure. Example of operating system
procedures manuals is: installation guide,
Beginner's guide, reference guide, system
administration guide, etc.
Software Development Life Cycle (SDLC)

• A software life cycle model (also termed


process model) is a pictorial and diagrammatic
representation of the software life cycle.
• SDLC Cycle represents the process of
developing software.
Stage1: Planning and requirement analysis

• Requirement Analysis is the most important


and necessary stage in SDLC.
• The senior members of the team perform it
with inputs from all the stakeholders and
domain experts or SMEs in the industry.
• Planning for the quality assurance
requirements and identifications of the risks
associated with the projects is also done at
this stage.
• Business analyst and Project organizer set up a
meeting with the client to gather all the data
like what the customer wants to build, who
will be the end user, what is the objective of
the product.
• Before creating a product, a core
understanding or knowledge of the product is
very necessary.
• Once the requirement is understood, the SRS
(Software Requirement Specification)
document is created.
• The developers should thoroughly follow this
document and also should be reviewed by the
customer for future reference.
Stage2: Defining Requirements
• Once the requirement analysis is done, the
next stage is to certainly represent and
document the software requirements and get
them accepted from the project stakeholders.
• This is accomplished through "SRS"- Software
Requirement Specification document which
contains all the product requirements to be
constructed and developed during the project
life cycle.
Stage3: Designing the Software

• The next phase is about to bring down all the


knowledge of requirements, analysis, and
design of the software project. This phase is
the product of the last two, like inputs from
the customer and requirement gathering.
Stage4: Developing the project

• In this phase of SDLC, the actual development


begins, and the programming is built. The
implementation of design begins concerning
writing code. Developers have to follow the
coding guidelines described by their
management and programming tools like
compilers, interpreters, debuggers, etc. are
used to develop and implement the code.
Stage 5: Testing
• After the code is generated, it is tested against
the requirements to make sure that the
products are solving the needs addressed and
gathered during the requirements stage.
• During this stage, unit testing, integration
testing, system testing, acceptance testing are
done.
Stage6: Deployment

• Once the software is certified, and no bugs or


errors are stated, then it is deployed.
• Then based on the assessment, the software
may be released as it is or with suggested
enhancement in the object segment.
• After the software is deployed, then its
maintenance begins.
Stage7: Maintenance

• Once when the client starts using the


developed systems, then the real issues come
up and requirements to be solved from time
to time.
• This procedure where the care is taken for the
developed product is known as maintenance.
Waterfall model

This model has five phases:


1. Requirements analysis and specification
2. design phase
3. implementation and unit testing
4. integration and system testing
5. operation and maintenance.
• The steps always follow in this order and do
not overlap. The developer must complete
every phase before the next phase begins
1. Requirements analysis and specification
phase:
• The aim of this phase is to understand the exact
requirements of the customer and to document them
properly.
• Both the customer and the software developer work
together so as to document all the functions,
performance, and interfacing requirement of the software.
• It describes the "what" of the system to be produced and
not "how."In this phase, a large document called Software
Requirement Specification (SRS) document is created
which contained a detailed description of what the system
will do in the common language.
2. Design Phase:
• This phase aims to transform the
requirements gathered in the SRS into a
suitable form which permits further coding in
a programming language. It defines the overall
software architecture together with high level
and detailed design. All this work is
documented as a Software Design Document
(SDD).
3. Implementation and unit testing:
• During this phase, design is implemented. If
the SDD is complete, the implementation or
coding phase proceeds smoothly, because all
the information needed by software
developers is contained in the SDD.
• During testing, the code is thoroughly
examined and modified. Small modules are
tested in isolation initially.
• After that these modules are tested by writing
some overhead code to check the interaction
between these modules and the flow of
intermediate output.
4. Integration and System Testing:
• This phase is highly crucial as the quality of
the end product is determined by the
effectiveness of the testing carried out. The
better output will lead to satisfied customers,
lower maintenance costs, and accurate
results. Unit testing determines the efficiency
of individual modules. However, in this phase,
the modules are tested for their interactions
with each other and with the system.
5. Operation and maintenance phase:
• Maintenance is the task performed by every
user once the software has been delivered to
the customer, installed, and operational.
Advantages of Waterfall model

• This model is simple to implement also the number of


resources that are required for it is minimal.
• The requirements are simple and explicitly declared; they
remain unchanged during the entire project development.
• The start and end points for each phase is fixed, which
makes it easy to cover progress.
• The release date for the complete product, as well as its
final cost, can be determined before development.
• It gives easy to control and clarity for the customer due to
a strict reporting system.
Disadvantages of Waterfall model

• In this model, the risk factor is higher, so this model is not


suitable for more significant and complex projects.
• This model cannot accept the changes in requirements
during development.
• It becomes tough to go back to the phase. For example, if
the application has now shifted to the coding phase, and
there is a change in requirement, It becomes tough to go
back and change it.
• Since the testing done at a later stage, it does not allow
identifying the challenges and risks in the earlier phase, so
the risk reduction strategy is difficult to prepare.
Incremental Model

• Incremental Model is a 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. Every subsequent release of the module
adds function to the previous release. The process
continues until the complete system achieved.
1. Requirement analysis
• In the first phase of the incremental model,
the product analysis expertise identifies the
requirements. And the system functional
requirements are understood by the
requirement analysis team. To develop the
software under the incremental model, this
phase performs a crucial role.
2. Design & Development:
• In this phase of the Incremental model of
SDLC, the design of the system functionality
and the development method are finished
with success. When software develops new
practicality, the incremental model uses style
and development phase.
3. Testing
• In the incremental model, the testing phase
checks the performance of each existing
function as well as additional functionality. In
the testing phase, the various methods are
used to test the behavior of each task.
4. Implementation
• Implementation phase enables the coding
phase of the development system. It involves
the final coding that design in the designing
and development phase and tests the
functionality in the testing phase. After
completion of this phase, the number of the
product working is enhanced and upgraded up
to the final system product
Advantage of Incremental Model

• Errors are easy to be recognized.


• Easier to test and debug
• More flexible.
• Simple to manage risk because it handled
during its iteration.
• The Client gets important functionality early.
Disadvantage of Incremental Model

• Need for good planning


• Total Cost is high.
• Well defined module interfaces are needed.

You might also like