DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UML ... DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UMLVisual Modeling With the Unified Modeling LanguageVisual Modeling With the Unified Modeling Language• Multiple views• Precise syntax andsemanticsSequenceDiagramsUse-CaseDiagramsClassDiagramsStaticDiagramsObjectDiagramsCollaborationDiagramsModelsComponentDiagramsDynamicDiagramsStatechartDiagramsActivityDiagramsDeploymentDiagramsMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved20In building a visual model of a system, many different diagrams are needed torepresent different views of the system. The UML provides a rich notation forvisualizing models. This includes the following key diagrams:• Use-Case diagrams to illustrate user interactions with the system• Class diagrams to illustrate logical structure• Object diagrams to illustrate objects and links• Component diagrams to illustrate physical structure of the software• Deployment diagrams to show the mapping of software to hardwareconfigurations• Activity diagrams to illustrate flows of events• Statechart diagrams to illustrate behavior• Interaction diagrams (that is, collaboration and sequence diagrams) to illustratebehavior1 - 20
ƯÁ¤¹®¼- ¿¡ ´ëÇ Ñ º ¸±â¸¦»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â¹®¼ -ÀÇ Á ¤º¸¸¦ ÇØ ´ç ¹® ¼-°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.È-¸é °´Ã¼´Â ÀоîµéÀΰ ´Ã¼µé¿ ¡ ´ëÇØ À̸§ º° ·ÎÁ ¤·ÄÀ» ½ÃÄÑ È-¸é¿¡º¸ ¿©ÁØ´Ù.Forwarduser : Clerkuser1: Doc vi ew request ( )mainWnd : MainWndfileMgr : FileMgrrepository : Repository1: Doc v iew request ( )L9: sortByN ame ( )2: fetc hDoc( )7: readFile ( )5: readDoc ( )mainWnd fileMgr :FileMgr9: sortByName ( )2: fetchDoc( )3: create ( )6: fill Document ( )4: create ( )8: fillFile ( )document :Document4: c reate ( )8: fillFile ( )3: create ( )6: fillDocument ( )5: readDoc ( )7: readFile ( )gFile : GrpFiledocument : DocumentgFilerepositoryrepRepositoryname : char * = 0readD oc( )readFile( )FileMgrfetchD oc( )sortByName( )(from Persistence)FileListadd( )del ete( )read( )FileDocumentListad d( )del ete( )fList1GrpFileread( )op en( )create( )fillFile( )Documentname : i ntdoci d : intnumField : intget( )open( )close( )read( )sortFileList( )create( )fillDocument( )read() fill thecode..OpenningReadingadd file [ numberOffile==MAX ] /flag OFFclose fileClosingclose fileadd fileWritingWindow95¹®¼ -° ü¸®Å¬óÀ̾ðÆ®.EXEWindowsNTW indow sNT¹®¼-°ü¸® ¿£Áø.EXEWindows95IBMMainfra meµ¥ÀÌŸº£À̽º¼-¹öSolarisÀÀ¿ë¼-¹ö.EXEW indow s95¹®¼-°ü¸® ¾ÖÇø´AlphaUNIXModule 1 - Best Practices of Software EngineeringVisual Modeling Using UML DiagramsVisual Modeling Using UML DiagramsUse-CaseDiagramClass DiagramStatechartDiagramUse Case 1Actor AActor BUse Case 2Use Case 3CollaborationDiagramFileManagerRepositoryDocumentListDeploymentDiagramDocumentGraphicFileFileFileListSequenceDiagramMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reservedComponentDiagram21andReverseEngineeringTargetSystemVisual modeling with the UML makes application architecture tangible, permitting usto assess it in multiple dimensions. How portable is it? Can it exploit expectedadvances in parallel processing? How can you modify it to support a family ofapplications?We have discussed the importance of architectural resilience and quality. The UMLenables us to evaluate these key characteristics during early iterations — at a pointwhen design defects can be corrected before threatening project success.Advances in forward and reverse engineering techniques permit changes to anapplication’s model to be reflected automatically in its source code, and changes toits source code to be automatically reflected in its model. This is critical when usingan iterative process, in which we expect such changes with each iteration.1 - 21
- Page 2 and 3: Rational UniversityDEV475 Mastering
- Page 5 and 6: AcknowledgmentsThe development of t
- Page 7 and 8: ► ► ► Module 0About This Cour
- Page 9 and 10: Module 0 - About This CourseCourse
- Page 11 and 12: Module 0 - About This CourseIntende
- Page 13 and 14: Module 0 - About This CourseRationa
- Page 15 and 16: Module 0 - About This CourseRationa
- Page 18 and 19: DEV475 Mastering Object-Oriented An
- Page 20 and 21: DEV475 Mastering Object-Oriented An
- Page 22 and 23: DEV475 Mastering Object-Oriented An
- Page 24 and 25: DEV475 Mastering Object-Oriented An
- Page 26 and 27: DEV475 Mastering Object-Oriented An
- Page 28 and 29: DEV475 Mastering Object-Oriented An
- Page 30 and 31: DEV475 Mastering Object-Oriented An
- Page 32 and 33: DEV475 Mastering Object-Oriented An
- Page 34 and 35: DEV475 Mastering Object-Oriented An
- Page 36 and 37: DEV475 Mastering Object-Oriented An
- Page 40 and 41: DEV475 Mastering Object-Oriented An
- Page 42 and 43: DEV475 Mastering Object-Oriented An
- Page 44 and 45: DEV475 Mastering Object-Oriented An
- Page 46 and 47: DEV475 Mastering Object-Oriented An
- Page 48 and 49: DEV475 Mastering Object-Oriented An
- Page 50 and 51: DEV475 Mastering Object-Oriented An
- Page 52 and 53: DEV475 Mastering Object-Oriented An
- Page 54 and 55: DEV475 Mastering Object-Oriented An
- Page 56 and 57: DEV475 Mastering Object-Oriented An
- Page 58 and 59: DEV475 Mastering Object-Oriented An
- Page 60 and 61: DEV475 Mastering Object-Oriented An
- Page 62 and 63: DEV475 Mastering Object-Oriented An
- Page 64 and 65: DEV475 Mastering Object-Oriented An
- Page 66 and 67: DEV475 Mastering Object-Oriented An
- Page 68 and 69: DEV475 Mastering Object-Oriented An
- Page 70 and 71: DEV475 Mastering Object-Oriented An
- Page 72 and 73: DEV475 Mastering Object-Oriented An
- Page 74 and 75: DEV475 Mastering Object-Oriented An
- Page 76 and 77: DEV475 Mastering Object-Oriented An
- Page 78 and 79: DEV475 Mastering Object-Oriented An
- Page 80 and 81: DEV475 Mastering Object-Oriented An
- Page 82 and 83: DEV475 Mastering Object-Oriented An
- Page 84 and 85: DEV475 Mastering Object-Oriented An
- Page 86 and 87: DEV475 Mastering Object-Oriented An
ƯÁ¤¹®¼- ¿¡ ´ëÇ Ñ º ¸±â¸¦»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â¹®¼ -ÀÇ Á ¤º¸¸¦ ÇØ ´ç ¹® ¼-°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.È-¸é °´Ã¼´Â ÀоîµéÀΰ ´Ã¼µé¿ ¡ ´ëÇØ À̸§ º° ·ÎÁ ¤·ÄÀ» ½ÃÄÑ È-¸é¿¡º¸ ¿©ÁØ´Ù.Forwarduser : Clerkuser1: Doc vi ew request ( )mainWnd : MainWndfileMgr : FileMgrrepository : Repository1: Doc v iew request ( )L9: sortByN ame ( )2: fetc hDoc( )7: readFile ( )5: readDoc ( )mainWnd fileMgr :FileMgr9: sortByName ( )2: fetchDoc( )3: create ( )6: fill Document ( )4: create ( )8: fillFile ( )document :Document4: c reate ( )8: fillFile ( )3: create ( )6: fillDocument ( )5: readDoc ( )7: readFile ( )gFile : GrpFiledocument : DocumentgFilerepositoryrepRepositoryname : char * = 0readD oc( )readFile( )FileMgrfetchD oc( )sortByName( )(from Persistence)FileListadd( )del ete( )read( )FileDocumentListad d( )del ete( )fList1GrpFileread( )op en( )create( )fillFile( )Documentname : i ntdoci d : intnumField : intget( )open( )close( )read( )sortFileList( )create( )fillDocument( )read() fill thecode..OpenningReadingadd file [ numberOffile==MAX ] /flag OFFclose fileClosingclose fileadd fileWritingWindow95¹®¼ -° ü¸®Å¬óÀ̾ðÆ®.EXEWindowsNTW indow sNT¹®¼-°ü¸® ¿£Áø.EXEWindows95IBMMainfra meµ¥ÀÌŸº£À̽º¼-¹öSolarisÀÀ¿ë¼-¹ö.EXEW indow s95¹®¼-°ü¸® ¾ÖÇø´AlphaUNIXModule 1 - Best Practices of Software EngineeringVisual Modeling Using <strong>UML</strong> DiagramsVisual Modeling Using <strong>UML</strong> DiagramsUse-CaseDiagramClass DiagramStatechartDiagramUse Case 1Actor AActor BUse Case 2Use Case 3CollaborationDiagramFileManagerRepositoryDocumentListDeploymentDiagramDocumentGraphicFileFileFileListSequenceDiagram<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reservedComponentDiagram21<strong>and</strong>ReverseEngineeringTargetSystemVisual modeling <strong>with</strong> the <strong>UML</strong> makes application architecture tangible, permitting usto assess it in multiple dimensions. How portable is it? Can it exploit expectedadvances in parallel processing? How can you modify it to support a family ofapplications?We have discussed the importance of architectural resilience <strong>and</strong> quality. The <strong>UML</strong>enables us to evaluate these key characteristics during early iterations — at a pointwhen design defects can be corrected before threatening project success.Advances in forward <strong>and</strong> reverse engineering techniques permit changes to anapplication’s model to be reflected automatically in its source code, <strong>and</strong> changes toits source code to be automatically reflected in its model. This is critical when usingan iterative process, in which we expect such changes <strong>with</strong> each iteration.1 - 21