您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 从需求到设计的UML实践
IBMSoftwareGroup®从需求到设计的UML实践IBM软件部傅纯一IBMSoftwareGroup|Rationalsoftware内容可视化建模概述用例建模:描述系统需求应用建模:搭建软件架构IBMSoftwareGroup|Rationalsoftware什么是模型?模型是对现实世界的简化IBMSoftwareGroup|Rationalsoftware软件开发的本质建立现实世界和软件世界之间的一个映射可视化建模:使用UML建立对象模型来映射现实世界IBMSoftwareGroup|RationalsoftwareUML:统一的国际标准建模语言IBMSoftwareGroup|Rationalsoftware可视化建模可以帮助我们:展现开发人员的设计思想有效管理软件的复杂度促进软件复用,提高软件生产率和质量统一团队沟通的手段IBMSoftwareGroup|Rationalsoftware展现开发人员的设计思想ActorAUseCase1UseCase2ActorBuser:ClerkmainWnd:MainWndfileMgr:FileMgrrepository:Repositorydocument:DocumentgFile:GrpFile9:sortByName()L1:Docviewrequest()2:fetchDoc()5:readDoc()7:readFile()3:create()6:fillDocument()4:create()8:fillFile()Window95¹®¼-°ü¸®Å¬¶óÀ̾ðÆ®.EXEWindowsNT¹®¼-°ü¸®¿£Áø.EXEWindowsNTWindows95SolarisÀÀ¿ë¼-¹ö.EXEAlphaUNIXIBMMainframeµ¥ÀÌŸº£À̽º¼-¹öWindows95¹®¼-°ü¸®¾ÖÇø´DocumentFileManagerGraphicFileFileRepositoryDocumentListFileListusermainWndfileMgr:FileMgrrepositorydocument:DocumentgFile1:Docviewrequest()2:fetchDoc()3:create()4:create()5:readDoc()6:fillDocument()7:readFile()8:fillFile()9:sortByName()ƯÁ¤¹®¼-¿¡´ëÇѺ¸±â¸¦»ç¿ëÀÚ°¡¿äûÇÑ´Ù.È-ÀÏ°ü¸®ÀÚ´ÂÀоî¿Â¹®¼-ÀÇÁ¤º¸¸¦ÇØ´ç¹®¼-°´Ã¼¿¡¼³Á¤À»¿äûÇÑ´Ù.È-¸é°´Ã¼´ÂÀоîµéÀΰ´Ã¼µé¿¡´ëÇØÀ̸§º°·ÎÁ¤·ÄÀ»½ÃÄÑÈ-¸é¿¡º¸¿©ÁØ´Ù.ForwardandReverseEngineeringTargetSystemOpenningWritingReadingClosingaddfile[numberOffile==MAX]/flagOFFaddfileclosefileclosefileUseCase3Use-CaseDiagramClassDiagramCollaborationDiagramSequenceDiagramComponentDiagramStatechartDiagramGrpFileread()open()create()fillFile()repRepositoryname:char*=0readDoc()readFile()(fromPersistence)FileMgrfetchDoc()sortByName()DocumentListadd()delete()Documentname:intdocid:intnumField:intget()open()close()read()sortFileList()create()fillDocument()fList1FileListadd()delete()1Fileread()read()fillthecode..DeploymentDiagramIBMSoftwareGroup|Rationalsoftware有效管理软件的复杂性将模型划分成不同的视图(结构、行为等);用包(Package)将视图组织成一棵抽象层次渐深的树形结构.IBMSoftwareGroup|Rationalsoftware促进软件复用,提高软件生产率和质量多种系统可复用构件IBMSoftwareGroup|Rationalsoftware统一团队沟通的手段Web建模Web建模UnifiedModelingLanguageUnifiedModelingLanguage应用建模应用建模需求建模需求建模数据建模数据建模业务建模业务建模IBMSoftwareGroup|Rationalsoftware可视化建模的优点总结表述软件设计管理系统复杂度促进软件重用改善团队沟通分层的模型适当地隐藏细节,帮助管理复杂度CodeClassesSubsystemsIBMSoftwareGroup|Rationalsoftware内容可视化建模概述用例建模:描述系统需求应用建模:搭建软件架构IBMSoftwareGroup|Rationalsoftware参与者和用例Actor参与者(Actor)在系统外部与系统发生交互的人或物用例(Usecase)用例是由系统执行的一系列动作,其目的是针对某一特定的参与者产生一个可观察的结果UseCaseIBMSoftwareGroup|Rationalsoftware用例图银行系统银行客户DepositFundsWithdrawCash自动提款机(ATM)TransferFunds出纳MaintainATM维护职员CollectDepositsIBMSoftwareGroup|Rationalsoftware用户插入ATM卡系统要求输入合法的密码用户输入正确密码,如果用户输入的密码有误,转至备选事件流A1系统提示用户选择“存款”或者“取款”用户选择“取款”系统提示用户输入取款金额用户输入(合理)取款金额并确认,如果取款金额不合理,转至备选事件序列A2系统从帐户中扣除取款金额,提示用户“打印收据”或者“不打印收据”用户要求不打印收据,如果要求打印收据,转至备选事件序列A3系统显示“交易结束”用户插入ATM卡系统要求输入合法的密码用户输入正确密码,如果用户输入的密码有误,转至备选事件流A1系统提示用户选择“存款”或者“取款”用户选择“取款”系统提示用户输入取款金额用户输入(合理)取款金额并确认,如果取款金额不合理,转至备选事件序列A2系统从帐户中扣除取款金额,提示用户“打印收据”或者“不打印收据”用户要求不打印收据,如果要求打印收据,转至备选事件序列A3系统显示“交易结束”用例规约用例规约用例图用例图UseCase立足用户视角的描述,为具体的需求提供了充分的上下文信息,是衔接用户和开发者的纽带和沟通方式UseCase立足用户视角的描述,为具体的需求提供了充分的上下文信息,是衔接用户和开发者的纽带和沟通方式基本事件序列(BasicFlow)基本事件序列(BasicFlow)备选事件序列(AlternativeFlows)备选事件序列(AlternativeFlows)A1....A2.......A1....A2.......IBMSoftwareGroup|Rationalsoftware用例规约Use-CaseSpecifications...Use-CaseModelActorsUseCases用例名概述事件流基本流备选流特殊需求前置条件后置条件IBMSoftwareGroup|Rationalsoftware功能性需求(F)功能性需求(F)需求是一组文档用例模型产品特性软件需求业务需求非功能性需求(URPS)非功能性需求(URPS)99999999用户文档设计规约测试规约补充规约前景文档前景文档IBMSoftwareGroup|Rationalsoftware内容可视化建模概述用例建模:描述系统需求应用建模:搭建软件架构IBMSoftwareGroup|Rationalsoftware软件架构:“4+1View”模型ProcessViewDeploymentViewLogicalViewUse-CaseViewImplementationViewEnd-userFunctionalityProgrammersSoftwaremanagementPerformanceScalabilityThroughputSystemintegratorsSystemtopologyDelivery,installationcommunicationSystemengineeringAnalysts/DesignersStructureIBMSoftwareGroup|Rationalsoftware需求和设计之间的桥梁:用例实现Use-CaseModelDesignModelUseCaseUse-CaseRealizationClassDiagramsSequenceDiagramsCollaborationDiagramsUseCaseIBMSoftwareGroup|Rationalsoftware用例实现的过程把用例所描述的系统行为分配给一组类,通过类的实例对象之间的协作实现用例所描述的功能IBMSoftwareGroup|Rationalsoftware使用序列图来描述对象之间的协作:CourseCatalog::RegisterForCoursesForm::CourseCatalogSystem::RegistrationController:Student1:createschedule()5:displaycourseofferings()2:getcourseofferings()3:getcourseofferings(forSemester)6:displayblankschedule()4:getcourseofferings()IBMSoftwareGroup|Rationalsoftware找到类的操作在描述交互图的过程中逐渐将用例行为分配到每一个类,成为类的操作时序图:Client:Supplieroperation类图SupplierOperation()IBMSoftwareGroup|Rationalsoftware找到类的属性用例行为中所用到的数据和信息被分配到相关的类中,成为类的属性CourseOfferingnumber:String=100startTime:TimeendTime:Timedays:EnumnumStudents:Intentity属性IBMSoftwareGroup|Rationalsoftware确定类之间的关系PerformResponsibilityLinkAssociation交互图Client类图0..*Primesuppliers0..*Supplier:Client:SupplierClientSupplierPerformResponsibility()Relationshipforeverylink!IBMSoftwareGroup|Rationalsoftware描述用例的每一个场景(Scenario)BasicFlowAlternateFlow1AlternateFlow2AlternateFlow3AF1AF2AF3AlternateFlow4AlternateFlow5AlternateFlownIBMSoftwareGroup|Rationalsoftware描述相关类之间的静态关系MainForm//selectmai
本文标题:从需求到设计的UML实践
链接地址:https://www.777doc.com/doc-4344287 .html