You are on page 1of 182

SUBJECT CODE : 3150711 Software Engineering

Subject Code : 3150711

As per New Syllabus of Semester - V (Computer Engineering / Computer Science & Engineering) (Professional Elective - I)

Gujarat Technological University First Edition : August 2020


Semester - V (CE / CSE) (Professional Elective - I)

Software Engineering This edition is for sale in India only. Sale and Purchase of this book outside of India is
unauthorized by the publisher.

ã Copyright with Author


All publishing rights (printed and ebook version) reserved with Technical Publications. No part of this book
should be reproduced in any form, Electronic, Mechanical, Photocopy or any information storage and
retrieval system without prior permission in writing, from Technical Publications, Pune.
Anuradha A. Puntambekar
M.E. (Computer)
Published by :
Formerly Assistant Professor in ®

P.E.S. Modern College of Engineering, TECHNICAL Amit Residency, Office No.1, 412, Shaniwar Peth, Pune - 411030, M.S. INDIA
P h . : + 9 1 - 0 2 0 - 2 4 4 9 5 4 9 6 / 9 7 , Te l e f a x : + 9 1 - 0 2 0 - 2 4 4 9 5 4 9 7
PUBLICATIONS
Pune SINCE 1993 An Up-Thrust for Knowledge Email : sales@technicalpublications.org Website : www.technicalpublications.org

Printer :
Yogiraj Printers & Binders
Sr.No. 10/1A,
Ghule Industrial Estate, Nanded Village Road,
Tal. - Haveli, Dist. - Pune - 411041.

ISBN 978-81-946628-2-2
® ®
TECHNICAL
PUBLICATIONS
SINCE 1993 An Up-Thrust for Knowledge

9 788194 662822 Course 18

(i) 9788194662822 [1] (ii)


Software as a Product

Software as a Process

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Failure curves
(Bath tub curves)

Hardware curve Software curve

Side effect
Manufacturing of changes
defects
Failure

Failure
Wear Actual
out curve

Constant failure period Change Idealized


Time curve
Time
Hardware
cost
Software
cost

Years
Automatic
support for software
Software engineering
Provide
technical details
for software

Tools Foundation
of software
Methods Backbone
of software
Processes

Quality management
Software Process

Process Framework

Umbrella Activities

Action # 1.1

Framework Tasksets Work Task


Activity #1 Milestone
SQA Points

Action # 1.n

Framework Tasksets Work Task


Activity #n Milestone
SQA Points
Prescriptive process models

Linear sequential Incremental Evolutionary


model process model process model

Incremental Prototyping
model
Spiral model
RAD model

Concurrent
development model
Requirement
gathering and analysis

Design

Coding

Testing

Maintenance
Communication Building of
with quick
customer design

Deployment Construction
delivery of
and prototype
feedback
Planning Risk analysis

Customer
communication

Engineering
Concept
development
Project entry projects
point axis
New
product
development
projects
Product
enhancement
projects

Product
maintenance
projects
Customer evaluation Construction
and feedback and release
Development process

Team#n

Design

Team#2
Build
Requirements Design
gathering

D
e
Team#1 Build p
l
Analysis
Design o
and planning
y

Build

60 to 90 days period
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Cost of changes
due to conventional
software process
Development cost

Cost of changes
due to agile process

Time
Planning Design

Refactoring

Testing Coding

Release or
increment
Speculation

Release
or Collaboration
software
increment

Learning
15 min daily
meeting
1. What are
activities ?
2. Obstacles ?
24 Hour 3. Next meeting
plan ?

30 Days

Software
Sprint backlog
increment
Product backlog with
specific
functionality
Develop Build Plan Design Build
an a by by by
overall feature feature feature feature
model list

List of Development Design Client valued


features plan package functionality
Measure specific Develop set of Using these attributes
attributes of the meaningful metrics build a strategy for
process from these attributes process improvement

Product

tics
cte er

Bu ditio
co
ara om
ris

sin ns
n
ch Cust

es
s
Process

People Development Technology


environment

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Direct measure
(measures cost and effort applied, lines
Software of code produced ,execution speed and defects)
measurement
Indirect measure
(measures functionality, quality, reliability,
efficiency, maintainability, complexity)
0 1 2 3 4 5

No Incidental Moderate Average Significant Essential


influence

(Fi )
[0.65 0.01 (Fi )]
233 [0.65 0.01 32]
233 [0.65 0.32]
233 0.97

8 4 12 5 4 4 41 10 1 7

Fi
tot _ var( k)
[ f out ( k) 1]
Population : means total number of classes and
operations

Volume : means total number of classes or


operations that are collected dynamically

Length : means total number of interconnected


design elements

Functionality : is a measure of output delivered to


the customer

n1
n2
N1
N2

N1 N2

n1 n2

log 2

n1 N2

N1 N2
All transitions in a layout
n n1 n2

N log 2 n

n 1 log 2 n 1 n 2 log 2 n 2

n1 5 N1 n2 N2

N1 N2 n1 n2
n 1 log n 1 n 2 log n 2

N log n
[S opt (4 * S m ) S pess ] 6

[S opt 4* S m S pess ] 6

S opt
Sm S pess
(Fi)
Estimate Assign people Create activity
Identify activities Identify to conduct network and
resources
possible activities bar charts
dependencies
Sept. Oct. Nov. Dec. Jan.
Task
6 13 20 27 3 10 17 24 31 7 14 21 28 4 11 18 25 1 8 15 22
1.4 (a) 1.6 (a)
Technical Implementation 1. 2 Software development
risks 1. 2. 1 Requirements analysis
1.1 1.2 1.3 1.5 1. 2. 2 Architectural design
Checking Scoping the Product Integrate a,b
feasibility Proof of 1. 2. 3 Procedural design
product planning product
of product 1. 2. 4 Code
1.4 (b) 1. 3 Testing
1.6 (b) 1. 3. 1 Unit test
Technical Implementation
risks 1. 3. 2 Integration test
1. 3. 3 Acceptance test
1. 4 Operations
1.7
Customer 1. 4. 1 Packaging
feedback 1. 4. 2 Customer training
Project risk Technical risk Business risk
Market risk

Strategic risk

Sales risk

Management risk

Budget risk

Predictable risks

Known risks

Unpredictable risks
Performance
Cost risk
risk

Risk
components

Support risk Schedule risk

Negligible Marginal Critical Catastrophic

There are two ways by which risk can be rated

Probability that the risk is real Consequences of problems associated


with the risk
Types of requirements

User System Software specification

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Inception

Elicitation

Elaboration

Requirement
engineering Negotiation
tasks

Specification

Validation

Requirement management
Requirement Requirements are
identification individually identified

Process plan followed


Change management when analysing a
process requirement change

The amount of information


Traceability
about requirement relationships
policies
is maintained

The tool support which is


Case tool
required to manage
support
requirement changes
Normal requirements

Types of
requirements Expected requirements
under QFD

Excited requirements
User or Action
Actor
Starts up
system

Shuts down
system

Operator

Establishes
session

<< includes >>

Customer Transaction

Bank

Withdrawal Deposit Inquiry


login

<<include>>
<<include>>

Student Enter Administrator


user name Validate
password data
Analysis Design
model model

System Requirement Software


engineering analysis design

High priority Medium priority


requirements requirements

30
Value (percent)

25
20
Low priority
15
requirements
10
5

5 10 15 20 25 30

Cost (percent)
ent s Flow
e lem orie
s ed  Data flow nte
ba diagram d
 Use cases el
io
 Control flow

em
ar
 Use case diagrams

en
diagram

en
Sc
 Activity diagrams

s t
 Swim lane
diagram
The
analysis
model  State
 Class diagram diagram
 Analysis  Sequence
diagram

ts
packages

en

Be
 CRC models

em

ha
vi
el
or
ed  Collaboration le a
as le m
sb s diagrams ent
Cla s
Make an
appointment

<< include >>


Patient Scheduler

Check patient record

<< include >>

Demand for medicines

Cancel appointment

Payment delay
<< extend >>

Search a title Payment of bill

Search a title

Bill insurance
ATM system
Invalid user name
e >>
d >> Invalid xclud or password
xten << e
<< e ID
Add record
Authenticate
new
Enters card, Requests << include >>
user name and PIN book
Search and
Reserve a update database
Request for mini book << exclude >>
Check balance statement
Invalid ID Delete book
Librarian
Renew a record
book <<

<<
User ex
clu

ex
Withdrawal de

clu
Banking >>
User

d
of money

e
system Pays fine Update

>>
Inv book record
ren alid
ew << include >>
Deposite al
money Feedback
Update the
record ID
<< includes >>

Filling up
feedback form
Student Staff

Register new Prepare


user library
<< includes >> database
<< includes >>
Fill up Library
Get library card database
registration
ID
form
Start

activity
Fork

activity activity

Online mobile shopping Branch


View
mobile
activity activity

Authentification
Merge
Make
purchase Join

Registered activity

Identify
End
Checkout provider
Web
customer

Credit payment
New service

Client
register

Paybill
(Bank)
Booking Passenger Finance
service service service
Enquiry
about
reservation
Enquiry
about
reservation

Fill Pays
reservation for
form ticket

Fills
reservation
form
Pays for
Put in Make Receive ticket
waiting confirmed payment
list reservation
Reserve
a seat

Receive
payment

Close
form

Close
form
HomeOwner Sensor(Camera) Control panel
Customer
Invalid data, Re-enter
submits ltem

Enter password Validates


and user ID input
No

Yes
Select the display Valid data
function Card Reader reads
price of item

Select surveillance
The price of item
displayed on
Computer

Generate video Calculation of


Select camera output Total Bill is
done
User interface
View camera prompts for
output another view Customer pays Computer Prints Customer gets
Bill Receipt Receipt
Yes

No

;
;
Car Object
name Shape
Color
Model Data members Color
Engine or attributes Weight
Brakes
void draw()
Start_engine() void setcolor ()
Stop() Operations or char getcolor()
Accelerate() methods void hide()
Crash() void show()

Triangle Rectangle

height lefttoppoint
breadth rightbottompoint

get_input() char fillrectang()


area()

Message = Name of message + Parameters passed

It represents the It represents the


Using messages name of the information
objects can service requested required to execute
communicate by calling object the service
Shape

Color Printer Order Customer


Weight
 1
void draw() Placed by
void setcolor ()
char getcolor() void print_diagram ()
void hide() 1
void show()
has


Order_status Product
Triangle Rectangle
 1
height lefttoppoint generates
breadth rightbottompoint

get_input() char fillrectang()


area()
Library management
system

Usertype
Username
Password
Login ( )
Register ( )
Logout ( )

1 1 1
  1
 
User Book Librarian Library database
1 1
title Name
Name Author  1 ID List_of_books
ID ISBN Password
Publication Searchstring Add ( )
Verify ( ) Show_duedt () Delete ( )
1 Verify_librarian ( )
CheckAccount ( ) Reservation_status() Update ( )
Feedback () Search ( )
get_book_info ( ) Display ( )
Book_request () Search ( )
Renew_Info ()
1
 1 1
Account 

Staff Student
no_borrowed_books
Dept Class no_reserved_books
no_returned_books
no_lost_books
fine_amount

calculate_fine ( ) withdrawal
cash dispenser
session
console
ATM System
customer
ATM card
Class Name:
Class type:
Characteristics:
Responsibilities: Collaborations:
Security LCD
Beep Sensor
system Display

Sensor event

Produces Contains polls


Security LCD
Beep Sensor
system Display

recognises

Sensor event
Data object : It can be any person, organization,
device or software product that produces
Produces Contains polls
or consumes information
Security LCD
Beep Sensor
system Display
0:1 1:1 1:1 1:1 1:1 1:m

1:1
recognises
0:n Elements
of data model
Sens or event

Attributes : These are used to Relationship : These represent


name data object instance how data objects are connected
to describe characteristics or to one another
to make reference to another
data subject object
Cardinality : Single customer Cardinality : Many purchase
waiting for purchase actions is possible.

is provided with Purchase


Customer
action

Modality : It is optional,
Modality : For purchase action there may not be
customer is must any purchasing
(modality 1) (modality 0)
Attribute
Attribute
Attribute Attribute Attribute Attribute

Entity Relationship Entity Relationship

One to one

One to many (must)


Relationship
Many

One or more (must)

One and only one (must)

Zero or one (optional)


Entity
Zero or many (optional)

Attribute Attribute
Attribute

e Last_
nam
First_ nam
e

her_ID Specialization_
Teac info
Entity Teacher
Cardinality
Modality : Must

Entity

Conducts

Attribute
Modality : Optional

Handouts
Attribute
Course
Homework

Attribute
Course_code
Course_
Schedule syllabus
Location
Technical
Publishes Books
Publication

Employs Specialized
in

date amount trans. no. acc.no balance


Works
Editor Author
with
M log 1 1 ISA M Current
Transaction account
account

cust branch
acct. acct.

ID Name ISBN Title Author


cname address br_name br_city

Student Borrows Book


customer M M
borrow Branch

Membership Issued Return


Class Address Publisher Edition
period date date
loan no. amount
name reg.no.

Category_id
roll no. Semester name dept._no. name Qualification

Student has Department belongs Teacher

category_name
to

Category

cart_id
has

quantity

total bill
has
Subject_id teaches
enrolls

cart_item
exam._id Year/Sem

products

added
to
subject name subject_id

shopping
online
of Subject

buys
Examination
Schedules Examination
section

consists
of

logging
exam._id Supervisor

in
Time table exam._id grade
Subject_id
Semester Subject_id

phone

cart
address
password
supervisor exam._id
has Result roll_no.

customer
time date room

payment
makes

done
email_ID

for
gets

last_name

firstname

username

payment_id

payment_
amount

type
Level 0 DFD

0
x
z
Process Entity A nformation Entity B
y system

Data store
Level 1 DFD
1
Flow of data (may be input
data of output data) x
Process
Entity A
P Entity B
External
entity y 2 3 z
R Q
Data store Process Process

Level 2 DFD 2.1


P

Process

V W

2.3 2.2
y
Q
T
Process Process
R
Data store
U

Level 3 DFD
S

2.2.1

Process
U
S3
S1
2.2.2 2.2.3
T S2 Q
Process Process
Correct
way
Source Sink Source Sink

xy xy

Correct
way

xy xy

Correct
way

Correct
way
0.0

Book request
Library Demanded
Student Library card Information Display of
System book Info Book

Book

1.1
Book request Book
Student Get Book shelf
book
Book

Shelf number
and book info/no.

Book selves 1.2


1.0 k
Boo List of
Find Authors
Book request Authors
Author (s) List of book
Student Library card Delivery position
of Book Authors Titles
Title List of
Book Titles
List of Book title
Titles
demanded
Topic 1.3
Book
Info Update list
List of topics Book title List of
of borrowed borrowed books
books and student
Topic name
Display of
Demanded
Book request Book
book
2.0
(By topic) Info Display of
Demanded Book
Book Search Book
(Based on topic) by Topic Info
1.0
Orders for
Customer food Food order Kitchen
Processing of
an order
0.0 Receipt
Orders for
the food
Food
Customer ordering Kitchen
Food order 2.0 Sold 3.0
Receipt system items
Bill Update sold Inventory Update
items file data inventory file

Mana
g
report ement Restaurant
manager
Formatted
Database of sold sold item data Formatted Inventory
items inventory data database

4.0

Generate
Info. about daily sold items Info. about daily inventory
management
and amount report depletion amount

Management Restaurant
report manager

1.1

Customer Food order Kitchen


Get an
order
Orders for
food

Food
order

1.2

Receipt Prepare the Bill Restaurant


bill manager
4.1 0.0
Access sold Places Purchase
Inventory depletion Inventory Books order
items order order
Info about daily sold items database Customer Shipping processing Publisher
and amount system
Shipment
and amount note
inventory data

Sold Inventory
items data

4.2
Aggregate
inventory
data
and sold items ks Books Info.
Places 1.0 Boo s
il
Customer
order deta
Verification
Inventory and of order Credit
sold items list Customers details
ratings

4.3 Order

Compute the
Pending order
total price
of each item Batch of
orders

2.0
Inventory and sold
items list Batch Purchase
Assemble order Publisher
of orders order
Shipping
4.4 note

Prepare
Management Restaurant List of
management
report manager corresponding
report
publishers

Publishers

Purchase orders

3.0

Verify
shipment
Pending orders

Batch
of orders
0.0
2.1 Booking Reservation
Online hotel
details reservation details
Customer Hotel
Get total copies system
per title
Charges

2.2
1.0
Prepare purchase Purchase Booking Customer
Publisher
order order details Processing details
Customer request
Hotel names
List of Charges
corresponding Hotels details
Room , time,
publishers charges, available
Suitable info.
details
Publishers
2.3
1.0
Store
P.O. details Confirmation
Reservation Reservation
of Hotel
details details
reservation

Batch of
orders

Purchase orders
1.1
Invalid Card reader
Customer Accept Customer details returns card
request
Screen
Verify
Card
pin and
Booking details reader Ac. no and AC. No.
PIN On
1.2 IN
Hotel name dP validity
o an of card Control
.n system
Check Room types Hotels' detail Ac
availability Customer Command Display
Availability keypad customer
for service options
selection
Booking details
1.3
Charges Selects Balance Prepare Printout
Calculate service enquiry printout dispenser
charges

Charges Request Checks


availability Update Cash Cash
for withdrawal of amount database dispenser
details

Account
info Account
info
Account database

Accounts database

Customer
keypad Screen

Printout
ATM
dispenser

Control Cash
system dispenser

0.0
Reservation Online Reservation
Passenger railway Railway
Card details details details office
reservation
reader
system
Fare amount
1.0

Reservation Passenger
Passenger Processing Passenger database
details request details

Calculated Ra
ilw
fare amount ay
Sta na
tion me
s s
Sea 0.0 Photocopy
t, tim Command for
Cha e
Photocopy Photocopy
rges
av Reservation machine
Suitable Info. ailabilit details
details y

1.1
Confirmation Photocopy
Reservation of Reservation
details Railway office
reservation details
of reserved
seats Invoke
1.1 1.2 1.3
Command for for Paper jammed
Reading Making Diagnose
Photocopy copying
commands copies problem

Invoke input

2.1 Invo
Command for ke
Reading for
Photocopy copy
commands ing 2.2 Copies 2.3 Photocopies
Manage Produce
In done user
vo copying
ke display
pa Pa
pe Invoke pe
r rj
reload am Report
paper m about
ed
problem
diagnosis
2.4
g
Reload rel oadin
paper 2.5
Diagnose
problem
Photocopies
Stop
Reading done
Making
Invoke read Invoke next input copying
input Invoke for
making copy Invoke
reload 0.0
Start Reading paper Display
commands Participates College Program
Invoke and Paper Student gathering gathering
Reload jammed schedule
manage paper system schedule
copying
gets date/ time/
venue
Not jammed invoke next input Diagnose
problem

0.0

Student
Name and Processing Participation Student
participation request info details
info

Checking
availability Program
of timing details info
slot
Temperature 2.0
Patient monitoring Nurse Scheduling Program Display
system for the gathering schedule
schedule
program

1.1
Registering
Participation name, Student
Student
info performing details
Periodically details
Admissible pa Na
Patient reads temperature Patient bounds rti m
ci e
temperature Actual inf pati
o on
temperature 1.2

Cancelling Checking
entry empty
Patient slot
sign
controlling

2.1

Making list Program


Update Updated Warning
of students details info
log data message Nurse

Log Generate Report


update report 2.2
Program Display
Request Preparing
Log gathering
Log report Nurse timetable
Fig. 2 schedule
schedule
data
Car information Reservation no.

Customer Copy of rental


information 0 contract

Reservation no. Car Car key


Customer rental Customer
Rental fee system Car
Reservation no.
1
Car record
Car Car information Reserve
car
Customer Customer
Returned car Payment information
New New
customer reservation
record record
D3 Car master
Service Account
centre department Customer Reservation
D1 D2
Checked car master file

Car record
New
Reservation
customer
record
record

2
Car information
Payment Account
Rental fee department
Rent car
Reservation no.

Copy of rental contract


New rental record
Car key
D4 Rental file
Car

Rental record Car record

Car Returned car


Return Service
Customer car Checked car center
Reading Invalid card
card

Card
read successfully

Reading Invalid Pin


pin
Cancel transaction
Getting
valid pin

Choosing Ejecting
transaction card

Transaction
chosen Performing
transaction Finished
Another transaction transaction

SetTime(t) Door closed


Ready to cook Cooking

Door opened Door closed Interrupted

Alarm Door open


Door open

Timed out

Cooking complete
ATM machine Banking service
Customer

Insert card

Enter PIN Send PIN


Validate
PIN

Display console Return status

When PIN is valid


Amount Info
Enter amount
Check
balance
Return status
If amount < balance
return amount

Display balance

Eject card
ATM machine Banking service
Customer

Insert card

Enter PIN Send PIN


Validate
PIN

Display console Return status

When PIN is valid


Amount Info
Enter amount
Check
balance
Return status
If amount < balance
return amount

Display balance

Eject card
Attendance View attendance
Take attendance
Teacher Maintenance
System
Monthly report

E - mail to student
Photo < Student Name > e - mail
Hotel management system

Please select the desired option


Room reservation

Cancellation

Maintenance

Report generation
Logs in

Make
reservation
Receptionist
Customer
Make
Check for Display Select the payment
room availability status room

By cash By credit
card

Cancel
Reservation
Handles
Registration Hospital database
Patient management Administrator
system
Bill and
discharge
Patient Appointment and Registration Form

Appointment ID Date of Appointment


Registration ID Time of Appointment

Patient's Information :
Name Phone

Address Email

Doctor's Name Medical Test

Type of Patient
(OPD/IPD)

Medical History
(If any)
SUBMIT CLEAR
Name of Medical Store
Registration ID : Date :

Name of Patient : Doctor's Name :

Address :

Phone :

Sr. Name of Qty. Price


No. medicine

1.

2.

3.

4.

Tax deducted : Total amount :

Signature
Mapping of analysis to design model

ts Flow Class-based
m en ori elements
ele en Component
sed  Data flow te
d Flow-oriented Com-
ba  Usecases diagram el level ponent
elements
design

-
 Usecase diagram  Control flow level

r io

em
Behavioral

na
design

en
 Activity diagram diagram elements

S ce

ts
 Processing Scenario-based
 Swimlane Interface
narratives elements
diagram design
Analysis Flow-oriented Interface
 Class diagram model elements design
 State
Behavioral
 Analysis diagrams Architectural design
elements

Cla
package  Sequence
diagram Flow-oriented

sbs
 CRC models elements Architectural

ts
as
 Collaboration Class-based design

en
d Data/class diagram

e
ele m
me diagrams ele elements
nts al
v ior Class-based Data/ class
Beha elements diagram Design model

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Total software
cost

Cost to
integrate
M

Effort or cost
Total number of
modules must be
within this region.
It is a region of
minimum cost

Cost/ module
Region of under - Region of
modularity over-modularity

Number of
modules
 Class diagrams  Use cases  Class diagrams
High  Requirements :
 Analysis package  Use case  Analysis package
Constraints
 CRC models diagrams  CRC models interoperability
 Collaboration  Activity diagram  Collaboration targets and
diagrams  Swimlane diagrams configuration
 DFD diagram  DFD
 CFD  Collaboration  CFD
 Processing diagram  Processing
narratives  State diagram narratives Analysis
 Sequence  State diagrams model
diagram  Sequence

dimension
diagrams

Design class
realizations  Technical
subsystems interface design  Component

Abstraction
collaboration  Navigation design diagrams
diagrams  Design class
 GU design  Design classes realization
 Activity diagram  Collaboration
 Sequence diagram
diagram  Component
diagram
 Design classes
Design
Refined to :  Activity diagram model
 Component  Sequence
diagram diagram
 Design classes
 Activity diagram
 Deployment
 Sequence diagram
diagrams
Low
Architecture Interface Component level Deployment level
elements elements interface interface

Process dimension
Component

Interface

Order Form

Dependency
relation

Mobilephone
Client-PC

Web Web
browser browser

User interface : By this interface user interacts


with the system. For example - GUI

External interface : This is the interface of the


system components with the external entities. Server machine
For example - Networking.
Internal interface : This is an interface which represents
the inter component communication of the system. For Web
example - Two classes can communicate with each other browser
by operations or by passing messages
Function 1 Function 2 Function 3

Decision maker

worker
Client Client
software software

Client Client
software Data store software

Client Client
software software

Filter Filter

Filter Filter Filter Filter Filter

Filter Filter
Pipes

Filter
Main
Fan out

Controller
Filter Filter Filter Filter Filter a b c sub programs

Application
d g k m n sub programs

e h i l o p q

Fan in

f j r

Class name Class name


Filter Filter Client Client A B
software software
Attributes Attributes
Filter Filter Filter Filter Filter
Messages
Client Client Operations Operations
software Data store software
Filter Filter
Pipes
Messages Messages Messages
Filter
Client Client (Parameter
software software passing)
Class name Class name
C D

Attributes Attributes

Messages
Operations Operations
User interface
layer

Application
layer

Utility
layer

Core
layer

Components
performing
various operations
Get student Calling module
details

Final student name


Called module
and marks
Get
employee Flag going from caller to called
details Get fees from
all students
Data going from caller to called
Employee Total for one Total for all
Name student students
Employee Flag going from called to caller Total for one
Valid student
student
D entry made
Employee 10
is valid Data going from called to caller
Calculate total
Calculate fees Calculate total
number of
for one student fees
Find students
employee
name Record
Valid student is valid Total number Total fees
record of students

Get valid student


PRINT
record

Students Field
record valid
Field

Symbol for
showing decisions READ EDIT FIELD

Symbol for showing


ssue tickets to iteration
all passengers

Get Calculate fare Calculate fare Print ticket


reservation for general first for second
details class passenger class passenger
Environment
Interface analysis and
validation modelling

Start of
process

Release
Release
Release

Interface
Implementation
design
User

Interface
design

Aesthetic design

Content design

Navigation design

Architecture design

Component design

Technology
Aesthetic design issues

Layout issues Graphic design


issues

Architecture design

Content Web application


architecture architecture
Web document

(a) Linear (b) Linear with optional flow (c) Linear with diversions
User goes through the
sample pages

Queries << Navigation link >>


Book user Preview book
for book
wants to look inside

User request << Navigation link>>


Controller return to
Behavior << Navigation link >>
view cost main page
request
Web >
browser k> << Navigation link >>
lin Show
Model Database i o n
at ase book details
Data vig rch
Client's machine
Update Na pu
display of << ook
View request B
requested Description
data
in desired
Cart
manner Server's machine << Navigation link >> Table of
content
book purchase
Sample pages

About author
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


while(condition) while(condition)
{ {
Removing of
if condition then statement if condition then statement
else if condition then statement Nesting if condition then statement
else if condition then statement if condition then statement
} }
Things to be tested
Testing Software
strategies Source program
development stages

Interfaces
System Module Local data
testing System engineering to be Generating
structures
Various tested Boundary condition
modules
Validation in program Independent path
Requirements
testing Error handling paths
Test
Integration cases
Design
testing
Unit
testing Code

Driver Interface
Local data structures
Boundary conditions
Independent paths
Module Error handling paths
Results

Stub Stub Stub


Test
cases
Integration testing approach

Non-incremental integration Incremental integration

Top down testing


Big bang
Bottom up integration

Regression testing

Smoke testing M1

M2 M6

M3 M4 M5 M7
M1

D1 D2

Cluster 1

Cluster 2
Statement 1
Sequence
Statement 2

if
True false

If - else

while

True
False While

Case 1 Case n
Case 2
Case
1

bottom > top while bottom <= top


3
I

4 III

a[mid] a[mid]! = key


== key 5 8
a[mid] > key a[mid] < key

6 9 10

II
7
IV

11 regions
Predicate
if node
a>b

T F

temp = a R1 temp = b

if R3
c > temp Predicate
node
T F
R2
return
temp = c temp
if 1
a>b

T F

2 temp = a temp = b 3

The nodes are


numbered it is shown
in shaded form.
if
4 c > temp

T F

return
5 temp = c temp 6

1 2 3 4 5 6
1 1 1 2–1=1
2 1 1–1=0
3 1 1–1=0
4 1 1 2–1=1
5 1 1–1=0
6 2+1=3
1

while
3

if

T 6 F Input set

7 8

Valid input Invalid input


10

System

Output generated
Object Directed link Object
#1 #2
Node
weight
Undirected
link Parallel
links

Object Bidirected link Object


#4 [link weight] #3
factor1 factor2 factor3
Run1 false false false
Run2 true false false
Run3 false true false
Run4 false false true

Variable from Variable from Variable from


second section third section
st
1 section is true is true
is true
Test plan

Test Test Test


suite 1 suite 2 suite 3

Test Test Test Test Test


case 1 case 3 case 1 case 3 case 1

Test Test Test


case 2 case 2 case 2
Integration testing

Thread based Use - based


testing testing

Content testing Interface testing

Independent Dependent User


Navigation
class testing class testing
testing

Interface
design Component
testing
Aesthetic design
Configuration
Content design
testing

Navigation design Performance Security


testing testing
Architecture design

Component design

Technology
Quality of design

Quality of conformance

TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Prevention
cost
Failure
cost

Appraisal
cost
Internal
External
failure
failure
cost
Software Quality Assurance (SQA) tasks are associated with

Software engineers SQA group


(Responsible for developing (Responsible for performing
the product) quality assurance planning,
oversight, record keeping,
analysis and reporting)
FTR summary
Review reporting and report
record keeping
Review issues list
ISO 9000 quality
model

Converted to

Organizational Defines Organizational


quality manuals quality process

Project n
quality plan Works Define Measure Analyze Improve Control
for
Creates Project 3
quality plan
Project 2
quality plan Project quality
management
Project 1
quality plan

Supports
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Source
program

Source Reverse Program Modularized


Original data
code translation engineering documentation program

Data
Program Re-engineering
Program modularization
structure
improvement

Structured Re-engineered
program data
Dirty source code

Restructure code

Clean source code


Process

Extract abstractions nterface

nitial documentation Database

Refine and simplify

Final specification
Need for change

Change request

Evaluation of request

Generation of change report

Decision of CCA for change

Denial of change request Change request accepted


and ECO generated

Intimate user about denial Assign individuals to


configuration object

Check out configuration


objects

Make changes, review them

Check in the object


that have been changed

Perform SQA and testing


activities

Promote changes in next


release

Rebuilt appropriate version

Distribute the new version


1.2 1.3

1.0 1.1 2.0 2.1

2.1.2
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


Testing
Requirement gathering
and analysis Coding Integration
testing
Capture Design Prepare source Deployment
requirements code
Model the Functional
system testing Deployment and
Analyse Review the monitoring
requirements code
User acceptance
Documentation testing
Requirement Perform unit
specification testing
Performance
testing
Define
solution

Assess to
identify Implementation
gap

Development Quality
assurance

Measure
Feedback
benefits

Devops

Operations
Integration System testing
On CI server environment environment
Source code Unit tests, Integration System tests
security tests tests

Release to User Performance


Acceptance
production acceptance and load
tests
tests tests
Pre-production environment Production
testing
environment
Definition

Assessment Implementation

Feedback Measurement

Testing
Requirement gathering
and analysis Coding Integration
testing
Capture Design Prepare source Deployment
requirements code
Model the Functional
system testing Deployment and
Analyse Review the monitoring
requirements code
User acceptance
Documentation testing
Requirement Perform unit
specification testing
Performance
testing

Testing
Requirement gathering
and analysis Coding Integration
testing
Capture Design Prepare source Deployment
requirements code
Model the Functional
system testing Deployment and
Analyse Review the monitoring
requirements code
User acceptance
Documentation testing
Requirement Perform unit
specification testing
Performance
testing
TM

TECHNICAL PUBLICATIONS - An up thrust for knowledge


C1

C2 Client
process

S1
C3
Network

Server
process
C6 S2 S3
C7

C4 C5 C8

Gather requirements
and identify the Search component Select component Validate component
component
ATM
Account server

Teleprocessing Accounts
ATM monitor database

ATM

Client Application Database


server server

Presentation Application Data management


tier processing tier tier
Case Tools

Integration
Environment

Probability Services

Operating System

Hardware Platform

Environment Architecture
User Interface Layer
(Interface tool kit, Presentation Protocol)

Tool Management Layer

CASE CASE CASE CASE CASE CASE CASE CASE CASE CASE
Tools Tools Tools Tools Tools Tools Tools Tools Tools Tools

Object Management Layer

(Integration services, configuration management services)

Shared Repository Layer

(CASE database, Access control functions)

Measure

Change Analysis
Add a test

Succeeds
If test
fails ?

Fails

Write some
production/correction
code

Testing fails Run


all tests

All tests
succeed
Cleanup code and
proceed with it

Repeat if necessary

You might also like