Post on 06-Jul-2018
8/18/2019 12-1 - Course Review
1/41
Course Review TDH for UofC
9 Apr 2015
8/18/2019 12-1 - Course Review
2/41
Software EngineeringActivities
• Requireents an! Speci"cation
• Design
•
#o!e$ing• %p$eentation
• &ua$it' Assurance
•
(rocess #anageent
) *et+,ri!ge-*agani.re2005
2
8/18/2019 12-1 - Course Review
3/41
Requireents an!Speci"cation
• /unctiona$ requireents w+at 'ours'ste !oes to so$ve custoerspro,$es
• on3functiona$ requireents +ow'our s'ste !oes w+at it !oes
) *et+,ri!ge-*agani.re2005
4
8/18/2019 12-1 - Course Review
4/41
Requireents an!Speci"cation
• Domain analysis – +o are 'our custoers6
• Requirements gathering – 7Sei3structure!8 %nterviews
– /ocus groups
– ,servation 7s+a!owing8
) *et+,ri!ge-*agani.re2005
:
8/18/2019 12-1 - Course Review
5/41
Requireents an!Speci"cation
• Requirements specifcation – De"ning ,ot+ functiona$ an! non3
functiona$ requireents suc+ t+at
!eve$opent can ,egin – Can ,e !one using tec+niques t+at
over$ap wit+ ot+er software
!eve$opent activities• Use cases; tests; <
) *et+,ri!ge-*agani.re2005
5
8/18/2019 12-1 - Course Review
6/41
Design
• De"ning su,s'stes – Using c$ass !iagras
•
User interface !esign – (rotot'pes – User3centere! !esign
) *et+,ri!ge-*agani.re2005
=
8/18/2019 12-1 - Course Review
7/41
Design
• (rotot'pes – A set of iages t+at i$$ustrate +ow t+e
s'ste wi$$ $oo> at !i?erent states
– A$$ows custoers to see• +at t+e "na$ s'ste wi$$ $oo> $i>e
• How functiona$it' wi$$ ,e triggere!
) *et+,ri!ge-*agani.re2005
@
8/18/2019 12-1 - Course Review
8/41
Design
• *ow3"!e$it' protot'pe – Set of roug+ s>etc+es of t+e s'ste
– (ossi,$' !one wit+ pen an! paper
– /ocus sta's on features an! usa,i$it'
• Hig+3"!e$it' protot'pe – Set of +ig+3qua$it' iages or sei3
wor>ing co!e – Users interact wit+ t+e $i>e rea$ s'stes
– /ocus is on st'$e; $oo> an! fee$
) *et+,ri!ge-*agani.re2005
8/18/2019 12-1 - Course Review
9/41
Design
• User3centere! !esign – Un!erstan! user so t+at 'ou can
– Re!uce costs; increase eBcienc'; etc
– Usa,i$it' $earna,i$it'; eora,i$it';eBcienc'; errors; satisfaction
– Enco!ing tec+niques wa's of
counicating inforation to t+e user
9
8/18/2019 12-1 - Course Review
10/41
#o!e$ing
• Use cases - use case !iagras
• Structura$ o!e$ing – C$ass !iagras
– ,ect !iagras
) *et+,ri!ge-*agani.re2005
10
8/18/2019 12-1 - Course Review
11/41
#o!e$ing 3 Use Cases
• Name: Post announcement toSENG301
• Actor: Instructor or TA
• Goal: Disseminate courseinformation to studentsenrolled in SENG301
• Precondition: Actor is loggedin to Blackoard and is on t!eroot screen
11
8/18/2019 12-1 - Course Review
12/41
#o!e$ing 3 Use Cases
• Flow:
• Postcondition: Announcement is
made a"ailale to all usersenrolled in SENG301 course
Actor se$ects SEF401 froavai$a,$e courses
G$ac>,oar! !isp$a's t+e SEF401+oe page
< <
12
8/18/2019 12-1 - Course Review
13/41
) *et+,ri!ge-*agani.re2005
14
#o!e$ing 3 Use Case Diagra
8/18/2019 12-1 - Course Review
14/41
8/18/2019 12-1 - Course Review
15/41
%p$eentation
• Actua$$' creating t+e s'ste
• #a' ,e sip$i"e! t+roug+ t+e use ofcoon software !esign patterns
• ee! to anage coup$ing vsco+esion
15
8/18/2019 12-1 - Course Review
16/41
%p$eentation Software Design (atterns
• Creationa$ patterns – A,stract factor'
– /actor' et+o!
– (rotot'pe
– Sing$eton
1=
8/18/2019 12-1 - Course Review
17/41
%p$eentation Software Design (atterns
• Structura$ patterns – A!apter
– Gri!ge
– Coposite
– Decorator
– /aa!e
– /$'weig+t – (roI'
1@
8/18/2019 12-1 - Course Review
18/41
%p$eentation Software Design (atterns
• Ge+aviora$ patterns – C+ain of responsi,i$it'
– Coan!
– #eento
– ,server
– State
– Strateg' – %terator
– Jisitor
1
8/18/2019 12-1 - Course Review
19/41
%p$eentation Coup$ing
• T+e !egree to w+ic+ eac+ part of'our progra re$ies on ot+er parts of'our progra
• Soet+ing 'ou want to iniiKe
+ttp--enwi>ipe!iaorg-wi>i-Coup$ingL7coputerLprograing8
19
http://en.wikipedia.org/wiki/Coupling_(computer_programming)http://en.wikipedia.org/wiki/Coupling_(computer_programming)http://en.wikipedia.org/wiki/Coupling_(computer_programming)http://en.wikipedia.org/wiki/Coupling_(computer_programming)
8/18/2019 12-1 - Course Review
20/41
%p$eentation Co+esion
• T+e eItent to w+ic+ e$eents of ao!u$e ,e$ong toget+er
• Soet+ing 'ou want to aIiiKe
• See a$so separation of concerns – (utting !i?erent
concerns-responsi,i$ities into t+e sae
c$ass-o!u$e
+ttp--enwi>ipe!iaorg-wi>i-Co+esionL7coputerLscience8
20
http://en.wikipedia.org/wiki/Cohesion_(computer_science)http://en.wikipedia.org/wiki/Cohesion_(computer_science)http://en.wikipedia.org/wiki/Cohesion_(computer_science)http://en.wikipedia.org/wiki/Cohesion_(computer_science)
8/18/2019 12-1 - Course Review
21/41
&ua$it' Assurance
• Review an! %nspection – a$>ing t+roug+ co!e - ot+er !ocuents
on a proector in front of t+e tea
• Testing (Automated) – Arrange
– Assert
– Act
) *et+,ri!ge-*agani.re2005
8/18/2019 12-1 - Course Review
22/41
&ua$it' Assurance
• Tests +e$p wit+ – Docuentation
– Speci"cation
– Gug repe$$ent
– Safet' net
– Defect $oca$iKation
) *et+,ri!ge-*agani.re2005
22
8/18/2019 12-1 - Course Review
23/41
&ua$it' Assurance
• Foo! tests – Do no +ar
– Are se$f3c+ec>ing
– Are repeata,$e
– Are ro,ust
– Are sip$e
) *et+,ri!ge-*agani.re2005
24
8/18/2019 12-1 - Course Review
24/41
&ua$it' Assurance
• T'pes of testing – G$ac> ,oI !o not $oo> at interna$s of
s'ste an! test fro t+e custoers
perspective – +ite ,oI focus on s'ste interna$s
an! focus on !eve$opers perspective
) *et+,ri!ge-*agani.re2005
2:
8/18/2019 12-1 - Course Review
25/41
&ua$it' Assurance
• Scope of testing – Unit testing test an in!ivi!ua$ et+o!
or c$ass in iso$ation
– %ntegration testing test an in!ivi!ua$su,s'ste or set of c$asses
– S'ste testing test a feature in t+e
progra fro en! to en!
) *et+,ri!ge-*agani.re2005
25
8/18/2019 12-1 - Course Review
26/41
&ua$it' Assurance
• Test3!riven !eve$opent 7TDD8 – rite a new test an! watc+ it fai$
– rite co!e unti$ a$$ test pass
– Refactor co!e w+i$e >eeping a$$ testspassing
) *et+,ri!ge-*agani.re2005
2=
8/18/2019 12-1 - Course Review
27/41
(rocess #anageent
• (roect p$anning – %nc$u!es cost estiation
– %nc$u!es creating ,ac>$ogs; stor' aps;
etc• (roect trac>ing
– %nc$u!es ,urn3up c+arts; ,urn3!own
c+arts; etc• #anaging 'our !eve$opent process
– +ic+ tas>s ta>e p$ace at w+ic+ tie6
) *et+,ri!ge-*agani.re2005
2@
8/18/2019 12-1 - Course Review
28/41
(rocess #anageent Cost Estiation
• Units of estiation inc$u!e – Ca$en!ar tie +ow an' wee>s ,efore %
+an! 'ou t+e wor>ing s'ste6
– E?ort +ow an' person3+ours wi$$ itta>e to cop$ete t+is tas>6
– Re$ative e?ort +ow !iBcu$t is eac+ tas>
copare! to ot+er tas>s 7inc$u!ing tas>sweve a$rea!' !one8• Units gu' ,ears; e$$' ,eans; etc
) *et+,ri!ge-*agani.re2005
2
8/18/2019 12-1 - Course Review
29/41
) *et+,ri!ge-*agani.re2005
29
(rocess #anageent Cost Estiation
• Mester!a's weat+er +ow $ong !i!t+is ta>e us $ast tie we !i!soet+ing sii$ar6
•
%nc$u!e estiates for – Gest case – EIpecte! case – orst case
• a's to gat+er estiates – ($anning po>er – Si$ent grouping
8/18/2019 12-1 - Course Review
30/41
(rocess #anageent Gac>$ogs
+ttp--wwwagi$e:2co-en-agi$e3coac+ing3copan'-agi$e3info3center->eep3,a$ance3pro!uct3owner-
40
8/18/2019 12-1 - Course Review
31/41
(rocess #anageent (ERT C+arts
) *et+,ri!ge-*agani.re2005
41
8/18/2019 12-1 - Course Review
32/41
(rocess #anageent Fantt C+arts
) *et+,ri!ge-*agani.re2005
42
8/18/2019 12-1 - Course Review
33/41
(rocess #anageent Stor' #aps
44
time
Ne? (atton; wwwAgi$e(ro!uctDesignco
8/18/2019 12-1 - Course Review
34/41
(rocess #anageent Gurn Up C+art
Naes S+ore+ttp--aess+oreco-G$og-Ra,u-
4:
8/18/2019 12-1 - Course Review
35/41
(rocess #anageent Gurn Down C+art
Oeni Hirana,i +ttp--wwwinfoqco-artic$es-agi$e3>an,an3,oar!s
45
http://www.infoq.com/articles/agile-kanban-boardshttp://www.infoq.com/articles/agile-kanban-boardshttp://www.infoq.com/articles/agile-kanban-boardshttp://www.infoq.com/articles/agile-kanban-boardshttp://www.infoq.com/articles/agile-kanban-boardshttp://www.infoq.com/articles/agile-kanban-boardshttp://www.infoq.com/articles/agile-kanban-boards
8/18/2019 12-1 - Course Review
36/41
Software (rocess #o!e$s
) *et+,ri!ge-*agani.re2005
pportunistic #o!e$
4=
8/18/2019 12-1 - Course Review
37/41
Software (rocess #o!e$s
) *et+,ri!ge-*agani.re2005
aterfa$$#o!e$7%!ea$8
4@
8/18/2019 12-1 - Course Review
38/41
Software (rocess #o!e$s
) *et+,ri!ge-*agani.re2005
aterfa$$#o!e$
7(age 18
4
8/18/2019 12-1 - Course Review
39/41
) *et+,ri!ge-*agani.re2005
Software (rocess #o!e$s
(+ase!
Re$ease#o!e$
49
8/18/2019 12-1 - Course Review
40/41
) *et+,ri!ge-*agani.re2005
Software (rocess #o!e$s
ConcurrentEngineeri
ng #o!e$
:0
8/18/2019 12-1 - Course Review
41/41
Software (rocess #o!e$s
• Individuals and interactions – over processes an! too$s
• Working sotare – over copre+ensive !ocuentation
• !ustomer colla"oration – over contract negotiation
• Responding to change – over fo$$owing a p$an
+ i$ if
Agi$eDeve$opent
http://agilemanifesto.org/http://agilemanifesto.org/