您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 面向对象的需求分析.
xuyusheng@lzu.edu.cn兰州大学信息科学与工程学院面向对象的需求分析123ES2019/12/14兰州大学信息学院2主要内容面向对象的基本概念面向对象的需求分析面向对象(Object-Oriented,简称OO)的需求分析方法通过提供对象、对象间消息传递等语言机制让分析人员在解空间中直接模拟问题空间中的对象及其行为,从而削减了语义断层,为需求建模活动提供了直观、自然的语言支持和方法学指导。123ES2019/12/14兰州大学信息学院3§1基本概念对象-Object类-Class封装-Encapsulation继承-Inheritance/聚集-Aggregation消息传递-MessagePassing多态-Polymorphism面向对象=对象+类+继承+消息+多态123ES2019/12/14兰州大学信息学院4面向对象技术的发展类(Class)和子类(SubClass)的概念inheritance,实现了一切皆对象推广使用强制使用类,并引入了动态语言,如JavaScriptJava和C#Simula67Smalltak-80C++OOP的成熟123ES2019/12/14兰州大学信息学院5面向对象技术的发展(Co.)UML1.1被OMG接纳为标准UML1.1UML1.0UML0.9&0.91UnifiedMethod0.8Booch93OMT-2Booch91OMT-1其他方法OOSE合作伙伴意见1997.111997.91997.11996.6&1996.101995工业化标准化统一化UML的发展123ES2019/12/14兰州大学信息学院6UML发展历史123ES2019/12/14兰州大学信息学院7UML概述UML以各类面向对象技术为基础,统一了各种视图图形符号、表达方法的语意,定义了多种建模手段-视图。UnifiedMethodBooch93OMT-2Booch91OMT-1其他方法OOSE1995123ES2019/12/14兰州大学信息学院8UML视图UML视图静态视图用例图类-对象图包图行为图交互图状态图活动图顺序图协作图实现图构件图部署图123ES2019/12/14兰州大学信息学院9面向对象中的主要视图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()ƯÁ¤¹®¼¿¡´ëÇѺ¸±â¸¦»ç¿ëÀÚ°¡¿äûÇÑ´Ù.ÈÀÏ°ü¸®ÀÚ´ÂÀоî¿Â¹®¼ÀÇÁ¤º¸¸¦ÇØ´ç¹®¼°´Ã¼¿¡¼³Á¤À»¿äûÇÑ´Ù.ȸ鰴ü´ÂÀоîµéÀΰ´Ã¼µé¿¡´ëÇØÀ̸§º°·ÎÁ¤·ÄÀ»½ÃÄÑȸ鿡º¸¿©ÁØ´Ù.OpenningWritingReadingClosingaddfile[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..DeploymentDiagramWriteDownOrderServeOrderPrepareFishPrepareChickenActivityDiagiam123ES2019/12/14兰州大学信息学院10视图案例-用例图续借预约读者读者信息查询借书还书读者信息管理工作人员信息查询图书信息管理超期罚款系统维护extendsusesuses管理员123ES2019/12/14兰州大学信息学院11视图案例-类-实例图-ID:string(idl)-姓名:string(idl)-性别:char(idl)-建档时间:Date-所在院系读者-职称:string(idl)-职务:string(idl)-研究方向:string(idl)教工-年级:string(idl)-专业:string(idl)学生-出版社-出版时间-定价-名称出版物-作者-版次-ISBN图书-邮发代号-年卷期期刊-借阅时间-还书时间借阅**文章123ES2019/12/14兰州大学信息学院12类图123ES2019/12/14兰州大学信息学院13视图案例-活动图、状态图收取罚款读者密码输入扫描读者借书卡扫描图书借阅授权借阅处理退卡未借预约借出123ES2019/12/14兰州大学信息学院14状态图课程设置对象的状态图123ES2019/12/14兰州大学信息学院15视图案例-顺序图工作人员读者借阅授权借阅罚款读者卡读者标识罚款信息借阅请求借阅授权借阅请求借阅授权卡、图书123ES2019/12/14兰州大学信息学院16顺序图123ES2019/12/14兰州大学信息学院17视图案例-协作图读者工作人员借阅罚款管理器借阅授权管理器1.1PIN1.2图书2.1PIN2.2罚款信息3.1*PIN3.2*Bid3.3*借阅授权信息4.1PIN4.2图书123ES2019/12/14兰州大学信息学院18协作图123ES2019/12/14兰州大学信息学院19视图案例-构件图借阅授权读者借阅数量授权借阅期限授权借阅处理123ES2019/12/14兰州大学信息学院20视图案例-部署图《DecNet》《TCP/IP》《TCP/IP》ClientA:CompaqProPCApplicationServer;SiliconGraphicsO2DatabaseServer:VAXClientB:CompaqProPC123ES2019/12/14兰州大学信息学院21面向对象技术的优点符合人类的思维习惯稳定性好-功能的变化不会引起软件架构/结构的变化可复用性好可维护性好123ES2019/12/14兰州大学信息学院22基于UML的软件过程模型-RUP初启细化构造1构造2…构造n移交123ES2019/12/14兰州大学信息学院23基于UML的软件开发过程初启:软件项目的发起人确定项目的主要目标和范围,并进行初步的可行性分析和经济效益分析;细化:项目的正式确立,完成详细的需求分析,开展:初步的需求分析(UML用例图、类图、活动图)初步的高层设计(包图完成需求的切分)部分的详细设计(用例交互图,类图方法的实现)部分的原型构造(基于主要用例的原型)123ES2019/12/14兰州大学信息学院24基于UML的软件开发过程(Co.)构造:通过一系列的迭代完成对所有用例的软件实现工作,在每次迭代中实现一部分用例TimeReqDesignImplTestDeployIteration1Iteration2Iteration3123ES2019/12/14兰州大学信息学院25基于UML的软件开发过程(Co.)Use6±3iterationsPhaseLowMediumHighInception011Elaboration123Construction123Transition112Total369123ES2019/12/14兰州大学信息学院26基于UML的软件开发过程(Co.)移交:在用户实际工作环境(或接近实际的模拟环境)中试运行,根据用户的修改意见进行少量调整123ES2019/12/14兰州大学信息学院27§2面向对象分析基本过程获取需求建立用例模型识别对象-类建立类之间的联系定义交互行为建立分析模型定义类的层次结构123ES2019/12/14兰州大学信息学院28涉及的需求模型Scenario-basedmodelsofrequirementsfromthepointofviewofvarioussystem“actors”DatamodelsthatdepicttheinformationdomainfortheproblemClass-orientedmodelsthatrepresentobject-orientedclasses(attributesandoperations)andthemannerinwhichclassescollaboratetoachievesystemrequirements123ES2019/12/14兰州大学信息学院29涉及的需求模型(Co.)Flow-orientedmodelsthatrepresentthefunctionalelementsofthesystemandhowtheytransformdataasitmovesthroughthesystemBehavioralmodelsthatdepicthowthesoftwarebehavesasaconsequenceofexternal“events”123ES2019/12/14兰州大学信息学院30需求模型SystemdescriptionAnalysismodelDesignmodelAsabridgebetweenthesystemdescriptionandthedesignmodel123ES2019/12/14兰州大学信息学院31需求模型Throughoutrequirementsmodeling,ourprimaryfocusisonwhat,nothow.Whatuserinteractionoccursinaparticularcircumstance.WhatobjectsdoesthesystemManipulate.Whatfunctionsmustthesystemperform.Whatbehaviorsdoesthesystemexhibit.Whatinterfacesaredefined.Whatconstraintsapply?123ES2019/12/14兰州大学信息学院32123ES2019/1
本文标题:面向对象的需求分析.
链接地址:https://www.777doc.com/doc-1960745 .html