Software Engineering Techmax - Compressed
Software Engineering Techmax - Compressed
Module 1
ee EO ee or La eA
Syllabua: Nature ‘ol Sottware, § sonhware “Engineering, Soltwaro Procoss, Capability Maturity Model (CHM). Genoric Process Model,
\\ Prescriptive Process Models : Tho Waterfall Model, Vemodol, Incremental Procoss Models, Evolutionary Process Models, Concurrent
| Models, Agito process, Agility Principles, Extremo Programming (XP),Scrum, Kanban modol.
{ 1 Sottwaro... Hs
v Syllabus Tople: Nature of Software.
‘ .2 Nature of Software.
1.24 Defining Software...
.2.1(A) Characteristics of Software...
1.2.2 Software Application Doman ...ssscsssesessnsescessssenen’ Ssscaciiaateacatscvesciataetarsnsenenn
nsusseasradsasseatsateasenocsoresseate 1-7
¥ Syllabus Tople : Software Enghnocring «sess nvbavas@eesansaseonanvnyensveapscossbsasssnpvensonssereberaveasstssoaeersas
AT
13 Softwaro Engineering (Dec. 15).
N\ 1.3.1 Layered Approach........
\ 1.3.2 _Activitios of Softwaro Enginooring...cssssscsssseesssen
1.3.3 Noed of Software Engineering ........sssssssss
v Syllabus Tople : Softwaro Process...
14 Software Process (Dec, 15).
1.44 Comparison with Conventional Engineering Process
v Syllabus Tople : Capability Maturity Model
15 Capability Maturity Model
N 1.5.1 Capability Maturity Model Integration
ho ov Syllabus Toplc : Generic Process Model
1.6 Generic Process Model i
¥ Syllabus Tople : Prescriptive Process MOdels . s cs s s srnerseseseansoes
Scanned by CamScanner
142
, 12, XP Values.
Syllabus Top
le; SOM
113 Scrum (Dec, vrs,
v 17)
Syllabus Top
le : Kanban Mo
1.14 del
Kanban Mode
!
1144
Lido
1.14.3
1.14.4
1.14.5
* Chapter Ends
Module 2
Chapter 2: Requirements
Analysis and Modelling
| : Use Cases (UML)
Syllabus : Requirement Elicitation, Software requirement specification (SRS), Developing ML).
Requirement Model : Scenario-based model, Class-based model, Behavioural model.
at Requirement Engineering (Dec. 16) ssssssssssssss
nscccecccsseessnsnesnesnesesteeee
2.1.1 Activities Involved in Requirements
Engineering
v Syllabus Topic : Requirement EVIcitAtiON.......ssssssevssssscssessovsss
ssoseccesscosseesescossssecc ennnsnnntsuseceausocsnsacganessessneeseeeseeess
2.2 Requirement Elicitation (Dec. 17) arerocsnasanerreee nee
e
oneeens oa tebesocaranssenstorse eceeereeese: seseseasersecavsecennaccosscoansconssnasap
23 Requirement Analysis sees avavenveenracssnoesens saeseenanees
tt em neta ete tee ese eeenounenaaenenastaeateneeseneotarsneusenerecnnecas besssenasie
2.4 Types of Requirements
2.4.1 Functional Requirements (Dec. 16)...
.
2.4.2 Non Functional Requirements (NFR) (DOC. 16) .....cssssesssssesssssssssnncsssesesnecsssecsnec
snensessnsnssansen ecsnesveeseascenenasanervseasancenseans -
2.4.2(A) Types of Non-Functional Requirements peneeensreas teen eeessnee tease nesenesssunnaeseerbesesenspessones
Se eewecercoececonseseneaseuosseenecsvacsuepeatersarenersey:
27
28
Scanned by CamScanner
[EP software Engineering (MU - Sem, 6 - Comp) 3
2.9.3 Swimiane Diagrams......
iv Syllabus Topic: Class-based Model..
/ 2.10 Class-based Model... -
‘ 2.10.1 identitying Analysis Classes
C ‘
2.10.2 Specifying Attributes
2.10.3 Defining Operations.......
v Syllabus Toplc : Behavioural Model...
2.11 Behavioural Model..............0000
Scanned by CamScanner
Soe ry IMU = SO6M
= Com sa Lk ounwaro Engineering
.p) ‘
ra 4.10.2(B) Applicat
Syllabus Topic ; TimeLino Charts... 4A0.2(C) User tr
3.8.1 TimeLine Charts occ 4.10.2(0) GUI Im
Syllabus Topic : Eamod Value Analysis 4.10.2(E) User tr
3.8.2 Enmod Valuo Anatysis © Chapter Ends ........
3.8.2(A) — Featuros of EVA cece
3.B.2(B) Noed for EVA... ceceeene —_
ChapterS: Softwar
a |
43 Syllabus
Risk Pre
°
44 Effective Modular Design. Syliabu
wun
4.4.1 Advantages of Modularization _
4.4.2 Functional independence
45 Cohesion (May 15, May 16, Dec. 16, May 17, Dec. 17, nee 18)... es
ee, 4 5a Syilal
ade
Scanned by CamScanner
Chapter5: Software Risk, Configuration Management & Quality Assurance 5-1 to 5-46
Syllabus : Risk Identification, Risk Assessment, Risk Projection, RMMM, Software Configuration management, SCM repositories, SCM
process, Software Quality Assurance Task and Plan, Metrics, Software Reliability, Formal Technical Review (FTA), Walkthrough.
5.1 Risk Management (May 15, Dec, 15, Dec. 16, May 18)....ecsssssccsessscsccsssssssessessesssssssenmisnsevesssasssssnssesssesseeseesesransessnunrannnsneatseneti 5-1
v Syllabus Toplc : Risk ASSCSSMEN...........ecssssssecssssecssescsscsssessesnssasesssnssesaveneonssnssessessnencaneetearenseacensensenscnessarcansacescaesesenseerensaraetsess 5-4
§.2 Risk Assessment... - ies seevnsseeeorer onlineegneqre signs ceva ssncnrq mona erecelOESnn 5-4
v Syllabus Tople : Risk Identification ......ssssssessesseresssssessesersecsssnessascasensnsaressassonscerenstennessetserssnessenees esseseninenereeceessnnentsnnenencnereceen 5-5
§.2.1 Risk Identification ..........cccsccsscsescssssssscscsssssnsssesssersssecssccssscssesssssseorsasceduensassesenarecsesesessnensnencnesssnsenenersseanesnsasseneneaneasenes 5-5
Scanned by CamScanner
a
a ~—vnvspgens =
ine
Hee
es —sasnn stT cae
RES
Softwaro Quality ASBUTRMOD occurrent
5.8
eesni
nrrenet
mmtaatt
rnsrttten n vssveseshovessssectsseesysnnasaesonssennent®5-27
5.81 Comrypenmnernts of SCA SYSor asseresre see nnnrsenemr 828
ually ASSUTEIIOD. ces veeseereereeerserenerees
5.82 Pre-project Software Q
ss
en eme se
rnn ne
mer er
see eeen we 529)
s.....nss.
¥ Sytlnbus Tople : Metric os
rsernessnne
5.8.3 NMieotrins (May TB) ccc sscscsssenssesnssnse a
eneernee
5.8.4 in-process Quality MEtMIOS .svvcecerece 531
5.8.8 Defect Density During Machine Testing «..- nieaeescatetnsenetareTucereentnn
t
eunveuseciaetnet 32
snrnseunenesevesectneenstenusens
5.86 Defect Arrival Pattem During Testi saessnvssess eacgs eecan esstn ansan sanen cste
ssarecersensseenenevensnenssnessestancas 5-42
Phase-Based Defect Removal Patten sesscssessnoreesssncesnsnorcecccensonrearesea
$.87
ore dihin taHidlo tr msiatedsiviitad 5-32
ereenureerenreree seneasanresesssesenedenees iptavusttterctesteweitert erik cd
5.8.8 Maintonance Quality Metrics........ssess 5-33
r
t [GOK saressssenssessonersesnarsssscnsneneesstee
5.8.9 Fix Backlog and Backlog Managemen
BBO Fix QUOT . enes
cr rereeeee
Scanned by CamScanner
‘e c
ae
‘a a
65 Validation Testing, 18
6.5.1 Validation-Test Criteria 618
Testing.....
ting, Softwar; y Syllabus Tople : Control Structure peacouceranssesnnasensnees
rannmnnnnertese easinsese om
.....ssssesssnseesnoreesnereemannema
Control Structure Testing.
&1
Scanned by CamScanner
. 6 - Comp)
ineering (MU - Sem
eer Software Eng rr
Cond itio n Testing.......-eseee
6.10.1
Data Flow Test ing.
6.10.2
Topic:
Sytlabus
eeeeeeee
ing (Dec. 1G) see
6.11 Black Box Test -..
k Bo Testing
x
6.11.1 Types of Blac ..
of Bla ck Box Testing
6.11.2 Advantages g.. .
tin e
and Black Box Testing Techniqu
Tes
s of Black Box (May 15, May 16)
e113 isadvan' an
Di e White Box Testing
Differe
6.11.4
te nance
: Software Main
Syllabus Tople
(May 17).-----
intenance 6-24 Nature of Software, Software En
6.12 Software Ma
nce .------ =
6.12.1 Cost of Maintena ue 6-39 Prescriptive Process Models
re ven
ab us Top ic : Types of Softwa ~
Models, Concurrent Models, Ac
Sy ll . 16) -
-..
e (May 16, Doc
es of So ft wa re Maintenanc 6-43
6.13 Typ e
nennv
s TT enmne
w ren
aanenseene
n e! mneon
twa_re Fre
le : Sof— -engineeing. ee ree
v labus Top
Sylee 7
sasiaer
6.14
erse Engineering.
Syllab us Topic : Rev naneeses
May 18).....-- ceceacensene
v
(May 15, May 16,
6.15 Reverse Engineering
nnannnnneate aaneeee:
Chapter Ends. sesrneennn
«
@ Definition
Computer software,
instructions that tell
built, that actually ;
- In computer
d
processeby
Nae
-— Computer s
7 as online di
- Computer
own,
— At the \
individu
- A mack
chang¢
- Fore
comp
- Ani
:
syst
Scanned by CamScanner
| Introduction
C to Soft ‘ware
Engineering and Process Models
ts 2Emoaui+ e
“Bn | AS
Model,
ity Maturity Model (CMM). Generic Process
Naturo of Software, Software Engineering, Software Process, Capabil
Incremental Process Models, Ev olutionary Process
,Pre neon Process Models : The Waterfall Model, V-model,
' model.
ili Principles, Extreme Programming (XP), Scrum, Kanban
i process, Agility
lodels, . Conc urrent Models, Agile
1.1 Software
ie Marks) |
Scanned by CamScanner
__Introduction to Software Engineeri 085, vy oo a
1-2 and Proc
sotware Engineering (MU- Sem. 6 - Comp)
La
EP
languages th: at are easie® _
_ ‘The majority of software is written in high-level programming
than machine languages
pavor®
\ Infor
use because they are closer local
y
to
more efficient for programmers
Bi
busi
languages. a compiler or an inter?’
roter OF
Pana
1.241 1
\c
application
Fig. 1.1.1: User interaction with
re
Syllabus Topic : Nature of Softwa
. Just like any transport vehicle, softw are can work as the basis for the control of the computer
on and ——
(operating systems), the transport of information (networks) and the Be generati nt
softwar e tools),
of other programs (such as various
Scanned by CamScanner
2c
SSs My,
|f
ag ie, *
Sto ay,
na, % 6 - Comp) 1-3 Introduction to Software Engineering and Process Models,
ta, i [EP sottware Engineering (MU - Som.
important as pect of software. To make any data more useful in a
4
dominant factor.
m works for it in
re was dev elo ped ind ivi dua lly. Now-a-days an entire tea
— Inan earlier era, softwa essary to deliver a
|
pon sib le for one part of the technology which is nec
which every person is res
.
complex application.
;
1.2.1 Defining Software
(2 Marks) |
, sec. 1.2.1)
Q.1.2.2 _ Define software. (Ref
in different ways :
Sy
Software can be defined
Scanned by CamScanner
1-4 Introduction
ing (M
_ gem. 6 - COMP) to Software re &; En
gineer
ea Software En
Se
ics of so
ftware (EP sot
| characterist ——Sa
ered;
re is developed or engine3
" pe manufactured in the Classical sense
2. Softwar
e doesn't “wear out
re _
ilt softwa
3. Custom bu
4, Efficiency
5. Maintainability
, 6. Dependability
of software
Fig. 1.2. 1: Characteristics
is not manufactured in the classical sense
or engineered; it
> 1. Software is developed
software development and hardware
re are som e simi lari ties found jin
Even though the entally different.
bot h the acti viti es are con! sidered as fundam
manufacturin g, >
ufacturing
desi gn is ba se for hig h qua lity, but in the process of man
In both of the activities, good en t in case of software.
in hardware which may not pres
there may be quality problems
there is vast difference in
inent dependency on people but
In both of the activities there is prom
accomplished.
the relationship between people and work
are not
ruction of a “product”, but the perspectives
The main aim of both the activities is const
same.
eres Elaborate tha software characteristic “Software does not wear out”.
(Ret. sec. 1.2.1(A)(2)) (5 Marks)
In case of hardware, the failure rates are high as compared to software early in its life. Such
failures are mainly concerned with design or manufacturing defects. It is possible to correct the
defects and drop the failure rate to a steady-state level for some time period
Scanned by CamScanner
[BP enonsonwara Engineering
(MU - Sem. 5 6 - Comp) i 1 5 Introduction to Software
re EI n ginee
§ ring and Proce
Proc: ss
Models
Nowwe it i Ss clear that there is
i no possibi ility of software wear out but it do es deteri or ‘a te
In 1 it lif e chan
h is an
ge inte; gral part of software, Whenever any change is made, e, thi there : is
i possibilit: y
of introduction of errors which increase the failure
rate.
Before the so: ftware gets consistent state by corrections, ‘
any new chan Be ge { introduced which
again increases the failure rate.
Gradually, the lo west failure
i rate level starts to increase which indicatess that the software ee i
18
deteriorating due to change.
Van, Hence the tasks of software maintenance which handles requests for change has significantly
more complexity as compared to hardware maintenance.
> 4. Efficiency LN
> 6. Maintainability
to fulfill those
cha nge s, pro gra mme rs need to modify the software
If customer requireme nts
requirements. ifying the
abil ity to mai nta in the software throu gh mod
vides the
Software engineering pro
dware.
ng whole product like har
software rather than changi
Scanned by CamScanner
ker Software Engineer
ing (MU - Sem. 6 - Comp
)
1.2.2 Software Application Domain > 4:
ad categories:
: to few bro
7
Virtually on all computer platforms, software can be grouped in
.
Software Categories
1, System Software
ftware
2. Application So
it
3. Engineering Software
0
4. Embedded Software
5, Product-line Software
6. Web Applications
Software {
7. Artificial Intelligence
These are the stand-alone programs which are specially developed for specific business needs.
The Application Software helps to process business or technical data in such a way that it should
be useful to manage business operations as well technical decision making.
With traditional processing applications, one can also use application software to keep control on
business functions in real time.
- These types of saltware are characterized through the “number crunching” algorithms. There
are
aaaier se engineering software in various fields like astronomy, space
shuttle orbital dynamics,
automotive stress analysis, automated manufacturing, molecular biology etc.
~ However, there are drastic changes in modern applications within the engineering/scientific area
as they are shifting from traditional numerical algorithms.
Scanned by CamScanner
[EP software Engineering (MU - Sem. 6 - Comp) 1-7 _Introduction to Software Engineering and Process Model iS
= 5. Product-line software
—— Scanned by CamScanner
7
‘
iS
7
Ed
m. 6 - Comp) 1-8 Intr i
‘oduction to Software Engineering and process moc
ering (mu - Se
ef Software Engine structures which allow proB™
axoB
progral m code; it also includes data
es
more than just a nee the
Software is producterswhich def? .
mation, and documentation related to software puild
to manipulate info wa re en gi ne de si gn a?
is so ft wa re . So ft
the user to use th
dance for
functionality and gui
the software product.
to develop products.
@ Engineering
edge and well defined principles
ion of knowl
is an applicat
Engineering
ering
Software Engine
ng scie ntif ic and tec hno log ica l kno wle dge , procedures, and rules ta
eee she methodtwaofreapplyiuct,
+
oo is
5 sof prod
Atay
es
intaining
ma
Definition? de© veloping, testing and
@
ap pr oa ch to de signinenig, g, it pr od uc t re fe rr ed as software
and ad mi ni sts’ratw
re
equirements with best qual y of
jen tif ie, a cu st om er
i technologicai l, scte!er to meet
Applying
in ord
the software product
engineering.
ware Technology
Fig. 1.3.1 : Layered Approach of soft
1. Aquality focus
2. Process
Foundation for SE is the Process Layer.
SE process$8 is the GLUE
: that holds all the technology layers together and enables the tir
development of computer software.
- It forms the base for management control of software project.
Scanned by CamScanner
ay
< Softw. Engi
Softwa
: are & ng worn
rit a (MU = SsSen,
Se 6 = CS comp)
Pp ~9
1-9 Introduction to Softwar
t e Eng
Hglneoring33} and 1 Procosa
Procesg Mode! \) is
3 Methods
SE
SE me
methods a
provide the weyTechnical
: Questions" Software,
for building Soft
4. Tools
ws
SE tools prov ri ide automated or semi eS automated support for the "Process" and 4
the ethods",
"Met
ng
1.3.3 Need of Software Engineeri
; (2 Marks) |
neering. (Ref, sec. 1.3.3)
Q.1.3.5 Explain need of Software Engi
king
environme nt on which software is wor
tec hno log y cha nge s, the user requirements and
As the ples used
ran ked bas ed on the software engineering princi
anization is
also changes. So every org
by that organization. ic method to
of sof twa re, pr og ra mmer requires 3 specif
ging large size
Implementing and mana the software quality. Sof
tware
re can 't h arm
so tha t size of softwa
modularize the tasks x sof twa re systems with high qua
lity.
co mp le
ogy for impleme nting
engineering Pp rovides methodol product and
, it is dif fic ult to address de fects in the
ment
d method or manage
Without any sta ndar pr ovides this functional
ity.
wa re En gi ne er in g
correc t them as
early as possible. Soft of time to
on al it y re qu ir es more cost in terms
d new func ti
end ing the pr ev ious software to ad ve lo ping new software
to
Ext the pr oc es s of de
en by peo ple, as compare to can be
develop and eff ort s tak in wh ic h software system
a wa y
ity. Soft ing provides
ware engineer
prev ide that functional
needed in future.
able to scale as
Scanned by CamScanner
DSS} En BAA
ware from
anaging the creation of soft
selected process typically involves
a. process 18is the .
A software engineering leas e of the fine
tion to the. re
customer initia
as
methods such
ement gathe
(i) Requir
anal ys is
(ii) Design __
tion
(ii ) Implementa
process
re engineering
Fig. 1.4.1: Softwa
software.
in order to develop
:
se qu en ti al fl ow
cle follows the points +
The software life cy cl e in detail in subsequent
of thi s lif e cy
every stage
We will see each and
ing and analysis
(i) Requirement gath er s te m users to gather the
business
custom er an d sy
communica te with stem? What should
In this phase stakeholders us er wi ll in tera ct with the sy
How
will use the sys tem?
requirements like who
output? etc.
be the system input and is prepared.
ir em en t Sp ec if ic at ion Document (SRS)
irements, Requ
— Depending on these requ
°
(ii) Design icat
req uir e me nt ga th er in g ph ase i.e. requirement specif
output of
This phase makes use of
document as an input.
tware design is prepared.
Based on requirement specifications sof
atio n whic h spec ifie s har dwa re and software requirem
Output of this phase is design spec ific
of system.
ication document.
Data Flow Diagram, flowcharts etc. are included by design specif
Design specification acts as an input for implementation phase. :
Scanned by CamScanner
eer? Softwaro Engineering (MU - Sem. 6 - Comp) 1-11 ___ Introduction to Software Engineering and Process Hertel,
eee
Scanned by CamScanner
Models
g and Process
keep Softw,
= are Engine_ to So ft
a ware Engineerin
@ | IE
ering (MU - Sem. 6 - Co Introduct ion &) S
mp) ie
— Followi
‘wing steps are mostly repetitive :
1. Problem formulation, ”
2. Problem analysis,
3. Search for alternatives,
4. Decision,
5. Specification,
Scanned by CamScanner
er Software Engineering
(MU - Sem. 6 - Comp)
1-13
Introduction t 0 Software
Engineerin ig and Process
Mod, els
Syllabus Topic :Capability
Maturity Model
la. 1.5.
5.1 Write note on Capability
i Maturity
i Model (CMM).
| (Ref. sec. 1 -5)
(10 Marks) \
The Capabilit;
pability Maturity
i Model (CMM) invented
i by Software: Engineering Institute (SE
growing sequence of levels of a software development organization
iene
The hiigher = level, the better the software development procedure so reaching every level i
cost consuming and time consuming procedure. —s
e Capability Maturity Model (CMM) is a mechanism used to create and refine software
creation procedure of organization.
The CMM is same as ISO 9001, one of the ISO 9000 sequences of standards determined by the
' International Organization for Standardization (ISO).
The ISO 9000 standards state an efficient quality system for manufacturing and service
1 :e
Lev tial
Inil
1. ally chaotic.
is st at ed as in co ns istent and occasion
ure .
This software proced es en t ar e di sc ar de d at the time of crisis
ices that pr
and standard pre , capacity, and he
roics.
Stated procedures ef fo rt s ta ke n by each person
depend s on
cc es s of th e as sociation mainly dg e or lessons learnt with
them.
Su th ei r kn ow le
othe + associat
ion taking
ve on to an
Th.e heroes mo
Scanned by CamScanner
s MOGs
ering and Proces
EP5,
SS_LOftware Engineering (MU
- Sem. 6 - Comp) 4-14 _Introduc tiO ? to Sortware engine
project - ch
2. nsistent
. Level 2: Repeatabie fandamental and co 1L.
At this level, association set a quantitativ' ¢ quality aim for both software
5. Level § : Optimizing
improving procedure
=
- he Capability Maturity Model Integration (CMMI) project was formed to sort out the problem of
using multiple models for software development processes, thus the CMMI model has superseded
the CMM model, though the CMM model continues to be a general theoretical process capability
model used in the public demain.
Scanned by CamScanner
tent,
Oj Sey =e on
AS Styrene FE rgerveserrieny (MM) « Sewn A Ocerrm
leirihitnn tp Sotwars tramaret Pon
ation t
extend CMM
~ Itis also possible to ‘ 7
I frame te it
ework by making addition of model component
|
j
ay
*hroug,
'
softwar,
titative
Scanned by CamScanner
EP scmeare Engineering (MI < Rem 6 - Comp) 16
Analysis enables the designer to identify the software’s function and performance. Also where the
customer is not sure about how the system will eventually behave; the analyst may discover the
concept of a prototype.
Scanned by CamScanner
_
oe
a
(y ‘| Software Enginoering (MU - Sem. 6 « Comp) 1:17 Introduction to Software Engineering and Procesa Moralsmy
A model of the software's functionality and behavior in the form of ‘data flow / UML diagrams’
t and, where suitable, any performance and data considerations, any input/output details ete.
~ The results of any prototyping so that the emergence of the software and how it should behave
can be exposed to the designer. This might contain a user's manual,
~ Any test data that may be used to find out whether the end product is build according to the
agreed specification or not,
The Fig. 1.6.1 illustrates the activities that are sum-up by the analysis.
Software Requirements
ae project Review analysis or
planning prototyping
Project plan
Prototype Requirements
specification
When the analysis of the system has been completed, design or development can start. This is an
attempt to convert a group of requirements and program/data models that are specified in the
“requirements document” into a well-organized, designed and engineering software solution.
Design can be best summarized with the help of following steps :
~ The data flow / UML (Unified Modeling Language) diagrams that signify the system model are
transformed into appropriate hierarchical, modular program and data structure/architecture.
- Every program module is transformed into a correct cohesive function subroutine or class that is
designed to do an individual task which is well-defined.
- Design further focus on the implementation of individual module/class. The user interfaces of
module and its communication with other modules/objects is also considered and evaluated for
good design.
- The algorithm of module can afterwards converted into a flowchart, which is a step-by-step
graphical representation of the actions which are held by the module demonstrated in terms of
sequence, selection and repetition.
~ The flowchart can then be converted into Pseudo code, which conveys the same information as a
flowchart, but presents it in a way that is more acceptable to translate into program code.
Scanned by CamScanner
J Sottwenre Prginanting (Mi. Seen 9. Cop)
1.18 temnetantion te Gommara ENgresnd
2 —
Oe
‘ is
ets
pian mins
pis ready fo ir
~ Al the end, the Porude cade for every‘ meslule fa cerrwerted inte & anlerted pease
: «
and the number of modules entered are compiled and integrated into 4 ayntem 7 1.7
charts, nena
testing.
etrt scturet>
the architecture, data
~ The final result of design o nd coding contains
dapicted below-
m fet ree code lietings,
Peeudo code, algorithms and all progra
| oe
j
| im Program source
entation (Coding)
specification Fig. 1.6.2: Design and Implem
_—
(5) | Deployment
nt site. This process is
After completion of software development, we have to install it at clie
known as deployment.
Software maintenance reapplies all of the previous life cycle steps to an existing program instead
of a new one in order to correct existing or insert new functionality.
Scanned by CamScanner
iy a} Sottw are Enginnoring
Inmet (MU « team
& 6 = Comp) 1-19 Introduction to fothwara Enginaering and Pre in
: 04% Ve seheaby
Syllabus Toplo ; Prescriptive Process Modela
3. Modelings
4. Construction
5. Deployment
- The name 'prescriptive' is given because the model prescribes a set of activities, actions, tacks,
quality assurance and change the mechanism for every project.
insides of 4, Waterfall model is the first approach used in software development process.
It is also called as classical life cycle model or linear sequential model.
— In waterfall model any phase of development process begins only if previous phase is completed.
~ Requirement
Analysis |
t of softwa
Implementation
Verificatiori/Testing |
Scanned by CamScanner
ie
Es se
ee F euptmmenririn (WALI - Renee, . Cusnne
to ensure,
ed against requirements of useT in order
*Wersieation “resting js verified a8
- Here coding or job done by developer
. * © ments 0 f user.
that software will satisfy all business oe loyed at user’s site for their use.
. . are is deploye
~ After the successful verification softw
ai
Scanned by CamScanner
“
™~
i j Somware f eeneeting (MU « Sem. - Corn) " 1-31 Pritenehuvetiowy fey Sestiware . EngineeringAe | orand Process. Models
a ’
Technology is understand
1.7.2 V-Model
Instead of moving down in a linear way, the process steps are bent upwards after the coding
i
The V-Model demonstrates the relationships between each phase of the development life cycle
and its associated phase of testing.
right) and level of
The horizontal and vertical axes represent time or project completeness (left-to-
abstraction respectively.
Scanned by CamScanner
eSs Mor,
frware Engineering And FIOC
,
EP sotware Engineering (MU - Sem. 6 - Comp
1.7.2(A) Verification Phases
Phases
Verification
sis
ent Analy
1 Requirem
\i i
2, System Design
re Design
g, Architectu
7. Module Design
ficati on phases
Fig. 1.7.3: Veri
p ‘0ce:
e ve:
h
, Hi .
requirements of the system are collected by an Lowever UE doy
the ideal syste m has to perform.
This phase is concerned with establishin: g what 5
be designe d or built.
not determine how the software will ocument j
and a docu ment called the user requirements
interviewed
Usually, the users are
generated.
interfay
document will typically describe the system's functional,
The user requirements by the user.
etc. requirements as expected
performance, data, security,
system to the users.
busi ness analy sts to comm unic . ate their understanding of the
It is used by
eline for th
y revi ew this docu ment as this docu ment would serve as the guid
The users carefull
e.
system designers in the system design phas
in this phase.
The user acceptance tests are designed
g requirements of both soft and hard methodologies
There are different methods fo r gatherin
analysis, observation, throw-away prototype
including; interviews, questionnaires, document
use case-and static and dynamic views with users.
System Design
e and understand the business of the
Systems design is the phase where system engineers analyz
proposed system by studying the user requirements document.
ted
They figure out possibilities and techniques by which the user requirements can be implemen
informed regarding the issue. : A resolutia
If any of the requirements are not feasible, the user is according
document is edited ly.
is found and the user requirement
The software specification document which serves as ‘ it
a bl
ueprint for the development phase!
generated.
em organizati
This document contains the general syst rganization, me
data structures ett.)
le windows, reports Go then
may also hold business scenarios, samp r understanding.
Scanned by CamScanner |
EF sottware Engineoring (MU - Sem. 6 -Comp) 1-23 _ Introduction to Softwara Enginooring and Process Models
- Other technical documentation like entity diagrams, data dictionary will also be produced in this
phase. The documents for system testing are prepared here.
- This phase of the design of computer architecture and software architecture can also be referred
to as high-level design.
- The baseline in selecting the architecture is that it should realize all which typically consists of
the list of modules, brief functionality of each module, their interface relationships, dependencies,
database tables, architecture diagrams, technology details etc.
=~ 4. Module Design
- The module design phase can also be referred to as low-level design. The designed system is
divided into smaller units or modules and each of them is explained so that the programmer
should be able to start coding directly.
- The low level design document or program specifications will contain a detailed functional logic of
the module, in pseudo-code :
o Database tables, with all elements, including their types and sizes.
o All interface details with complete API (Application Programming Interface) references.
Validation Phases
1. Unit Testing
2. Integration Testing
3. System Testing
In the V-model, each stage of verification phase has a corresponding stage in the validation
phase.
Scanned by CamScanner
I. = UTP) amma
Se
2. Integration Testing
1.8
re Incre
ee menta l Pr
Pr
Integration Test Plans are developed during the Architectural Design = me nt al
Scanned by CamScanner
@ Disadvantages of V-model
2. The development of software is done in the implementation phase hence no early prototypes
regarding the software are produced.
8. If there are changes in midway, then there is need to update the test documents along with
requirement documents.
Q.1,8.1 Discuss incremental model for software development with merits and demenits.
(Ref. sec. 1.8) re
- The incremental model applies the waterfall model incrementally.
- The series of releases is referred to as “increments”, with each increment providing more
functionality to the customers.
- After the first increment, a core product is delivered, which can already be used by the customer.
- Based on customer feedback, a plan is developed for the next increments, and modifications are
- made accordingly.
- This process continues with increments being delivered until the complete product is delivered.
The incremental philosophy is also used in the agile process model.
2. Planning : Required as many people (software teams) work on the same project but different
functions at same time.
3. Modelling : Involves business modelling, data modelling, and process modelling.
4. Construction : This involves the reuse of software components and automatic code.
Scanned by CamScanner
-
ee poo
are Engineering and Process Mod,
Software Enainceri . 4-26 _IntroductiC’
=—=— nginesring (MU - Sem. 6 - Comp) er Software Engine
2 communication
Hi Pianning
ert #7
| Modelling(analysis, designs) oor
s @ Construction(code, test) pelivery of 3” increment
2] [il Deployment(delivery, feedback) °
S °
5 Increment #2 °
— 1.9 TT
Evolu
Project calender time
- Nor
Fig. 1.8.1 : Incremental Model gro
ai
= Advantages of Incremental Model \
1, After each iteration, regression testing should be conducted. During this testing, faulty elements im
of the software can be quickly identified because few changes are made within any singk -D
iteration. is
2. It is generally easier to test and debug than other methods of software development becaus: - 7
relatively smaller changes are made during each iteration. This allows for more targeted and
rigorous testing of each element within the overall product.
3. Customer can respond to features and review the product for any needed or useful changes.
4. Initial product delivery is faster and costs less.
Scanned by CamScanner
ee
cess Models
Syllabus Topic : Evolutionary Pro
1. Spiral Model
2. Prototyping Model
Q. 1.9.1 With aneat diagram explain the Spiral model of software development.
: (Ref. sec. 1.9.1) ' : (Dec. 17/10 Marks
Scanned by CamScanner
wary Uy = OUT. UO «LOM
1-28
1. Identification
ma
3,Evaluation and .Construet
3
Risk Analysis
(ii) Design
(iil) Construct
Scanned by CamScanner
(ey Software Engineering (MU - Som. 6 - Com; 1-29 Introduction to Software Engineering and Process Madals
(iii) User can see the system from 1" iteration to end of development.
1Q. 1.9.2 Discuss prototyping model for software development with merits and demerits,
(Ref. sec. 1.9.2)
- Prototyping model refers to developing software application prototypes (early approximation /
version) which displays the behaviour of product under development but may not actually contain
the exact logic of the original application.
- Prototyping allows user to evaluate developers’ proposal and try it before actual implementation.
— Prototyping model is widely used popular software development model as it helps to understand
user requirements in early stage of development process.
f Requirement gathering
. and analysis
Quick design
User
evaluation
)
Fig. 1.9.3 : Prototyping Model
Scanned by CamScanner
oF
software ENg ineering and Procoss ty,OMG,
a Softwara Engi
Ngineering (MU -. Som. 6 - Comp) Introducone
1-30
By i
, Software Engineering 19
Quick Design
totype design)
i of synten, ; 7 Advantages
~ After gathering and analysis of user requirements quick design (prototy! ™ jy tages of pr
ve ig and analysis of user re
Gi) It enables es
leveloped,
ly necessary characteristics of the development
= : rg : , + jt contains on
Quick design is not detailed design of system; i (i) Refining of y
system which gives basis idea of system to the end users. i
(iii) Communica’
Git) Build prototype
the first prototype ofsyste (iv) More involy
: . tem
- Based on feedback received from user about quick design of system, greater exte
is created. © Disadvantages.
— Prototype is working model of system under development.
Ancona
(iv) Use Evaluation
9.19.3 Vihar
tem for its evaluation.
- Once prototype is built, proposed system is presented to end user of sys (i) Refining of
- User determines strengths and weaknesses of prototype ie. what needs to be added or what is, expensive |
be removed. (ii) More invel
— All the comments and suggestions given by user in feedback are passed to developer. (iii) Refining of
(v) Refining protot (iv) Practically
; eae extends be
— Depending on comments and suggestions came from user, developers refine previous prototype to ‘rupeiselanesinsneeaieemneniacae
form new prototype of system. saeco
- Ne to} i in evaluatedjust like ious prototype.
ow peotutype
is again evaluated just like prévions p = 1.10 Concurrer
— The process of evaluation and refining prototype continues until all user requirements are met by rs
prototype. fa. 1.10.1 Wi
(vi) Engineer a product
- Once evaluation. and refining of prototype completes i.e, when user accepts final prototype of
system the final system is evaluated thoroughly and deployed at user’s site.
- Deployment of engineered product is further followed by regular maintenance of
system.
When to use Prototype model
- It might take a while for a system to be built that allows ease of use and needs minimal traini
minimal training
for the end user.
Prototyping ensures that the end users constantly work with the
. system : and provide
i a feed! back
which is incorporated in the prototype to result in a useable system
They are excellent for designing good human computer interface systems
Scanned by CamScanner
[2 sottware Engineoring (MU - Sem. 6 - Comp) 1-01 — Introduction to Software Eng inoring and Process Models
(i) It enables early evaluation of system by providing working mode] to end users at early stage of
development.
(ii) Refining of prototype results in better implementation of system requirements.
Q. 1.9.3 Whatare the potential problems of Prototyping Model ? (Ref. sec. 1.9.2) PER IAELIC
(i) Refining of prototype continues until user is completely satisfied, thus it is time consuming and
expensive process.
(ii) More involvement of user in development process is not accepted by developer always.
(iii) Refining of prototype again and again may disturb the working of development team.
(iv) Practically prototyping model results in increasing the complexity of system as scope of system
extends beyond original plan.
Q. 1.10.1 Write note on Concurrent Models. (Ref. sec. 1.10) ; (10 Marks)
Modeling activity
ey
Under : Represents the state
development of a software engineering
activity or task
Under
revision
Baselined
Nase ; : J
Scanned by CamScanner
on to S oftwa
re Engineering and Process Mor,
le Software Engineering (MU - Sem. Introducti
6 - Comp) ng.
is engineeri
current
The concurrent development model is: also know? as c on . we t
fiterative 45 1] as concurren elemey,. |
This model helps software team in the representation 9
various process models. fined for the spiral model igcary,
ich has been de 2 ‘ ty
4
Fo r example, considi er the modeling
i iv y which ha
activit prototyping, analysis, and desig,
uch 068
out by calling one or more software engineering actions § og a software engineering Actiy;
In Fig. 1.10.1 we: can observe schematic representation re
‘ rr modeling approach. " 7 Agil
gue so
in the scopepe of tt he modeling
oH ‘ vity with the help of concu
activity .
re noted : at any particular ting a
’ The state of activity modeling may be any out of the
states which
g activi ties, actions, or tasks sua, % function:
In the same way, it is possible to re present remainin
communication, construction etc. in an analogous manner. . sly but
All the activities regarding software engineering are executed simultaneously but exis,exj ; oo improve
ae
Because of it the event analysis model correction, is generated that will activate the requirements
analysis action from the done state into the awaiting changes state. : 3
Concurrent modeling is proved to be compatible for all the types of software development ant S
offers an exact picture of the ongoing state of a project. - As)
Instead of encircling all the software engineering actions, and tasks to a series of events, # o
process network is defined by the concurrent modeling.
All the activities, actions, or tasks on the network execute concurrently with other activities : °
actions, or tasks. -
In the process network, events which are generated at one point activate transitions between tl? °
states.
> (MU (mu- May 15, Dec. 15, May 16, Dec. 16, May
17, May1
Q. 1.11.4 What is Agile Methodology ? (Ref. sec. 1.11)
Scanned by CamScanner
j
“ S
POCO, Mog
eR
Scanned by CamScanner
ess Mods,
ware Engineering and Proc
et Software Engineering (MU - Sem. 6 - Comp) introduction 12So ——S
1-34 ay Software Engineering |
rinciples <= SESS ee
Close, daily cooperation between business peopl le and developers. Examples Wat
should be trusted.
Projects are built around motivated individuals, w!who
ication (co-location).
Face-to-face conversation is the best form of commun
Scanned by CamScanner
LE sonware Engi
neering (MU - Sem. 6 - Com Pp)
1-35
1.11.3 Difference betwee troduction to Sof
tware Er gir eor
n Prescriptive Pr ing and Procasa Model:
ocess Model and ‘3
Agile Procesg Model
ae | Prescriptive Proces
s Model
Basic aim Agile Process Mod
Developed to bring el
order and structure
to the software deve | These models satis
lopment Process. fy customer through
continuous delivery, early and
:
Functionality | It
can —_ accommodate Pe
changing | Defines a
requirements distinct set of activitie
s, actions, tasks,
milestones, and ‘work
products that are req
uired
to engineer high-qual
ity software.
It is more Popular.
Comparatively less pop
ular.
Water fall model, Inc
remental models | Scr
um, eXtreme Progra
mming (XP), Feature
Driven Development (FD
D), Dynamic Systems
Development Method (DS
DM), Adaptive Software
Development (ASD).
Release Plan
Months
Iteration Plan
Weeks'
Acceptance Test
Days
Stand Up Meeting
Ona Day
Pair Negotiation
Hours
Unit Test
Mi
Pair Programming
Code
Scanned by CamScanner
Engineerin gq and Procoss Modo,
ction 10 software «+ short devel
S Oftware Engineering (MU - Sem. 6 - Comp) 1-36 Introd! ent “releases” in sho ve OPMeny
er Softy
: cates freq checkpoints at which ney
— As a type of agile software development, it ee and introduce > 2
cycles, which is intended to improve productiv . tens} /
. d -. naira or doing extensive Coq 7
customer requirements can be adopted.
mming in P
— Other elements of extreme programming include
a : of features until
i] they are actually neeq ‘
a in the custo, td _
Teview, unit testing of all code, avoiding programming . ec! ting change mer,
: Jarity, ©XP uent communica):
a flat management structure, code simplicity and het understood, and freq Mating
requirements as time passes and the problem is ne
with the customer and among programmers.
— The methodology takes its name from the ide a that the benefi
" cial elements of traditional softy, =
. * . “extreme” levels. i trem
SOR Peary yraceates Ste: (akan 0 <e inl practices taken to thé extreme, code Cay
- Asan example, code reviews are considered a benefici
. of pairi progra mming-
be reviewed continuously, i.e. the practice .
1.12.1 XP Values
. icati .
. unicati on, simp}; ~
- Extreme programming initially recognized four values 19 , on
mreond edition ‘of a
feedback, and courage. A new value, respect, Was added in the
™ E
Programming Explained. Those five values are described below.
XP values
1.Communication
2. Simplicity
3. Feedback
1. Communication
Scanned by CamScanner
ler Software Engineering (MU- Sem. 6 « Comp 1-37 Introduction to Software Enginaering and Protigg Modols
> 2 Simplicity
- Extreme programming encourages starting with the simplest solution. Extra functionality ca.
then be added later.
- The difference between this approach and more conventional system development methods is the
focus on designing and coding for the needs of today instead of those of tomorrow, next week, or
next month.
- This is sometimes summed up as the "You aren't gonna need it" (YAGNI) approach.
- Proponents of XP acknowledge the disadvantage that this can sometimes entail more effort
tomorrow to change the system; their claim is that this is more than compensated for by the
advantage of not investing in possible future requirements that might change before they become
relevant.
- Coding and designing for uncertain future requirements implies thé risk of spending resources on
something that might not be needed, while perhaps delaying crucial features.
- Related to the "communication" value, simplicity in design and coding should improve the quality
of communication. A simple design with very simple code could be easily understood by most
programmers in the team.
> 3. Feedback
o Feedback from the customer : The functional tests (aka acceptance tests) are written by .
the customer and the testers. They will get concrete feedback about the current state of their
system. This review is planned once in every two or three weeks so the customer can easily
steer the development.
o Feedback from the team : When customers come up with new requirements in the
planning game the team directly gives an estimation of the time that it will take to
implement.
Feedback is closely related to communication and simplicity. Flaws in the system are easily
communicated by writing a unit test that proves a certain piece of code will break.
- The direct feedback from the system tells programmers to recode this part.
A customer is able to test the system periodically according to the functional requirements,
known as user stories.
extreme programming),
As per Kent Beck (American software engineer and the creator of
“Optimism is an occupational hazard of programming. Feedback is the treatment”.
=> 4, Courage
Several practices represent courage. One is the commandment to always design and code for
Scanned by CamScanner
Process Modes,
frware Engineering and
IF sotvare Engineering (MU - Som. 6 - Comp) 1-38 Introduction to So! f£ effort to imp]
1g Jotof effo mMpleme ef
- This is an effort to avoid getting delayed in design and pee. refactoring their code x, KE) Software Engineer
1 a
} of that is obsolete, no matter how much effort was used to crea Product ¢
uck on a complex problem for ,,
. . a progr .
- Al So, courage means persistence: ammer might benasil
st if they are persistent.
entire day, then solve the problem quickly the next day, bu
> 5. Respect
j
self-respect.
respect for others as well as
- The respect value includes ting unit-tey,
ation, that make exis
Programmers should never commit changes that break compil:
fail, or that otherwise delay the work of their peers.
Members respect their own work by always striving for high quality and seeking for the bez
design for the solution at hand through refactoring. ‘
i|
from others in the team.
| fi — Adopting the four earlier values leads to respect gained
a high level of motivatin
Nobody on the team should feel unappreciated or ignored. This ensures The wi
the project.
and encourages loyalty toward the team and toward the goal of tailore
teamwork.
This value is dependent upon the other values, and is oriented toward
1.13 Scrum
> (Mu-Deec.i
Q. 1.13.1. Write short note on SCRUM. (Ref. sec. 1.13) SPR TART
~- Scrum is an agile framework for managing knowledge work, with an emphasis on softwa
development. It is designed for teams of three to nine members, who break their work: into actss
that can be completed within time boxed iterations, called "sprints", no longer than one ord
and most commonly two weeks, then track progress and re-plan in 15-minute stand-up meetis# Ser
called daily scrums. , for pro
proces:
Scrum principles are mostly based on the agile manifesto and help to guide activities regal
development inside a process which includes framework activities such as requi: irements
nts, anal — Bi
OW
Scanned by CamScanner
a \
IP sottware Engineering (MU - Sem. 6 - Comp 1-39 Introduction to Software Engineering and Process Models
et
Stakeholder liaison
o
oy
Development team
Potentially
i= ~ Sprint , _ _teleasable
planning backlog i increment 3
Scanned by CamScanner
Pr: ae
= When 1
d e aviroe
sinble
wedst gta ntly basis by \
onmedai
), ‘ massiv'
ey Ss oftware Engineering (MU - Sem. 6 - Com cted °
rms Tocom
jtems)
. ions (such as backlos work! yin 0 SPO a inp? cond¥ ™ ust be answered hy a _—
- Modificat int to WOF p pinutes) moe t?
re asked and pass a |
all owe d by the sp ”
members are 4 When:
gies ‘ons whic _
are short (usuallyt key quest
- Scrum meetin
— . the w4
importan
Scrum team. Three most ootif g? : on.
: - |
team members are
last tea™; - Lo
1. What did you do since the and evaluates 4,
an
ext te meating meeting ‘ factor;
teriné
9. What obstacles are you encoun ter, pandles
accomplish ny master,
What do you plan to ~The
warel
cover critical issues as early ,,
3,
, ® |
_ A team leader, who is known a8 -. that it: can up "just I
person.
responses from each -alization” and thNy
tea™ r
Scrum meeting to the wiedge gocl
Kanbi
The important use of 1.14.1
\
—_ ,
Jeatl\ °
tings is that they
ly mee An! - Agile
customer) 60 that the nev}
e these dai
One more benefit of sid e mate!
_
ucture. the e client
encourage a self-organizing team str : rement at nas evel .
tomer. by the cus _ This
Demos - implement the software inc as ed fanction: ality,
but i
throt
_ as We: .
fun cti ona lit y can be demonstrated tai n.
developed to 0 ated sime-boX.
le tha t the dem o may not able — Wh il
_ Tt is also possib SS
h _—ee
rro—
softs
such functions whic within the
estat
—
“ " aes
Mod 4
———<anban - Inp
F
und
CC
tic etal - Unl
2 nn
ae (10 Marks)
1.14) _ ca
el in detail. (Ref. sec. nee
Explain the Kanban Mod requires real
Q. 1.14.1
lem ent agi le sof twa re development. It
mework used to imp
_— Kanban is a popular fra . ; 1.14.2 Kar
n of cap aci ty and full tra nsparency ofwork| ,
time communicatio
members to see the state
are rep res ent ed vis ual ly on a kanban board, allowing team - Th
_ Work items
e.
of every piece of work at any tim the kanbas
op
am on g today's agile . software teams, but
usl y pro mini ent - w
- Kanban an isi enormo
n 50 years. i
methodology of work dates back more tha af
eri n
ineeri »
In the late 1940s Toyota began opt
i engine
imizing g its the same mode
_
the ir she lve s. ig processes based on
using to sto ck
that supermarkets were - R
ducts to meet consurner d :
— Supermarkets stock just enough pro imiz v
emand, a practice that opt
arket and the consumer.
the flow between the superm i
match consumption petite
Because inventory lev els
Ts , gains significa mY
_
i ency ina inventory management by decreasing the ame . supermarket
effici nun of excess stock it must hold at c
:
given time. Meanwhile, the supermarket e can still ensure th
i at the given
giv. product msumer ne
Scanned by CamScanner
GB) software Engineering (MU - Sem. 6 - Comp) 1-41 — Introduction to Softwara Engineering and Process Models
— When Toyota applied this same system to its factory floors, the goal was to better align their
massive inventory levels with the actual consumption of materials,
- To communicate capacity levels in real-time on the factory floor (and to suppliers), workers would
pass a card, or "kanban", between teams.
- When a bin of materials being used on the production line was emptied, a kanban was passed to
the warehouse describing what material was needed, the exact amount of this material, and go
on.
— The warehouse would have a new bin of this material waiting, which they would then send to the
factory floor, and in turn send their own kanban to the supplier.
- The supplier would also have a bin of this particular material waiting, which it would ship to the
warehouse. While the signaling technology of this process has evolved since the 1940s, this same
"just in time" (or JIT) manufacturing process is still at the heart of it.
- Agile software development teams today are able to leverage these same JIT principles by
matching the amount of work in progress (WIP) to the team's capacity. é
- This gives teams more flexible planning options, faster output, clearer focus, and transparency
throughout the development cycle. , ;
- While the core principles of the framework are timeless and applicable to almost any industry,
software development teams have found particular success with the agile practice.
- In part, this is because software teams can begin practicing with little to no overhead once they
understand the basic principles.
— Unlike implementing kanban on a factory floor, which would involve changes to physical
processes and the addition of substantial materials, the only physical things a software teams
need are a board and cards, and even those can be virtual.
- The work of all kanban teams revolves around a kanban board, a tool used to visualize work and
optimize the flow of the work among the team.
- While physical boards are popular among some teams, virtual boards are a crucial feature in any
agile software development tool for their traceability, easier collaboration, and accessibility from
multiple locations.
- Regardless of whether a team's board is physical or digital, their function is to ensure the team's
work is visualized, their workflow is standardized, and all blockers and dependencies are
immediately identified and resolved.
- A basic kanban board has a three-step workflow: To Do, In Progress, and Done. However,
depending on a team's size, structure, and objectives, the workflow can be mapped to meet the
unique process of any particular team.
Scanned by CamScanner
Bs. cttware Engineering ron to Software ENgiNeor ing
i and Process
Model.
SSILIMU- Som.6- Comp)
i ¢ 1-42 no
The kanban methodology relies upon
full transparency of work fo ndsourc
|-time
real-u l communicatj 10n ey Ss
i} eiPAcltY, therefore the kanban board should be seen aa the sine e of truth for the tean,
are Er=
a
: - Kan
| work.
i | Team Kanban Boag — Sizes
- Ak
TIs24 z
* Sign Contract for y wor
“ SunSpot Tours _
The
Scanned by CamScanner
software Engineering (MU - Sem. 6 -Comp) 1-43 Introduction to Softwaro Engineering and Process Models _
- ‘Kanban offers several additional advantages to task planning and throughput for teams of all
sizes :
@ Advantages of Kanban
Advantages of Kanban
1. Planning flexibility
4, Visual metrics
5. Continuous delivery
owner is free to reprioritize work in the backlog without disrupting the team,
— The product
because any changes outside the current work items don't impact the team.
the
— As long as the product owner keeps the most important work items on top of the backlog,
development team is assured that they are delivering maximum value back to the business. So
there's no need for the fixed-length iterations that are found in scrum.
work.
- By optimizing cycle time, the team can confidently forecast the delivery of future
a skill set, that
-— Overlapping skill sets lead to smaller cycle times. When only one person holds
person becomes a bottleneck in the workflow. So teams employ basic best practices like code
Scanned by CamScanner
aro Engineering and Process Modes,
=ET sgftware Engineerin
rica g (MU - Sem. 6 Comp) 1-44 _ Introduction to SO
> jon to Sots
3 Fewer bottlenecks RA Ort :
review others work before raising their own code reviews. This ultimately reduces the overay z =
: z
cycle time. 500
> 4. Visual metrics —
— One of the core values is a strong focus on continually improving team efficiency and effectiveness
with every iteration of work. °
_ vant
- Charts provide a visual mechanism for teams to ensure they're continuing to improve. When th:
team can see data, it's easier to spot bottlenecks in the process (and remove them).
- Twocommon reports Kanban teams use are control charts and cumulative flow diagrams.
; > 5. Continu
— Acontrol chart shows the cycle time for each issue as well as a rolling average for the team. ~ .
06 Aug to 14Sept ~ - Mayknow
increment
1w13h17m average 3d median <1m min time 13w 6d 23h max time 240 issue ° Assue F ‘
50 " ——|@ ‘Cluster of issue continuow
: 7 Average .
40 9 6 |? Rolling average - CDis the
40 = > (O O Standard deviation - Kanban:
= ° e time (ant
9 20 0 ®
3 ° ° © — The fast
o 10 @ |
3 the mar
£ > ot
3 0 OS custome
a Oo @ . e Q
2 ° © @o oO
iu ° og Po e © 1.14.5 Compar
Oo .
fo) @ ®@ o e e 0 @ e
@ ° Q.1.14.2 C
° ° 9 °
5 @ @ e ° ‘ Kanbat
. @
0 10 Aug 17 Aug 24 Aug Bt Aig Q ‘| should not
.
7 Sep 14 Sep
Issue transition data
Fig. 1.14.3 : Control Chart
Scanned by CamScanner
- Accumulative flow
diagram shows the
number
merged upstream,
Number of Issuse
Jan1 Jan16 Feb1 Feb15 Mar1 Mar16 Apri Apri6 May1 May16 Juni Jun16 ul
Time ,
Fig. 1.14.4 : Cumulative Flow Diagram
The faster a team can deliver innovation to market, the more competitive their product will be in
the marketplace. And Kanban teams focus on exactly that: optimizing the flow of work out to
customers.
Scanned by CamScanner
g and Process Mode),
to Software Engineetng SNe,
nrodu ae
er Software Engineering (MU - Sem. 6 - Comp)
a KANBAN |
Parameter SCRUM "
Continuous flow
Tempo Regular fixed length sprints \
(ie. 2 weeks) ° tinuous delivery oF at the team,|
Release At the end of each sprint if approved by the neue \
methodology product owner. .= os les. Some teams enli:
enlist the}
Roles Product owner, scrum master, development
hoon No existing * h \
help of an agile coach. =
|
Change Teams should strive to not make changes to | Change can happen at any Requirement Mode
a
philosophy the sprint forecast during the sprint. Doing
50 compromises learning’s around
estimation.
Scanned by CamScanner
Requirements Analysis
ry or at the team
8
and Modelling
Requirement Elicitation, Software requirement specification (SRS), Developing Use Cases (UML).
Requirement Model : Scenario-based model, Class-based model, Behavioural model.
—K-
ChapterE;
nds... 2.1 Requirement Engineering
QaQ . => (MU-Dec. 16)
# Characteristics of requirements
ts. They are as follows :
There are various characteristic of requiremen
Characteristics of requirement
‘|
4. Requirements should be unambiguous
ts
Fig. 2.1.1: Characteristics of requiremen
Scanned by CamScanner
SLIMY - Som. 6 -
=
2-2
.
SSS
Requirements Analysig .
Requireme nq
nts should be unambigu
ous
Ambi
Suous meang the single word
Conta in ambigu
:
or statement has more than one meaning. }
it.y then it ig difficult to ful f Teg). Software Eng
fill the re : tly
quirements correc ‘Nip,
Therefore . SSeate Eng
the requiremen . 4
ts
should be unam fusing. ~ It’s ai
Requiremen biguous means
ts Should be te no n confusing
stable (verifia
The requir ble)
ements shou 7 At the
whether th ld be testable mean te
ey are ; s st er sh ou ld be ab le to easily test the Teg):
mplemented successfully i and v
or not. For easy test, the
and unambigu
ous, requirement Shou,My 2-1 A
Activitis
Requirements shou
ld be clear (concise,
simple, precise)
The requirements
should be clear. They The ,
If there is an: sho uld not contain any unnecessary information
Y unnecessary inform
ation then it becomes ‘ype
fulfillm €nt of
the requirement, difficult to achieve the
8D — Thes
Requirements
should be unders
tandab le
Scanned by CamScanner
F sottware Engineering (MU - Sem. 6 - Comp) 2-3 Requirements Analysis and Modotling
It’s a critical stage of the software process as errors at this stage will reflect later on in the next
stages, which definitely will cause you higher costs.
At the end of this stage, a requirement document that specifies the requirements will be produced
and validated with the stakeholders.
Q.2.1.2 What are major tasks of requirement engineering? (Ref, sec. 2.1.1 ) ‘ (5 Marks)
type of system being developed and the specific practices of the organization(s) involved.
1. Requirements inception
2. Requirements elicitation
4. System modeling
5. Requirements specification
6. Requirements validation
7. Requirements management
Requirements Inception
Inception is a task where the requirement engineering asks a set of questions to establish a
software process.
In this task, it understands the problem and evaluates with the proper solution.
It collaborates with the relationship between the customer and the developer.
The developer and customer decide the overall scope and the nature of the question.
Requirements Elicitation
Scanned by CamScanner
ep
SS Settware Engineoring (MU - som, 6 - Comp) 2-4
Requiromonts Analysis and Modo),
Scanned by CamScanner
[FP sottware Engineering (MU « Som. 6- Comp) 2-6 Roquiremonts Analysis and Modelling
The term elicitation is used in books and research to raise the fact that good requirements cannot
just be collected from the customer, as would be indicated by the name requirements gathering,
- Requirements elicitation is non-trivial because you can never be sure you get all requirements
from the user and customer by just asking them what the system should do OR NOT do (for
Safety and Reliability).
~- Before requirements can be analyzed, modeled, or specified they must be gathered through an
elicitation process. Requirements elicitation is a part of the requirements engineering process,
usually followed by analysis and specification of the requirements.
(1) Interviews
— Interviews are important way for gathering requirements. Organization may take various kinds
of interviews such as : ;
o Structured or closed interviews in which information to be collected from customer is decided
in advance.
co Non-structured or open interviews in which details needs to be collected from customer are
decided in advance.
o Oral interviews.
o Written interviews.
o Face-to-face interviews which are held among two people across the table.
o Groups of persons are participating in group interviews. They support to cover any missing
requirement as number of people participates in this process.
(2) Surveys
- Organization may perform surveys of different stakeholders by questioning them about their
requirements and expectation from the proposed software system.
- The advantage of this technique is that, collecting requirements is economically beneficial
Scanned by CamScanner
oN
that js}, oH
bu ilt set of objectives
ETN
4
Questionnaires ns ype
ATE
toh contal
.
nt Way whicl
Questionnaires are a docume stions whi ich are bat,
n
-
F s.
‘ option answer of those ques iS
:
questions and their
ah
give ar
to all stakeholders ”
a
n in the question:
- a ation is not give Th,
’
and compiled. ome 9
S
bene,
~ n ded.
jrements economically jg
a
be r inin requ
issue may
as ene
lectin8 ,
is that, col s o n s 4 t game time.
ni e r
— ‘The advantage of this tech h u ge amou
nt 0 fp
ts
emen 7 f r o m
because it collects requir a t a discove
ry:
od o f d
effective meth
- Questionnaires are less
: ‘
ma y ide nti fy the fing,
(4) Task analysis and engineers
twar? developer®
_ In this technique, team of sof te m isé needed to develop.
ations then it- is analyzed by tha,
cattio i the new sys
i ns for which e
specififi
ica :
sof twa re to do the particular op
some
— Ifthe customer has
for proposed system.
to find out requirements
Brainstorming ggestion:
(6) ff er en t st ak eh olders and all their su
bate he Jd betw ee n di
Brainstorming is an informal deent analysis.
r requirem
documented for furthe
(8) Observation
of client
ts the organization or workplace
_— Teamof experienced persons visi
system’s work.
_ They observe existing
probl dealt. The
w execution
obs erv e the flo w of con trol at client’s end and ho ents expe i ee att
_ They form requirem y
clusions which aid to m the so:
itself draws some con
|
ai
Scanned by CamScanner
(EP sonware Engineering (MU - Som. 6 -Comp) 2-7 Requirements Analysis and Modolling
After the analysis, it is supposed that the understanding of requirments of project are increased
significantly.
In this activity, developer can communicate with customer to clear confusing points and to
understand which requirments are more vital than others.
— The significant factors in the requirement analysis activity are :
1. Identify and solve confusion among requirements at the same level and among different
levels.
2. Identify the boundaries of the proposed software system and the way in which it
communicate with environment.
3. Evaluate customer requirements for overall system requirements and then break down them
into individual component level.
The objective of the Requirement Analysis is generating a solution to implement the
requirements. ,
- Process of the Requirements Analysis includes following steps :
1. Analysis of the requirements
2. Description of the solution
Q.2.4.1 Explain the types of requirements. (Ref. sec. 2.4) (10 Marks)
Scanned by CamScanner
Se SUUIUONING [MU + SOM, 0+ woreys 29,
a med, - are divided into throe i
— The requirements, which aro in general : “Ateg, \
and domain requirement, Ting
functional requirements, no: n-functional requirements,
2. Comp)
Fie 11 Stompta
nemeric data
:— ent
Piste i2 only
acenpts dates
f ™ th Re cur
before
Sereen 1 ea ‘i
“aN print on-serne
° on data to the
Business Requir
Fig. 2.4.1: Types of requirements ements
~ Data my
Must be enteredf
Teted before
a Pint,
rec,
2.4.1 Functional Requirements Clicking the Ap
prove te: ton terres the
> ow, 4 -
All person: nel using the
system will be
Q. 2.4.2 Functional ‘Ref. sec. 2.4.1 ReguiatoryComettancs Raquirements
or its component, in which a function is described as a specification of behavior betwen, Security Requirements
and inputs. Members of the Data
Eatry group ea:
— In the functional requirements there may be elements such as calculations, technical dy. Members of the Managers
group can
manipulation and processing, and other specific functionality which define what m™ ~- Members cf the Administrators
grow
supposed to implement. 24.2 Non Functional Requirements
(NFT
- As defined in requirements engineering, functional requirements is used to mentions
results of a system. locas Expiain Non-Functoral Requrem
— This should be contrasted with non-functional requirements that mention overall chanz: — These are basically the quality con
like as cost and reliability. contract. ©
= Tenet vo ®
- Functional requirements drive the application architecture of a system, while nonfat
requirements drive the technical architecture of a system. a tbiny
performed by the system, and other business or compliance requirements the system ®
Scanned by CamScanner
(ae? Software Enginoering (MU - Sem. 6 - Comp) 2-9 Requiremonts Analysis and Modalling
7 Interface requirements
@ Business Requirements
eo Regulatory/Compliance Requirements
@ Security Requirements
- Members of the Data Entry group can enter requests but cannot approve or delete requests.
- Members of the Managers group can enter or approve a request but cannot delete requests:
— Members of the Administrators group cannot enter or approve requests but can delete requests,
o © Maintainability
° Reliability °
o Scalability
o Performance
o Reusability
o Flexibility
- NFRs are classified into following types :
o = Interface constraints
o Performance constraints : response time, security, storage space, etc.
Scanned by CamScanner
7"
a
i.
yay
‘
+
Requirements Analysis ang M
Software Engineer we,
— gineering (MU - Sem. 6 - Comp) 2-10
© Operating constraints BT sot vara Engineering (MU
- Sern. 6 -
: te. ett:
© Life eycle constraints : maintainability, portability, The outeome of the req
° Economic constraints ¢ knowledge of the functiona} Requirements Specific
: ds th és Lh
The process of specifying non-functional requirements bans hich the system will operate, " SRS is also called as req
the system, and also the knowledge of the context within w0
SRS is base for software
project are gathered and
2.4.2(A) Types of Non-Functional Requirements
It is generally signed at
- Product requirements : Requirements which mention that the delivered product should hay 5. SRS document rec
behavior in a specific way, e.g. execution speed, reliability ete. 7 6. It must include ac
- Organizational requirements : Requirements that are a result of organizational policies, 2.5.1 Advantages of SRS
well as procedures, such as process standards which has been used, implementation necessii,
etc. lo. 25.2 What ara advanta:
= External requirements : Requirements which are generated from the factors that are exten, (1) SRS contains the bas:
to the system and its development process, e.g. interoperability requirements, legislaty, as per expectations.
requirement. '
(2) ASRS gives a base fo
- Domain requirements are used to describe system characteristics as well as features whid
(4) Ahigh-quality SRS ¢
impact the domain. Those may be new functional requirements, constraints on presi 2.5.2 Characteristics of SF
requirements or may define particular computations.
Q.2.5.3 Explain any five
- Ifdomain requirements are not satisfied, the system may be unworkable.
A good software req
- Example: Library system
IEEE defines software requirements Specification as, 'a document that clearly and precis el
describes each of the essential requirements (functions,
performance, desi
ce, design cons traints ©
quality attributes) of the software and the external inte rfaces,
Scanned by CamScanner
[ay Software Engineering (MU - Sem. 6 - Comp) 2-14 Requirements Anatysis and Modalling
LPS =
- The outcome of tho requirements gathering and analysis phase of the SDLC is Software
(1) SRS contains the base for agreement among the client and the company who develop the product
as per expectations.
(2) ASRS gives a base for verification of the completely developed product.
(3) Using high-quality SRS, we can develop high-quality software product.
(4) A high-quality SRS decreases the cost of development.
Q. 2.5.3 Explain any five characteristics of SRS. (Ref. sec.2.5.2) i ___(10 Marks)
1. Correct |
$eerged
2. Unambiguous
3. Complete |
5. Modifiable
6. Traceable
==>} 7. Verifiable
Scanned by CamScanner
Requirements Analysis and ty
BF sotware Enginoering (MU - Som. 6 - Comp) 2:12
> ee
1. Correct
SRS is correct when all requirements of user jbed in the re quirement document, wer SoftwareEngineering |
are described in
Th 3
The listed requirements must be matched : . . a @ requirem
with desired system
ar
This depict that every requirement is analyzed to give assurance it (SRS . “ Remember r thtt
requirements. that it (SR ) containg
. 2.5.3 Format of SR
tness of SRS,
Remember that there is no specific tool or process to ensure the correctn forse
PERLE ewan
ORR
Correctness gives assurance that all stated requir;
ements are worked as exp ected.
Structure o
Unambiguous
SRS does not contain any confusion when each specified requirement has single interpretation,
This characteristic state that every requirement is individually interpreted.
In situation, where one term has number of meanings, then its meaning must be specified in
th,
SRS so that it will be non-confusing and simple to understand.
Complete
SRS is complete when the requirements undoubtedly specified that
which work the softy,
product is required to perform.
Traceable
Forward tracing and backward tracing methods are used for this purpose.
Forward tracing state that every requirement must be referencing to design and code of
components.
7. Verifiable
SRS is testable when the stated requirements can be tested with a cost-effective Procedure
to |
ements.
rify whe the r the fina l software fulfills those requir
ve
Scanned by CamScanner
er Software Engineering (MU - Sem. 6 - Comp) 2-13 Requirements Analysis and Madaliing
@.2.5.4 Explain general format of Software Requirement Spocitication (SAS). (Ref. soc. 2.5.5) (10 Marka)
Structure of SRS document includes following sections with various subsections in it :
Format of SRS
1. Introduction
LT (i) Purpose |
| (ii) Scope |
|_| (ii) Definition, Acronyms, and
Abbreviations
(iv) References
(v) Overview
— (i) Interfaces
(ii) Database
| (iii) Performance
5. Document Approvals
4
Scanned by CamScanner
Pete YY * OOM, 6 - Comp
)
1, Introduction
, This part is further divided intg fa
Introduction contains brief information about the SRS. This Pp "i, 1
Subsections :
GW Purpose
. ont, with its intended audience4,
This section specifies the main purpose of SRS document W oT hy,
SRS is constructed.
(ii) Scope
‘ SRS isig built.
i section specifies scope of the system for which bu
- _ This
- Scope pe defi of software product but a
defines not only benefits, » objeobj ctives and behaviour oftware.
limitations of software so as to understand the boundary of s
(iv) References
* (v) Overview
It gives’overview of the document including its goals and objectives of the system.
2. The overall Description
It provides overall information about the requirements. Customers/users of the system are concen:
about this section. It contains following subsections :
(i) Product perspective
This section contains the information which states the benefits of current product over tt:
existing products.
To use any system, it is mandatory that users of system should have some basic knowledg¢ ie!
least the educational qualification or basic knowledge related to the field. This section prov
the criteria about the users of the system.
Scanned by CamScanner
(ap Software Engineering (MU - Sem. 6 - Comp) 2-15 Requirements Analysis and Modelling
(iv) Constraint
It includes limitations of components used in the aystem for example, hardware limitations.
This section of SRS actually specifies the Requirements briefly by taking help of information stated in
above section. This section is divided into following subsections :
(i) Interfaces
- This section of SRS contain the information about various interfaces that are needed for
product, like hardware/software interface, system interface, user interfaces, and
communication interfaces.
— It means that each and every input device, output device and the communication medium
used by system is introduced in this section of SRS document.
(ii) Database
To store data required and generated by system, database is required. Information about the
database used in the system is given in this section.
(iii) Performance
It describes the system performance which includes the required speed, task completion time,
response time and throughput of the system.
- This section of SRS provides the assurance that all system attributes will be provided by
product and the way in which terms these attributes are satisfied/ fulfilled.
~ Due to additional user requirements, changes in the system are occurred. This section providesa
way that will help to handle such kind of changes.
- As the system make any changes according to user requirements, SRS document should be
changed accordingly.
Scanned by CamScanner
FP sottware Gem. ; 0- 2-16 pe time and sign of both the parties,
~ Document Approvals section ineludo the approval = ——
1 Introducty
> «6. Supporting Information Rs, reference’, ete. on
1.2 Scope
This syst
| feedback
|
cttained
13 Overvic
This sys
related |
1.3 Overview
2. General Description
3. Functional Requirements
3.1 Deseription
fo 4. Interface Requirements
4.1 GUI . sea
| 42 Hardware Interface ea
| ; - = lota of p
| 43 Software Interface and stu:
{ 8, Operational Scenarios re
9, Preliminary Schedule
va : Fr
Scanned by CamScanner
(EFT sonware Engineering (MU - Sem. 6 - Com 2-17 Requiroments Analysis and Modolli
1. Introduction
1.1 Purpose
for online student
This document gives detailed functional and non-functional requirements
it should
feedback system. The purpose of this document is that the requirements mentioned in
.
be utilized by software developers to implement the system
1.2 Scope
hy collage staff. The
This system allows the students to provide quick feedback which is provided
view grade and grade
feedback report is generated and which is checked by HOD’s. He can
obtained to the lecturers.
1.8 Overview
students for maintaining feedback
This system provides an easy solution to collage staff and
related to collage staff and infrastructure, facility.
Submit Feedback
. \Feedback Report
dent}——>
ues
[Stu - Online Student.
Feedback System
Send Feedback Form
E-mail To Student
2. General Description
em by which
ces the traditional, manual feedback syst
-— This online student feedback system repla
rding facility
teachers are able to provide feedback rega
lots of paper work will be reduced. The
m.
easily. This is primary feature of this syste
and students are able to provide feedback
for filling
re is that feed back form can be prov ided to student and staff by emailing
- Another featu
it. ©
8.1 Description
r names for that
- For identity of staff, system should display staff photograph along with thei
Scanned by CamScanner
ey Software Engineering (MU - Sem. 6 - Comp) Requirements Analysis and Modelling
7.3 Availability
7.4 Maintainability
There should be facility to add and delete feedback form for different purpose,
7.5 Reusability
8. Operational Scenarios
- There should be student database and teacher database. The student database should contain
name and feedback information.
- The teacher database should contain name, subject, skills, and other details.
9. Preliminary Schedule
2. Product Perspective
3. Functional Requirement ‘
4. Non Functional Requirement (Ref. sec. 2.5.5)
Title
Objective
To get with preparing requirement document, which will be used to capture and document all the
requirements at the start of project. In the assignment we mainly focus on functional requirements.
1. Introduction
1.1 Purpose
The main purpose of our system is to make hospital task easy and is to develop software that
replaces the manual hospital system into automated hospital management system. This
document serves as the unambiguous guide for the developers of this software system.
Scanned by CamScanner
1.2 Document Conventions
Overall Description
2.1 Product Perspective
The HMS is designed to help the hospital administrator to handle patient, nurse and bed
information. The current design goal is to build an internal system to achieve the functionality
outlined in this specification.
22 Product Functions
The HMS will allow the user to manage information about patients, nurses, and beds.
Patient management will include the checking-in and checking-out of patients to and from
the hospital.
The HMS will also support the automatic backup and protection of data.
Scanned by CamScanner
[37" sottware Engineering (MU - Sem. 6 - Comp) 2-21 Roquirements Analysis and Morselling
~ It is assumed that Hospital will have enough trained staff to take care of the system.
3. External Interface Requirements
Input from the user will be via keyboard and mouse. The user will navigate through the software
by clicking on icons and links. The icons will give appropriate responses to the given input.
Surgery Management : Planning and organizing the work that surgeons and nurses
perform in the operating rooms.
Ward Management : Planning and coordinating the management of wards and rooms.
Scanned by CamScanner
Requirements Analysis ang Mod ie
li
(ae sonore Soe
: | E i
waiting for availabj, be, i
bef sag
— Each member is required to enter an individual Username and password when accessing i, | prol
mo. Tt is
software. Administrators have the option of increasing the level of password security the |
members use. : | - Ex:
Protection.
- The data in the database is secured through multiple layers of
Security of you|
: . . y
- Fast Speed. de
aa
- Compatibility.
t
A.
of}
Syllabus Topic : Developing Use Cases (My) —
|@.2.6.1 Explain the development of use cases. (Ref. sec, 2.6) at)
- Use case is a term used in system ; (5 Ma
: analysis to de > Gi
requirements termine clarify and integrate all syst#* “ang
- describes h how user interacts with the system to
It describes a ‘
- Use case consists of three basic elements as act
Tr, System and Boal.
Scanned by CamScanner
Ry vated RET
e done ‘ - vu 5
Se case dia :
gram consists of following three mai
n componnent
ent s,
Components of Use Cage
An actor in use case diagram interacts with use case of use casediagram.
To identify actors of system one should search in problem statement of system for the term
describing various roles in system.
An actor is represented by stick figure outside the system boundary.
a
eo
j
Actor_name
Scanned by CamScanner
Se :
i a, Mores
Requirements Analysis ind
et Software Engineering (MU - Sem. 6 - Comp) 2-24
bo
wa where as a ctor is outside of the system Uday
— Use cases are drawn within system boundary
er Software Er
ea
|
- Her
= -— System boundary
(iii) Genera
Actor
— oe
kis
Fig. 2.6.4 : System boundary
| :
~
ti
Iti
:*
Relationships In use case diagram xamp| D
them
is in general a dependency among
°
mor
(a) - The
Scanned by CamScanner
[GFP sottware Eng
ineering (MU - Sem
. 6 Co
a eles
- mp)
2-25
| Requirements Analysis and Modelling
Here Percentage
helps to decide class
of stud
to
Gii) Generalization
I ™
- A Use Case Model describes the proposed functionality of a new system. A Use Case re
discrete unit of interaction between a user, called an Actor, (human or machine) and the sys'
' - This interaction is a single unit of meaningful work, such as Create Account or View Acco
Details. Each Use Case describes the functionality to be built in the proposed system, which can
include another Use Case’s functionality or extend another Use Case with its own behavior.
=
Scanned by CamScanner
et AMT)
j cas ften properties and the;
~ The information captured for a Domain Concept is a description and 0 at
relationship to each other.
“ao of f the the stat
statiic aspe
~ The purpose of the Domain Model is to establish a
common undeertant"e ms
the business domain among all the stakeholders.
by establishing a commo,
~ The Domain Model supports the redu creation of quality requirements
vocabulary across all stakeholders cing ambiguity and redundancy.
¢
- As aresult, the following guidelines should be considered :
o The contents should be written in the business language one domain and Sve
actions, which some
implementation specific or technical aspects (such as operations oF
presentations do not rule out): Use good business names!
o Stakeholders should be comfortable with the chosen representation of the Domain Model in
_ model may be
order to be able to provide feedback. As a result, multiple views on the
necessary for different stakeholders.
details are enriched over time,
o The domain model is developed in iterations where necessary
in
- An obvious way to identify Domain Concepts is to identify nouns and phrases
Concepts can come from e
descriptions of a domain. The information about the Domain
industry standard documents for a specific domain, and output from
documentation,
requirements elicitation. .
nt
~- The Domain Model can be represented in different ways. The representation is depende
methodology and the formality employed in the project as well as the experience of J
stakeholders exposed to the Domain Model. It can stretch from a Word document, an Excel table
and diagrammatic representations to a fully detailed model representation using a UML class
diagram.
The Domain Driven Design approach is an extension of the Domain Model to produce an
implementation which is linked to an evolving model of the domain, it is appropriate for a highly
complex domain and produces a highly maintainable system, and the implementation can be done
by Domain Specific Language.
Each Use Case describes the functionality to be built in the proposed system, which can include
another Use Case’s functionality or extend another Use Case with its own behavior.
Scanned by CamScanner
aq the
F Of tha Stag Ys
Ae
hey|
“Stablishin y
a
“my, |
he domain
§
Ry Life © Cycles are often
referred to ag State
f the Do... Machines or State
Charts.
Business Proces
+ domain Mode} | ly s models
sropriate for a hit use a requirements management tool when this level of formality is required.
After the Requirement An alysis, as output gets the specification regarding software’s operational
's interface wi th other system elements and set up constraints
char. acteristics, designates software
. ftware must need.
which the spétifie a alysis modeling the primary focus of software engi.neer is: on what and
All the way through an 1S
how.
; «s helps the software engineer
i to:
;
Ani sion of basic requirements which are set in earlier requirement
a iled informa
o Get detailed
engineering tasks.
Scanned by CamScanner
2-28 Requirements Analysis and Modatting :
FF software Engineering (MU - Sem. 6 - Comp)
co Establish models which describe user scenarios, functional activities, problem classes
with eB Eng
sortwaro
i © Th
the data flow ag it is transformed.
their relationships, system and class behavior, and
- Ensure
~ There are three primary objectives of analysis model :
' ° Es
1. Describe customer needs
' - Keep
2. Establish a basis for the software design generation, and o D
ted after creation of software. :
3. Define a set of requirements which can be valida
° In
- The analysis model fills the gap between a system-level description which elaborates overay
ng software, hardware, data, human,
functionality as it is accomplished by the process of applyi tion
which elaborates the software applica
and other system elements and a software design
architecture. i fo.202
— 4. Scenario:
_- That means Analysis model plays a role of link in between the ‘system description’ and th,
’
‘design model’.
saa
me
. ‘
~
Scanned by CamScanner
2-29 Requirements Analysis and Modellin:
er software Engineering (MU - Sem. 6 - Comp)
o The level of interconnectedness among classes and functions must be minimized.
stakeholders.
Ensure that the analysis model offers value to all the relevant
o Each constituency has its own use for the model.
Keep the possible simplest form of the model.
° Do not introduce extra diagrams if they do not provide any new information.
o Implement only those modeling elements which have values.
3. Behavioral elements
m and how external events affect it.
- These types of elements represent state of the syste
- Examples : Sequence diagram, state diagram.
Analysis Model
bh \ ey
Scanned by CamScanner
BE some cram a
conn 30 Requirements Analysis ang f
— gineering(MU - Sem.
6- Comp Mody,
= Model _ SS t (As
—_ Syllabus Topic : Scenarlo-bas os
2.9 Scenarlo-based Model {i
f
j
.
We have already seen how to develop use cases. The impor ts are:
tant aspec }
2.9.3
Scanned by CamScanner
ep Software Engineer
29 (MU - Sem, -6. Com )
Wh: .
at System Informatio
Valid Passwo
rds/ Ip
aan words/ ID
May also be
Selected
ee ei Prompt for ~ |
| another view
Scanned by CamScanner
ce e
are Engineering (my.
ee
a,
uirements Analysis ‘
| ae ftw.aro ;
Sem. 6 Core)
2 ;
nts that divide the diagram vertically, Wika
; 40.1 Identifying
2.
Analys
i [ _ eneincorng (Mu
° The problem state
i ~ Responsibilities are represented 98 parallel senm°
{ » lanes in a swimming pool. Interface For isolation of po
| wesc”
o Roles suc
( Select surveillance with the s
j - Nq Input tries
remain
| o Organiz:
applicati
i o Placess
i respectin
| oo Struct
( Promptior . | objects
. another view — Be One can ex
«iowa °. Nee
[a.2.10.4. Write nota on class based model. (Ref.sec. 2.10) hav
j'
: . F | eo
_ —. This section describes the process of developing an Object-Oriented Analysis (OOA) model.
als
identifying potential analysis clasts
— The generic process described starts with guidelines for
of the Clas rey
suggestions for defining attributes and operations for those classes, and a discussion 6 Ce
Responsibility-Collaborator (CRC) model.
th
- The CRC card is used as the basis for developing a inebowosk of objects that comprise the aie
relationship model. =
Scanned by CamScanner
47 sonwaro Engineering (MU
- Sem. 6 - Com: 2.33 Requirements Analysis and Modetin
2.10.1 Identifying Analysis Classes
co Retained Information : The potential class is considered as helpful in the process of analysis
only
if information regarding it, must be remembered for the functioning of so the system.
o Needed Services : The potential class should posses a set of identifiable operations which
have ability to change the value of its attributes in some way.
o Multiple attributes : During R.A., the centre of attention must be “major” information; it is
also possible that a class having single attribute may be useful in design, but it’s better to
represent it as an attribute of another class during the analysis activity.
© Common attributes : It is possible to define a set of attributes for the potential class,
and
these defined attributes can be applied to all instances of the class.
Scanned by CamScanner
ee
~
:
a.
wee
the Potentiay
f operations for
define n net 0 eal Sottwaro Enginoering
yaaiblo to the class.
c en of .
. is pe l instan
o Common operations san It cat 1 be applied to ol ! n the
: blem spac,iy, on .“
pro e c t ‘ e
r sp
on ch appea lution' for the re
those dofined operations tities tiwonhi of any po
ti
» Rate A Len!
‘
Extern!
oo Bxsential Requirements: opera el
y to t ment mod
or use informat
ion necossay, roquire
sae) aa it a tho
!
be defined as cla t
nearly always '
"program ()
display reset ( )
-— Operations
x
}
2.10.3 Defining Operations
Fig. 2.10.1 : Specifying Attributes
Operations which define the behavior of an object are divided into 4 broad categories :
1 Operations which manipulate data (adding, deleting, selecting, reformatting.)
| 2.11 Behavi
lo.2a14
events or
The|
Followin;
| 2. Operations which carry a computation.
3. Operations which inquire regarding the state of an object. 1. Eval
qiI, syst
| 4, Operas which monitor an object for the occurrence of a controlling event.
2, Ider
‘
Bpe
3. Ger
4. De
,
Scanned by CamScanner
at gottware Engineering (MU - Sem. 6 - Com 2-35 Requirements Ana als and Modell
\.
Floorptan
typo
namo
outsideDimensions
delermine Type ()
positionFloormplan
scale ()
change color ()
is placed within»
A
i9 part of
Camera
type
ID ; “- Wall
location
; type
fieldView wallDimensions
panAngle
ZoomSstting determineType ()
determineType () computeDimensions ()
translateLocation ()
displayID ()
displayView () is used to build >> <4 is used to build
displayZoom () A is used to build
Q.2.11.1 Explain behavioral based model. (Ref. sec. 2.11) — (10 Marks)
The behavioral model describes the way by which software will respond to any kind of external
events or stimuli.
1 Evaluate all available use-cases to completely recognize the series of interactions within the
system.
Identify events which force the interaction sequence and recognize how these events relate to
specific objects.
Scanned by CamScanner
sone _
ate mr
ag OSE
.
ait
Requirements Analysis an (N
Morn, a goitware Engineering
2-06 i . Spe
. 6 Comp) wweitl ng the Software
EP sonware Engineering (MU- Sem cura
model to verify 4
5. Review tho bebavioural
s of states mn
ant characterization
vw
there are two import
hin ora l mode Ling, e
In the context of behavi
i
d
-
performs jt s function an
should be considered: the sy stem
carry out its function,
ad fr om the ov tside as the system
Thes tate
esta —identifie
a system
tes ofofthe 1 a s active char
acteristics.
co.© Th e
sive a8 we ject.
-— Thestate ofa class
considers both pas
al l th e at’ tr ibutes of an ob
of
rrent status
g but the cu . as it unde j
th in tive object
t
iv e st at e is no sta tus
of the respec
A pa ss res'en ts the
cu ltent
of an objJ ect repres ,
The active state mer. lockedTime
ation or processing. 6
a continuing transform
'
'
ft
|
timer > lockedTime | a Specification C
i
— Layered fo
password = incorr
ect
smaxTres
\
and numberOfT!ries i - Consistent
f
numberOfTries>maxTries ‘
— Allacrony
comparing
l
- Compulso
em. reading
rd
Fe toned do:validatePassword - Style sho
fe |
password=correct
{
|
activation successful
°o Event: It is an occurrence that causes the system to exhibit some predictable iro
behaviour. . t
\
Scanned by CamScanner
et Software Engineering (MU - Sem. 6-¢ ‘omp) _ ihay
writing the Software Spe Requirements Analysis and Modelling
cification
Everyone knew ex
a ctl
what had to be done
until ’
eo wrote it
down
30eg
Chapter Ends...
Qoo00
=
eS
See
Scanned by CamScanner
a
ct and process)
Process and Project
:
me
MO II Model,
.
Specializeq
1t \
.
:
constraints must be do
Management Spectrum, SPs (people, Prod vicat Estimation Models * coco Estat ' — If there is lack of th
Software Project Estimation : Loc, FP, Empi \ estimates of the cost,
. king the S
Techniques. . Software Project, Timeline charts, Tracking chedule, Eamay t' *
controllable project s
Project scheduling : Definin: g a Task Set for the +> 3. The Process
Value Analysis.
— A-software process
\ complete plan for »
| ct and Process) \
— There are differen
3.1. Management Spectrum, 3Ps (People, Produ -
; 5 ‘ assurance points ‘
= |
||
i
O.34.1 Explain P's in software project spectrum.e $00 3.1 ) ee
(Rel.o with the function
software project or how toTak |
ent spectrum describes the management of a
! team.
- Th e managem _ At last, umbrell
project successful.
of the project hay, any one framex
Its focus is on the three P's; People, Product and Process. Here, the manager the goal. ‘
and to reach
control all these P’s to have a smooth flow in the project progress
2 oe
m in detail. 4
— We will see all of those three P’s of management spectru
' | 3.2 Process and
Management
spectrum
sctrum 33 P’ P’s . {} — It is possible
' F on a regula
- Measurem
\ quality cor
y — Atthe ent
t .
Fig. 3.1.1 : Management spectrum 3 Ps \ the a
> 1. The People
| - _
In the |
- People of a project includes from manager to developer,
from customer to end user. ' concern
~ But mainly people of a project highlight the developers.
3.2.1 Metrics |
— _ Itis so significant to -have highly skilled as
well as motivated devel:
Management Capability Maturity Model) is developed by thepiri ai i iney * - Thee
odscnen
enhance theth readin. ess of software ent . are Engineering Insti
time.
erprises to handle more and more
robust applications1
a
Scanned by CamScanner
iCking = menngineering (MU - Se mM. S-Com
B= p) ‘a
assisting to
attract, grow, * Motivate, deploy,
Projnes Se heduth
_ ing and Tracking
of their software develop and retain th e talent nece
8A) Ty for the improvement
ment capability,
Enterpri. ses whicichh attain hi
Probability of carrying a igh levels of maturity in the «
a of
. ring Practicee: s,
cient soft ‘ware enginee People management have a great
> 2. The Product
lized Estimati,
n
hedule » Eam,
eq
—Gterg
assurance pointe w ae such as different tasks, milestones, work products, as well as quality
At
any last,
one um ve Sa iviti handle the process model. Umbrella activities are not dependent on
“oject has to 7 . .
work activity and are carried out throughout the whole process.
of improving it
It is possible to apply measurement to any of the software process for the purpose
on a regular basis.
,
of a software project to help in estimation
Measurement is very useful throughout the lifecycle
as well as in project control.
quality control, productivity assessment
for the purpose of assessing
is done by the software engineers
At the end, the use of meas urement decision m: aking process aS
the
products and to help in strategic
the quality of respective w ork
inues.
project development cont ’ the project, the prime
and the so ftw are process conductedby
ects
In the persp ective of proj quality metrics.
sof tw are tea m is prod uctivity as w ell as
concern of
Domain
ess and P roject
3.2.1 Metrics In the Proc and for a long period of
ne thr oug h all the related projects
The collection of
process metrics is do
eople —
ste to time.
ngs by
Scanned by CamScanner
Project Scheduting ray
Comp 3-3
Soft dicators which Fesulta in tog
Sem S0 ,
LP sotware Engineering (al
is to provide a series of process inc
— The basic idea behind " mets 2
software process improvement. i ee Sottware En
r to:
a software project manage
- Project metrics enable
ject
of an ongoing pro a
co Assess the status |
Ban) 8
. a—,
(Ref. sec. 3.2.1(A))
lo.s.24 Write note on Process Metrics. 1
ent in any process is the measure ofPann
‘The unique efficient method to make improvem
:
_ a,
process, establish a set of sign
ificant metrics depending upon these
attributes of the result in the stratg .
provide indicators which will
further use the metrics to
and by
/ :
improvement.
factors i,
— The important factor is that process is considered as only one of several controllable
performance. % _
practice of improving software quality as well as organizational
center of a triangle in which three factor, :
Fig. 3.2.1 shows that the process best fits at the
mance
connected which have deep impact on software quality as well as organizational perfor
— The skill and motivation of the stakeholders is considered as the single most significant far,,
quality and performance. : ‘
— There is significant impact of complexity of the product on quality and performance of the tean
- Also one important factor which has significant impact is the technology (methods and ta,
regarding software engineering).
_ Product
Adaitionan Fig. 3.2.1 : Determinants for software quality and organizational effectiveness f a
onally, there is a circle of enviro we . Re
=
Scanned by CamScanner
deri
- ak from the respective process
sults ,
software,
. wee det
cae“comes
wv contains
measures
en of
delivered to “fa 2 n found before releasing the
rod » de : ts which have bee: i . Fret have bee
echedul e been delivered i en
© conformance, and oth ee en een ct drain npn
User is also able to d , other measures, == as ‘A
parti : sie erive
, process metrics by the
regarding
> way of measuring the characteristics
For examplple, are engineering tasks.
g theuserumb might a ort and time whi been
implementin, tite i
Grady (Graay > rella activities as well nn
cock ie ax ~ as the
t generic solvers dhetnneering
i a activities.
=
os that there ore SuenAmerican software engineer, best known for developing the UML)
Bevsce i is very at and public” uses for different types of process data. ™
snplzies palate én ee
oO VIO
onat pndividual software engineers might be susceptible in using the
: se
. oe
individual
n ese data isi expected to be private to the respective
indie: = for 7that
and work as an indicator individual only
e examples of private metrics, i
i we can consider defect
m rates (by individual),
i defect rates (by
component), and bugs found in development process.
Scanned by CamScanner
Project Scheduling ane»
3-6 f software roceay |
& j Software Engineering (MU > Sem, 6
= Comp)
possibility of misuse ° Proce an ne“Mig gotware a(
like like jon s,
all other metric of more is ' th
there proble than they solve- itable for both managerg te —
- However,
wel 4 - As there ist
which mnay lances —— jquette” which is su
Grady suggests a “software metrics ee elit program : done for the
.
well a8 organiza’ tional sensitivity in the process of mer ; ach co
appro.
- tion rs as they organize so@ as
ne itione
practi —
Make . use of comm on sen does the collection of Measures ; a
° Fekae who
metrics data.
;
my ched: ~
‘
individuals a
o Give usu al feedback to the
— Second, }
individuals.
— :
eas use metrics for the purpose of appraisal mar clear objectives and metric, Whig a.needed, 1
pract ition ers and teams to estal oe
°: Ca mMmMUuncaicate with
inateidunla oste
will be helpful to achieve them. _ .
wld not oa a
of threatening
o Don't refer metrics for the purpose
em area - take: Negative; Ty seceaaa[_''
Metrics information which specifies 4 problimprovement. es
ator for process
° information is just an indic . . a cot
twr
t me
i e me' tric to the exclusion of other importan
° Don’t obsess on a singl
7 tible
ore compa ring
with the gathe and use of process metrics,
- As the enterprise becomes m . to a more precise approach know, .uf
| as
provides means
origin of simple indicators :
Me
ent (SSPD.
Statistical Software Process Improvem we
ering det,
. ofrathgatheri
purp jose
- i re analysisi for the
Essentially, SSPI takes reference of software failu
developed and useg _ +
cation, system, orproduct is
regarding all bugs and defects found as an appli
:
- &b
3.2.1(B) Project Metrics
Scanned by CamScanner
i : [ET sottwaro Engineering
(MU - Sem. 6 Comp}
ers ag _
- Additionally, errors
found rund
ii in all ; of the ~
- As there isi transition of ro
software f; . rere men are tracked.
done for the Purpose of ossess eering me “a 7
f interp, ing d. ex SiEN
7 Pauir “SI8N, gathering of technical metrics| is
ements to desi
qualit
tin,
Tet; 7 approach
pproach ii
considered to code generati ity ¥ a
sea . and to Provide indicators w
. . | on and testing. . 83 which w will impact theeo
- The ne
ci aim of proj
proj ect metrics
; ics
i twofold. Fir. st,
is
; e these Metrics
y the way of making are hy 1 i 4
th, j ustments which are j elpful in reducing the development
possible problems as well
88 risks, ead Mportant to avoid delays and lessen
- Second, project metrics are hel
etrics wh:
hic, eed
needed, make ch quality
product quality
‘anges ini the technical approacha to& enhance i on regular basis and, + whenwhe
- As there is improvement in quality,
. the amount
a i
of rework which may ¥,be necessa:
Gefects dre — and as there is reduction in defect count, :
tive . resul reduction of overall project cost ry in the project also get decreased. This ultimately
ag } Explain
fai Software
fe Project Estimation
i in detail. (Ref. sec. 3.3) (so marks)|
. - Measurements in the physical
i . ‘ :
tte dag eaditchajumictendven world can be divided into two categories : direct measures (e.g., the
i used ine. indirect measures (e.g., the “quality” of product).
. - € same manner, it is possible to categorize software metrics. :
4 hh _-
the direct measures of the software process the elements involved are cost and efforts applied.
Whereas in the direct measures of the preduct, the elements involved are LOC (lines of code)
arks) | / | ~ generated, speed of execution, memory size, and bugs recorded over
some particular time span.
roje — indi
In the indirect measures of the product the elements involved are functionality, quality,
project
ility, and several other capabilities.
complexity, efficiency, reliability, maintainab
op software, the number of lines
of code generated, and
sed by - The cost and effort neces sary to devel
for
as particular conventions
ively simple to g' ather, as long
v and other direct measures are comparat
measurement are set in advance.
measuring directly the quality as well as
ss of — However there is difficulty in assessing and
or its efficiency or maintainability.
functionality of software im
y ct metrics, then
produ
is par tit ion ed into process, project 4, and
rics domain are usually integrate
ject. When the software met are pri vate to an individual
met ric s whi ch
it is ob served that product tive software team.
met ric s whi ch are public to the respec
develop p roject metrics which are public to the
nal met ric s is don e to generate process
of Proj ect . .
The consolidation
different ”
software firm
as & whole.
mb in e me tr ic s which are coming from
to co
an organization
But what wil l be the way for
ts ?
individuals or projec
Scanned by CamScanner
Project Scheduling andy, || | nee
pan he ean .
—
3-7
ae se tivideals on 1
- Sem. 6 2 separate proj :
EP sottware Engineering (MU ivi : ea :
—— gi
a
ext! h are ene ountered during the software p, ng
nd this ele chic
a simp
: we willil take com
Toca,
A
— To unde rsta ess,
the scaibinodita iin deat OenG
and make categorization of all re . | me
"the seated HOE :
nn
— Those individual measures can "arin
38 before -
ane
erro!
- Team X encounters hundred
be i
in oa in,
- Bein
em evernitne do a
g en wot tar knowhledg
have whic e
team ofis whor
efficient
size eor complexity . cannot mb a°
> -
i o
process? Since w ° , i
3.3.1
> (MU-May 15, Dee. 16, ay
Baas aS DEES RA, ae)
- Size oriented software metrics are in general derived by the process of ae quality Andy
productivity measures by assuming the software size which has been produced.
_ If a software organization maintains simple records, a table of size-oriented measures wil] be
a
shown in Table 3.3.1.
- In Table 3.3.1, the details shown about all the software projects are developed in last five years,
- Project alpha : 12,100 lines is the total size of code with 24 person-months of effort at a Priceof
$168,000.
Table 3.3.1 -
Scanned by CamScanner
° Defects pe
r KLOc,
oO $Per KLOc
‘
©. Pages of do
cumentatio n Per KLoc
- iThe Si1Z
. €-Orie
i nted metrics are '
hot cons idered 48 th
e best Solu
sol tion for meas |
~ uring the softwa
re ||1
Syllabus To
pic : Line of
Code (Loc)
3.3.2 Line of Code (Loc)
I Q. 3.3.3. .
Write note on LOC. (Ref. sec. 3.3.2) - =
= LOC is.the si _(5 Marks)
popular
. beca: ‘use itneis the
among all ‘metrics
simplest to use. available to estimate Project
project siz Thisi metricic isi very
size.
- Using this metric the .
* project size i i 5 . a
the developed program. _ estimated by counting the number of source instructions in
Scanned by CamScanner
Project Schad,
e Number of user outps “— bss i/p which results on on-line o/p. ‘ 13. Is the
ane file is counted. | 14. Is the ¢
© Number of files : Each logical master file | oiih = Hedin
‘umber of external interfaces : Data files on storage media.
0M ° mplexity value is associated with each ~ The const
— Once these data have been collected, a comp! iteria for determini
Organizati function point methods develop cri Tmining
het
Whett., i appliedt
tions that use
particular entry is simple, average, or complex. Nonetheless,
None a the determination of oor, Playo - As soon
somewhat subjective. _ Weighting factae | E ;
function points
| Measurement parameter Count Simle Average Complex 1i L —_—___—_——
Number
of extemalinterfaces [~] x. § 7 =C] j the
Count total 7} ~ ifs
Fig. 3.3.1
- Ev
~ To compute function points (FP), the following relationship is used :
n
FP = count total [0.65 + 0.01 5(Fi)]
~ ‘
(where count total is the sum of all FP entries)
= The Fi (i= 1 to 14) are “comp| . . . r Experirt
:
given fourteen
; questings plexity
exit;
adjustment values" depending
$
upon responses to the following -
1. Does there is need of reli
Te. : .
2. Is there any
liable backup and recovery to the system?
requirement ofcomm
unications?
3. Are there distributed
Processing functions?
4. Is performance critic
al?
Scanned by CamScanner
Syllabu S Topic
7: Empirical Estima
tion Models
3.4 _ Empirical Esti
mation Models
lo.3.4.1 i Se
Scanned by CamScanner
Z isrware Engineering (|
Project Scheduling and Tracy,
3-11 . . i Table 3.4.1 st
. . 6 - Comp) re refined form of expert Judgmeny
ey Software Engineering a
tai of ‘amas mo!
can be considered . iff The multiplhis
group of experts iliarity with a spectiie a8pect "Borda
— — Estimation made by
like individual oversig"" |
— It minimizes factors
project Complex
the project, etc.
‘ ch are
ert judgment approaeie tried to resolve
eran
Delphi cost estimation s cooiti
in gs of the een
exp
me of the shortcom
In this approach so
In this approach a team which seiyblyes a group irements Specification (SRS) document ty ay
: 1 f
,
ding their cost estimates
0
The coordinator gives a copy
cular formafor
a the pose of recor
purpo
a parti a or.
the estimators and to the coordinat
of the es' ti ma to rs and submitted
i ates are completed by y all |
ing the
characteristic regard
ividual estim
tors” point out any unusu al
Ina individual estimates, the estima
on the estimation.
product which has great impact
idering all the
s of the responses by cons
The coordinator then makes and hand outs the summary of the estimators,
rationale that may be noted by any
estimators, and incorporates any unusual
This method is repeated for
By considering this summary, all of the estimators re-estimate.
several rounds.
ding the estimates. The reason jg
However, estimators cannot communicate with each othe r regar
that the estimate of more experienced or senior estimator may influence other estimators.
After several iterations of estimations are done, the coordinator compiles the results and prepares
the final estimate.
The COCOMO (Constructive Cost) model is an empirical model that was derived with the help of
gathering data from a large number of software projects.
These data were analyzed to determine formulae that are the best fit
to the observations.
These formulae link the size of the system and product,
project and team factors to the effort to
develop the system.
Scanned by CamScanner
- Table 3.4.1 shows the 5
ALi.
- The multiplier Mm fete © COcg,
cts te
r tad
Complex projects
where the softwa
element of re is
a strongly couple
d.
i Development effort.
based.on system design
model
Fig. 3.4.1 : The COCOMO II
programming. '
eet
Scanned by CamScanner
Project Schedulin and t,
eer fn are Engineering (MU _ Sem. - Comp) a ent. Shy : wo software Engineering |
ae f prototype developm:to COCOMO oe
otis ed to create estimates © II to maintain the estima PM =9
lished in tion ere,
-— he Seaton forcomposition
Thea model
pro totyping
was estab
projects. . . also called as object points SeParatey
M =
_ Therefore, the concluding formula for effort calculation for system prototypes is :
Where,
AT - Perc
PM = (NAPx (1x %reuse/100)) / PROD ; ATPROD
Where, . .
For example
PM - effort estimate in person-months.
ante
NAP - total number of application points in the delivered system. eal
reuse - estimate of the amount of reused code in the development. ge
PROD - object-point productivity
Effort = Ax SizeBxM
i:
~ The multiplier M in COCOMO II is depends on
Process’ characteristics that influence
a simplified collection of seven projects and
the estimate. These can icrease
needed. These ch or decrease the effort
:
complexity (ROPX),
fae 1 , some
reuse required (RUSE), platform difficulty rye crits SHY design model are product reliability and | c
Scanned by CamScanner
pM = 2.94% SizeB x M
wher
M <= PERS x RCPX x RUSE x PDIF PREX x FCIL x SCED
Where,
AT - Percentage of adapted code that is automatically created
ATPROD - Productivity of engineers in integrating such code.
For example
of this is
If there is a total of 10,000 lines of white-box reused code in a syste
m and 40%
tegrate this
automatically generated, and ATPROD is 2400 then the effort required to in
generated code is :
(10,000 x 40/100)/2400 = 1.67 person months
some
when a system contains some new code and
The other component of the reuse model is used
reused white-box components that have to be integrated.
estimate might be 6,000.
Therefore, if 30,000 lines of code is to be reused, the new équal size
ent to writing 6,000 lines of new
Essentially, reusing 30,000 lines of code is engaged to be equival
code.
COMO
e to be developed in the CO
This computed form is added to the number of lines of new cod
II model.
that have to be adapted;
o ASLOC: Number of lines of code in the components
Scanned by CamScanner
2-15
MU - Sem. 6 - —
EE” someare Engmonring Corp) Estimation Techniques
A, ''
Syllabus opic : Spec!
|
\
3.5 Specialized Estimation Techniques
ie
soe. 25)
eposntied
nero Esiration Tectriques, (fet.
fos apn project.
- [ae
In the join —_ ition techniques can be used for any software
hort period of time for project completion (weeks instead of
§
estimation in particular Pie ue |
~ However. when there is very )
nuing series of changes,
ich
which isis probable to have a conti oul
abbreviated.
Here we will see two specialized estimation techniques :
— Since the requirements regarding an agile project are set by user scenarios, an esti,_.
— en
approach can be developed which is informal, reasonably disciplined, and meaningfy} in ,
i
environment of project planning for each software increment.
— Approach of Decomposition is used in the estimation for agile projects which encompasses the '
following steps :
1. Each and every user scenario is considered independently for estimation purposes.
2. The scenario is divided into
a group of software engineering tasks which will be Necessary +,
develop it.
3a. The estimation of effort needed for each task is done separately.
[Note The important elements for estimation can be historical data, an empirical model,| or “experience.”
sag
3b. On the other hand, the estimation of “volum
e” of the scenario can be done in LOC (Line
. Code), FP (Function of
Point), or in any other volume-oriented
measure (e.g., use-case count).
da Estimates of all the tasks are
combined to set an estimate for
the scenario. .
4b. Alternatively, historical data
is used to translate the volume
estimate for the scenario into
effort.
Scanned by CamScanner
- Following approach ig wa ‘
length, reused code length . ation), and functional characteristics (such a3 code a3
- A project is nothing but a group of many tasks, and each task has start and end dates.
- A project scheduling is a kind of document that summarizes the work required to deliver the
project on time. :
It also distributes the estimated efforts across the planned project period.
In simple words we can say that the project scheduling establishes the “Road Map” for the project
manager.
ct
Syllabus Topic : Defining A Task Set for Software Proje
ect
3.6.1 Defining A Task Set for Software Proj
hr
cils. fe0c:: 3.6.1).
(lee __@N
Explain the krk ngBreBi ak
Woridi Down= etSIUC rinudeta
lo. 3.6.1 f div compl ex projects to simpler and manageable work items 18 called Work
|
The process of divi
Breakdown Structure (WBS).
Scanned by CamScanner
Project Schoen
B17 ene
: js creating a data Sty
EP somware enginoering (MU SON. : Task. Example of work item "8 ; aabang tab, ‘
al Jed as a Tash
= = ,
item isia also ca jmplification of project execution, In Wrg ; v sofware
. jata. . for sim ite , j
poison The
- Project managers use this Se able items and later these items are Casily wy
in cents
are broken down to smaller mana
estimated. ico field. This methodology can be used for any ‘ Desigr
Project Name
pe
Lark Package 1.7.1
Ork Package 1.1.2
| Work Packace 737]
ckage 1.2.1 or
Work Package 1.2.2 Ban
Pp 1.
Work Packa
98 2.1.4 2
Scanned by CamScanner
Sofware Snginecring (MU - Sem, 8 - Co
- The Fig, 3.6.2 shows
created by bre. exam
. aking down the
Design etc, wath .
. of new toy, ut
- Decompositj ™Position)
Nn is Such ag Mart each level ig
the Process of es Recs
present at the low
akin arch, Product
commer. cials are aj} Wo
. level is called
rk pa~ ckages so
enewn Intheth items into sm, Mer
1
er items, The element j
~ Therefore, creating © example be <
low, brochure which
Wag j, Sritical step
ISKs.
s, advertisin
in th © Process of project ma
g and
7. nageme nt,
. New Toy
i For 5-9 year Olds
f Benefits of WBS
a darenhe impose
2 . : * . te
ject
3. | If project isi falling,
i the e wo: work breakdown structure can find out the major
of the field.
ws | project
ivities for - proje ini ct
any
the critical activities
Scheduling is generally one of £ distributes estimated effort across the
that distribu! —_
ing }is nothing but action
ect scheduling
- Software proj to specifiifc si oftware engineering tasks.
the effort
terval by allocating
planned project time
Scanned by CamScanner
Project
3-19
EET somwara Enginoering (MU SO”. 6 - Comp) va ovol¥ os over time. .
stig
= Itis very importan t to note that, the sched relim: i nary stages of Project plang,
ic schedulo is developed h ‘ : Th | ee :
- ae always identifies all mainyap ll activities involved in the project, ‘y
macroscopic achedule is develo
schedule w: a, each task peg i _
on the feasted identified and schedu
— As the project procee leg, ty,
nits actions and tas
schedule, Here, specific 80! i n soft
ing techniques available in 60 ware engineering- \
. — There are two primary scheduling
1, CPM: Critical Path Method sawr Techniqtie.
2, PERT: Program Evaluation Review
3.7.1 Critical Path Method
with example, (Ff. sec. 3.7.1) i
[2.27.2 White meaning of CPM? Explain
i ie
- Ina project, various activiti
es are execu
ted in parallel by different teams,
a ot atart before another task
thers and hence cann ig - Followin;
{
7 For example, team A cannot
Rane aoliites are dependent itstaes connectivity unless team B updates the Same dy ; There ar
test‘ da
-
. . doc
01 umented, ? one can
When all the activities alo i
ng with dependencies are determin, & J _
that would consume the longest te a
duration. . - WorkB
, and her
~ Considering this longest duration, all other activiti
es can be executed in Paralle] With this ~ E -~
(An activity which takes longest duration to While;
complete). Critical Path is longest
activiti es in a project plan which must be completed metho¢
on time for the project to Complete é
date, mainte
~ Based on which logic has been use 2. Activity seq
d in the Project, some project
Some can have many critical can have one Critical path
paths, ~ Thee
~ Ifthe delay occurs in any - Follo
of the activity involving
the critical path then
the delay in the Project it will ultimately Joa
deliverables. If such o
condition occurs then
the project deadlines can be ach Te-sequencing ig done
s
ieved, °
- Critical path 18-
‘ con :
sidered as a method °
which is based on
used for the Purpose of. sch mathematica] calcul 3. Network¢
eduling Project activities, ations that
~ Critical path method was Once th
Corporati first j .
rporation and DuPont Corfirst introduced in 1950s as a joi_nt
poration, venture between Remingtonls|®_ 4. Estimate
Scanned by CamScanner
- : ol
« Vit, |oP * Activity specification ved the Cpyy,
j - Work Break Do
a wn structure (WRg) ;
4 and hence it ig the main. S) is used ot ' :
PUt Of the =
to find out which activitj
] '
:
a
ity - While specifying the CPM. vities are involved in the project ,
.
ie activity,
method. If the detailed activits gene .
maintain, Fally the higher-level activities
€S are used, the CPM may h .
are selected for critical path
Q
“y Become more complex to understand and
2, Activity Sequence reorganization
The correct acti
vity sequence is reco
gnized
;Followin 8 are the
steps to recognize
the sequence of the
CPM :
|j Identitify .
the task that takes place before the
critical task happens,
o Identify the tasks that
should be completed at the
same time.
o Identify the tasks that should
happen immediately after critical
task.
3. Network diagram .
This is the direct input from the WBS based estimation sheet.
Scanned by CamScanner
3-21
n activity can be comp},
Bs. Engineering (M
u -
sem. 6 - Comp)
e (LF)- The ™
pat recent time of . “ted wit H P
Late st fin ish tim \ Software Ei AS)
3. ; 3 '
ect.
delay in the proj ratio
- activity du
sta rt time (LS) - LF cre
La te st et, ae
4. out paving delay in the Pr
5, Float Time -ES-LS cavity ean Dedelayed with
ork dingean te,
h of the respective netw
During the float time, an activity
ered as the longest pat the deadline
a 7
- The critical path is consid Iv cd in the cri
tical path on
ge, ‘
es invo ‘ect wil {Il also be delayed,
— There is impact of the activiti favotved
tivities
there is delay in an activity of this path, then the pro) j activt volved in the eg
. ds to gear UP the project,
ment nee! .
- If the project manage
should be reduced. — Numbered;
= Advantages of Critical Path Method — Directional
ect activities
_ Visual representation of the proj
- Diverging;
Tocalculate Project deadlines. ;
_ - Dotted lin
To track the critical activities.
)
3.7.2 Program Evaluation and Review Technique (PERT The Poss:
There ar
la.373 Explain PERT. (Ref. sec. 3.7.2)
PERT is related to management probabilities.
PERT is for Program Evaluation Review Technique, which was developed by the US, y
SS NAY
1950s for the purpose of managing the Polaris submarine missile program.
A PERT chart is a graphical re presentation
i of project network di i
numbered nodes, ~ “en - a 7
sa
These nod- represent events. The projectjact isi linked by the directional line which represents _.
isk in the Proje
project. The direction
irecti of the arrow on theé diagram represents the sequence ence offi .***™ ,
task. Th
re
4,8
2 T
Scanned by CamScanner
Estimates in
volved in PERT
St of : - In this way, a range of time is given for each activity with the most probable value, TLIKELY.
g Following are further details on each estimate : °
the | $1, TOPT
: , : oe :
ms This is the fastest time during which activity can be finished. The assumption is made that all the
required resources are available and all the previous activities are completed as planned.
;: +» 2 TLIKELY
. ‘ ‘ 2 sas : iod. In
2 * Generally project managers are asked to present one estimate during the Init peal Pe,
that case, this is the estimate which goes to the upper management.
| * 3. TPESS ‘
44 to compleA telotan of activit
This is the maximum time ve-ed wrong, y. It is assumed that many thing
rework will need to do and resource
3 . ivit' go ‘ 2 Be tenes
related to project ar hen such estimation 1s derived.
unavailability is considered
a TTT
Scanned by CamScanner
Project Schedutin,
3-23 Fite Sndy,
- Comp) 'e schedu
ea, |
a. software Engineering (N
[EP sotware Engineering (MU - Som_6Syllabus Top ic : Trac’
king th ON
Timeline chart
1. Planned tim
3.8 Tracking the Schedule
Actual time is
”
-
Tracking Schedule
Explain the term g. Forecasted t
(Ref. sec. 3.8)
h defines the tasks and milestones that are t, he he - Project
a road map ©
hic! 2.
hy |
The project schedule is signific
j
and controlled as the project procee! Ss.
:
- ‘With ¢
ber of difi feren t ways:
Tracking can be done in a num member repo ||
deadli
Ww!hich .
eac h team
li ally in
periodic i
i g pro; ‘ect
j status meetings
By callin
1. - Thee
i Pp rocess. and|
i ering
engine
the software
i agthe review s durin zs
by the scheduleq
: dat - Usu;
ve project
Setting th e ten tative deadlines that vi
have been. completed
3.
every project.
1.
start date for
the real start date to the intended
4 Compar in,ig
t 2.
5.
mt
Meeting can be taken informally with resources to obtain —_ ne on the
i
assessment. 3.
'
~ hni
Allofthese tracking techniques i
are used by experienced d proj
project managers.
= 4 | — With th
— If things are going well (i.e., the project is on schedule and within allocated budget, retin | show hc
progress is also going well and milestones are being reached), control is normal. — Its pos
But if the problems occur, project manager has to control them as quickly
as possible. After 3. Timel
problem has been identifi the
ed, additional resources may be focused on the proble
m areas, staff
be redeployed or the project schedule can be
changed.
my - Theti
— If the project manager ig facing with highh
deadline pressure, experienced
have to take the project managers someti |
decision about the project scheduli deliv:
ng and this control technique can
time-boxing. be called q
- Ifan
The time-boxing approa
ch identifies that the
whole product m ay not
predefined target. Henc
e, an incremental be deliverable by tk
schedule is preceded for soft ware Process is taken in
each incremental delivery, to consideration, andt
Syllabus Topic :
TimeLine Charts
3.8.1 TimeLine Charts
Scanned by CamScanner
OO
pp sos Engineerin (MU Som. 8 - Comp)
3.24
Timeline chart helps to Visualize three Project Scheduling and Trackin
Main tj
1 Planned time Meframes ;
. and e3 .
deadlines, charts, it is Possible to avoid low-quality releases as well as
3. Task management
- Ite possible = compare planned and actual end dates and get forecasts.
3, TimeLine Components
- The time line components are the diagrammatic representations of the tasks. Timelines may be
highly detailed or simple. They can contain hundreds of tasks and subtasks or have only a few
deliverables. a
- Ifanyone want to build a timeline to their goals, they have to pay the attention on following :
Scanned by CamScanner
Project ;
time or much effort to form 2 O°" of the Gantt charts *© “hy 1. Pisnnealy
— Online project timelines are same 2° \ The allocat
ne events. " Scheduled|
| concerned with time and “Earned Value ‘Analysis i
{ Syllabus TOPIC: oo ‘\ 2g. EarnedV
i The budg
3.8.2 Eamed Value Analysis = eae Work Per
in
0.3.8.3 Whatis Eamed Value ” 1 in Project Management. 3. Actual
— Earned Value Value Analysis (EVA) is the key techmave sect isi progressing.
understand how the project ‘ The e acti
‘The purpose of Earned Value Analysis is to and ge . , of Work
earnings or money
=
of a pro jec t ba se d on
— EVA used to estimate the progress @ Tools and te
jo 4 time. : FE 4. Win
f 5. Pri
_ EVA is used to evaluate project health and project performance. o@ Earned |
— Earned Value Analysis is also used for monitoring the progress of a software project / team wij,
involves tasks allocated to the Project Schedule. - Ce
— Total time required to complete the project is calculated and each task is given an Earned Val ei
based on its estimated (%) out of the total. _ .
: fi c
3.8.2(B) Need for EVA :
- EVA provides the measures of project process of different tasks associated with project, so itiss Stey
single way of measuring each and every point in the project. Fro
- It also provides a signal for corrective action in the project. The types of signals can be the 1.
following :
. . 2
1. Time to recover 3
If the project is not going as per plan and it is found that there is some delay in the projet: 4
Then at this time, situation is needed to be taken care
by finding out the reasons that at
causing delay and by taking the required
corrective actions.
2. Request for additional funds/resources
Scanned by CamScanner
.
f, i ineerin, My. Som
S log
"Key ts
Elemenof Eva a
e,
7 1. PL anned Value
The allocat
ed cost
Scheduled (BCWs) for Project
whi
ch ig ®Pproy,
3. Earned Val ue
Sa. Tt wong known,
The bu ak fa Dudgeted Cost of Work
dgeted value of
Work Perf
OFMANCe at a y © “ompleted weil
gs. Actual Cost (Ac)
ted poi
Point (BOWpPack,
, ». 8 It used
to be known as Budgeted Cost of
_ of
nd 3. RiskTrak
4, Winsight
5. “Primavera
= Earned Value Analysis — Exampl
e
- Consider
:
you are han dling as oftware development project. The pro} , :
eight months with costin project deadline of the project is
g of $10,000 per month
Step 1: Calculate the Planned Value (PV) and Earned Value (EV)
Scanned by CamScanner
Project
3-27 andy
/ EEF sotware Enginorng (Muy
- Sem. 6 = COMP) (CPD is less than one, this mean, the
f f <« erformance Index
veenet te pace ann we are getting 60 cents’ worth of Peremanse, “Pig,
_ Because SPI (Schedule Performance Index) is more than one, the Pre *S considered ..
a
| schedule. i
at the
budget. If work is continue
| — However, this gets achieved at a cost of cro ssing the budge, as
but it will be over
rate, the project will be definitely delivered before deadline
H f is need of corrective measures.
ii — Besides computing the CPI and SPI, it is possible to caloulate the earned value cost ang
variance. Additionally, earned value forecasting formula. ss —$_
Scanned by CamScanner
Design Princi
ples, Design
Concepts Ef
Component-leve} des; fect;
ign, User Interface Design.iva Modular Design - Cohesion
and Coupling, Architectural Design
vare Desi LS
- Once the requirements
document regarding the
(5 Marks)|
of software design software to be developed
gets started. is presented, the phase
- Th
- In the design phase, important and strategic decisions are made to get the expected functionality
and quality of the system. .
These decisions are considered to successfully develop the software and handle its maintenance in
a way that the quality of the end product will be improved.
Scanned by CamScanner
SS,
practi s t},,,
ss -ooiples concepts, and d practice yiP
~ ker - Sem 6= comp)
EE! Sottware Engineering (MU » i
the set of pr Software
{twas Eni A - Sen,
° Software design encompasses ystem orproduct.
— Vv
development of a high-quality § od before the desig? prac
tices are applied. 3 =
rp, ~ A design shoutg Ontain
und ers to entations of the softwa components,
Design concepts must be
res
. — tion of v: rious rep
| s to the crea ty that follows.
Design practice itself lead uction activi
4.
Hl
—
e as a guide for the co ns tr
; 5 “anddesign should lead tg a
ign Practices serv tures, architecture, are drawn, from
- Des
> inter, |
odel provideides
:
data struc
details about software stem. haei 5. A design should 1, ead to
— The design model . ;
+ plement the sy’ design manifest lS
components that are necessary to 1™P nia? in Dea “i| 6. A design should
are
its Kapor, por, the the c creator of Lotus 1-2-5, presented a “softw
. : tead ty
= and with the ex,
\ Tal ey
i | Journal. 7. A design thoula —
design should exhibit :
~ He said :! Good software bugs that inhibit its function. during software requ:
ances
ram shoul d not have any nd,
A. Firmness : A prog ich it was inte 8. Adesign should be rey
j purposes for wh
.
be suit able for the
B. Commodity : A program should
t {
|
rams hould
be pleasurable
one.
AAA of Good pe
Qualities
~| C. Delight : The experience of using the prog
lo. 4A2 Explain
Software design model consists of 4 designs
nen
There are number of gu:
1. Data/class design 2. Architectural design
Component-
it: ” Scenerio-based — Flow-orinted = Level Design
“elements elements
ty
- Use cases - text Data flow diagrams
; Control-flow diagrams
| Use-case diagrams
Activity diagrams Processing narratives
'
Swimlane diagrams
ft Analysis Model.
Class-based) Behavioral
elements elements
| : Class diagrams State diagrams “> (1) Innovative
Analysis packages ° _| Sequence diagrams .
CRC Models — Innovative d
i Collaboration diagrams Design Model
| - New design
product.
Fig. 4.1.1 : Translating Requirement Model into Design Model _
=> (2) Functiona
@ Design Guidelines
Good design |
1. Adesign should exhibit an architecture that : product by of
(a) Has been created using recognizable architectural styles or patterns, > (8) Honest
(b) Is composed of components that exhibit good design characteristics and A good des
(c) Can be implemented in an evolutionary fashion! attempts to
2. A design should be modular; that is, the software should be logically partitioned into elem"
subsystems.
Scanned by CamScanner
(5) Correctness
Scanned by CamScanner
Soy Wang
;;
ed
i olution to .
(2 _soteore Sraroerng
: > (4) User - oriented oh * D ded to improve § Probj eT by } - Methods rep
° a its vse-and inte y new technol
i : ~ Good design is developed bas
system which intory
te:rial value to for the Proc
i ! }
{
user.
. ell as ma Ach: :
— User-oriented design gives intellectual 45 ‘tay — However, ¢
: ;
; user’s satisfaction. : the same."
43.1 ngs of
With reference to sofware desian gv the meanings
ct . . , }
- All of the software processes are
practices or methods,
by basie concepts in conjunction
with sot
Scanned by CamScanner
are aq .
Tin Pplied,
are, | Me methodg no" p,© Id
ich te, chnology i
is replaced by
6 Used to
apply the concepts
——
Fig. 4.3.1; Fundamental :
design concepts
+ (A) Abstraction ee
1, ne
Scanned by CamScanner
LF soma 4-6
engnorng =e ; <e,
Core) ;
~ For example, in the requirem . 0, language i s used to provide a gay.
ents analysis es process, the abstraction levey tion
problem and as ono proceeds during the so tovel. Meda ay some en
source code of the software is gene lowest.
rated at the ftiwaro design are functional a) %
Tn general three abstraction mechanisms used in 80 Petraes - Sof
abstraction and control abstraction. “ty
reg
as b y Startino
design process
These mechanisms help to control am
the complexity ain tashacii
syst
tleeemat1d
ic mann
abstract design model and onding at concrete design m ane er,
at Sy ‘ - Th
1. Functional abstraction de
: This type of abstraction
subprograms, Functional as ‘a set. ofsubprograms
abstract ion can. be created isible or inv -
At
‘eroups'. In these sets, routines
are exist which may be vi isible .
The a F
mom
routines can be done 2.9 ithin other = ~
within the containing e
invisible routines are hidden from other groups eee oe used in the
groups and are
group only,
spina .
Data abstraction : This type of abstraction includes deser
ting ata vey te
object. For example, the data object flower
which describe the flower obje
encompasses a set of atts wn fra
ct clea . In rly. this abstraction mechanism, TSPTESEDtatin |
well as manipulation details are ignore
d.
3. Control abstraction : This type of abstraction states
the desired effect, withoutSaag,
the exact mechanism of control, For example,
in programming language like C, ifeng
statements are abstractions
of machine code ay
implementations
instructions.
containing Condit
Advantages of information
hiding
Results in low coupling.
Put emphasis on communication
by controlled interfaces,
Reduces the Possibility of adv
erse effects,
Controls the impacts of changes
in one component to others
Results in higher quality software.
Scanned by CamScanner
3 a th TOgram/ g. of th
stem, the Attributes ( be,
_
inoO which Conaiate of several
2mMe d . Software {rchitecturg h evera
ky "ey - esign Proficiently , elps the Software o ie “mPonents and the scien s
, ship
2 of a .
Visi,
Ps, " le
S a dat,
i)
tion ag :
Ict;, r
;
While ,
nay
ag i 3
y ;
| - The Pp proces
rete izingi aa desi
amnens design helps : to plan the development in a more
| = changes without difficulty, conduc efficient way,
t testing and debugging effectively
: efficiently, and carry out the maintenanc as well as
e work without adversely affecting
the functionality of
the software,
Example
- It.isis iimportant to utilize the resources efficiently as much as possible. For this purpose multiple
tasks must be executed concurrently.
Scanned by CamScanner
Sottrar, |
4-3
are design. 1 .
eS Software Engineering (MU - Sem_6- cone) ; portant concepts of sof ays : Z som
e of the impo hat it should facilitate multip}.Proc, a
ut|
ncy on
This aspect makes concurre sn ouch 8 manner thi
igned
— Every system should be des
execute concurrently. ie =" waiting for some resource, the System tng
- For example, if the currently ¢x' ecuting
the proce
mean \
time. \‘
able to execute any other process 10
Compared to art, there are many targets (e.g. desired functionality) and ee a (e.g. deg,
quality attributes) that the software engineer must adhere to, but these s leave alms
infinitely many ways to create a model that fulfills all those requiremen
ts. 44
~ In addition, for essentially the same model, there are many
ways to represent it. Since Model |
and code must also serve to communicate ideas to other people (or
to the same people months ¢
years later), the chosen structure and representation are
key attributes for the success of the |
product. ; | '
~ It's a well-accepted hypothesis that the
aesthetics of the artifacts produced
development are an indication of 'the quality during softwar j
’: it is very common to.comment on
‘beautiful’ or “elegant”. designs as being |
~ Such &|
a qualification is used to indicate
the apparent quality of the design.
an intuitive connection between Apparently, we make |
aesthetics and quality.
;
Scanned by CamScanner
j
! 1. Maintaining smaller
components is very
easy
e b ed.
As per the requirement, the
ad
Modularity has become an accepted approach in all engineering disciplines. A modular design
reduces complexity, facilitates change (a critical aspect of software maintainability), and results
in easier implementation by encouraging parallel development of different parts of a system.
Scanned by CamScanner
| LEP sottwa re Engineering
ngineering (MI U - Sem. 6 - COMP) aby che process loping
of developing mod 08 wawith
modules « PAT software’
Ca
a - Asa result functional independence is a key to good design, and in turn the respective design i -
the key to good quality of the software.
i — There are two qualitative criteria to measure independence : cohesion and coupling.
, => (ii)
Cohesion is used to measure the relative functional strength of a module where as coupling i
ij used to measure the relative interdependence in between modules.
> (MU - May 15, May 16, Dec. 16, May 17, Dec. 17,
May1i}
ee ; What is cohesion? Exp 4.diffe Bs =
'
#
Scanned by CamScanner
* (iii) Temporal cohesion
When components of system are related to each other only by sequence then there exists
procedural cohesion. .
cohesion.
i - Loop in programming language is good example of procedural
+
(v) Communication cohesion
.
2
: >
accepts same input and
rm different functions but each function
- elements of module perfo
When _ ational cohesive.
module is sai d; to be communic
ame output then that
—— rnative is easily found.
table if no other alte
It is sometimes accep
Scanned by CamScanner
er Software Engineering (MU - Sem. 6 - Comp) 4-12
>
(vi) Sequential cohesion
A mi module is said to b sequentially cohesive ifans its func tions are re lated in a way such t
© 18 sai ‘hat
ie
r function. “hy
of one function acts as an input
data to othe
This type of cohesion is easil7 y intainable
maintaina .
> (vii) Functional cohesion
Ifel :
_~ elemen
ts of
of mo
module are grouped together since
e
they contri ibute to a single function the n
module is functionally cohesive module. a
afal execution of function.
All elements of such a module
are necessary for succes
.
4.5.2 Advantages of Cohe
sion
(i) High cohesion among system comp .
onents results in Better progr ‘am design.
Gi) High cohesion components can be easil
y reused.
(iti) High cohesion components are
more reliable.
4.5, 3 Disadvantages of Cohe
sion
(i) Low cohesion components are diffi
cult to maintain
(ii) Low cohesion components
cannot be reused.
(iii) Low cohesion components are
difficult to understand.
(iv) Low cohesion ‘components
are less reliable.
‘()
Syllabus Topic :Coupling , =
4.6 Coupling _
> (MU - May 15, May 16, Dec, 16, May
17, Dec. 17, May19
fi 4.6.1 What is coupling? Explain different forms of it, :
‘L_____ (Ref. sec, 4,6) Bis eames:
lattes
Scanned by CamScanner
.
Te high} her Modulg Ot doesdepeng
n, . om 8ny other eninge,
other modul y
n such a es or com i ect Modules M2 and ent for their fonctions,
my.
One of the Solutions Pon,
ei
— Ingeneral, in system a luce Coupling be
€velo .
4.6.1 Types of Coupling Pinent coupling j ™Ponents is a functional design,
Data
a’ coupli
. ng e occurs phan 2 two components
of system when they pass data to each other
parameters using argument list and by
each element in argument list is used.
- Acomponent becomes difficult to maintain if too many parameters
are passed.
18) (ii) Control coupling
- When data are passed between two components and that affects internal logic of a component
then there exists control coupling between those two components.
.
h other by using global area
.
- .
d.
data in global area is change
difficult to track when
- Common coupling becomes |
(lv) Content coupling | e two components |
te rn al s 0! f th e ot her component then thos
to the in
i
onent refers a
When one comp
ent coupled. not be used in
designing,
; i ng it sh ou ld
of coupli
e eco upa: li ng is Wo’ rst type
- Asco ntent
f
ee
TE
TTT
epee
Scanned by CamScanner
Software Engineering (MU - Sem. 6 - Comp)
EP sotware En,
414 Software
(Vv) External coupling TS
5
If two components of system share an externally imposed at, communication
device interface then they are said to data format, Protocg} or
be externally coupled.
- External co upling refers
to communication between system components d external
devices, an tools o
(vl) Message coupling
Scanned by CamScanner
: ing the archi : :
which software can be:develope tectural design which acts as an initial blueprint’ from
Scanned by CamScanner
EET sormare Engroning Sates
san. 6- Com 4-16
table architectural design
5. Framework model : This model . recogni
a
4. It develops and documents top-level design for the external and internal interfaces.
5. It develops initial versions of user documentat
ion.
4.8.2 Architectural Design Document
Scanned by CamScanner
: ,
‘able archit, different style-spe
: = cific analysis
a Sty], sant ig “
- Every . =
e Style lee
fines a syste Part of this Syst: em) ) di ©monstrates one of the
1 . ComSeh
putite
at; onal co several
Scanned by CamScanner
(a) Pipes and fitter
CFinor)-+(Fiter))-+FoCitor
Fitor))
(b) Batch sequential
3. Tt 18 Not easy to
coordinate two dif ow architecture.
> ferent but related
2, Object-orienteg streams
Architecture
- In this architectural
Style, the componen
which are used ts of a System
to change the data wrap data and operatio
, ns into single
— In this style co unit,
» mponents ‘are
reprec. Presented as obj i
through methods (conne ects. and th
ctors), i
wr
Characteristics of obje WY SOmmunieate with
i
.
ct-oriented archit ecture each oe
1. Objects Preserve
}
the integrity of
-
the system.
2. An object is not aware of other
objectg’representation
= 3
Scanned by CamScanner
oR
S Lltway
a)
NE a wel] d
efined
here ey, ry layer ig builtset of operations
one ime
it,
A data-centered architecture has two
unique components :
1. Central data structure
2. Collection of client software
A central data structure is also known as data store.
The data store such as database or a file demonstrates the current state of the data where as the
etc. on the data which is
client software performs various operations such as add, delete, update,
stored in the data store.
of any
Sometimes the data store permits the client software to access the data independent
tware.
ons of other client sof
changes or the acti
Scanned by CamScanner
LE sonware Engineering (aU «Sem. 6 Come) 4-20
ted to clients can be addeg
y
~ In this architectural style, new components
nents can
can be changed
a change in other clients, a
components easily which does
thoutnotdepending other com Ponents,
upon any
~ This is because client components work wi ‘
ystem in which the data store jg tra ry
A variation of this architectural style is okt the data ia modified,
-
into a blackboard that informs the client ftware
so! :
Additionally,
nally, the the inform
information can be transferred between the clients with the help of y,
components.
- 2 Advantages of the data-centered architecture
1. Data repository is not dependant of the clients
.
2. Clients work independent of each
other.
3. Adding new clients can be
easy.
.
4... Modification can be very easy.
5. It accomplishes data integration in compo Bp R
nent-based development with the help of
blackboarg
Scanned by CamScanner
In this style,
componen:ts of the Main
petwork acros S$ num
ber of Computers which
eqogr
c £an he accessbpr — am.archi are distributed over a
- The software is
desi bo revi TEP resented by the component-level design in such a manner which lets the
gner to review it for correctness as well as consistency prior to its built.
- The work product generated is considered as a design for all of the software components. It is
represented with the help of graphical, tabular, or text-based notation. :
transformation or control
- Design walkthroughs are carried out to observe accuracy of the data
the components in the earlier design steps.
transformation which has been allocated to all of
® Component Definitions
encapsulates
a mod ula r, dep loy abl e, replaceable part of a system which
- A component is
poses @ set of interfaces.
implementation and ex labor ating classes
vi ew @ co m po ne nt contains a set of col
ted
— As per object-orien du le ) re si de s in the software an
d serves one of three,
a component (or mo
- eetraditional view,
As per
roles as follows :
Scanned by CamScanner
4-22
keep Software Engineering (MU - Sem. 6 = Comp)
vate coordinate invocation of all other problem domain componens as
G) Canine e functionality needed to the custome,
mponents implement th
required to bog
implement the functionality
7 vchaucamuen anaes
ain application.
processing needed in a dom
+
ding system 3 out of existing components which
- Process-Related view focus on buil
from a catalog of reusable compon
ents as a way 0 f populating the architecture. me a “they
oe
* Object-Oriented Component Design
— Put emphasis on describing the domain oriented analysis classes as well as the deta
«
infrastructure classes.
— Comprehensive information of class attributes, operations, and interfaces ig Mecessary
activities. bel, L
beginning construction
Scanned by CamScanner
to Tef],
Combineg jt SPetic be havior oF state,
- Sequentigi
- ‘ i
ton : ut Pass; 4 gro UB to let °
Cohesion . Qo tions hn Ssing data, ne be called immediately er
e
Scanned by CamScanner
EEF sonware enginoaring (MU = Som 6- C20) 4-24
8
*" Conducting Component Level Design hich are corresponding to the problem domain,
serra SeeSe,
- Program Design Lang,
1. Identify all of the respective a ee classes
classes whic!
which AT ae
to the infrastry details,
2. Identify all of the respective des ae
g reusable co
mponents ; a | program Design
ar Pr Language
3. meee
Elaborate all of the design classes which are nen
not there
acquired & ion n of of classes
is collaboratio clas or Components » Predetermine= oni
a. Specify details regarding the mess: age W! constructs, dex|
nts.
b. Identify suitable interfaces for all the comP? ne tructures which are necessary » 7 Resemasof nat
e Elaborate rate ai attributes ‘s and define data types and data $ % the, - Data declarationf
implementation. : F 7 Subprogram defin;
d. Describe processing flow of all the op erations thoroughly. :
tabases and d files
fil and r A
4. Make the Identification of persistent data sources such as dat : ecognize the
on Modularity = Net
classes which are necessary to manage them.
‘the classes‘or components. -
7 e — Overall simplici
| 2 SeSiaalea . rs a implementation d e
dditional — Ease of editing:
6. Elaborate deployment diagrams for the purpose of providing a! | . ‘al, — Machine reada
representations and consider alternatives, oe
7.AL levi diagram
Factor all of the com; ponen t-level agr / — Maintainobili
= Object Constraint Laniguage (ocL) procedural de
— Complements UML by permitting a developer to use formal grammar ass well as Syntax for the — Structure en}
Purpose of constructing unambiguous statements regarding design model element. — Automatic p
— Parts of OCL language statements: ‘
, = Data repre:
1. A context which indicates the restricted situation in which the statement is considered a, » =. Logic verif
valid. :
— Easily con
2. A property which represents few characteristics of the context. a
3. An operation which manipulates or qualifies aproperty. ; =
4. Keywords which are used for the purpose of specifying conditional expressions. 4.10 User Inte
Conventional or Structured Component Design
Scanned by CamScanner
, program De
sign Languag
e Characterist
ics
- Predetermined syntax with k
€ywordg
constructs, data declarations 88 We Provided for the
Purpose of representing all structured
Free syntax ll as Mod
ule def; nitions,
of natural la
=-
ng uage forthe Purpos
Data declaration e of describing proc
essing features.
- facilities for Simp
le ag well comp
| =
Subprogram
definition aS
lex data stru ctures,
Well as invoe.
ation facilities,
|p pesign Notation Assessment Cri
teria
Modularityi : Nota
= te ti
t}on Providi e
support for develo
pment of modular
- Overall simplicity
: Easy to learn, fa software. |
Ease of editing : sy to use , easy to write
-
Rasy to make ch
anges j
|
Maintainability
: Maintenance of
procedural design re
presentation .
Structure enforcement :
Enforces the use of struct
ured programming constr
Automatic processing : Allows the designer to verif ucts.
y the correctness and quality of the design.
Data representation : Ability to represen
t local as well as global data directly.
. Logic verification : Automatic
logic verification improves testing
competence.
Easily converted to Program sour
ce code (makes code generation
quicker),
Syllabus Topic : User Interface
Design
Fd
Scanned by CamScanner
Softwar,
4-26 re
.,.video based. It is. usually depe
end Z soft
FP sotware Engineering (MU - Sem. 6 - Comp) s
nds Don oer
— ¥
The form of UI can be graphical, b:ased, audio- .
= are combination). ty
(
underlying platform (hardware and softw;
— The popularity of software depends,upon foll
owing “ .
° Attractive -
:
°o =©Simple to use
o Responsive in short time
o Clear to understand
o Consistent on all interfacing screens
~ Ulis broadly divided into two categories :
1. Command Line Interface .
_
2. Graphical User Interface
Scanned by CamScanner
% “ Pu Engineering (Mu . Sem
(3s(y here are followin
g clement, :
Command m, A804 5
“Gy king. § PEt Tt i texty,
18 Working. oftware “many
Not
Software
. ;
. I *
_- Cursor : It Iw aq 8m,
Benerat,
ce
iors 8 it,
represent POSition of ch displays aa WEEE tac oe
"Zonta} i
moves when user
hi
yr:
Cter at th ine Or gq Vertical x ma
Command ; 4 co “28 or Teletes tox,© tj -_ “AlCurag
of tying bar with the height of line. It10s
is ten fo
parameters to it. Out in, Tis usefully found in blinking state, It
command Prompt is set
t of co 8 but AN exag
to the Next a 'Splaye, * 11
40.2 lin, e, inl ine on thetion, Th eTe may
Screen. After disbeplaon © or more
4,10- Graphical User Intertace (sun ying output,
- GraphicacolrtibUs
iziaeres Interfac
can be e offers Btaphical
ation of both m, ®ans to the . .
software. hardware and use for in teracting wiFth
software. Usin the sys tem. GUI
g GUL, user
is able to inte
rpret the
latest advanced technologyred as more resource Consuming as
compared to CLI. With the help of
the Programmers
designs W.hich , and d
Perform with esigners: are ympl
better efficiency, able to create comp ex GUI
accura cy and
d.
Seal
; displayed. -
scon Jication are or lists.
in W. ich contents °F? be disp laye d in the form of ico s
s the area a”
t
tents cam
dow: : It is the - dow con
e Win "
for use
°™ file struc” ° . sationis very e25Y
- Torepresent th e navige!
Scanned by CamScanner
‘ J : .
i 2 ig } Sottwa
g j Seen ENgineering O4U - San. 6 - Comp} 4-28 " : Bla ex ttes Wary zB software En
; i — Windows
j Pras prvride — ility to minimi: resize or maximiz e. It is poss
or eid another window (child window) of the ® Bame
them any ; nn
appl ey - deve
i inside it,
° Tabs ication tes more than one instances of itself, then those;
“My
: When an applica execu
appear on the screen as separate windows. a 4
© Tabbed Document Interface provides the facility to open nore tl ; n one d Nt ig
indow. This interface is
used to view preference panel in application, Nowadays
fai feature is used by almost all web-browsers.
o Menu : Menu is considered as an array of standard commands, combined
4
located at a prominent place (mostly top) inside the application window.
It is also Possitg
Program the menu to appear or hide on mouse clicks.
Jeon : An icon is small picture which is used to represent an application.
j These icon, on
clicked or double clicked to open the application window.
j j Fite ca 8 GUT cursors are used to represent interacting devices like
mouse, touch.
— Several activities are carried out for designing user interface. The process of
GUI design and
implementation is as of the SDLC (Software Development Life Cycle).
— For GUI implementation there are number of models available such
as Waterfall, Iterative of
Spiral Model. -
Scanned by CamScanner
;
__. Testing GuI
Task Analysis
Paq ”
GUI
-». Design and-
Implementation
hich
sub-tasks.
. vided by the tasks.
goals are Pro .
For GUI p resentation, nts is decided by the flow of information among sub-tasks.
|
t ting co
mplete
inf
ation regarding
after ge
n :De signers ,
mentatio im plem
1 z. mple G and
ective
GUI D the resp
Oo design
. t,
en
environm
.
n' ,
req wireme
Scanned by CamScanner
: =a |
6 - Comp)
IBF sotware Engineering wy. + Sem. 4-30
BS Y Software i, Cc
rc caret working ow
set te
by the developers.
round. Then self-testing is implemented
° Testing: There are several ways to.implement the GUI testing. Organization ha,
Such as in-house inspection, straight involvement of end users and prior releagg
ion
version. Important aspects verified in testing are usability, compatibility, user
oF bet
Rte,
4.10.2(D) Gul Implementation Tools
There are number of tools available for designers to create entire GUI on a single mouse click,
Out
of them some tools can be easily integrated into the software environment. ©
© Visual Studio .
4.10.2(E) User Interface Golden Rules
Scanned by CamScanner
-
Comp)
o6m- . 4-31
En ineeri ing (MU - S
certain style
lic ati on con sis ten tly. For example a
app
elements across your lly, going deeper
- Inother words, use all tion should function logica
the same thing, or n@ «za
of button should always do
.,
in hierarchy.
- Consistency of:
o Workflow / Processes
o Functionality
Z
Scanned by CamScanner
er Software Engineering (MU - Sem. 6 - Comp)
ss Soft
_,
are
giseeee
ga—
© Appearance
© Terminology
: one feedback
| * 2 Visibility informative
of system status or Offer infor
;
bout what is going on. Through ap ,
~ The system should always keep user a
s informe guessing tell the user what’s happening, tte
feedback in a reasonable time. Don’
t keep the use
~ Example:
OS Installation status -
Preparing to install. Your computer will restart automatically.
El Capitan
mmmcmmmemummmmm SEO
— The user wants to be in control, and trust that the system behaves as expecte
d. It could be evey
said that users don’t like surprises.
- Relevant ~
- Fits importance and urgency
Scanned by CamScanner
- Sequence
of Actions
sh
process is fi
nisheg
middle and end. When a
- Grouping of actions,
- Explicit completion x
of an action
- Well-defined options
for the next step
+ 4, User control and fr
eedom or Permit easy
reversal of actions
- Shneiderman puts it nicely “This feature relieves anxiety, since the user knows that errors can be A. fe
undone; it thus encourages exploration of unfamiliar options.”
Scanned by CamScanner
4-34
- -£§ GBF sonmare eninoning (Som. $C ctionali ty. Clearly . mark an “emergency . ™
* i
- anaes
In applications, this: refers to the undo . and redo through
fun!
an extended dialogue. ta
leave the unwanted state without having to go :
ae — Reversal of actions
© No interference with workflow
°o More freedom for the user
{ © Single-action undo and action history
“> 5. Error Prevention and Simple Error Handling .
g that they themselves have done gs .
Users hate errors, and even more so hate the feelin, heck for them and notify
users about thay
wrong. Either eliminate error-prone conditions or ¢
before they commit to the action.
— Exam
: ple
Password Enter :
[mn
- tw :
Scanned by CamScanner
- Use iconography and
- Implicit help
- Visual aids
- Keyboard shortcuts ‘
- “Power User” features “ °
‘
- Action automation
Scanned by CamScanner
EEF" scoware Engineering (MU - gem 6- Comp) —
7S Aesthetic and Minimalist desism : be t valuable : and relevent.
~— Minimalist doesn't mean limited. All information should
risk Wdenticate
SCM process.
(FT). Waikthrc
SSA GRE
Chapter Ends...
qoo0
Scanned by CamScanner
Risk, Configuration i
& Quality Assurance .
~~
@.5.1.1 Whats software risk ? maar > (MU - May 15, Dec. 15, Dec. 16, May 18) i
a, 5. 2 Discuss the different categories of risks, May 15, 2 Marks
(Ret. sec. 5.1)
Eee
0.5.1.3 Explain diferent stops in rick management
with suitable diagram, :
(Ref. sec. 5.1) : ;
ag
; Dec. 15, 5 Marks
Q.5.1.4 Write short note on Risk Management. (Ref. sec. 5.1) PESO S
Q. 5.1.8 ___Explain Risk and its types. (Ref. sec. 5.1) . a Se =F si aoe
.
Risk is the possibility of suffering loss. In the project
development, the loss illustrates the impact
to the project which could be in the form of diminished quality of the
end product, increased costs,
delayed completion, or failure.
Scanned by CamScanner
ss
tallityAt
& Qu ,
i l Me
uration a gm
Ris k, R i s k , Co nf g u a
5-2 Softwi are
FP sotware Engineering (MU - Sem. 6 ~COmP) oct Management are % 8 fo.
Various Kinds of Risks Associated with Software Proj
‘arious Kinds o
_
1. Schedule nning Risks oa .
/ Time-Related / Delivery Related Pla! chedule and are essential time-related risks, Whig,
F . ing behind sche
These risks are related to runD: .
directly impact the delivery of the project.
Some of the reasons for such risks are : rrect project schedule.
- Incorrect Time Estimation, and consequently an os . i
Improper Resource Allocation. ; : _
- Underutilization of Resources. /
Superficial Understanding of Project Complexities.
5 a
- Unexpected Expansion of Project Scope. } t
Incorrect time estimation may occur because a' ctivities may path external
tical have
dependencies . suchete as
activity has a
client approvals, subcontractors etc. and a delay in a critic ne
on the entire project. / Ja .
Resource Allocation may be improper / underutilization of resources may take p
ce.
if:
» ©Specially
resources are shared between projects. : ssolatost
A silo approach of members in various teams ini a project
i 0.
may lead to an isola’ superfici
Perficial
understanding of project complexities which may result in delays in subsequent stages ©.g. when
different development teams work on various aspects of a software project and run into issues
during system/integration testing.
“8
2. Budget / Financial Risks ©
These are the monetary risks which are associated with budget overruns.
Some of the reasons for such risks are :
Scanned by CamScanner
a
Na ee ee ci
acne ftom
s mi tmb vas
Pepa
ony, P *
Effective team =
comm ication 5
| pro,jectsee such as 5 oftware Projects,n thers
is an ¢, .
Ssential part of project manage ; ; ;
' Such as a setup for escalation, , conflict 18 a strong need for an estab Bernent and in people-intensive
1g e face employees need to be trained in ee . Process, established establi cen oh oe Enasi structure,
nical / Fu ig use of these iro me ject priorities and above all, the
4. Tech nctional /Performance a Sses within the organization.
‘ially if . iSks
These are technical y;
Tisks associated
rficiay “_ Pema with the
functionality of the software or with respect to the
- order to com
when
Sues sometimes reduce ve for ality
the function, excessive budget overruns and schedule overruns, companies
of the softw
‘are
All the risks described above are those which can be anticipated to certain extend and planned for:
in advance, However there are certain risks which are unavoidable in nature.
o Obsolescence (becoming outdated) of software due to new technology from arival company,
customers end.
o Loss of contracts due to changes at
nem
Scanned by CamScanner
ae u 64 Software Risk,
; : er Software Engineering (MU - Sem. 6 - Comp) " ith es, methods, and tort, : —
fy
a2 - Risk M software en) gineering practice W t for proactive decisi jon-maakins : 71 BE
i ; mana skgingManagement
risks in a pro a t. It provide a n disciplined environmen
is jec
' to: |
5
d assess ment).
; co Assess continuously what can go wrong (risks identification an
at setts (eto prioritization).
© Determine what risks are important to de
tion).
° Implement strategies se risks (risk resolu
to deal 7
k managem ent pl anning, analysis of ris),
Risk Analysis is series of proced
identifying and controlling the risk involved in project.
ivities :
Risk Management Procedure basically includes following activities
1. Risk Assessment
2. Risk Identification
3. Risk Containment
5.2 RiskAssessment _ _
Risk Assessment
(B) Riskanalysis
(C) Risk prioritization
!
Scanned by CamScanner
the other type of
-— The best way of
an; .
essential areas alyzing a proj pl
Project :
an
. *8 by conver ting it to a flowchart and examines 23 al all
=
= - Any
facto:
decision
taken relateed to techn; :
- _ In ‘actors
this should
phase he
of evaluated
Risk m mens
ly. °perational, political, + legal, » social,
social, in! or extern al
internal or
- soit ceaaea
All the detail es
s of the esuch as S uni
risk unique Id, date on which
which iti was identif
identi ied, description and so on
o Product-specific risks can be identified only by those who are having a clear understanding
is to
regarding the technology, the people, and the particular environment in which software
be built.
is need to examine the project plan and the
~ For identification of product-specific risks, there
“Which
er to the given question sh ould be found out:
software statement of scope, and an answ project plan?”
ctive product may threaten the associated
particular characteristics of the respe
list. This list helps in risk
mec han ism to ide nti fy risks is to ge nerate a risk item check
One e risks in the following
on and hig hli ght s som e subset 0 ¢ known as well as predictabl
identificati
s :
given generic subcategorie software which is to be
built or
ove ral l siz e of the
related to the
°o Product size : Risks
customized.
Scanned by CamScanner
te
ion Mgmt & Qui As
. ge
se
Software Risk, Confi
, 4 key rat aiteg
Software E gineering (MU - Sem. 6 = Comp)
Fe a
i | d tossconstraints which are impo!
imposed by the managem,,
te ; a
° Business e impact
P : Risks relate
the marketplace. phistication of the stakeholdey,
‘ a4
°o
related to the 60 manner. _
Stakehold characteri
er of developeratios | RY vith stakeholders in a timely
the capability to interact w eptent ta
which the software process has bee
© Process definition : Risks ea development organization.
SA
lan
* 5.2.2 Risk Analysis
Scanned by CamScanner
‘ ’ quantitative risk aNalysig
Risk register
- Enterprise environmental a,
TB:
° Oo rganizational
izati Process assets
o And output will be
© Project documents updates
53 _Risk Containment
Scanned by CamScanner
ts to rate each risk :
ttemp'
[4
: = Th ere
by which Risk projection (or estimation)
are tw two ways by w
gi © The probability that the risk is real, in r.
should it occu
¢ problems associated with the risk,
o The consequence of the four risk projection steps.
and techni cal stalf perform
i - The project planner, managers, ation.
a manner that leadsoa to prioritiz
i - The intent of these steps is to consider risks in
re rces where they will have the
can allocate limited
- Be prioritizing risks, the software team
most impact.
Scanned by CamScanner
goftware Engineering (Mu . s
: em. §
; Asse ssing 9 R Risk Impact —Co
Three factors affect the co
nse
Its nature : Thi, indj
Cate; ences
© pr
that are li
_ Its scope *: Thi, “Ais combin blems th; ‘oes
es
(how much was affectegy 2 '® S°¥erity of i. € risk
Are likely
th if ty, 8 mee
risk occurs,
= Its timin ig :This. Considers wh ‘ow 8erious w.
a ,
Syllabus Topic : RMMM
55 RMMM .
e e ee
‘ Piss myuntedmanoni in setting up Be eis Or yh z :
The main aim of all of the e ririsk analysis. related activities is to guide the project team in forming a
strategy for dealing with risk.
In an effective strategy there are three important issues : risk avoidance (mitigation), risk
monitoring, and risk management and contingency planning.
considered as always
If proactive approach to risk is accepted by a software team, avoidance is
the best strategy.
for risk mitigation.
This is accomplished by setting a plan
per previous
de: r that high staff turno ver is marked as a project risk ri. As
- For example, consi (70
er is guessed to be 0.70
instinct, the likelihood 11 of high turnov
history and management ct x1 is projec ted as critical.
,
the im pa
percent, rath er high) and and schedule.
igh turnover on project cost
It indicates that there will be critical impact of hi
turnover.
py can be developed to de
crease
Scanned by CamScanner
_£ gottnaZe Env,
/ j EP Goftware Musk, NL
sottware Engineering (MU + Sem, 6 -Comp ASS
‘rit ) 5:10 ;
ie occurrence of turnover and dereiag
g - fefn
3f © After comm
techniques ence ment of project, assume there will , rinks
to take care of continuity when peo
ple Jeave. tion :f
° Organize Project teama to widely disperse the inform
regarding each developmen, = Mort
ject Le, a :
netivity, . and.
© Dofine work Product standa
rds and set syatem to assure
that a II the respective modoly ,
|
documenta aro develo
ped in expected tim
e duration.
4
=ea
© Allocate a backup staff for
all the critical technolog
} - The factors are monitored . ista.
siygint ne whet inp a ; 7-
by the project manager Rie
which may give a
becomi ng more or less likely. ak fy E (1)
- In the case when there is high staff
turnover, the common titude of team members q
on
j potential’ ‘proteins i (2)
upon project pressures, communication
compensation as well among team members,
as benefits. th
- Besides monitoring these factors, a project manager (3)
has also responsibility
ibility to moni itor th.
efficiency of risk mitigation soQe«
steps,
.
— For example, a risk mitigation . . definit
step which is pointed here ap5 calle ors the‘eveldefinition . ofPa
—
product standards and mechanisms to assure 5.6 Sot
that there is no time delay in development
Products, 9 work a
. .
- Itis responsibility of the project
manager to monitor all the respective
work products cautiously
to assur
e that each can stand on its own and
that each conveys data that would
newcomer were force be essential if 3
d to join the existing software team in their work
in the middle of the Project,
- Risk management and contingency planning considers
efforts and that the risk
that there is failure in Mitigation
is really occurred.
Scanned by CamScanner
ar met
to
es database syste,
With the help ene 1
Tmal RMMM document. Inatead, the
and entry, .
P Of Risk Information Sheet (RIS).
> Priority order}
ering,
- After d°cumentation of RMMM , ining analysis :
steps starts, and the proj may be done easily.
- Risk mitiga
tion is consid
1e Tisk ig - Risk
i monitoring is consi ered ag 8 problem a
id ered as A project tr
voidance acti ivity,
objectives :
depends ease
(2) To make whether Predicted risks do, i wking activity having three primary
s sure
S t . n fact, occur;
iS with an hat risk aversion step:
S which are defined for the risk are applied correctly;
(3) To gather the da
‘or the ta that can be yu; sed for future risk analysi
—_= : lysis.
Syllabi us TOpic : Software Con
figurati ion Manageme
Manag nt
P work
f Work 5.6 Software Configuration Management
Management
5.6.1 Benefits of So ftware Configuration ty.
ss of size, scope, and complexi
benefits to all projects regardle
fits experienced by project teams applying the SCM disciplines
— SCM provides signific an
. . .
\ .
t ne
: ;
most common bene
Ss
. of the
the SCM system.
a ribed here are possible because
desc
Scanned by CamScanner
Confi
uration Mgmt & Quali Assura
EP sonmare & ineering (MU - Sem. 6 - Comp) §-12 Software Risk, Config uaten=
nce, :
™
SS
;
ine9 ring (M
' re
to help:
Provides a snapshot of dynamical 3
ly changing softwa
o Make decisions based on an inst
antancous view.
© Determine status
at module and sy
° st
em levels.
Make better decisions ab rojjec
ectt..
out the future ofa softwa
Tracks concurrent deve re p f the overall system to :
= lopment of modu les or compon
: ents 0:
' ° Prevent different develope ule at the same time,
rs from making change
if © s to the same mod
{ Allow for the overall system progress to
/ be faster,
4 {
Provide visibility of the entire software project
:
°o
to all develope rs.
Pee = Organizes all concurrently dev
fig eloping code and associ.ated locum tion to :
iia
3a © Save overall project time. d jena
ig . .
id
o Focus
each Phase of the software
product development to be organized and executed in g
documented, prescribed
manner,
| 5.6.2 SCM Disciplines
:
| ~ SCM .
disciplines are used to simultaneously
representations of the software Pro
coordinate
configurations of many
duct (e.g., source code, relocatab different
documentation), le code, executable code, and
.
In practice, the ways in which SC
M disciplines are performed will be
kinds of software being different for the various
develo ped (eg., commercial,
manufacturer). embedded, original equipment
The degree of formal doc :
umentation required wit
hin and across different
phases (e.g, research, lifecycle management
product developm
Scanned by CamScanner
a Ne ¥
software Enginoerin, MU. 5 we ro my
— 6 -
em. Tete ae
te 3 am
hs
Configuration $ me
- Wentification T
A
chem
to be controlled
T
u
Ss Configuration record at a point
in time
_. Definition |
&
A
c
c
O=mM—<mMy
Yes
©
identification. ; th o
: of a software
‘ g the life
op ment.al vnnfi gurat ion pasel ines that are estab lishe d durin
software devel
The following are ie
project.
Scanned by CamScanner
a oftware, Engineering (
c uration Mgmt & Quality Assuranes
14 Software Risk, A _ Appendix Cp
[EP sonware Engineering (MU- Sem. 6 - COME) 5 tance oF approval ofthe sofware OF syg disciplines.
== . ce) i o! e
to the completion Softwany This list car
o Functional Baseline # Established‘callyby the sponds
complexity ¢
specification. This baseline tyP! vornee
the software requiremen specification
requirement review.
a
. i ts i i
(ose2es
° Se Baseline
tional en vorrespo
e
on ter software) Normally, this baseline
computer
databases for the _. 50. tical design review.
, and the critic
‘ow In the fh
spanning the preliminary design reviow S°° cification follow}
of the PO spe ollowing was don
Baseline : : Establis
Product uct Baseline Es hed by approval +
. Audit (F (FCA).
° : cabinets
Configuration
completion of the last Formal Functionalae .
elined, ;
configuration con trol provid es a
— Once configuration items have been identified and bas “acini - Thisap
propos sat a femilly {ANG
system to initiate, review, approve, and implement Y identified
(1) Ge
report that is initiated against a
- Each engineering change or problem (2) De
its necessity and impact.
configuration item is evaluated to determine (3) B
tly
performed to verify that the change was correc
— Approved changes are implemented, testing is chang e, and the a
effects have occurred as a result of the
implemented and that no unexpected side (4) 1
affected documentation is updated and reviewed.
mation about all configur: ation management
— The discipline of Status Accounting collects infor
- Tod
activities.
ing data on the status and history of any — We
— The status account should be capable of provid
‘ acc
configuration item.
the rebuild of any previous - In
— ‘The information maintained in Status Accounting should enable
de
baseline.
hi
on
— Audits and reviews are conducted to verify that the software product matches the configurati
item descriptions in the specifications and documents, and that the package being reviewed is
complete.
- Any anomalies found during audits should be corrected and the root cause of the problem
identified must be corrected to ensure that the problem does not resurface.
— Generally, there should be a Physical Configuration Audit (PCA) and the Functional
Configuration Audit (FCA) of configuration items prior to the release of a software product
baseline or an updated version of a product baseline.
- The PCA is performed to determine if all items identified as being part of the configuration are
present in the product baseline.
- The audit must also establish that the correct version and revision of each part are included in
the product baseline and that they correspond to information contained in the baseline’s
configuration status report. ,
- The FCA is performed on each software configuration item to determine that it satisfies the
functions defined in the specifications or contracts for which it was developed. .
Scanned by CamScanner
. eMainten
Uy(y i identig. ~ (yd) 1S Getty
approg .
Problematig ;
file fog ANCE Of sof,
ers oy ring binders = items
ation
ed is
lem
al
Scanned by CamScanner
£5 sonware MU
- Som. 6 - 5-16 Software Risk, Configuration Mgmt & Quali Assura
=
ae p j _~ To get these abilities, the repository is described in terms ofa meta: -model.
The meta-model is used to identify the way by which information is kept in the repository, ,
a way by which data can be accessed by tools and seen by software ees how well data
Security as well as integrity can be maintained, and how simply the present model cap
be iF 5.6.4
it . jj a extended to fulfill new requirements.
r Generaj Features
and Content
To understand the features and contents of any repository, we have to see it from two
Perspectives: what are the content which are to be stored in the repository
and what arg the
Precise services which are provided by the repository.
— A comprehensive breakdown of sort of representations,
documents, and supplementary work
products which are kept in the repository
is shown in Fig. 5.6.2.
Source code
Object code
System build instructions
_ } Test cases
Test scripts ;
Test results Be
Quality metrics Be
S
Change requests
Change reports Requirements spec
SQA requirements Design document
Project reports/audit reports Test plan and procedure
Project metrics Support documents
User manual
Scanned by CamScanner
(MU . Ouallty Aaguranc 8
oftware Engineering
Software Risk, Configuration
(4) Maintain storage of several types of «
ophisticated data objects such 99 text,
audio, ete.
eo
Syllabus Topic : SCM Proces
s I
6A sCM Process
5. OB
The SCM process defines a Sequence of tasks which have 4 most important objectives :
(1) To identify all of the respective items which jointly define the software confi guration,
-
wae
A process which is able to achieve these objectives need not be technical or heavy, put iti must be
: a lex
characterized int such a way that it should enable a software team to solve all of the .
questions : . .
o What will be the way for the software team to recognize the distinct elements of a software
configuration?
o What will be the way for the organization to manage the several existing versions of am
application that will help to accommodate change efficiently?
o What will be the way for the organization to control changes prior and later the software is
released to a customer?
o Who are individuals responsible for approving as well as ranking requested changes?
o How can we conform that the respective changes have been made correctly?
o What will be the mechanism to apprise others of changes that are made?
- These questions lead to the definition of five SCM tasks :
Identification, ‘
Version control,
OD
Change control,
Configuration auditing,
oF
Reporting
Scanned by CamScanner
. ) 5-18 Software Risk,
Configuration Mgmt & Qu: <<
4 Z software
E
EEF soars Engngorng (Mu - Som. 6 - Comp —— ou
5.6.4(A) Configuration Identification off.
roa * : 5 7 _ In
S s tems to be man ;
= ihe in the
Sett “ step the SCM system
management authority identification
is the responsible Ot om “eed ang thy _ De
for eac - loved
Tor
- This is a critical cal step in the system since the identification scheme is employed
step throughoyy ~ w
lifecycle of the software product. will ; ; al
- The levels of authority assigned responsibility for each configuration item du, depending tm | _g
th je . com plexity of the softwareI product, the size of the development team, and the manage Tens c
style of the responsible organization. —_ :
Configuration identification consists of selecting the configuration items and recording thee |
- oe
functional and physical characteristics isti as set forth
fo in technical documentation Such 4, _
specifications, drawings, and associated lists. _
- The following are examples of items managed in the SCM system.
co Management plans’
o Specifications (requirements, design) .
o User documentation , -
o Test plans, test design, case, and procedure specifications
o Test data and test generation procedures : :
o Support software used in development, even though not part of the delivered software
product 7 _
o Data dictionaries and various cross-references
o Source code (on machine-readable media)
;
o Executable code (the run-time system) F
- o Libraries ;
° Databases (data that are processed and data that are part
of a program) &
° Maintenance documentation (e.g., listings, detail design descriptions)
qq
- Effective management of the development of a software
product requires careful definition of the | 56
configuration items. / = °- WA
- Changes to these items also
= eae
Scanned by CamScanner
Software Risk,
; tt & Quality Assurance:
, eVeloped in.
how:
Se, leased from a vendor, or purchased
tain 'S
ers n “ontrols
d to “Nsure Sary
th at
used to
Manage support software.
' the su
ec, Pport software ia availa le for use for as
b
and support tools alo
ng with
Software tools useq in
develo, ‘
configuration control 5 Pment, espec: .
0 their1 identit; peci ally Sompilers and middleware should be placed under
release. ACS and Vers}
TS1On: +
* are included in the baseline data about each
hierarch Y Consistiting
of configuration items, components, and units.
_Another way of structur;
.
being d the entities ;
tities is i :
4 os and the other software a" of the interrelationships between the software
Support soltware, test software, and the o entities used during development and testing such as
, perating system.
A third method for structur; Penuees
process of building the software a is in terms of the intermediate products generated in the
(e.g., source code, document,
test data); compilation entities ae net such as: modifiable entities
different representations created a Support software); and configuration items (e.g.,
software An impo t € process of producing deliverables).
rtant aspec
”
t aural canwe
of confi: .
identificati on isaT the use of a formal naming convention for
each entity.
s naming convention, which typically uses a combination of mnemonic labels and version
numbers, should be applied to all components of a configuration item. ,
In establishing the naming convention, consideration should be given to system constraints such
as name length or composition. .
of the
Consistency in the application of this identification scheme is critical to accurate tracking
software engineering process.
Control)
5.6.4(B) Change Control (Configuration
of the
=> (MU - Dec. 15, May 17, May 18)
“oject
(Ee See
se cine ie Anancie
Set inc
cont ol
(Ret, sec. :(6)U
5.8.4
s may be
1s in
software lifecycle.
es Design or implementation change
Changes occur at all phas es in the efici sencies are identified in the design or
change, °F when
necessary if requirements
i emen t.
requir
em en ta ti on ap proach to a stable ign and requirements.
impl
defects that -e changes in the code or the des
defe require
of Testing may uncov er
Scanned by CamScanner
4
Mgmt &
Configuration |
5-20 Software Risk, i
FEF sonware Engingoring (MU - Sem. 6 - Comp) st verify Peto
rmanes 3
the code, testing mu
e to the right version of
— Changes must be mad 5.640) Version Con
remaining software, and all associated dorvmentation mang
change and the integrity of the
updated to be consistent with the final code. . ies, failure
ee . reports,
A mechanism is needed to process change requests (€.8-+ process ang din,
throughout the development
for new features) from a variety of sources
the change.
.
s renee , - Itis.
;
Impact assessment buil
A change by authority as tot
C stated in Configuration ;
C Management Plan
oO = A 8
‘ u
N
. )
T'
;
N Code copied to , @
G development area
-: (
Modula and system test
. - dD
é. _4
Scanned by CamScanner
m= S2M. 8 Com
With toola
ects which a the purpose of managing differ
re Benerated throughout the softwaent
re
ition, and
Additionally, version
> ° Control]
7 as wel]
tracking capal bility which he} as change control systems usually implement an issues/bugs
. rtan :
important issues. relateg With . each
‘PS the te, ‘am to
and every vont in one the status regarding all of the
Most of the version guration object.
necessary to build a ee Systems
Particular version create a change set of all th e
of thesoftware i changes which
respective i are
The basic distinction in those approaches is the sophistication of the attributes which helps in
building specific versions.
Scanned by CamScanner
et Software Engineering (MU - Sem. 6 - Comp)
§-22 Software Risk, Configuration Mgmt & Qual Asuracg gg
What will be the way by which a software tea: m make it sure that the change has p.._
appropriately implemented?
The answer has two aspects :
(1) Technical reviews and
:
(2)° The software cee tion isaudit.
on the technical accuracy of the configurat i °
The focus of technica
ion object ini which
.
l revi .
modifications are done.
The e re reviewers assess the SCI (Software Configuration Items) for the purpose of determining
: consistency with other SCIs, omissions, or potential side effects. -
There is need to conduct a technical review for all but the most trivial = 5.7
A software configuration audit in general, complements the feehniee rove by the way of
assessing a configuration object for characteristics which are usually ignored in the procegg of
review.
reer reenter
Scanned by CamScanner
of determining _ Additionally, generation of a CS
information regarding important B report is done rogulatly and is intended to give latest
S to management as well as the practitioners.
and, - The main motive behind the SQM is to develop an ethnicity within the team and it is seen as
everyone's liability. .
it, and : - Software Quality management should be independent of project management to ensure the self-
determination of cost and schedule adherences.
- Its effect directly impacts the process quality and indirectly affects the product quality.
Ww. : .
ati 5.7.1 Activities of Software Quality Management
ion
4 Activities of Software
Quality Management
ited
the 1. Quality Assurance
2. Quality Planning
3. Quality Control
re Quality Management
Fig. 5.7.1: Activities of softwa
ee
Scanned by CamScanner
TB sora Engineoring (MU - Som,
6 Com Configuration Mgmt& Quai;
5.24 _Sotwaro Bi
> 2 Se
Quality Planning
To chooso applicable procedures ; .
/actions and standards for a certain projecject,t, changes can
required to develop
he don ey
a quality plan,
> 3, Quality Control
— It will make sure that most excellent practices lowed b:
and standards are followed by the 5Ofty,
development team to maintain quality at,
products. defect f
~ tae
Quality of software will refer to software which sate
is realistically error o r defect fre € and whieh‘
delivered in time and within the allocated budget. 8
Software Quality Assurance (SQA) is a set of activities to ensure the quality in software
engineering processes that finally results in quality
software products. The activities establish and
evaluate the processes that produce produc
ts,
ud
Scanned by CamScan ner
aeS eee
a alee ag = a
ura
ye 7
¥ 4 sm
:
es -" ¥ =
.
hit Tie ia: y
Ys te: .
‘all (Mu . Som
me Engineering | eS 7
assuranc,
5.
1
| Garr ;
Ware quality attri
ae PD 25 Softwa ‘2
ro Flick, Configuration Mgmt & Quality ASSUranes
The soft
- ,
specified and measured in tebuten such as mainttaj.
i vs
1 be dong i
abtil be accur y
itately t Ps
stages of TMs of sofware d ati, Usability, relicanno
- “At the early may h Proje ct it jg very ¥ Management,
Therefore, it }
difficult to 4 lefine a complete software specification
ali ty expectations,‘appen that software conforms
quali ne
| get their ee
to its requirement, but the users don’t > 2
° Software - Software quality man gement ia divided intgite Lo
Tree main categories 2
d which ; one three categories \
is ftware quality manage ot
q
\
ality and
process. It ensures that project deliverables are consistent with organizational standards-and
goals. :
Scanned by CamScanner
Assurane, “za software
5-26 software Risk, Configuration MGT 5 CUSTY a, - Sohne
[EF sonware Engineering (MU - Sem. 6 - Com)
; . = z
(b) Product Visibility
ai ' een
— Generally most of the defects in the industry can be detectediE ; a
© 7
- Also the absence of a part in an industrial product can be
level com
5.7.7 Process Quality Product
nad hehe pe . - = ®
la.sz3 Evan the concpt of Quaty roses nce aa
_ Quality of oe norm He ttn ella and the process is enhanced till the prope: _ One
quality level is reached. .
. (a) Te
— Fig. 5.7.3 illustrates the process of quality assessmént based on this approach. (b) ¢
prcdnetia Process and product
— In manufacturing industry there is a clear connection among g Wincludes!
of software engmects.
quality. However, quality of software is highly subjective to the skill
like maintainability, reliability,
— In addition, it is hard to determine software quality attributes,these attributes. (1) Proc
characteristics affect
usability, ste, and also to tell how process
has a considerable demang (2) Aud
— However, from the past experience it has shown that process quality
on the quality of the software. : (3) Gui
aw Processe
- Process quality management have the following activities :
. os a) &
(1) Essential process standards.
(2) P
(2) Monitoring the development process.
(3) Reporting the software. : : . (3) C
cal
.pi Develop. t
(5) ©
: (6)
Br (7)
Scanned by CamScanner
t
'& fo MwAre deve opment ind
Qre tent
- With
i sqq ea ty in, f methog ‘Ustries,
Produce
Scanned by CamScanner
ration & Ou:
6 Comp) 6-20 _ Software ae Se cemmeain ee
EEF sonware Engineering (MU - Sem.
Reviews, en pert Sota
identify : aa eet Me
The development lifo cycleJe stage components classes
tb
components are divided into the following su
testing. e include 7
the oper ation-maintenance phas ‘ ®PeClalizeg
The SQA components used a eahietset t life cycle components, which are applied taint,
i nance components as we:
mainte as d tanks.
nce
for functionality to improve the maintena
ment
e nen oect isavotoida nce and imp rove
(3) Thmpo oe orth camp
re def remove or at least minimize the rate of errors, baseq ny
~ _ Software is developed for an agreement negotiated with a dlient or for an internal order to build
up a firmware to be fixed within a har
dwa re product,
Scanned by CamScanner
Act drag€Vie
, Ww actions Ma
oe
Clarification ru, Tevi, CW acti functional specification,
Melude in depth exam
eal: ination of
Review of
6 ds the Projects
Sessmen tof § Chedule
the
© Profegg: ou
“Ssional Tego,Urceg ‘ee
abi;"equirement e stimates,
Evaluatio,, Stomer ility to on, " out
Hon of develo PMent Tisks
“AP ACity ty furen Ifill hig ob
the planned project,
7) Development and Quality Pla ligations,
Ns ‘
ind - After signin :
| oa
& the Softw. } oe
the same o; . . 7 develo
iSe
eae T8aniza on, a devel PMent contract with an '
activities are Prepared, “oPment pl, . an industry or an internal department of i - a
- Most
ost of the time
ime, , iti takes many mo a"
: nths
his phase, fetta gd,jetw: ®en the contract submission and the signing of the nH |Z A
as staft availability and professional capabilities may
The plans are then revised to refl
ect the changes that occurred in the
interim.
(i) The main problems treated in the project development plan ;
(1) Schedules i
5.8.3 Metrics
Scanned by CamScanner
ke
= Ss ‘oftware Engineering ration Mgmt & Qual
(MY - Som. 6 -Comp) 5-30 en Softwaro
ofA FS, Risk, CE jul
aera Asay ra
Uli Ang Ne
Software metrics can be classified into three categories '
Classification
of Software metrics
2. Process Metrics
3. Project Metrics .
Fig. 5.8.1 : Classification of software metrics >t
> 1. Product metrics
It describes the character of the product such as volume, complexity, design
features, Performancs
and quality level.
> 2 Process metrics
2. Defect density
| :
3. Customer Problems ::
}
a,
4. Client satisfaction
_
Scanned by CamScanner
pefect Density
p .
A je als with the errors relatiye to the a0
It . Ware in poitit, ete.
«ey it measures code quality per unit, This mot *i2e articulated na tinea of cade or function P™
Tic jg “ .
customer Problems Used in many businesa software system?
3
measures the problems that custo
gtomer’s point of view tow neounter when using the product. It contains the
Mery e
ards the
cui prob] €M area of the on-defect
d problems together with the f software, which ineludes the &
orient de ect problems,
Client Satisfaction
a* sont =satisf
oy ate d is f Tequently measured by client survey data through the following
action
- five-point °
(i) Satisfied
(iii) Neutral
(iv) Dissatisfied
(v) Very dissatisfied
Satisfaction with the
quality of the product
an
its specific extent is usually gained through
: many
‘ :
i
In-process quality metrics is the metric which track the fault during the arrival of machine
testing for organizations. This metric includes :
- Defect intensity while doing machine testing.
Scanned by CamScanner
' ; Z software Enginee
Es. ng! 9 ( - - p) 5 k, Co nfiguration Mgmt &Q ual lity
| ;:|
Software Engineorin MU - Sem. 6 - Com 32 Software Ris! a22Uran tM back
- Ifthe higher defect velocity is established during testing then it is a notification that the POR iraee
has practiced higher error injection during its development process. _ Fix resp
- i the similar
It is generally useful to monitor succeeding releases of a product in i developmen, q ’ _ Percent :
organization. : . Fix qua
Scanned by CamScanner
software Engineering MU. 5
2m. 6.
Softy, Fix backlog and backs
are _ Fix response time
%
opment _ Percent offending fixes
_ Fix quality, ,
aea 9
er FIX iBack log and Back,
teria) | _ x
Fix backlog is
: 88s0ciateg g Man
Age Ment Index '
identified Problems, ie Velocity
- :
Itisasim
2,
ple tally a f ident; of
bug 8rrivaly and th
bo
about _ When izisame is useg j. t PPblems ‘ * rate at which fixes are done for
© fi Stay beh ‘
organizing the Continuat; OTMAt of ch Y behind at the end of
- Backlog M anagement IndeOMx Proces
( MD s,; art, the chart reach month or each week.
“AR Provide significant information for
- If BMI is larger ¢p, 18 used
ek), os
| backlog is improveg, 0 100, it me, @0s the backlo
ANE theb
g is mi: ee Current and unresolved bugs.
fea | 7 Fix Quality
mz, MI is less than 100, then the
. - Fix quali
. ty or the numh er of fi
nt phase in the SQA. : ~
; : aulty fixes 18 another important
quali y metric for the maintenance
qualit
- SQA practices are implemented in most types of software development, in spite of which
used. In a broader category, SQA includes and
fundamental software development model being .
technologies to test the software.
. implements software testing
s test for quality in each phase of
ec ki ng for qua lit y af terconclusion, SQA processe
- Rather than ch software development process mov
es
sof twa re is com plete. With j S QA, the ity
development until the phase complies with the requ
ired qual
only once the current/previous
into thep next phase
. ‘ that help in building software quality
standards.
ede the
industry an 1SO 9000 and Capability
ks on one or moregies. These stan
entation strate
= Siegel
sya: + a nplem CMM.
guidelines and im:
Maturity Model Integra e
Scanned by CamScanner
er Software Engineering (MU - Sem. 6 - Comp) 5-34 __ Software Risk, Se
mt
eatenMoma Ge
Hit
Eitan
mesures
5.9 SQA Processes
a
0.5.9.1 ain SQL Process with its bonofits. (Ref. sec. 5.9
— Processes include :
3. Configuration Management
4. Requirements Development/Management
5. Estimation ,
6. Software Design
7. Testing
- Once the processes have been defined and implemented, Quality Assurance has the following
responsibilities :
(1) Identifying weaknesses in the processes,
(1) CMMI
@. 6.1List
1.1 Various Acvty In SOA, (et
see. 6
Q, 5.11.2 _ What are the differ
quality assuran
entce idelines and d
5.11.1 Test Management Reviews and Audit
@ Management Review
~- Management Review is also known as
Software Quality Assurance or (SQA).
Scanned by CamScanner
eu - Quality Assurancg © is;
3 ™etho,
Marks / regular Procegs which a .
f acts. ies pl e mt & Quality
j Assurance
jo o- woe oener Words, Quali Plan © 8aftwarg
As Ady defing din nt © guar these thes related work products, eS
ri Way, SUrance kes 7 8 8ys: al
tho Project manager follows the
- Audit: An audit ig Te the Toot
. e
the regular Process wag
lowing
don
are developed.
- During project planning, Test. Manage
r makes an § QA plan where SQA audit
periodically. is scheduled
LP LEP PP I FP
List of the work products that the SQA auditors will review and audit
ME EP EF MP ED A SF
tasks
Create the schedule to perform tha SQA
sibility of SQA
Fig. 5.11.2: Role and Respon
a
Scanned by CamScanner
& Quality Assuran, _
;Configuration Mgmt
5-36 Software Risk
BF sonware Engineering (MU - Sem. 6 - Comp)
o Review and evaluate the quality of project activities to meet the QA eriteria
and engage
ent board and project teams to assess requirements
© Coordinate with managem
in project review and status meetings.
5.A2_S
o Design track and collect metrics to monitor project quality. @
expectations.
e the product meets the customer
o Measure the quality of product; ensur
:
auditor will review and audit
2. List of the work products that the SQA
5.12.1
th e work products of each Test Man
agement Process.
The Test Manager should list out ali
tasks such as
auditor ¢: an access to perform SQA
Define which facilities or equipment the SQA
"process evaluations and audits.
3 Create the schedule to perform the SQA tasks
with special
e the tasks to be performed by SQA
In this step, the Test Manager should describ
importance on SQA activities as welll as the work for each task.
tasks. Normally, the SQA schedule is
Test Manager also creates the scheduling of those SQA
driven by the project development schedule.
are
on to which software development activities
— Therefore, a SQA task is performed in relati
taking place.
ess
5.11.3 Review the Proc
Scanned by CamScanner
12 Quality Evaluation
Standards
uch as
» Soft
ware qual ity i
role played by i
software in ou ting great im portan: i 7
r ine, day
ies lives, ce, mainly because of the very vital
ecial
ISO/IEC 25000 standard.
a
a
are Critics have gone so far as to suggest that the only thing these standards guarantee is uniformity
of output and thus, may actually lead to the production of bad products.
be based on direct evidence of product
- Consequently, the idea that s oftware evaluations should
izations are
Therefore, a growing number of organ
more widespread.
attributes is becoming well as
quality of the p: roducts that they develop and/or acquire, as
becoming concerned about the
the processes.
on developing as well as
Six Sigma is 4 €
Scanned by CamScanner
Er
{ got are
- :
IEP sotw
Software Engineering (MU - Sem. 6 - Comp) k, Configurat ion Mgmt & Quality Assy Ir 3 °
5-38 Sonware AS
5.13.1 —s a qgnat k
Characteristics of six Sigma
Va
— Six Sigma's aim is to deliver the product with time and with efficiency, th /
ae name meee hy 4
Ae
at ¢
increasing the customer satisfaction
and by delivering what the cu
— Six Sigma follows a methodology which is structured, les for the participants,
and it defines roles 5
— Six Sigma is nothing but a data driven process, and it also requires fo P a 6. pneu?
correct data collection for the
Processes to be analyzed.
1. Significant to Quality
2. Defect
3. Process Capability
4. Variation.
5. Stabla Operations
Scanned by CamScanner
pftware,Engineering (M
Ue
ali Assura
Jality
a)
£ Process © Sem, .
4 3 *Pability
thereby hy 4
4 Variation can delive, a
Pecti
mt & Quality Assurance i
. . | what the customer Be &8 an d fe,
IPpants,
> be Stable Operation, els,
tion f :
or th,
gnsuring that the ad
customer exactly Wants, are sho Ud
; Design for Six c: © cong:
af Sigma ‘stent, Predictable Processes to improve what '
Designing to meet customer
* * . Deed,
Mainly Six Sigma focuses on
| re ability,
* and Procegg apab;
i 513.3 Benefits Of Six Sigma
| Following are the
~ reson and th en on UPgrading the
process ca:
benefits Of Six bili
g;
— Generates Per
sistent Suc ~
cess,
- ' Sets a goal
for everyone,
/ - Improves value
to customers,
_. = Improves the
rate of; ™provement
,
- Promotes learning.
. (1) Customers
(2) Processes
. (3) Employees
% 1, The Customers
Scanned by CamScanner
ep Software Engineering (MU - Sem. 6 -
Comp) 5-40 _ Software Risk, Configu! aMoms cual Asura
LY
> 2. Tho Processes
~ The central aspect of Six Sigma is to their metrics and measura,
. define the processes as _
- Ina software industry, the quality be always seen from the customer's viewpoint. ,
has to be a ive and processes, one can fing ou
~ By understanding the lifecycle ct
from the customer's perspe
what the customer is seeing and feeling.
> 3. The Employees
1. Leadership
3. Team Leader ~
4. Black Belt
It is an individual respon
sible for managing the
work of the team member
mediator bet ween the Project sponsor and the s and also acting as a
team members.
ie
Ms ee
Scanned by CamScanner
As per the Six Si
|
| through inte Mal ®BogProgram ~ =
i trainin acti » the indi; ‘ Sotty,
— Vidu
Stivitieg Sang mo Risk
‘y
|
5. Master Black R elt hag th
designat Led my A SsuTrAanon
{ _ Aperson who dealg With a, te * &peri a."On * Beveral mpleted and and gone
Black Belt haa completed
a Brojecta.
This may be ©quivalent to th ™ or ityle
Ade
. . 9 ie hi; DB;
| ||
but {i
At the
conclusion of ¢ he design “le Dlayog * 8 not a ¢ ir
resistance issues, ect member of the team itself.
;
j the oach for ™m or
d reg); Age, you shoul ® technical and complex projects
scope of the Project tochuay
| buaents,
on, Y,tim,
Ing
ou shoul . °w who the
. Wd also h ave Customers or end-users are, their
" talents ~~ a cle:
Ines,
| a. Syllabus T Ie:Software
nstraints, and Nett
Reliabitity ming
correct oftware Reliability tana
In software reliability one important question is: What is meant by the term failure?
e quality an d reliability, failure is
In the context of any type of discussion regarding softwar
requirements.
considered as non-fulfillment of software ng
ures can be only frustrati
r, eve n wit hin this defi niti on, there are several aspects. Fail
- Howeve
or terrible. need weeks or even
wi th in sec ond s, whereas so me other may
failures
It is possible to correct some
eration of
months to correct. de in on e fai lure may leads to gen
correction ma
is complicated,
- Farther if the iss ue
other errors.
lity
Me as ur es of Re liability and Avallabl e the mathematics regard
ing
5.14.1 ility tried to ext r apo lat
oftware reliab
re li ability.
of software
e aspect of s'
Scanned by CamScanner
Quality Assurangg
nfiguration Mgmt & =e
5 42
re Risk, co ry
* SoftwaSa
-U
Software Engineering (M Sem. 6 - Comp)
- e of wea,
er
—— ne on failure becaus
ated reliability
- The e p prediction of most hardware-rel ical wear such as the impact o¢
instead of failure caused by design defects.
; us e of phys! retail failure.
- In case of hardware, possibility of failures aap ared design-re
temperature, corrosion, shock are more to software can be
likely a8 d, all of the failures regarding
Unluckily, the reverse is true for software. Indee there
,
is no any scope of W
ear.
TBF = MTTF+MTTR
where
Scanned by CamScanner
Software avai] abil;
requirements at g .- *8 noth;
Siven
Ant
Availability _
Point ,. ;ngn time
bu
tt
he Probap; : Mratic,
. = ( and j ‘lity wh: tnMamt & Quality Assurance
The sensitivity ofMTR 7M 8 defing, " ich n Progr,
_
_—
The availability measyp
F reliabit; lity ou
*MTTR yy 100%,
; "im ia operating as per the
re can be i measure of the ma;,_. 15 Cong} “re is nim
“untainabitity Idereg 8 itt ilar to MTP ang
: of £RWare © bit more te MTTR,
i i NBitive
asure of
i Yilabus Topic ; Form “ompared to MTTR, an indirect
|i 45 Form al Tec hnical Review = Tec nical Review (Im
5
other
to do
and
of
_ Te ety.”
(Ret, sec. 5.15.1) EES
I
-_ eo
. The review meeting by cons ider ing the following |
conducted
uld bepetn
~ Every review meeting sho een $10 5 people ghould be involve in the review.
fpeople $
o Involvement ©
lita
>
Scanned by CamScanner
ration Mgm t & Quality Assuran,ance
5-44 Software Risk, Configu
ker Software Engineering
i (MU -- Sem . 6 - Comp) but it should be very short.
Ag
ion should occur
o Advance preparation : Advance preparation tion
in this
can be spent in
the most 2 hours of work for each person
prepara .
g should be less than two hours.
© Short duration : The duration of the review m eetin .
through are conducted for modules oy
ign,
Rather than attempting to review the entire design, walk
for small group of modules. ponent to be reviewed). The review
focus of the FTR is on work product (a software ° m:Oe dees
The
le! ; a
eon sa. Th copies of produ
meeting is attended by the review
iew leader, all reviewers an
ing i :
The :
review leader is responsible for evaluating the product fo
material are then distributed to reviewers. socisl, wit
:
During the FTR, a reviewer (the recorder) actively records all isgues that have been raised.
These are summarized at the end of the review meeting,
and a review issues list is produced. In
addition, a formal technical review summary report iscompleted.
A review summary report answers three questions :
eee .
Scanned by CamScanner
ity Assurangg
——as,
ry short, At
rs.
modules o,
Walkthrough is a Revie
‘he review Ge nerally Y it itis
i starteg
b iffere +
In walkthrough, doc or feodg A “me Inspection tne not a formal process,
4S itis
of product suggestions about it,
vhile the
n becaug,
ary, © Preparation befy . .
It is the informa] ee Te meeting and creation of a list
Te
1 challenging task in walkthros” S80 it does Not fi
iced. In ghs, °cus on documentation. Defect tracking is
— The followin
i g are the objectiv
es of W: alkthrou
o gh :
Understand and
learn the q evelopme
nt of software pro
o DetectingBe defect duct till date
s in the develo
ped software Produc
o t. ~
To explain information Present
in the document.
o To verify and discus
s about the validity of
the proposed system.
o Reporting the suggestions given by the
others (other employees).
- May 16)
=> (MU
| :
@.5.17.1
3 :
Compare FTR and Walkthrough. (Ref..sec.5:17)
: :
om |
Walkthrough S|
Parameter ting but it
— ie meeting
—Walkthrough is: a Review
7 So eas nota
. as itis
Concept A formal techni cal review isve aofprocess
$0 is different from Inspection
perfo rmed to give assuran formal process .
en i quality - ally it is started by the author of
j Generally it is
s done by software
the code
;
i
Performer This . testing activityr i rsons -
i engineers and other pe i | tna Walkthrough, the producer
|| sibes the product and asks for
rk produc r is inspecte desc’ -
i| | Process indivi a comments from the participa: nts
Scanned by CamScanner
i ee
ie Software Enginoerin MU - Som. 6 - Com 5-46 __ Software Risk, Configuration Mgmt & Quali Assurares
Chapter Ends...
Qa0
Scanned by CamScanner
Software Testing and
Maintenance
6 Software Testing
Software testing is performed to provide assurance that the software system does not contain any
defects. ,
Defects means errors which are detected by tester when actual result of our software module is
not identical as expected result.
Software testing helps us to find out whether all user requirements are fulfille
d by our software
or not.
Software quality depends on; at what extend software fulfills user requirements
and number of
defects occurred in software.
Software testing is used to give assurance that we deliver quality product to customer
.
To perform software testing we create test cases and test data. Test Case is a collection of
actions
which applied on our software product to check specific feature or functionality of it.
Collection of test cases is called as test suit.
Test data is the input provided to modules which are present in our software product.
Test data
tepresents the data which effects execution of the particular module. Sometime test data
is used
for positive testing. That means it is used to check that a provided set of input for given function
generate expected result or not. Sometime test data is used for negative testing. That
means test
data is used to test the capability of our software modules to handle unexpected input.
Scanned by CamScanner .
software Testing and Maintenancg
ae,
6-2
[EP sottware Engineering (MU - Sem. 6 - Comp)
SS
6.1.1 Advantages of Software Testing |
:
g ? (Rot, sec. 6.1.1)14
lo. 6.1.1__ What ara the advantages of Software Testin
g
There are several advantages of software testin leads to softwary
re |
fai lur e by removing errors which
of sof twa
s the possibility
1. Testing reduce
arene
ve
failure. ps to deliver qualitati
m software and hel
i 2. Testing process removes maximum possible errors =
;
; . software to customer.
: long with quality.
ennrawill vat
‘4 _ 8. Testing ensures correctness and completeness of software a
i satisfy all of
: Testing allows us to verify and validate the software and ensures that software
1. Manual Testing
2. Automation Testing
For performing manual testing, we do not need knowledge of any testing tool
Manual Testing requires more effort, but is necessary to check automation feasibility.
Scanned by CamScanner
g &
Software Testin
ja not
that “100% Automatio?
ftw .
ossible” so we ne tos t; are Te st in g is
P ed to perform manual
mt
goals of Manual Testing
. t
uc
that our software prod
:
f performing m anual testing } .
_ The main purp.ose of e to giv e as su ra nc e
fect and it fulfills all a
does not contain any de un ct io na l requirements of end
ser-
they4 must
it es (i. e. co ll ec ti on of test ¢. ; gn ed in the te sting phase and
_ Test Su wa ourA50 shen are
8 de si
: ies present in
test all functionalit oftware product ‘ s
. loppeer and tester per form
‘
Scanned by CamScanner
e
r icide F
ps pest
[EP sonware Engineering (MU - Som. 6 -Comp) ua : w
in
r oe
6.1.3 Difference between Manual and Automation Testing
ant
- 7
tion Testing, human interactj
Parame ™
pe
To perform manual testing human Tois not ary automation testing we use ma, ‘ 4
Human for test required gett
interaction interaction is required to run the test cases. rv
ti
execution. i i ; T
ere '
a ae
Requirements {To perform manual testing, We need | To perform “oe “s time, -
skilled
K loyees, more time and| automation
employees, cost and power.Automation
tools. Once test suite is recorded in
¥
easily run test suit.
automation tool then it can
otal _
«ig eean applicati
used to test = ome
can
~
be first tested Automated tenting is use
Application to | Any application ae and
ad-| whose requirements are :
Test manually. Informal testing like used perform
hoc and monkey testing are automation testing mainly
Regression Testing. :
performed manually.
is of ae ow test
while |The most boring part which
Execution of We cannot use manual testing
repetitively can be performed wi e help of
Same test cases. |executing same test suit. Repetitive | cases . a ,
automation. testing.
execution of test cases become a (e)
boring and error prone.
Scanned by CamScanner
ide Paradox
yo 19 use same test
q and Mainten
() Early Testing
_ ‘Testing must be started as early as possible in the Software Development Life Cycle (SDLC).
out in early phases of software
_ ‘Therefore any bug in the requirements or design phase are find
testing.
- Ibis less costly to correct that bug in early stages of testing.
at time when requirements are gathered.
- Itis suggested that we can start detecting the bug
Scanned by CamScanner
n,
Software Testi Ing and Mai
6-6 . nority o
ing (MU - Sem.
6- Comp)
ie retest the ofa rr aor
tware Enginee correction and defect.
ects to developerdoefor
ee Sof
the det ect ed def contain any uy;
_ Report s not requi ‘
assurance that software duct fulfills all sett pisnnin
product to give
ass ura nce tha t our software pro en ot
is done to give ie el
_ Software testing oo
user. finds ¢
end user. tware to our end
tha t we del iver quality sof (Business Regqui
ry ms
_ Togive assurance en ts pre sen t in the BRS Men,
requirem
that it satisfies . -
— To make sure quirement Spe cif ica tio ns)
which aes
SRS (System Re software product wore ot case
Specification) and by giv ing them a quality be
tomers
ence of the cus ectations of cus
tomer.
_ To get the confid quiremen ts and exp Int
fulfills al] the re
user friendly and
Tei
-
g Process
6.1.6 Software Testin
: in detail. (10 = 7
re testing-process 3
Q. 6.1.6 Explain the softwa ae . 9) gest &
re wiikag
. (Ref. sec. 6.1.6) var
P s activi
iou
s s whic: h helps to certify softwa
segtie _ of
ence of Test cae
process js a sequ Test planning,
— Software testing Re qu ir em ent analysis, _
ivities are -
g process act es.
— Software testin Test cycle closur : Fost!
t set up, Test execution, ia. :
ry and exit criter
vironm en w
development, en s has defined ent
proces
of software testing .
_- Each of the activity _
’ : -
Requirement ;
_
analysis
Test .
planning
Test case :
% development _
- Environment
setup
wid’
Fig, 6.1.2
t must be satislied
of test ing are pr' ere quisite conditions tha
erions
- Entry criteria 3 Entry crit
efore testing begins. d before
n of fes tin g des cri bes the conditions that must be satisfie
_ Exit criteria : An Exit criterio -
testing is concluded.
s
@ Phases of Testing proces
Scanned by CamScanner
pepending on requ
priority oftesting, its 6.7
1 is des
®Cideg
At the end of this ph
i . asg Re
re SYstem
pletion of set
After comple
Test case ti UP, smoke te,
| St is perfo Tmed on it,
Testing
oach
6.2 Strategic Appr
jn advance
be planned
s which can
get of activitie
Scanned by CamScanner
nane,
ting an| d Mainto
software Tes
6-8 of steps
=Comp) be a serics
g (MU - Som. 6 ch wi ll
re Engineerin sting whi placed.
— ftware te s cam be
to dofine t late for so ng me th m
od
Hence a thero is need
a es as well
- de sign tech atniqu
tes t cas o
which specific ailable fr
om W'
tegies av
sting stra
to eliminate
of soft w aro te
= There are number is helps
reviews. Th
expected:
effecti ve technical
there is need of
o For effective testing, oration of t},
incorp
errors before tes
ting commences,
’ de “o utward” toward the
o! nent level
and procee
co Testing begins with comp eriy,
system . software engine
whole computer-based sui ta bl e for different 4
techniques 4
re considered a8
Different testing
points in time. for large projects,
approaches and at different conducts the testing but
dev e loper
jects software
Incase of small pro
it is necessary 4,
o up.
distinct activities, but
pendent test gro
is need of an inde
ered as two
gging are consid
Testing and debu g strategy-
gging in any testin ts which arp
accommodate debu
ant to accommoda
te low-level tes
software tes tin g it is im po rt as hi gh-level test,
For a strategy of rce co! de se gm ent as well
t implemen tation
of a small sou mer requirements js
required to verify tha
ant sys te m fun cti ons against cu’ sto
validate most import
which are used to
correct. the wel]
(newcomer) arid a set of milestones for
dance fo: r the practitioner
Astrategy must offer gui
experienced manager. en there is increase in
ps reg ard ing the tes t str ategy is done ata time wh
Since the execution of ste problems should be identi
fied as early as
t be measurable and
deadline pressure, progress mus
possible.
Validation
Syllabus Topic : Verification and —————= EE
[o.622 onat
Explain vertcaandtivalid
= Verification
. Lo
of a
- Verificati
neni itt be ori a a process of estimating the intermediary work products
: . user
ment lifecycle to verirify that we are in the correct track of creating the end
product:
. ~ ‘
-— Now the question is : The answers is the
duets oon by the intermediary products? .
is meanlocum "
intermediary
are generated during the development
consi:
. ents which
documents, database table design, ER
. °f q
phases such as recpiremente, design
specification,
matrix ete.
‘
‘9
Scanned by CamScanner
ingineering (MU - Se
Mm. Be Cc
OF
Testing and uy, verification helps to §
inten, aNCg nd
Tn soreg eeeten. that the system is uses, *
laced. ‘ul,
PS in qhe main focus of the ‘teri
8 characterjq) -
T1Sticg are = “ification i
‘ll gation
:
vy
helps to ej, f Validation can be defing d
Nate | ° software meets all tho ; 7 egit is
SPecifi ' Totess 4 °
Corporation o¢ th, | Tecan also be defined a8 a pr Witement, — ““*lUating the final pred
i deployed d on suitab
. le environment.
‘OCe, Which shows that . Toduct to ensnsure that the
3
are e i sages .
"8 Neering tl
ij - Validation is performed in the softy * Product fulfils i intended use when
i are deve}
. i .
2 Projects, ther, |,
yg P pifference between Vey ifleation ang Vatican on
©pme:
nt life
i eter eto pe
3 necessary to
of estimating the interm ‘in "tis. process | Validation can be defined as it is the
Oay work
of aa 50 softw ~ = development Process of evaluating the final product to
incre,
. ase in Pp roducts
; lifecycle | ensure that the software meets all the
early as to verify that we are in the correct track of | specified requirements.
; creating the end user product.
==—_—— —.
a The aim of Verification is to ensure that the | The aim of Validation is to ensure that the
product being develop is as per the product really meets up the user's
Scanned by CamScanner
>
[GFP sonware Enginsering (MU
. 2 = *
Sem. 6 - Comp)
my 6-10
Validation
coer]
6.2.3 Software Testing Strategy
Moving towards inward in the spiral, we come to design and at the end to —
System testing
System engineering
Scanned by CamScanner
P testing any con
™MPutey
streamlines which enhan,
w.
Neg ¢]
Requirements
Design
_ Integration test
Code
Testing .
direction
1
Further there is
i need to assemble or
or integrate components to form the whole
wh software package:
System testing °°
function/perfor
Scanned by CamScanner
Software Testing and Maintenane
6-12 al
(MU - Sem. 6 - Comp)
LEP sonwara Engineoring : Unit Testing
Syllabus Topic
Rich St SS a
n . 9 (Ref. sec. 6.3)
unit testing __
la.Q.6.3.1 Explai nt stages of the software development lifecycle where
Software testing levels are the differe
testing is conducted.
When is it performed? :
* Unit Testing is the first level of software testing and is performed prior to Integration
Testing.
v
Who performs it?
‘- Prepare
- Review :
- Rework
- Baseline
- Unit Test Cases/Scripts
- Prepare
Scanned by CamScanner
Unit Test
oo eS Perform
I, provides a few i
i
ase / _
Development is faster in the long run too. The effort required to find and fix defects found during
unit, unit testing is very less in comparison to the effort required to fix defects found during system
-testing or acceptance testing. :
- The cost of fixing a defect detected during unit testing is lesser in comparison to that of defects
detected at higher levels. :
- Debugging is easy. Whena test fails, only the latest changes need to be debugged. With testing at
need to be scanned.
higher levels, chariges made over the span of several days/weeks/months
g
63.1 Stubs and Drivers in Unit Testin
Scanned by CamScanner
Software Testing and Maintonanca
—
EP somware Engineering (MU - Sem. 6 - Comp) s5
=> (MU
- Dec. 15, Dec. 16)
[0.6.41 Explain integration testing. (Ret. sec, 6.4 oe Dec. 15,-Dec..16,.5 Marks
- Integration testing is a method of software testing in which all units
of software under test are
integrated and tested as a single group.
- Itis always done after unit testing is applied.
~ It mainly focuses on testing data communication among
all units of system.
Scanned by CamScanner
¢ an,
gpcromental approach
: : can be either to . “PProach an
Module B
rill return
Fig. 6.4.1
Following are reasons
for Performing Integrati
. .
A Module is developed by 5 oftware 4
ati :
;
On testing
. eve Oper wh
orks) Jogic may not be same as ofother Software devel, ose level of understanding and pro P
go, while performing Integration Testin Pers from project em, Programming
: oy . 8, We requ}
efficiently with cther modules or not. “quired to check whether software madule works
ile developing single mod
ule, there is risk of cha
nges in Tequit ts by
rement the clients.
We may not perform unit testing for this new requirements
of software is needed. and so performing integration testing
There isis po possibilityty that inte
interfac
rfaceses (through which operations on data
base are done) present
between software modules and database
may contain error. ,
There is possibility of error occurrence due to exte
rnal hardware interfaces.
There is possibility of raising issues if exceptions are not handled prope
rly.
For all these reasons we need to perform integration testing.
- (!) Big bang approach . product are created first and then they are combine
ined
P
s0 fiware nee
In this strategy, all modules of so Module 7
-
are istested ato from ‘Module Y to
the os "
ch As per the Fig. 6.4.2 all . is
tagterantn
*
ns _ a . . pe! .
integrahon beotin€
i
Scanned by CamScanner
ee
Soft ware Engineoring (MU - Sem. 6 - Comp) Software Testing
6-16 mend Mal a,
and Mainten
ince
QLD
ELD-E- DED
Gemeente)
Fig. 6.4.2 : Big bang approach
al Advantage of big bang
approach
~ . Suitable for smal] sof
tware projects.
- Disadvantages of blg
bang approach
Finding defect is difficult task
because we-test whole software
at. once.
There are lots of interfaces
which needed to be test,
— Inbig bang approach, ther
e igs Possibility that so
A Stub is dumm
y Program whi
replace called module
by stub.
Driver is dummy
Program which cal
ls an other module
ie. Calling module is replaced , We replace
by driv er, Place Module to be tested by driv. er
u
Scanned by CamScanner
dow? Integration
y” jn Top to down theappro ach
botte, ‘m test:
are present at
;
;
stubs.
time.
iciently because of lack of
Modules present at lower level are tested insuff
1 are tegration
b) Bottom up In is tested with modules present at
nt at lower level
up approach, every module P rese
In the bottom tested.
- for
le ve ls un ti l all mo dules are
higher tom up incremental
testing.
while perfor ming bot
Drivers are used
nd
oy
Scanned by CamScanner
& _ Engineeri
& i
Software Testing and Maintenancs
6-18 | ; 4 comps
EP sottware Engineering (MU - Sem. 6 - Comp)
@ Advantages Bottom up approach After com
—
a .
Finding defect is easy task.
; . ‘ ‘ 1.
Ther
spec
- After developing one module, testing is started. It does not waste time in waiting for all modules
to be developed unlike Big-bang approach. 2. Ave
@ Disadvantage Bottom up approach : / Before |
that control the flow ae pro
Critical modules which are present at the top level of software architecture
: itical modules. ue
of software are tested last and may be defects occurs 1n critical
|
: ting
Syllabus Toplc : Validation Tes
x . 2 configu
6- ,
6.5 Validation Testing Confi
Da pe eT ea the
deve T
1.6.5.1 Explain Validation Testing in detall. (Ref. sec. 6.5) : a O Marks) |
— When integration testing ends, Validation testing begins. After completion of independent
components, the software is completely integrated as a package, and interfacing errors have been
found out and corrected.
- At the validation or system level, no difference remains in conventional software, object-oriented
software, and WebApps.
- Testing is concentrated on the actions which are directly visible by user and output which is user.
eseomaiebla from the system.
- There are number of ways to define validation, but a general definition is that validation will be
successful when the functionality of software is as per expectations of the customer.
- A Software Requirements Specification explains all of the user-visible attributes regarding the
software and includes a Validation Criteria section which sets the basis for the approach
regarding validation-testing.
- To achieve software validation a series of tests is carried out which demonstrates conformity with
user requirements. ‘
= Atest plan describes the classes regarding tests to be conducted. | ‘
- A test procedure defines particular test cases which are designed to ensure following:
o All of the expected functional requirements are fulfilled,
o Allofthe respective behavioral characteristics are achieved.
o There is accuracy in all the content and are properly presented.
o There is consideration of all performance requirements.
o Documentation is accurate.
Scanned by CamScanner
Usability as wel) i it
er
Testing and Maintenance
compatibility, erro, mates
: after sau eons
maine req
of each Validation tert. remeonty are
re 1. Sime 18
of tho function ne er in
: -
This testing is called as an alpha testing since it is performed when development phase of
arding the
Scanned by CamScanner
EE sommare Engineering (MU - Som. 6 - Comp)
Reduce delivery time to market.
Early feedback helps ta improve software quality.
(2) Beta testing
ve product through
- Beta testing minimizes the product failure risks and delivers qualitati
customer validation. It gives direct feedback from the user.
It ensures reliability, security, robustness etc. from user’s perspective.
— Types of Beta testing are : Traditional, public, technical, focused and past release.
Beta testing is also called as User Acceptance Testing, Customer acceptance Testing, Customer
Validation testing and Pre-Release testing.
Beta testing gives assurance that we deliver quality software to our customers by testing the
product under various situations in real world environment that can't be created in a lab setting.
* Advantages Beta Testing
Scanned by CamScanner
are Testing and Mainter,
@ product through
sting, Customer
by testing the
a Jab setting.
Few Weeks of time is . os
Perform the beta testing.
-.
Important issues can be corrected
by developers without delay in
Alpha testing.
Alpha testing focuses on giving
assurance about quality
2 of the Product, but it collects
software product before going feedback from|
tolend users about software produc
Beta testing. t and
gives assurance that the software
i
ciated product.is ready for. use in real world
" environment.
system. .
Scanned by CamScanner
EP coma eninning tyson. 0-conp) 6.22
Software Testing and Maintenanea
Software testing
methods
—! 4. Recovery Testing
5. Migration Testing
ma 6. Functional Testing
7 Hardware/Software Testing
Scanned by CamScanner
It is non-functional test; mE.
i ove them,
impr
Loa d Testing
Load testing is a type
ndiiti
life load cond tions. of Performan ce Testing which
specifies perforn
; , “ee system '
Load testing hel 7 " sear
i ation beha
Ps to specify how the applPlic
time . ves when multiple users access it at same
find out
This testing normally used to
d to 4. The maximum number of of users who can access the softw. .
software at same time.
9. Specifies whether curre: * i
: ntly available infrastructure i.e. software and hardware is adequate
to execute the application,
4, Scalability
st tomer (action tak en i
to increase capacity of system such as increase storage etc.) to
te
applications.
ee
working of existin
.| .
after the systera crash due V0
+ 4, Recovery Testing ‘i
«, done to SP° iy wheter "
_ Recovery
Testing 18 or failure © network not av
Scanned by CamScanner
af ge
Software Testing and Maintenance,
EEF? sonmare Engineering (MU - Sem. 6 - Comp) 6-24
- In recovery testing,
. system a i. identify the point whereup theto thebehavior
backagain perform the operations
«point : of 4.
a wher
point
system was correct and then from tha’
- Operability ; “The
better it works
while designing an , the more efficiently it
d implementing 4 can be tested.” If qualit
system, comparativ y is focused
execution of tests, allowing smooth tesi e] Y small number of bugs wi
ll bl ock the :
Scanned by CamScanner
observability : <w),,,
. t
outputs, Syste, You see tow
distinct
Ele St a
smarte, ntrolling- engineer. It is also
ent in the and perform » Teproduced,
«ates © retestin. the Sco
pe of ¢
testing, we can elebipnets
testeg inde ot of software isolate problems
Simplicity : “The |
Softwa _
ntly, System is implemented from
expected from the ote there is to test i Dende
; ctural simpl fenty, ,
i ene C8 the featur
simplicity nn? Mickly YY We ws can :
| Actua) j stru
um test it.” Functional simpli city is
simplicity (e.g‘B+ a codin.g., archi
g stan . ® Modula rizedthe tominim
| Sets j Necessary to me t requi =,
dard is adopted for ctecon —- Propagation of fact), and ood
mai , -
Inspection and Mainte nance).
/ - Un
j availability of thorough i :
5 : information
an i i regarding archi
‘ i / internal, external, as well as shared, test will teem r. “esHen and the dependencies among
gtd Characteristics of a Good Test
eae
There are some characteristics of a good
test as follows :
ii, . .
- There is high
the totem P ey of,finding out errors in a good test. To achieve this goal, there is need for
understand the software thoroughly and try to develop a view regarding how the
software might fail. a
Preferably, the classes regarding failure are searched. For example, one class of possible failure in
a GUT is the failure to identify proper mouse position.
mouse
A series of tests possibly developed to exercise the mouse in an effort to exhibit an error in
i position recognition.
as resources.
test is not redun dant. There is limitation in testing time as well
| A good
as another test.
in per for min g a test which has same intention
There is no meanin g
t.
tests must be differen
- The purposes of diffe rent ts which have same aim,
time as well as
reed”. In a set of tes
be “best of 6
:
ld of just a subset of these tests.
A go od te st sh ou
ay mitigate
toward the implementa tion of uncovering & whole class
resource limitations m having highest possib
ility
| the test
uld prefer
| - Insuch situati ion, one sho
i of errors.
i
Scanned by CamScanner
PP sotware Engineer:ing 6-26
Software Testing ang Mainte
(MU- Sem. 6 - Comp)
lex. Even if sometimes
= A good test should be neither nplex. tester can
too simple nor too comp r 5 a
Series of tests into one test that the possible
case, he should remembe: side effects Telateg with
this approach may mask errors.
— Usually it is better to execute each test separately. _
ifferent coverage
types such as Cond
ition Coverage, Multiple
Scanned by CamScanner
3 White box testing *
. 1Ncluq,
» Tes! have very high },
Ss tonti
s tester = zoe the test. “vel *Mowledzg or rose
e effects ranted
mbiwit
ne , a ; - sec
Seeurity pro
is ble
basims
c and
Purpose of Performin
g “ns
malicious code in cohwan the eon e the 80 Are te Used in ro tuet, So the te:
:
. are
f; he softwareProduct went
—————__ ct rom at; Sti
steptthe2* sec ond test
Create stepcase
in s and &xecut, ie A. So -
Knowingly or aeOwiby ng}hackers. 8nd
ee one
naiy, should be able detect
- under the test for
oe White box tes
. 8 Of pro "
oe - The tester will generat, smal] ting in, te mae
Scanned by CamScanner
Software SRS Maintenance
BF sonware
wotiware Engineering
Enginoering (MU - Sem. 6 - Comp) 6-28
—
In on,
— Syllabus Topic : Basis Path Testing
PD (MU
- Dee. 15, Doe 7
Explain cifforent techniques in white
box testing. (Ref. sec. 6.9) EE
(Rot. soc. 6.5 ss
Basis path testing is considered as a white-box testing technique.
It. was proposed by Tom McCabe. These tests guarantee to execute every statement in the
program at least once during testing. Basic set is the set of all the execution paths of a
Procedure.
6.9.1 Flow Graph Notation - |
Before basic path procedure is discussed, it is important to know the simple
notation used for the
representation of control flow.
Sequence O—O
:
If
While
Fig. 6.9.1
Scanned by CamScanner
Ago ftare. Engineerin MU . Som m
mes CO}
pasic Terminol
gf ogy *SSoclateg whe, 8-29
Node
stil
: Each flow raph nude ve
Tho FI
contains a conditio,
dition is; callog aw Pro;Sen) or ins
- Edge : Edge is thy ° icate node, 0
nnectio
control. An edge sae n betwoen
termin two Nodeg.
procedural statements ato at a Node ' The eg
f‘Or the
> (MU - Dec. 47, May 12)
. Dec. 17, May 14, «
owing f} . contains OOcontro] ion flow
statements A, from the start point to the =end
. ere are .
the control statement. various “xecution paths: depending upon dlecision
- - eci taken on
WG) = E-N+2
/ VG) = P+1 | | |
s contained in the flow graph G.
Where P is the number of predicate node
following flow graph.
Example : Consider the
Scanned by CamScanner
set Le er a ae
i, s
1
ee
es
Region, R 6
Number of Nodes
= 13
Number ofedges
= 17
Number of Predicate Nodes
= 5
Cyclomatic Comple
xity, V( C)
VC) =R=6;
. Or
clomatic complexi s
Scanned by CamScanner
gineering (MU - 5,
em. 6 = Comp)
:
Prepare test cases th
3. a
: graph Matrices
is a two 0 didi mensiong} mate
Graph matrix
Tix that h, elps in
and columns.each determ| inin
to number of node 8 in fl
in,equal the basic wet. 1t has
one
try cor res pon d:
gpn ow Braph.
ond
i
8 to each node-node pa
7
air Teprese:
edge e 18i
Baachch edg represente:
ti
to dissti nts an edge in fl ‘OW graph.
a
by so
d ed wi me let ter ngu ish it f,
h ed, ov id ro:om oth er edges,
Then eac ge is pr wei
- - with some link weight, 0 if there ;
‘ 18 no connecti
connection. on and 1 if there is
For e
a pro
° vidrap
ingh wei ght s eac
nan tes h lett
ia oc t erson
is replaced by 1}
y 1 indicating a connecti
on
on matrix.
.
Bach row with two 0 entrieentri s represents a predicate
node.
the entries is
Then for each row.sum of obtain :
for each aeeiaiiianinieeia
Now the : value so obtained each row is add
ed and 1 is again added to get the cyclomat
: ic
complexity.
.
the internal” workin: g of the different procedures is tested, then the testing for the overall
‘Once ona
functi lity of black box testing techniques are used
.
gram structure is tested. For this
ing
6.1 0 Control Structure Test
o
e
Testing in det
9
i o n , w h i c
le. press
am modu ora relat
ional ex
.
.
pie
om
oe
Scanned by CamScanner
ai
iii i t ae
Scanned by CamScanner
In such case,
Band Maintenance ’ testing:
g
jooP Testin
| any one or >,
20 Operators,
» they are not g
poop testing is considereg
.
Ri
QB
id condition hicnt
Sufficie se, ce *
importan
*,
‘ithmetic
ation to
loops, where n is
Simple loops : The following given series of tests can be carried out on simple
the maximum number of permissible passes through the loop.
Scanned by CamScanner
Software Testing and Maintenance
key Software Engineering 6-34
(MU -A Sem . 6 - Comp) olen keeping the outer loops at their: lowest
$ st Too}
2. Carry out easy loop tests for the innerm
o )
'
values. Introduce different tests for out.o¢
iteration parameter (for example loop counte r.
range or excluded values.
ding all other outer Io,
: 3. Workt outward,
rd, whiwhilo executing tests for the next loop, but holding . SPS at
s to “ty“typpical” values.
minimum values whereas other nested loop
\ 2en
loops have been tosted.
4, tinue the process unless all .
Con ted ‘ = It is possible to test concatenated loops with
- Concatenat the help of the 8pproach
oops : It 1 .
defined for simple loops, if all of the loops are not interdepen dent.
loops and the loop coun ter for first loop is used a th
ver, if there i
i concatenation
is 0. f two
However,
independent.
starting value for second loop, then the loops are not
d
When en there ere 1Sis dependency of loops on each other, then the approach which has been applie to
nested loops is recommended.
Unstructured loops : Whenever possible, it is essential to redesign this class of loops so as to
reflect the use.of the structured programming constructs.
SSL,
Scanned by CamScanner
o
(ware Tes
Soltwara Testing and Maintenance
the steps Ww hich are use 1 to po rior
f m b lack b io xt eating }
7
ments a pe
“) 1 " require ications of tho ystem
i i or } anal yzed,|
itive t
test data i.e. data for pos \ ,
j- geste select valid Ont sconari
r10 to vor if 'Y whether application
under
§
t data and gi as exp ect ed
to processes tha
and giv o out put
3 yes4t jsjs 8 able
ati |
tester selects invalid test data for neg
lo gi ns tes t sce nar io to vorify whot!
‘ piso ple to process chat date and give output as expected
nee
test is
a.
; ester state expected outputs for cach test dat
tes test cases witi h the selected test data. Then test
.° ar e tester genera
—
ison between the a actual
peware tester performs compar ee
i
pe fect is- detected if actual resesulultt is not same as expect res
ed ult .
6.
ed to developer.
._ hen detected defect is report ae
can th en fix tha t defect and then application is retested by tester.
:D eveloper
i ng methods are used in Black Box Testing :
‘
lo P ing g tes t ca ses followwi
got deve
VA)
spssd ary Value Analysis (B ries of the input
_ ry val ue ana lys is is a process of testing bounda
d . the name indicates bo un da
yalues-
ed technique in BBT.
itis most commonly us m, jus t above minimum, nor
mal value,
ues at their; mi ni mu
to select input val
Here pasic idea is
value.
just below maximum
jaximum value and
ioning.
me s aft er the equ ivalence class partit
vA always co
oning into
n c e class partiti ib le in pu ts by dividing them
g
ti) q u i v a l e er of all po ss
rt it io ni ng re duces the numb
ass pa
- Equivalence cl
t values.
classes. av oi ds re du ndancy of inpu
oroughly and
It te st s ap plicatio n th
_ sting.
d at all levels ofte e is applied.
It can be ap pl ie
va lu e an al ysis techniqu
undary
al wa ys pe rf or med before bo re la te d an d use d togeth
er.
- It are clo!sely
ui va le nc e partitioning
BVA and eq ors that
em an d all the fact
ct graphing tput of sy st
(ii) Cause - effe t i o n s h i p be tween ou
lains rela
ni qu e g r a p h ically exp tielbe
- This tech em
tput of syst f any specific
CB" test cases
such
affect the ou i k e s se le ction of
i "aviour of
S¥S tem. It ma
eh
. oen xteernal b
eys the ee
l
d e n t
i que te st s effec ts.
s techni the
he e
> Thi e cause
-
a t t h e y l o g ically relat
th
t
Scanned by CamScanner
keep Software Engineering (M
- U
Som. 6 - Comp) 6-36 Sofware TeandsMai
tntoo
nanes
(iv) Error - Guessing .
:
Error guessing is a technique which mak ; d skill for testing : similp,
es use of tes ter s De temnal techuiiques.
applications to find out defects whic
h may not be dete ed by
us
It is usually done after formal testing
.
techniques are app lied.
It list outs all possible defects in system and then design tests which will atte
mpt to produce
uce them
The success of error guessing technique is mainly depends
on knowledge and skills of tester.
6.11.1 Types of Black Box Tes
ting
1. Functional testing ~
- This testing is pe
rformed to give gu
arantee that new
any interruption in code added i
working of existing functionalit
ies,
6.11.2 Advantages of Black
Box Testing
(i) It is efficient for lar
ge systems,
(ii) It identifies contra
dictions in functional
Specificat ion
(iii) Detailed functional
knowledge of system is not
(iv) Tester and develo
prerequisite for tester,
per work independently,
Scanned by CamScanner
Engineering «
6 - Comp)
Ca Sem. oo
ee ng
: “3 pisedvantages of Black Box Testi Setemaes Tasting andi airtenanes
ro Testing and Maintonance,
@ It is difficult to find out all possible inputs for
iiwet test-case in lirmited tine
' (i Test method cannot be used for Singl
:kill for testing simila,
ji) Test cases cannot be des’ ee
iques. !
‘ened ns knowledge of funeti.
netional Bpecifications
(iv) It may leave many program paths un
tested beca us
of time eai int,.
constr
mpt to produce them, pifterence betw:
een White Box Testi Ng and Black Box Testing Techni
kills of tester. i git-4
> (MU - May 15, May 15)
6.11.2 pare white box and black box
e0t4)| ee |
tion present in our =parameter | Black box testing
= A
It is mainly applicable athigh
sgpicable levels
levels of testing : °F : _— applicable at lower
source code of the a . levels of testing i.e. unit and
' bo wed
Acce integration testing.
Cie and system testing.
:
— nating _—=
and specification i
ple test data
- se for irement
tidaiteme te a isthe Detail design is the basis for White .
aa Box Testing.
Box Testing.
_— -
, estini
3 ed out by
b It is carried out by software testers. |It is carri
d
fF performed y
developers.
ms
It aiat how syst em
is perfo rming
‘Ain It aims at what functionality ts
software product.
po nance
la bu s To pi c : Software Mainte
"Syl
ails
nce
6.12 Software Maintena
alt
Scanned by CamScanner
fez Software Engineering (ML J - Sem. 6 - Comp) 6-38 ! Software Testing and Maintonancg
= 5
Mainten c h angi B
ance is requ ired to gi give assuran
rance th that th the softw
fiware has ab ility to satisfy the
uirements of user.
- Nainintenance isis important phase for software product which is developed using any SDLC mode}
G Requirment
EJ Designing
[7 Implementation
0 Testing
0 Maintaince
Fig. 6.12.1 : Cost of maintenance
Scanned by CamScanner
18 engineering (MU - Sem, 6. Comp
ILC mode}
Software _ Legacy software which work
on slow
prove itself better than newly
comin
AS technology advances, i
are costly.
Most engineers who Perform A
to find out problems.
_ Programming Language, , | ~
- External environment dependencies, oe t=.
- Staff availability and reliability,
°
a Syllabus Topic
: Types of Softwa
a re Maintenance
Types of maintenance
1. Corrective Maintenance
2. Adaptive Maintenance
3. Perfective Maintenance : ;
4. Preventive Maintenance
|
1, Corrective Maintenance
in
typ e of mai nte nan ce con tai ns changes and updation performed for fixing of defects found |
- This .
Scanned by CamScanner
EF sontware tn neerin
Se g (MU - Sem. 6 - Comp)
ginger 6-40 Software Testing and Maintenance
~ In corrective maintenance,
wo perfo rm actions for correcting the defects in our software
that mako bad effect on differ
ent parts of our softwa ssenign, lagle or cod Product
re product such as _
This type of maintenance is oe, le.
emergency maintenance in whi
tempor ch unschedu hange
arily keeping software in ope one for
ration.
Corrective maintenance has ;
approach to examine the
the system was origin original specifications to
ally des: igned to do. state that what
- Because of pressure
given by manage ment, the
emergency corrections maintenance team release
called as patching. small codes fo.
Twenty percent part of all the
maintenance activities are per
formed to do corrective mainte
> 2 Adaptive Maintenance nance
- Adaptive mainte
nance includes
updating
environment like
the hardware or the
operating system.
- Here, the concept
environment is us
applied on the sy ed to point to the
stem. conditions and the
influences which
- are
For example, bu
siness rules, wo
rk Patterns, and
Software application. government poli
cies are factors
: which affect the
oy
' will have a Sign
ificant effect on
-— Adaptive maintenan,
, Rew features
for increasing
the
Scanned by CamScanner
off inee Softwara Testing and Maintenance
otive maintenance includes performing enhancemonts in functionalities of application
perl are in addition to enhance the performance of software application
g0 : : ‘
icontains enhancement in both functionality and in efficiency of the source code and modifying
7 ef netionalities of the software application according to changirig needs of users
perfective maintenance contributes 50% of total maintenance which is the largest of all the
- paintenance activities.
tenance
preventive Main
a preventive Maintenance contains changes and updations to avoid problema in future software
application.
its objective is to solve the problems which are not major at this point but may cause serious
y igsues in future.
nce of errors.
preventive maintenance includes applying changes to avoid the occurre
preventive maintenance also includes doing actions to avoid the occurrence of errors.
y of
it tends to decrease the complexity of software application by improving understandabilit
program and growing maintainability of software application.
It includes documentation updating, code optimization, and code restructuring.
are affected by the
Documentation updating includes making changes in the documents which
changes related to the present state of the system.
y execute the program or to use
Code optimization includes changing the programs to quickl
storage space in correct way.
am for decreasing the complexity of
_ Code restructuring includes changing the structure of progr
source code and making it understandable.
e organization and no outside requests
_ Preventive maintenance is performed only for maintenanc
are accepted for this category of maintenance.
maintenance activities.
_ Preventive maintenance contributes 5% of all the
Fig. 6.13.2
Scanned by CamScanner
EP sonware Enginooring (MU
- Sem. 6 - Comp) 6-42
Software Testing and Mainte
6.13.1 Steps to Create Ma naneg
intenance Log
Scanned by CamScanner
- qhe : maintenanc
‘i: e log ig usually sk, ete)
provide services on contract basis, : the a
hed in
. Generally, maintenance logs refor
. gervices that it will retain its ana &et an
In future
re Re-engineering |
Scanned by CamScanner
ome=e
e
pe
7”, -
Rs eee :
‘\ L Cine -
1 ct eal if
eR
6-44
~ Re-Engineering Procedure
includes following steps
: oe complete software
1. Decide which components of software we wan
t to re-engineer.
some components of it ? or
2. Do Reverse Engineering to find out fea
tures of existing software. _
3. Perform restructuring of source code if
needed. For example modifying function-
programs in object-or
iented programs. crienteg
4 Perform restructuring of data if needed
.
5.
Ca
Use Forward engineering
idea to generate re-engineere
— There
d software.
are some importan:
t terms used in Software re-eng
1. ineering.
Reverse Engineering
3. Forward Engineering
- Forward engineering
is a Procedure of find
hand which is output ing desired software
of reverse engineerin product from the re
g, quirements in
- - It presumes that so
me
Scanned by CamScanner
ro Engineerin (MU - Sem. 6 - Comp)
mponent reusability
C
system
It may be a small module or sub-
a
y | labus
Syl Topic : Reverse Enginee Tin
1 ig
iented soften
pe
> ( wu- May 15, May 18, May 12)
G61 “Explain softwar
: e reverse :éngineering
a in detail. ~ (Ret. sec (Met.sec. 6.15)
6.15) eee
9 6.18-2 Write note on Reverse Engineering. (Ref sec,
/ systema7 through
on -analysis of architecture of system, functions
onal
and operat‘ations. 4
Cons ler existing system has design about which we do not know anything. System designers
perform reverse engineering by analyzing the source code and attempt to get the fais
of softw are
With the help of design, designer attempt to make conclusion about-specifications
product.
e w software works in order to
ess of analyzing an object to observ ho
- Reverse engineering is a proc
ures in the object.
duplicate or add new feat
many times it is used in
ine eri ng is inv ent ed in older industries and now
Idea of reverse eng
generation.
h ardware and software
computer of program which is in the
ing & machine code
wa re re ve rs e en gi neerin, g includes revers
So ft source code.
ce of Os an d.1 s. It istransformed into the
format of the sequen code of a program
since the
to fin d out the 5 our ce
neering i s performed enhance the performa
nce of a
Software reverse engi ram do spe cif ic ta sk s, to
study how the prog m or to detect un
secure
source code need to an error detect ed in the pr og ra
program,
repair a bug ie. Cc rrect
to
program like virus.
contents from
Chapter Ends...
noo
Scanned by CamScanner