Chapter 3 Ooad

Embed Size (px)

Citation preview

  • 8/18/2019 Chapter 3 Ooad

    1/22

    Chapter 3

  • 8/18/2019 Chapter 3 Ooad

    2/22

    INTRODUCTION

    • Software development

    • Analysis, design, implementation, testing &

    refnement to transorm users need into

    sot!are solution that satisfes those needs• O"#e$t%oriented approa$h

     –  more rigorous pro$ess to do things right

     – more time spent on gathering reuirements,

    de'eloping reuirements model & analysis model,then turn into design model

     – need not see $ode until ater ()* de'elopmenttime

  • 8/18/2019 Chapter 3 Ooad

    3/22

    +OT-AR. D./.0O12.NT 1ROC.++

    • +ystem de'elopment $an "e 'ie!ed as apro$ess

    • 1ro$esses $hange, refne, transorm &

    add to e4isting produ$t•  The pro$ess $an "e di'ided into small,

    intera$ting phases 5 su"pro$esses

    • .a$h su"pro$ess must ha'e the ollo!ing6

     –  A des$ription in terms o ho! it !or7s

     – +pe$if$ation o the input reuired or thepro$ess

     – +pe$if$ation o the output to "e produ$ed

  • 8/18/2019 Chapter 3 Ooad

    4/22

    THE SOFTWARE DEVELOPMENTPROCESS

    • +ot!are de'elopment pro$ess $an "e 'ie!ed as aseries o transormations

    •  The output o one transormation "e$omes the inputo the su"seuent transormation

    • Transformaton ! "anal#ss$ % translates the usersneeds into system reuirements and responsi"ilities

    • Transformaton & "des'n$ % "egins !ith a pro"lemstatement and ends !ith a detailed design that $an

    "e transormed into an operational system• Transformaton ( "mplementaton$ % re)nes t*e

    detaled des'n nto t*e s#stem deplo#mentt*at wll satsf# +sers, needs-

  • 8/18/2019 Chapter 3 Ooad

    5/22

  • 8/18/2019 Chapter 3 Ooad

    6/22

    ./0LD0N1 H01H23/AL0T4SOFTWARE

    •  To a$hie'e high uality in sot!are !eneed to "e a"le to ans!er the ollo!inguestions6

    • 8o! do !e determine !hen the systemis ready or deli'ery9

    • Is it no! an operational system that

    satisfes users needs9• Is it $orre$t and operating as !e thought

    it should9

    • Does it pass an e'aluation pro$ess9

  • 8/18/2019 Chapter 3 Ooad

    7/22

    +ystem .'aluation % :lum

    • Corresponden5e % measures ho! !ell thedeli'ered system mat$hes the needs o theoperational en'ironment, as des$ri"ed in theoriginal reuirements statement

    • Valdaton % tas7 o predi$ting $orresponden$e

    • Corre5tness % measures the $onsisten$y o theprodu$t reuirements !ith respe$t to the design

    spe$if$ation• Ver)5aton % e4er$ise o determining

    $orre$tness

  • 8/18/2019 Chapter 3 Ooad

    8/22

    /erif$ation & /alidation

    • Verifcation: Am I building the product right?

    • Validation: Am I building theright product?

  • 8/18/2019 Chapter 3 Ooad

    9/22

  • 8/18/2019 Chapter 3 Ooad

    10/22

  • 8/18/2019 Chapter 3 Ooad

    11/22

    OOSD6 A +se25ase drven approa5*

    A5tvtes• O"#e$t%oriented analysis % use $ase dri'en

    • O"#e$t%oriented design

    • 1rototyping

    • Component%"ased de'elopment

    • In$remental testing

    • En5o+ra'es

    • 5 'ie!ing o system as a system o$ooperati'e o"#e$ts

    • 5 in$remental de'elopment

  • 8/18/2019 Chapter 3 Ooad

    12/22

    O78e5t2orented anal#ss• $on$erned !ith determining the system reuirements

    and identiying $lasses and their relationships to other$lasses in the pro"lem domain

    • A5tors6 The users o the system

    • /se 5ase6 A typi$al intera$tion "t!n a user and a

    system that $aptures users goals and needs• S5enaros6 Used to help analysts understand

    reuirements

    • Colla7oraton6 The interse$tion among o"#e$ts rolesto a$hie'e a gi'en goal is $alled $olla"oration

    • /se25ase modeln'6 .4pressing these high%le'elpro$esses and intera$tions !ith $ustomers in a s$enarioand analy=ing it is reerred to as use%$ase modeling

    •  The 9:2&: r+le generally applies or do$umentation6

    >? per$ent o the !or7 $an "e done !ith (? per$ent o

  • 8/18/2019 Chapter 3 Ooad

    13/22

    • Use Case, is a name for a scenarioto describe the user–computer

    system interaction.

    • Determine system reuirements,identiy $lasses & their relationship

    to other $lasses in domain•  To understand system reuirements

     –  need to identiy the users or a$tors

     –  !ho are the a$tors 9 – 8o! do they use system 9

  • 8/18/2019 Chapter 3 Ooad

    14/22

    O78e5t2orented des'n

    • design the $lasses identifed during theanalysis phase and the user intera$e

    • identiy and defne additional o"#e$ts and

    $lasses that support implementation othe reuirements

     – Design and refne $lasses

     – Design and refne attri"utes

     – Design and refne methods

     – Design and refne stru$tures

     –  Design and refne asso$iations

  • 8/18/2019 Chapter 3 Ooad

    15/22

    @uidelines to o"#e$t%oriented design

    • Reuse, rather than "uild, a ne! $lassno! the e4isting $lasses

    • Design a large num"er o simple

    $lasses, rather than a small num"er o$omple4 $lasses

    • Design methods

    • Critiue !hat you ha'e proposed Ipossi"le, go "a$7 and refne the$lasses

  • 8/18/2019 Chapter 3 Ooad

    16/22

    Protot#pn'

    • A prototype is a 'ersion o a sot!are produ$tde'eloped in the early stages o the produ$ts lie$y$le or spe$if$ e4perimental purposes

    • 1rototypes ha'e "een $ategori=ed in 'arious !ays

    • A *or;ontal protot#pe is a simulation o theintera$e , "ut $ontains no un$tionality

    • A vert5al protot#pe is a su"set o the systemeatures !ith $omplete un$tionality

    • An anal#ss protot#pe is an aid or e4ploring the

    pro"lem domain

    • A doman protot#pe is an aid or the in$rementalde'elopment o the ultimate sot!are solution

  • 8/18/2019 Chapter 3 Ooad

    17/22

    1urpose o the prototypere'ie!

    B To demonstrate that the prototypehas "een de'eloped a$$ording to thespe$if$ation

    ( To $olle$t inormation a"out errors orother pro"lems in the system

    3 To gi'e management and e'eryone

    $onne$ted !ith the pro#e$t the frstglimpse o !hat the te$hnology $anpro'ide

  • 8/18/2019 Chapter 3 Ooad

    18/22

    0mplementaton6 Component27ased development

    • CASE Tools6

    • Computer Aided +ot!are .ngineering;CA+.< tools allo! their users to rapidly

    de'elop inormation systems

    • automation o the entire inormationsystems de'elopment lie $y$le pro$ess

    using a set o integrated sot!are tools,su$h as modeling, methodology, andautomati$ $ode generation

  • 8/18/2019 Chapter 3 Ooad

    19/22

    0mplementaton6 Component27ased development

    • Component .ased Development6

    • C:D is an industriali=ed approa$h tothe sot!are de'elopment pro$ess

    • Assem"ly o pre"uilt, pretested,reusa"le sot!are $omponents thatoperate !ith ea$h other

  • 8/18/2019 Chapter 3 Ooad

    20/22

  • 8/18/2019 Chapter 3 Ooad

    21/22

    0mplementaton6 Component27ased development

    • Rapd Appl5aton Development6

    • RAD is a set o tools and te$hniuesthat $an "e used to "uild anappli$ation aster than typi$allypossi"le !ith traditional methods

    •  Through tools su$h as Delphi, /isual

    Age, /isual :asi$, or 1o!er :uilder

  • 8/18/2019 Chapter 3 Ooad

    22/22

    0n5remental testn'

    • I you !ait until ater de'elopment totest an appli$ation or "ugs andperorman$e, you

    • $ould "e !asting thousands o dollarsand hours o time

    •  Testing should "e integral part o

    +D0C