1_an overview to software processes, software development
TRANSCRIPT
-
8/3/2019 1_An Overview to Software Processes, Software Development
1/42
C M C Limited
C M C Limited
Software Engineering and Live Project
1
-
8/3/2019 1_An Overview to Software Processes, Software Development
2/42
An Overview to Software Processes
2
-
8/3/2019 1_An Overview to Software Processes, Software Development
3/42
Its over budget!
ts uggy
Customers were not satisfied!
3
-
8/3/2019 1_An Overview to Software Processes, Software Development
4/42
systematic, disciplined, quantifiable
approach to the development, operation
and maintenance of software, that is, the
.
4
-
8/3/2019 1_An Overview to Software Processes, Software Development
5/42
System Engineering Phase
Interview CustomersStakeholders
Study systemdocumentation
Interview the System Analysts
FEEDBACK
ReviewwithinProject
User Requirements
Final set ofUser Requirements
Interview end users FEEDBACK
5
Study Existing Software
-
8/3/2019 1_An Overview to Software Processes, Software Development
6/42
Activities performed in this phase
Interview customers end users
,
Collect and study the documentation of the existingsoftware, if any
Collect existing documents from the customer
Interview the customers software developers for moredetails on the project, and the standards the project has to
follow
ent y t e ar ware p at orm, so tware mo e s,programming language and tools that are needed in the
6
.
-
8/3/2019 1_An Overview to Software Processes, Software Development
7/42
User Requirements Gathering
Sample Project Abstract and URS Template
Project and URS templete.doc
7
-
8/3/2019 1_An Overview to Software Processes, Software Development
8/42
8
-
8/3/2019 1_An Overview to Software Processes, Software Development
9/42
Project Manager: Initiates, plans, tracks and
manages resources of an entire project.
9
-
8/3/2019 1_An Overview to Software Processes, Software Development
10/42
Roles in a typical software project(Contd)
leads the team working on a particular module of the
so ware pro ec . e mo u e ea er w con uc
reviews and has to ensure the proper functionality ofthe module.
10
-
8/3/2019 1_An Overview to Software Processes, Software Development
11/42
Roles in a typical software project(Contd)
Analyst: A software engineer who analyzes
the requirements gathered. Analysis of the
understanding of the requirements.
11
-
8/3/2019 1_An Overview to Software Processes, Software Development
12/42
Domain Consultant: An expert who knows
.
This would involve the technical knowledgeof how the entities of the domain interface
.
12
-
8/3/2019 1_An Overview to Software Processes, Software Development
13/42
Roles in a typical software project(Contd)
Reviewer: A software engineer who reviews
artifacts like project documents or code. The
scrutinizes the technical details of the artifact.It could be a review where the reviewer
ascertains whether or not the artifact adheres
to a prescribed standard.
13
-
8/3/2019 1_An Overview to Software Processes, Software Development
14/42
Architect: A software engineer involved in
has clearly specified the businessrequirements.
14
-
8/3/2019 1_An Overview to Software Processes, Software Development
15/42
Deve oper: A so tware engineer, w o writes
15
-
8/3/2019 1_An Overview to Software Processes, Software Development
16/42
Tester: A software engineer who conducts
es s on e comp e e so ware or a un o
the software. If an defects are found these
defects are logged and a report is sent to
the owner of the tested unit.
16
-
8/3/2019 1_An Overview to Software Processes, Software Development
17/42
Requirement Analysis
17
-
8/3/2019 1_An Overview to Software Processes, Software Development
18/42
In a broader sense a re uirement is1. A condition or a capability needed by a user
which will help the user to solve a problem or
to achieve an ob ective.
2. A condition or a capability that must be met
by a system to satisfy a contract, standard or
specification.
18
-
8/3/2019 1_An Overview to Software Processes, Software Development
19/42
Functional Requirements
system, the outputs from the system and the behavioral
relationship between them.
Examples:
The software should calculate and display the cumulative
interest at the rate of 12% on all fixed deposits until maturity.
The software should display a separate web page, giving
details o all the ounder members o the com an .
The software is required to generate a monthly report on the
19
num er o ou s an ng oan amoun s
-
8/3/2019 1_An Overview to Software Processes, Software Development
20/42
In a broader sense a re uirement is1. A condition or a capability needed by a user
which will help the user to solve a problem or
to achieve an ob ective.
2. A condition or a capability that must be met
by a system to satisfy a contract, standard or
specification.
20
-
8/3/2019 1_An Overview to Software Processes, Software Development
21/42
on- unct ona equ rements
attributes of the system.
Examples: Good User Interface, High Performance,
Modular software and Scalable Model
21
-
8/3/2019 1_An Overview to Software Processes, Software Development
22/42
Requirement Analysis PhaseFEEDBACK
Requirements
Process Model
withinProject
SoftwareRequirementsSpecificationTable
Data
GatheredANALYSIS
Data Model
22
FEEDBACK
-
8/3/2019 1_An Overview to Software Processes, Software Development
23/42
Process and Data Model
Process model is used to understand the different
businesses processes that will make up the system
Data models to define and understand the design of data
that is to be used.
These models and the gathered requirements are part of
the Software Requirements Specification (SRS)
23
-
8/3/2019 1_An Overview to Software Processes, Software Development
24/42
Levels of Testing
24
-
8/3/2019 1_An Overview to Software Processes, Software Development
25/42
Create Test Plan
System testing
n para e o equ rement na ys s ase
System testing is the process of testing the completed
.
It is done to ensure that all the requirements specified by
the customer are met.
System testing involves functional testing and
performance testing.
25
-
8/3/2019 1_An Overview to Software Processes, Software Development
26/42
Create Test Plan
System testing
n para e o equ rement na ys s ase
Functional testing traps errors in implementation of the
.
Performance testing looks at the way the functions are
performed, that is, considerations of speed and response
time.
26
-
8/3/2019 1_An Overview to Software Processes, Software Development
27/42
Create Test Plann para e o equ rement na ys s ase
Acceptance testing
27
-
8/3/2019 1_An Overview to Software Processes, Software Development
28/42
Create Test Plann para e o equ rement na ys s ase
28
-
8/3/2019 1_An Overview to Software Processes, Software Development
29/42
Create Test Plan (Contd)
boundary of a software engineer and into
the boundary of a domain consultant,
the software interacts with the various
entities of the system.
29
-
8/3/2019 1_An Overview to Software Processes, Software Development
30/42
Create Test Plan (Contd)
System test plan and Acceptance test
meets both functional and non-functional
requirements.
testing, Acceptance testing (done after
the System testing) is done by thecustomer
30
-
8/3/2019 1_An Overview to Software Processes, Software Development
31/42
Create Test Plan (Contd)
The artifacts that need to be ready
a ter t s p ase are:
SRS which has the Process model
Process specification, Data model and
e a a c onary
System Test Plan
Acceptance Test Plan
31
-
8/3/2019 1_An Overview to Software Processes, Software Development
32/42
Design Phase
n e es gn p ase e requ remen s are
translated into an actual representation
for software construction.
procedural detail
a a es n interface design
32
-
8/3/2019 1_An Overview to Software Processes, Software Development
33/42
Design Phase
Design of
existing
Standarddocuments
FEEDBACKFEEDBACK
High LevelDesign
Document
project
SoftwareRequirements
Specification
Write HighLevel Design
ReviewWrite
DetailedDesign
Review
Detailed Design
Document
WriteIntegrationTest Plan
Write UnitTest Plan
IntegrationTest Plan
FEEDBACKFEEDBACK
DESIGNPHASE
REQUIREMENTSGATHERING
PHASE
Unit TestPlan
ev ew ev ew
33
-
8/3/2019 1_An Overview to Software Processes, Software Development
34/42
Design Phase
The High Level Design (HLD) describes the
logical view of the solution. It views the
34
-
8/3/2019 1_An Overview to Software Processes, Software Development
35/42
The Detailed Design (DD) takes the HLD as
input and goes one step further in giving a
modules. This could be algorithms whichgives a solution to a problem in a finite
35
-
8/3/2019 1_An Overview to Software Processes, Software Development
36/42
Unit testing
Individual components are tested
Module testing
Related collections of dependent components
are tested Integration testing
Modules are inte rated into sub-s stems and
tested. The focus here should be on interfacetesting
36
-
8/3/2019 1_An Overview to Software Processes, Software Development
37/42
ITP is created after all the modules
modules are identified. The UTP is created after details of the
.
37
-
8/3/2019 1_An Overview to Software Processes, Software Development
38/42
Design Phase
The four documents below form theout ut of the desi n hase:
High Level Design
Integration Test Plan
Unit Test Plan
38
-
8/3/2019 1_An Overview to Software Processes, Software Development
39/42
Build Phase
39
-
8/3/2019 1_An Overview to Software Processes, Software Development
40/42
Test Script
It is a program which automates the steps
identified for a test
40
T i Ph
-
8/3/2019 1_An Overview to Software Processes, Software Development
41/42
Testing Phase
41
Deployment Phase
-
8/3/2019 1_An Overview to Software Processes, Software Development
42/42
Deployment Phase
A number of points need to be kept in mind for the
deployment of final software.
The complete delivery package needs to be assembled and
tested
Ensure that the plan for the support of the software is
ready
Early communication to customers about the changes that
the software will bring about. For example, reports might
oo erent or ocat on o n ormat on m g t avechanged
42