Ch1-An Overview of SE
Ch1-An Overview of SE
Sub: STQA
Std : SYBCA
Academic Year : 2021-2021
Topic
Ch1. An Overview of Software
Engineering
An Overview of Software Engineering
• Set of instruction-> this is program.
• Set of program-> software.
• This software is a collection of computer programs,
procedure, rules and associative documentation and data.
Program is generally used the developer of a specific program
to make a particular software.
• Engineering on the other hand, is all about developing
products, using well-defined, scientific principles and
methods. Engineering means applicable science,tools and
methods to find out cost effective solution to problems.
Software engineering: It is an engineering branch associated
with development of software product using well-defined
scientific principles, methods and procedures.
The outcome of software engineering is an efficient and reliable
software product. it is defined as systematic , disciplined and
quantifiable approach in the developement ,operation and
maintainance of software,
• Why study software engineering?
1. Identify new problems and solutions in software production.
2. Higher productivity.
3. To acquire skills to develop large programs.
4. Ability to solve complex programming problems.
5. Learn techniques of specification design.
6. Better quality programmers.
• Major Goals:
1. To increase software productivity and quality.
2. To effectively control software schedule and planning.
3. To reduce the cost of software development.
4. To meet the customer’s need and requirements.
• Application of software:-
1) System software.
2) Application software.
3) Engineering/scientific software.
4) Embedded software.
5) Product line software.
6) Web application software.
7) Artificial intelligence software (AI).
The concept analysis in the view of S.E
• In the S.E the analysis phase helps to determine from the
starting of the project to the end of the project.
• It has some specific phase. We can make particular software
for real time use.
• The term analysis define the corresponding phase or stage by
which the software developer can make a successful software.
• In the S.E the analyst has some specific job which is involved
for making software.
• In a overview we can say that the software analysis is a main
term through we can developed, operate and maintain a
particular software.
• In the view of software developer as well as the user.
• The software analysis we can determine by the view of two
Side.
a) For the software developer.
b) For the customer (client).
Software Development Life Cycle(SDLC):
• This is also known as System Development Life Cycle(SDLC).
• SDLC is an approach for making software for the developer,
user and customer.
• SDLC focus on the internal phase to the end phase for making
particular software.
• SDLC defines the complete cycle of development i.e. all the
tasks involved in planning, creating, testing, and deploying a
Software Product.
• SDLC is a process that defines the various stages involved in
the development of software for delivering a high-quality
product. SDLC stages cover the complete life cycle of a
software i.e. from inception to retirement of the product.
SDLC Cycle
• SDLC Cycle represents the process of developing software.
• Below is the diagrammatic representation of the SDLC cycle:
SDLC Phases
• Given below are the various phases:
1. Requirement gathering and analysis
2. Design
3. Implementation or coding
4. Testing
5. Deployment
6. Maintenance
1) Requirement Gathering and Analysis
• During this phase, all the relevant information is collected
from the customer to develop a product as per their
expectation. Any ambiguities must be resolved in this phase
only.
• Business analyst and Project Manager set up a meeting with
the customer to gather all the information like what the
customer wants to build, who will be the end-user, what is the
purpose of the product. Before building a product a core
understanding or knowledge of the product is very important.
• For Example, A customer wants to have an application which
involves money transactions. In this case, the requirement has
to be clear like what kind of transactions will be done, how it
will be done, in which currency it will be done, etc.
• Once the requirement gathering is done, an analysis is done
to check the feasibility of the development of a product. In
case of any ambiguity, a call is set up for further discussion.
• Once the requirement is clearly understood, the SRS
(Software Requirement Specification) document is created.
This document should be thoroughly understood by the
developers and also should be reviewed by the customer for
future reference.
2) Design
• In this phase, the requirement gathered in the SRS document
is used as an input and software architecture that is used for
implementing system development is derived.
3) Implementation or Coding
• Implementation/Coding starts once the developer gets the
Design document. The Software design is translated into
source code. All the components of the software are
implemented in this phase.
4) Testing
• Testing starts once the coding is complete and the modules
are released for testing. In this phase, the developed software
is tested thoroughly and any defects found are assigned to
developers to get them fixed.
• Retesting, regression testing is done until the point at which
the software is as per the customer’s expectation. Testers
refer SRS document to make sure that the software is as per
the customer’s standard.
5) Deployment
Once the product is tested, it is deployed in the production
environment or first is done depending on the customer
expectation.
6) Maintenance
After the deployment of a product on the production
environment, maintenance of the product i.e. if any issue comes
up and needs to be fixed or any enhancement is to be done is
taken care by the developers.
Software Development Life Cycle Models