(ma 5 SOFTWARE? ‘HPE oF SOFTWARE
a.
000 sorte?
» Sta
omar room)
Scosored
© Sefraare posi
for be eons
5. HURT SPECATION?
Shagh ah or
Ibe ded of oppeed of
Pode petition ent stoge and he changes oer
“Gone produc
Gasonized provers
Some Fs ABOU SOFTWAE ENGINEERING IMPORTANCE OF SOFTWARE ENGINEERING
¥ We need:
+ Reliability & rstworthy prodvets
© Delivering on tine
+ Revsoble
+ Cot effective in changing /evluion
+ Moret
FUNDAMENTAL SOFTWARE ENGINEERING ACTIVITIES SEMRAL ISSUES TAT AFFECT Mas sorTwuat
SOFTWAE NSieRING FUNDAMENTALS
© hater
~ bans ond socal change
Se ca aetgettee eta
SOrrwate seen Tas
~ Some furdemental principles apply 9 altypar cf ators“ Mist
oem
the a menoped and undetoed deelopnet pes
‘Size i ocnngehtaare ond try develop ne tower
Sora ve NEE
‘comaeaarnapatnanateeta
So *&
sorta costs
© Soar css ~ computer syst css
~ Cente to meiniin> ta develop
Breckedown good! culty ie required qutyotibte
© Sofware enginaring ie onccned ih cos-ettecte sofware
‘teveopme
ponte sora ncnenNG
Suimaleteen cee
sorrwate ares
renga ‘software techniques
comes Sen ‘plea ail
* Ser dereoner coe pte
egy SOFWAE HGR EK
CODE
Ethics eS
=)
=,
~~)
hay aetS teat plano
feeticrane aco
4006 OF HGS A PROFESIONAL CONDUCT Soret enna ao sstamany
1 Conte scaty ond amen wel bing. Fray
1.3 Be hoe ond ratory
11 far ond tbe ation ot fo deciinoe
1 Hore propery rhs nding copy igh ard peter
1 Give proper cre fr llecual propery.
17 espace pecy of oer
18 Hone cefidentiy.
eaten
SOFWARE ENGNEHING NO SUSTAINABLY EXAMPLE
© Green Sofwore Engineering ison emercing
isepine of he erocon of nee scree,
toitwore proses and erestocure, elacrichy
tree, hardware ond date contr design,
~ Groen Sofwore Enginesing concer the doin
devetopment ond operation of sofware inter
produc na way tha reduces pollo, promees
Ststchabiy, ond mines ik Yohanan eel and
the eonmcn witow sting econ Weby
(nd eficerey‘SOFTWARE ENGINEERING AND SUSTAINABILITY - EXAMPLE suman sua (CONT)
"Tere re mony ferent tyes of system ond och eee
— rnd se Oc ocm of Rotnncneprocicaon sport frecreenghehg Wn ond incner rk
Sct al opps oe aon ete. ~ Software engineering i en engineering diplne thats
se al option ero Sarma
_ ~ Exel software product etibutes re maincinabilly, The frdomerel eos ofrofware engineering ore applicable
Gnas tmarauiseneamer cary eco) Theron, SePensey ond sac, atisnacy ond oxepibity. ” woclltypeef stare sem.
dearer ET Nenes © Te hhlovel oe of specicoon developer, Softee engine hove reponse oh egieetng
pod teksoton an evolion rept fel fwareprocoies ples on soy. ey sald no my be ncemed
+ Sinan hr lean oppeaon Me fendomeol metlors of software eoinerieg re
The feadomentl masons of softer ¥ Sesto on energing concern in ol engineering
Emargraelggkgamsrcteesrstronimeaton tat rverclly appcabie ool types of system developmen.” Sasi on enaring concen nol engineering
SOFTWARE ENGINEERING — F02 ORIENTATION Tae sortwua aoc Some sorrwate PROCESS MODELS
\ tieotmesig bo want eset onenednite “Asie st of acter reqad 2 dean © Te wal ode
ip ply V Many re etwas roe et cl ces terra ttn nd
ineetanen emer ncerenrits ‘seeeren Sea eer ratte tnt
‘esi equedm ert dlp on overeat enctiteeond__Dedgn eileen _ sre pantie
Srooseanrerse ‘aloe ranean
-ftrekaneldonparerted aro yts ena, etn eer ng niente ene
eee asec bid nae ree er ee ne EL ~ pregnant go pn
‘sar moet veaenrstt MOD uses IwerenenTaL peve.opuent
The main drowbake
"he dif of econedeting henge ae epoca
~ Msty wed for large systems engineering projec
tem elped ot rl es
whan he requiements or wellundertood ond changes wi
bo Teryinilec during tho daign process
pggereteemeeneen "Fortean mre te ae manera
nae erent aes une eve wens sours
tac ta feo chy ctemer Th poet il ————
AER te pd Sor nar et re S-S16
Kan ogame fedoc on develop wot ch a
fos 0 ot ‘ype nce sda coy nanan oe =
State enn cen = mrt eo oe
~ More ropid dalvery and deployment f wsefl sofware o the | eB nS wm ata S =
Scrat POPLAR LONE ALS ge evLOPHENT usc omen sore asncens
SS sora on ota ree wher sysens ore negroes from
‘xing component or gopbction systems (COTS.
onmercorftshe-de sens)
808 cons Stoo epson sens OTS)
Woe fale rd prea “gece / ne amma ho
Produc get tomeret Fol pedi °e1_—_/peuzad laments maybe contoured Yo adopt heir behoviot
for secede ‘nd fonclony Fog we eeramen
‘ener commuriconon DEEN I Raut Isnow the tndord approach fer bling mony types of
—_—_ ‘eins Sine ysem
REUSE-ORIENTED SOFTWARE ENGINEERING ADVANTAGES AND DISADVANTAGES
Y Reduced costs and risks os less software is developed from
—5 scratch
= A) Foster delivery and deployment of system
= al But requirements compromises are inevitable s0 system may not
meet real needs of users
¥ Loss of control over evolution of reused system elementsPROCESS ACTIVITIES: ACTIVITY: SOFTWARE SPECIFICATION "THE REQUIREMENTS ENGINEERING PROCESS
© IMSPARESS Aca cTnahayelalsuseioenin he overall“ The process of estobibhing whet services are required and the
‘eal of epentying. desgrng plenenng ae ating 2 consronts onthe systems operation end development.
‘ware etom esis
‘The fou bale ress acs (spocein your book) of Use Requirements engineering process
‘ectaston dovscpment asdaion and ovlcon we ppenhailsinbshegit phon
‘Srganized citron In eitaront development processor ees
“Require vaiton
Inte waa noc yan cranizein quan, sere
Accson 6 ND PEMENTTON~ SOrORRE yen MOE, oF HE BEEN HOLES 9ST mp eeraTiON
tertorc
hm poco arin th ston score eae “Tha sftucr sip sha by developing © region
comnts or progrons of By configuring an eppcton sytem.
Design ond inplemerttion ae inelsaved cts or mot
oan Inpetof iohwore yen,
sean + trogen i eine entity wih no sandard proce.
apie
ee Debugging i the ecivity of Finding program fouls and
Seapets (EE) (S| HE] [S|] | otto
Ac. sorwage aLerin ie rns TESTING PHASES IA PLAN-ORIVEN SOFTWARE PROCESS
© Velen ced vlan (VV)
“Sennen anencce ny
“en ing i en oe
‘ate no coneony ua VY ex
a i.
scr sorta evau0n COPING WITH CHANGE Sone revoir
~ Sofrwore is nheverlyHexible end con change Change is inevitable in all large softwore projects eee era
< tepranen ton cence “tome dong kp cn de
‘gegen ste) => tether ane = Rowe castes peta hae eet ese
Sadne “hone looms cer
Change loads to rework
“code rower ean agents ed plenty ne See
INCREMENTAL DELIVERY ncnewerat sere
CSE) Messen sy end pana ESSE)
4 “Seegsareer striae od ceigen pay eqiemees EB) SE) ~ SE)
Indoded nearly herent
Two approaches:
“herenel developmen by developer a
REET many “her! dtvery for ens Semaace” “Sena
‘PROCESS IMPROVEMENT ‘PROCESS IMPROVEMENT ACTIVITIES ‘THE CAPABILITY MATURITY MODEL (CMM)
~ Soaue cm moore, Pee MMM ero pa ~ Capcity Matuy Medel earn (OAM s 0 recess
faa ae SEESSSVER TEESE ETS AES FESS” level improvement raining and appraisal program
oF cccaleroing Gevalopmant procrses mrp | CMMI defines the most important elements that are required to
© Procesimprovenent ~The pee rc on pce neces ond eine we BU Groot produ or davr great service
“detondg ese orcas = Soni ani cad pas ston rend by many US. Goverment conto expecially in
ond changing there proceries, ae software development.
. Ey Therma scans ve
‘at ne oe edaaeed ater
item st Soe‘Te CaPaaiLiTY maTURTE MODEL (CA) ‘SOFTWARE PROJECT DOCUMENTATION
ji
ae (Ct
aan BEVELOPNENT~AIRSUS
Coping wih chonge
no
“Sn we of geo ftworeengeaning posce
“Th 3 proces mtu framework (CMM)
“leet mony ne ar encaay eremond he eo 0
‘Sheers sngretig procs
ars a eouenenT? mca sen
~ Reqiemant = ba dosiption of orto operon
iri ‘hiking ling ond chr edoinaras ta
“time range
oy seve « del anon
FUNCTIONAL avo non-uNcTON4REOUEEINS Fuvion weousEweTs
~ Daterbefrconalty or sytem evens
Neha won
“Sota Stringent ee
-Sigugnrcteysensovaor alberta een
PEaeon Sette nen
ov. FuncroNa eouReueurs Ov-FUNCTIONAL REaUIENERTS IMPLEMENTATION
© Define s:tem properties and consrai
"Proper setabiy, reipns neon oops equronee
* Contin 1 dence, sem reese
Non anaonl requirments may efor he overall erie
sane
“eosin an
© Non tuetnelraqurenens may be more ea! hon
‘onctanelrelemente
"Wns not nt te stom oy be as
A Sogo non icon equrament
“Sndioy de unre ogden etre rye
[XANES OF MOMFUNCTIONALROUIEMENTS THE MENTCARE STEM TPES OF REQUIREMENT
+ hg en
———_
Requromensdefinton
ater a
Requirements specication
“ Softwore pecfeation
"hated wore crip wich an rv eat fr
‘itp otnpoamaan Want Soop
EFFECTS OF INADEQUATE REQUIREMENTS.
© Reuter foes nyse ant ire ded
© nanan | nay wee
a
here (ad price maregemert stem manage he etoe [eal reise manoganetsyten: mange: he
+ aaeh ton os ed oh re no
"Atom nal aoe ta arom he wn he
"rae donner ingot dete dcp of he em
‘SUMMARY
Y Solwore processes
~ Sowore proces models
Teva renal Seopa ue aad desler
Fendomactel oxirie
econ erga: lpn peo.
"Shin aerate em aeons pin
~ Erg tin charg nn tne ee mee ee
. iam
‘Soyuedoy operation of scl nck en appaneet!
‘hldng ing ond oer ean faa
ena En oN CTONAL RUMEN
Aas be able fe sarc he apocrine fit fora
‘ic.
*Faconl regione ney be hghlvl toner of whet The sae all generteeoch doy fr woch ln, ot of
poles who are expected a ated apotimens hat doy.
“Each staf member wing he stem all be nigulyidenied
bys orher Sgt employee mabe
NON UNCTONAL CLASSIFICATIONS
re! eairmants
“Sul voy eg’ gua okasy ae
Oxgaristionleaiemans
Steiner ch epee of atten pain od
easing See ar oy
~ Eetoral einen
“Regent mh an
le egenenm
ons 5, eeoumeneas
“italy nigel ad sere the coord nd reste
pret
\ Requeemens are oon‘GOALS VS. REQUIREMENTS (CONT) SYSTEM STAKEHOLDERS
“Any tenor organiction wha is afeced bythe sytem in at
ee tome way and 19 vho hos logitinte rest
XX ~ Stakeholder types a
* Siem manages ome
ees sa tbe tenis le jen =
‘rons tur too Fane
REQUIREMENTS ENGINEERING PROCESSES ATIC ORE toe
Processes to “generate” ll requirements
Generic activities common to all processes
“Requementsectaton,
* Regierens ony
* Reuierents von:
+ Eepdrement rcmcgenen:
~ In proctice, REis on iterative activity
“STAKEHOLDERS IN THE MENTCARE SYSTEM
A semi EW OFTHE OCs
QUIREMENTS ELICITATION AND ANALYSIS
requirements eisttion or equtements dicovery
“We wih cntomer te fe! ut
PROBLEMS OF REQUIREMENTS ELICITATION
© Stkoholers dont now wher they ely wort.
© Stkeholders expres requiem in thelr own frm
“tw pple amen he rent ond certo cnet ere aaheiden oy hove veootg reasoners
(eyompertrmane hardware sone
© ey nv
“eden nonopeyangers naked a meberane dons
‘Sipe ras mango have re calod ekehaler:
© Orgenstiona an pail factors may influence the syser
requvenert
The reuiremons change during the analy process
TH CODREMET UCTHTON ND ans POKES
“Merman emcee one ee
go evmoceuPar
owen score DSCOVEY TECHNIQUE NTERTEWINE
Observation tchrique
To gather information abou he raqured and exiting systems Pert of mos! RE poceses:
nd lhe war ond system eeuremens om i
‘formation
Decry ecnlat/apseci/
courte ucaion recs
sects
Use a ind of seco
“Types of ietervow
Cove 2 Onen => mac
‘ovreama br then proces
How
* Hesperides tne,
“roth erin oat min ng ing ptntoard
‘sun eauramens propa orby vos woehercns
‘dl na cami in heir on nn
* ecle dothe o expi oaalehe wet
EXAMPLE OF NIGHTMARE REQUIREMENTS ANOTHER EXAMPLE OF NIGHTMARE
REQUIREMENTS
en
Soe Tatiana wie Rafe pe
COMPLETENESS:
~ Definition ofthe responses ofthe software to al
‘atownhenaibe saya Stared
ee =
SS omomsnsae
" COMPLETENESS (CONT)
© Automatic door opener
‘walzable classes of input data in all ealizable classes of
‘tuations (IEEE St).
Al possible situations must be covered
“if X then..." "FY then,
hnappea “If ether X nor Y.."
UM sequen agro may be wad od dt outa
"Must also consider what wil
serene
‘Sena Sona Gossow
What are missing?UNAMBIGUOUS UNAMBIGUOUS (CONT’)
\ Asitware requrements unambiguous.
‘es vey rege
Fs on one raarreiaton (GEE St).
Ait River wth emt atte at
cre Mlapcan ator
rs
CONSISTENT (CONT)
Reauirement of extonomeus erie contol (ACC)
systems
sei at yeti oyna?
m
oa @
MAIN TYPES OF CONFLICTS
© Thee main types of conficts in software
requirements
Sl haces tase ees
*Mugetiems ot coocOng teen watd
oss
+ Consatengy ia cher acne, tens te
jurenens tae ood ioe are et,
ne PROFIBUS sa havea short eatin ine of
PROFIBUS used in hazarous ates sha have alow
power dssipaon c¢ 3
Confit: Fast PROFIBUS has lo have a high omer
FORWARD REFERENCING FORWARD REFERENCING (CONT’)
~ Westin fers ane nie ate,
yes
~ Requirement of autonomous cruise
control (ACC) system is:
(Nbc notreweteie
+ ising reone
Who sti eset pod?
nai re ae ote eset p65?
OPACITY (CONT’) NOISE
~ Requirement tems thet ylelé no iformeton on
problem world feohree
Recivemen:
SRpot ices aa
+ ect
Ferra vt mone tne
gwar ng oe
eoueewes secicaTOn ws OF wari SYST Rouen SFCmCAION
The process of wing down the wer end tem eqemente
Ine raquramanedocoman.
eager hoe be ctr by eat on
‘ito sho donate ached sere
Ways OF WeTNG STM REDUREMENSScCATION SuctueD PecFCAiONS
1 agg ete bce ing mins” Wain an ord fom oot
aay ens i when he ee i
Ssuirgt ete totes don fecowlegenmmiedie
Roteeeteneonten Set ato nqtionen oy be
Freon ps condor perp)
Those ace Be)
ting fa ber plot template
CONSISTENT
~ Asoftware requirement is intemally consistent if, and
‘only if, no subset of individual requirements described in
is confit,
5
=
CORRECT
v Possible incorrect requirements
+ Forward referencing
+ Opacity
+ Noise
+ tc.
‘opacity
~ Regulrement tas or which ronal or
SSibtdences ere ee
NOISE (CONT?)
~ Requirement: The train system shall
lisanias sale Uansporgtonof al
Boengers on thew fesidence.
+ Note
Amnon oc in
~fuvan satan trees
ars oF aN rex eouReMes secon‘TABULAR SPECIFICATION
CHARACTERISTICS OF GOOD SOFTWARE ye case oiscnan
REQUIREMENTS SPEGIGATON:
Reece ieee —
eh > cont i
= = ia
ae Seeman
seston
ACTIVITY DIAGRAM, =
1 lawns cases
2 ley panos cro thecnted
4 Moses anne secs f
4 Mosecenpnwontosinpeatonsen Aen
i
5. Mastin ct completes ahi
SEQUENCE DIAGRAM,
an interaction diagram that details how operations are carried
‘out -- what messages are sent and when
Y Sequence diagrams are organized according
vue meron ano eeaueewens
~ mony dale methods arqve thar proskcing deal system
uty
The requirements docimant i therefore clays ou of date
“Agile mated oly we incremental requirement engineering
‘td may expres requiromerts ose stories
“Tiss proce er busines systems bu problamatie fer stems
that require pre-delvry onli (og eal ystems) ©
systems devaloped by several teoms
ae] sau
Us CASE TEMPLATE an EAM
ACTIVITY DIAGRAM,
v bitps://wwwvisual
paradigm.com/guide/u
rml-unified-modeling-
language /what-is-
to time.
sastoey AGILE METHODS a REQUIREMENTS — Use TORT
besilcceasl As omecteal eco ul wih 10 view extent mediation
from primary core gnarl proce
Asa maceal ception |
potent rst nme, hl
Srtter prescribes medicne
YAS eheatheore manoger | won! to see the monly report
Drescibod medicines odaved by Melt
sand by es?[MORE ABOUT NON-FUNCTIONAL REQUIREMENTS (NFR)
ISO/EC 25010 PRODUCT QUALITY MODEL,
‘REQUIREMENTS VALIDATION
Queues cHECLNG EQUIRENTs IOAN TECHS
egueeues wavasenet REQUIREMENTS MANAGEMENT PLANNING
Feqremens management ithe process of manosing
hanging requemers cur the fegaenens engiecting
‘eu need keep tock of inviuolrequtemeat ond mete: Reienes tection
Inks between dependent reqremert tho au concurs change mage ees
fhe imped of reqnamens changes ov eed toenobuihs, cect epee
Formal proces for making change propose end ining hese | yes
RESPONSE TO CHANGE: AGILE APPROACH! sone
The sofware recuramers doce SPS) # on open
"se
Sead
Estblhoe he lve of requirements management deal het it
consis develope & se
‘cunome neounenenrs
‘henge aber Petco
The people who pay fro yom and hear ofthat yen
tr rly te vane people
tonflcing contador.
REQUIREMENTS CANE MANAGE
Deciding if earners change saul be accepted
Say come orcas ond trap
Pern
Peete ee eenCC od
ed
ae eos
ered oan Cea
Set tee es
Pry eer
en
en eras
omen ny rire
Cee haere Deron
cena) Creer
i sn ree ee aetna
emitters seer meee et eter To
oer ee Dat when defining lasses, anticipate futur
eter ey adi reiarericet
Cece) Pea ee Cee er
aa)
eerie} ass Diagrams
a &
setae
ae)
Vetere racist
Pee eee
rn peeone ee
alps the ents to ring reams nohening oper he roped‘USE OF GRAPHICAL MODELS
pa amean of fetta cmon about on exiting oF
Propesed sem
Par bene
As 0 wey of doamentng on exsing sytem
tse aouvoutes
‘UML DIAGRAM TYPES
CONTEXT MODELS,
™ Aatety clogram, wh ow he tres Inve noproces or To that he operational creat of «system — te
irae procs
Vea cous digramy, wich ho he trator betwoan sem
~ Sequce aaron, which ow meron etwamn ocr ond
sem sd beocatsynem component
Shae digrams wich show how the yen eco inenal ond
COTE OFT wenTAE STEN
Spam inti ae ablited danwhde nd =
ern eid he yn ame
“Tfoconrmert ended sere = =
= Le
R055 AODEL OF OUHATARY BTEATION Inerncrion wooeis
tating vs eracion
oben orem
Mosalng sytem tosyrem meron
"Nate sme pans
“Wesel compenerirercton
‘cient paps chy a a
Us cate ogra and sequence diagrams may be wed for
biscis nedaing
TRANSFER-DATA USE CASE ecerrionst
A.wse case In the Mentcare system
tt
SEQUENCE DIAGRAMS
v L
his:/fonline. visual.
‘paradigm, com /slegrame /utorals/sequence.diagram.tutrial
Sequence diagrams are part of the UML
used to model the interactions between the actors and the halon =
objects within a systom.
“A sequence diagrom shows the sequence of interactions thot
rake place during @ particular use case or use case Instonce.
“The objects and ator involved ore sted along the tp ofthe
peepee
weneee com mete en tes
sewer Eagereserestenmainmes ent Come) “(oe )
Ws APPLICATION aRcTEcTURES ‘aawris oF sricaion Es
a ceecperane ates Tae nt
ing ttl ety.
PETIT mn eter nee
see means of essing component for rue.
~ Ae 0 vocabulary fr ang about eppcaton ype
THe SOFTWARE ARCITECTRE OFA ATA STEN ‘agobeanonssensacarecrate
iran sans how @ goer aehtecne hat can be
‘igonted or olaered echacure
‘ytoen gavel icles taba Vomactone
“oe ee)
cc)
e->
‘Oe
FILTER ARCHITECTURE
areuoanou acaecunts
~ Applten system te designed mes on ergontsion
nnn meh comme her pon do ed
‘Sista sane nS pt
“A gos epplizton orchecnee sn rtitcur fo 0986
seve sem ht moy be crite ond edopted
‘eae aya ot mees mechs reguromerts
Hasucon oes sens
Le} =
oes ve raga fos efemation ome detobae
‘gent update he debe.
From a er perspective ronston
incre ngue operons et ies 9 ec
Ao carseat igs toons ar
proses by @wrsenon monscer,
——_— =
=a)‘WEB-BASED INFORMATION SYSTEMS
© tnlrmation and oxource nenegement tens ate now sully
treb-bened syter where the utr iterfces ore eplemented
Veing 0 web browse
~ Ohtninplemarted or mir oer erect
Pecan cidebarrene cemn is
Tie ppt are neni nplranig spt
eseeg Teeter sage od eects
conruc acetone
‘nonce acon saad het ha bag ocd”
Aavrtcracinumtionein omar
suumany (ont)
~ Model of apelin sytem erchtecuzes ap us undersond
‘Sd compere applications vebdoteeppteaton sem denget
‘Sad coat lorgr acl Component for ee
Tiamat pecasing tyes or erect systems hat
Sow eforaren ms condos be remotely one ond
‘modes by a manber 3 ore
~ Lange processing stn are ved fo rane txts ron
‘oe anproge to rch ond to Gy out he macho
‘oched inka np langue. They Induce» wanted
‘Sreparac machine thot beste Ne gnerced enguege
one ooaurr pu
vA Sl
“tn LOLLY PROGRAM LCR
DOCUMENTING METHODS
shot the method does
why Wt does 0
thet parameters it mst be passed (se @poren 109)
exception it rows use exception 19)
econ for choice of wtilty
known bogs
tp sree, descbing wheter he rated hs been
KK 58
‘example of how the method works
pre-and pos!-condtions
history of changes f you ore not wxng © subversion system
specol documentation an treaded ond synchronized methods
‘LANGUAGE PROCESSING SYSTEMS
dea rs eel aoe We ond ge
My inca ah interpreter ote erin in the
Une i svotionn hare he oi
te dessa on egattin e Gexae ho sytem dete
no eof promo corp med ney ed
oy tselve 9 prblam
‘THE ARCHITECTURE OF A LANGUAGE PROCESSING SYSTEM
‘re ano ure REPOSITORY ARCTECTOR FOR COMPLERS syynae
~ tar rae rion fw osteo en
« ~ fee eign eer ee ect toe
ASS ee eae ee eg ie
‘eLoweratiON
© mpamantation = Unt inplementaion + heegrton
ENT CODE Gavan. 6
Brae nce ons Sevacsnen vee
‘Sener stom
heey be ed nd ene aerager ae
rir rning toning ov
tsk cay cect e weet Spin
GOLDEN RULE (!2)
Requirements to satisfy Customers
¥ Design again requirements only
Implement again design only
Test again design ond requirements
NERA PRCILE IN PROGRAMMING PRACTICE
1. an the structure end resdvel design for your code” Ty 10-6 Fst
2. Selfsinspect your design and/or structure
3. Type your code
2. Ene tenons
“ea memes ot ee bee Dy Oe fens roe is
t-inspeet your code
5. Compile your code
6 Test your code
aceon HANDLING
© Catch ony toes encapin that you iow how to hale
\ teresenable about exception cles mut honda
Dan sb heute of excaptens for eta held
feubject ot osing
Srimeing pete sr ormces
anon convenrions
© eg came th cape
~ teem tree nue thy lhe ed
teat
SSS2%0051a mato se meron eador
+ nti
conn S001
Seas
ested ond the location of i test
“yoo
noes te tease erases pasoge Udo
12. need oetleye tonne wtDOCUMENTING ATTRIBUTES ana
INITIALIZING ATTRIBUTES
Before designating afi rice ere tite Fok. arages hl be ova be zed, Hk of
Gottng mao nea
Y Description -- what it's used for
¥ All applicable invariants
* quantitative facts about the attribute,
* 0F"36.< Jongh * with < 193"
c “7,
}
1 SLL 1 COE (ODE SHEL
Code smeis are any violation of fundamental design“ Chege he ert
Pncpies that decrease the overall quality ofthe coda,
© Not bugs or errors
Can cetaisy ad to the chance of bugs and failures
Bloaters
Change Preventers
‘coo eacTonNG GoM so Proeai
‘rvot Customer -etomar = nw Cantomer{ “awed "nee",
‘When new ibe de 0
Code Smells
Object-Orientation Abusers
‘Aenaive cases with 5 Reused Bequest 6 Temporary File
ipa cote + onacte Sect ety
ol cede
ele | ele
Couplers
AlLthe smels in this group contribute ta excessive coupling between classes or
5 Feature Envy 5 Incomplete Library Class
5 Inappropriate Intimacy 5 Message Chains
pens if coupling
5 Middle ManCODE REFACTORING STEPS a
~ Designing sl to fo the seo fe be rtecored Yorn mete het nn no
~ Reviewing te code to deny bod nel of code
toting etotrng ar ung ts (ne tp a ms)
at
REDUCE SIZE ~ SHORTEN PARAMETER LIST ivensen cnanse
¥ Long Parameter List enn
"Ease Poraner Obes ‘Seer es git ten
SEE eam i
INCREASE COHESION (CONT?) PRIMITIVE OBSESSION
+ Data cemps
Bunches of sta chen hang sound cgeter
Stamaar Coster resane We Coec
9h, sting, oF constonts
Primitive Obsesion it when the code rales 199 much on
Drnitves and when uses primitive types to represent on ject
am
Ine demoln
wh 00 We nto nsecrON?
© any stare ecttac comer be vt by nang 6.0,
MapSotremugheainestca paar cane
‘REMOTE DUPLICATED CODE — PULL UP METHOD (DON'T REPEAT YOURSELF
Srenuun non nen ne ane
REDUCE SIZE — SHORTEN METHOD/CLASS
¥ Long Method
+g, Extvoc method
Y Large Class
+ Eg Enron loss subclass, merce
cease COMEION
Feature envy
WHAT 1 NSPECTION?
~ Primitive fields ore bore builtin bling locks of © language, ~ Vitel exemiain of sofware prod
tent software anomaties
|nsPecTON FINDS TYPES OF OEECTS DFFERENT ROM TESTING TESTING S.SPECTION
errant co
© ict cere ee ee
~ tmectn contest Sait
~ impute rove ool ts ad
cove enon acosie SPC COE OFS-csstsonta BEAR pcr cone 2 oF: NES eo!
C1. he cant name apropine
¥ C2 Could ba aberex tobe wed aly abort
“AS code hot gts bite naodt be rovowe by tase
ne cer peony and ater he code wer orth reviewer
ad t hove roadbity fe ongooge”
“et people za Morin odo oda revaws ond abviuly, v Ck. Does Wher reference he requ and/or cei “A
sso tpand good ha of cu tie evowing code” Stnentto chsh ncorepond
© CS. Dos tse the pckage fo whch Wlonst
© Stet be rat ve)
CB. Hove the doamertasion senders been opp
~Amande Comp, Sftwore Egiraer, Google
INSPECT CODE 3.0 5 CONSTRUCTORS ray sect cone 40 5: mH HEADERS oa
¥-€O1. I the constructor) necesory? io tenon
¥ C02, Does it leverage exising comtrasor? mit oti |
¥ CO3. Dost intalze of el theenibutest 1 ft. Srete nne atet
¥ COA. Ie 0 private os possible staan eet ores rarer eer eee
COS. Doss it exceute the irherited constructor(s} where | at gontentctzwensseat
nocessory? 4 fm Besos
IWsPct COD 5 FS METHOD BODIES
ve
vn.
lo (he ctibte necessary?
Could tbe storet
Should it be fat
vas.
vas.
v8.
vw.
‘Are the naming convention properly apped?
leitor private or posible?
‘re the etributs 0: independent or posible?
Isthere a comprehensive fitaizotonsroteyt
Goma‘ve 1s SOFTWRE QUALITY MFORTANT? ‘DEFINITION OF QUALITY
~ 050} dete ua cs te oy of coterie of ar enhy
(Souccherrai ssa rtaad et
(Soabusipra arte depee mney ere were
‘recess ogarerans (S000)
+ Confrmonceerequiernt no he pies pce ond
Sree sae wens pcteson.
~ Fines for esemeon 9 prod con be edo inne
Quay aipec|
Oma tea te ones
SOFTWARE QUALITY MODEL
ss UNLV, RoDUr UAT
no ara deer ot te ae.
Dats hve oan oat blame
he nl ey
tar aos
rece fs blr yf
“sree a rests rm he
senor fhm proces”
Progestin Gams srcvotacy OF 1160)
To demororate tthe developer onde tare thot he
{etteore mows requremert
aiden na
A progrom ss progranmer’s baby!
“beste ave emecn ahr han te propranma eg he
tes
Tester mst be highly sled, experienced professional
© tthepst he or he possesses a dlebolcl min
To 6icover eons n wich he behavior of he oor
ioorecwrentabl or dows ot confer ob open
‘AN INPUT-OUTPUT NODEL OF PROGRAM TESTING
sats OF ESTING evetormen sTN6
Development esting Him, SRE
Baoan vesog Heatennang 2 any of cece mtd
Siew rinanon nt conn anne se mtonbton Venera,
caus “foarte conocer merce
“sors or pons ves of pytem tet the satin fir own " FEee ey creeene 2 572em ae ered ond these
B=
| taumune monye
‘rowan MES
es Lace ne x0 TS
= so
a al
‘PROCESS QUALITY 5, PRODUCT OUALITY
fer ao Aa 25 4s
ocean STNG
~ Tog hen ow a pero do wet
© Can reveal he presence of rors NO hr sone
Testing i pot of 2 more genera etisien and validation
PsvchoLoY FST)
“thing a ers note ont ewe We wg th ees Myers sors 79h
irra! te shew saeco yo i cnr mone
“Lesage rete sn
Tesi the pees of wating a pga he
* hea ng enbs he
| A MODEL OF THE SOFTWARE TESTING PROCESS
on rest
irs 9 doc vesing process.
© Unis mor bee
Olin dene ah sve onige ond meds
“Cont emp ihe nea ha
| wer neREGRESSION TESTING ABTOMATED TESTING
Test mt sce before he changes conmid
= UCD pipeline
mere
Petecal
The systen
Ce
perererms poesia
Paris peter ni
Tits 4 peak load.
Enns
the problems associated
eee
eee eee
oes
SYSTEM TESTING
~ Faauson testing the intracons between components
recon vonfer he i dtc iin Sow
BOE BBO ee mentorSee eee aes
concerns confidentiality, integrity,
ES ne
EM mS Een)
MeCN eee
the software to withstand attack
(coo
=
Shi; & =
“e
Privacy and GDPR“ a eee EEE
Fries Reyesson test Rersson tet ‘erewsrutec sneer page)
‘one of the main goasis to very that no defect ene nde
hasbeen Induced into the unchanged portion {wets ner
‘oa system de to changes made elsewhere 0 Ian] wont < 0 thet