12-1 - Course Review

Embed Size (px)

Citation preview

  • 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/