csc441.pp4SLD3PPT3`scd,%4ࡱ; b # u`f" 6` N F & "  <@ T  &"̀@$$$&",N@f&"Ѐ@ JJJ&`@ƀƀ`ƀ&&"Ln@ƀƀpƀ&6"\~@րր^ր&4"Z|@ԀԀvԀ&J"p@&!""$"F@"^""L"&$"%%2@%J%%%&&"&&Ѐ@&'('(r'(&+"++@+,:,:,:&-"-.@..\.\.\&/T"/z/@////&0"116@1N111&3"383Z@3r333&4"4ڀRQHFm Object1 Fɣ ɣ Ole  CompObj B  !"#$%&'()*+,-./0123456789:;<=>?@BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~Ole10NativebOle10FmtProgID  PP40 `uSummaryInformation(A Equationࡱ; ^ If for each object q 1  of type S there is an objectq 2  of type T such that " programs P defined interms of T, the behavior of P is unchanged whenq 1 is substituted for q 2 , then S is a subtype of Tࡱ; F Equation1ELO Equationࡱ; ࡱ; Academic Computing Servicesࡱ; ࡱ; 4@55T5T5T&7,"7R7t@77̀7̀7̀&8€"89 @9"9b9b9b&;";@;b@;z;;;&<"<ڀ<@==T=T=T&>N">t>@>>>>&@"@@@@A:A:A:&B2"BXBz@BBҀBҀBҀ&C̀"CD@D,DlDlDl&G"G.GP@GhGGG&I<"IbI@II܀I܀I܀&K"KL@LL\L\0L\&O"OOԀ@OP,P,:P,&Rf"RR@RƀSSS&U€"UV @V"VbVbXVb&W"WX@XXZXZXZ&Y"Y. YP[p[[\>P\X\&^Ā@^_*_*P_*&`z"``€`ڀ`ڀ`ڀ`ڀ&`"aa0aHaHaHaH&aV"a|@ a<llЀmbmmmmĀPmBn2vntvn*o`o"s s sȀsԀ sڀs st t*txt>tt 0p   p 77|vdd%nanosoft - We're the better guys (tm) %! %%ddMM V lK0d5Automating Object-Oriented Design using Rational Rose- 55,/755d3dL=ZSlK0d%Bill Brooks Senior Software Engineer %  % lK0dlK0dUUU#\U  p B pp B$/M- V UlKdAgenda ,ddLs V,ddWhat is OOA? OOD? OOP? Why are object methods superior? What is the Booch Method? How can Rational Rose assist us in using the Booch Method?  UlKd!UlKdUlKd:UlKd UUUU #\, - p 0&p pp 0&,M- V UlKd A Few Caveats  ,  ddLs V,ddvThe danger of live demos cooking show format intentional, suboptimal design examples from the literature & elsewhere vv vUlKdUlKdUlKd(UlKd#[Q p +& pp $M- V lKd!What is Object-Oriented Analysis? !!,!!ddLs V,/7ddDefinition: Object Oriented Analysis is a method that examines requirements from the perspective of the classes and the objects found in the vocabulary of the problem domain.[Booch94]     lKdKd#[|2UN p +& pp $@M- V lKdWhat is Object-Oriented Design? ,/7ddLs V,ddDefinition: Object Oriented Design is the method which leads to software architectures based on the objects every system or subsystem manipulates rather than the function it is meant to ensure.[Meyer88] 2     lKd UUU p 0UU; Bp`UUL s dd %"UUUU#$#[!& p +& pp #PlM- V lKd$What is Object-Oriented Programming? $$,$$ddLs V,dd"Definition:Object Oriented Programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which is an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationsips.[Booch94] "     ""lKd,)Kd*+#Z(-3 p +& pp #EtAM- V lKd What is BOOM?  ,  ddLs V,dd&Acronym: Bunch of Old Outdated Methods &  &&lKd30HCp12#ZH/4Z  p  pp M- V UlKd Why are Object methods superior?  ,  ddLs V,dd The basic unit of design is the object - based on a real-world structure. This allows us to maintain a close relationship between the software system and the real world. Since the relationship is close, the design can flex as the world, or our understanding of it, changes.  KUlKd`UlKdiUlKd:789#Y6;   p  pp M- V UlKd&What makes the Booch method different? &&,&&dd Ls V,dd sThe Booch method centers on the development of four models: Logical Model Physical Model Static Model Dynamic Model ss s?@#Y=B  p B pp B M- V UlKd*Different Views of the Booch method models **,**dd Ls V,dd Class Diagram Object Scenario Diagram Interaction Diagram - demonstration Module Diagram State Diagram Process Diagram - we wont cover this  UlKdUlKd$UlKdUlKdUlKd%UlKdHEUUUUFG#Y0DI  p #P pp +%M- V,dd There is not a 1-1 relationship ,dd Ls V UlKd OLР8MN#XKP\ p #D pp $M- VUlKd The Problemt  ,  dd Ls V,dd #This application will support the operations of a technical library for an R&D organization. This includes the searching for and lending of technical library materials, including books, videos, and technical journals. Users will enter their company ids in order to use the system and they will enter material ID numbers when checking out and returning items. Each Borrower can be lent up to five items. Each type of item can be lent for a different period of time(books 4 weeks, journals 2 weeks, videos 1 week). If returned after their due date, the library users organization will be charged a fine, based on the type of item(books $1/day, journals $3/day, videos $5/day). Materials will be lent to employees with no overdue lendables,fewer than five articles out, and total fines less than $100. ###hUlKd>UlKd}UlKdVSTU#X|RWR  p #D pp #DM- V lKdThe Class Diagram5 ,dd Ls V,ddeDefinition: Shows the existence of classes and their relationships in the logical design of a system.1 ee eelKd]ZKd[\#X$Y^7  p . pp .8M- V,ddThe Class Diagram: Example ,ddLs V UlKd daKdbc#W`e; p . pp .8M- V,ddThe Class Diagram: Exercise ,ddLs V UlKd khKdij#Wpgl= p . pp .8M- V UlKdThe Object Scenario Diagram ,ddLs V,dd^Definition: Illustrates a complete trace of a use-case instance or system execution scenario. ^^ ^^UlKdroKdpq#W$ns9 p . pp .8M- V,dd$The Object Scenario Diagram: Example $$,$$ddLs V UlKd yvKdwx#Vuz? p #N pp #NM- V,dd%The Object Scenario Diagram: Exercise %%,%%ddLs V lKdWhat happens when Duck Chana, who has no fine and one outstanding book, not overdue, checks out a book entitled Subjective Objective-C ? p   lKd}Kd~#Vp|#@@  p . pp .8M- V,ddThe Interaction Diagram ,ddLs V UlKd Kd#V$A p . pp .8M- V UlKdThe Module Diagram ,ddLs V,ddDefinition: Shows the allocation of classes and objects to modules in the physical model of the system. Delineates the overall architecture of the system.  UlKdKd#UB p . pp .8M- V,ddThe Module Diagram: Example ,ddLs V UlKd Kd#UpK p . pp .8M- V,ddThe Module Diagram: Exercise ,ddLs V UlKd Kd#U$M  p . pp .8M- V UlKdThe State Diagram ,ddLs V,ddDefinition: Shows the event-ordered behavior of the instances of the class. Use only for classes that have significant event-ordered behavior.  UlKdKd#TD p . pp .8M- V,ddThe State Diagram: Example ,ddLs V UlKd Kd#TpG p . pp .8M- V,ddThe State Diagram: Exercise ,ddLs V UlKd Kd#T$I  p /6x pp .M- V UlKdWhats the point? ,ddLs V,ddAnswers fundamental questions What classes exist and how are they related? How are individual objects structured and what mechanisms dictate how groups of classes collaborate? Where should each class be defined? What are the valid states of an object or system as a whole?  UlKd-UlKdeUlKd$UlKdAutomating Object-Oriented ǿ|ix(/zAutomating Object-Oriented (Design using Rational Roseǿ|ix(Design using Rational Rose,Times (# Bill Brooks (&Senior Software Engineer (!nanosoft - We're the better guys @((tm)ࡱ; bCurrent User QHFCurrent IDSummaryInformation(ooFJ@f*/ /9 y P hN6 KCPowerPoint Temp 0????????????????d,H8B@89g"B9.gHnBgBgNj$@Jg/<N:-@Jg / /N .(@Jg*B'/ @ P h`NJf/ N/ / N[x x[ [x<.<HH$1ckZ)J B sss sss 1!.<[x#DAꮮ8DA ꮪ5DDMꮪ6DM 2DM9DM ꮪ6D ꮪ4 DNꮮ7D9 D ꮮ3 DN4 DM3 Mޮꪪ4 M5  M7 M6 D7 D-  D9 N4N6: D3N7ꪮ5 D1 N8 ꮮ5Nڪ9 QUU^]^U^Z93]]UUUU]UU]UU_^U^^U_ZU^UZ_<'__UU___]_^^^__]__ZZ_<U__U UU___UU_U__UU__UU__9U__U U___________;3_U_UUU__UU^U_^U__E]__Z_< !_ﯤ7U_ MѪ5Ѯ8U]UU^ZU];3QQ_UU]UU_U_^U^__U]U=_]QU_^_^__Z_UUZ<_UUU]U^U_____U__UE_QU_:__QU ______U_<U]_UU]U___^_____U]U= : U U M9M3 2 M7 A1 9 ꪤ8  M6 D8 ꪮ5  M5  A4  ꮪD6 < ꪤ=  A6    M35 ꪮ8  ꪪ4 ꪪA8A:  D; ꪪ<  ࠠ<-  4   A6ꮪA:)A1 A1 5 ꪮ5 7 6!4 5A1A5 M0  A5A9A3A7 A6 M3  This document could not be opened, because the application PowerPoint 4.0 could not be found. This document can also be opened from within the PowerPoint Viewer application.ooF+*hFPICTSTR d$+&$