您好,欢迎访问三七文档
第四部分现代软件工程的需求过程《现代软件工程》传统的需求分析方法-1面向对象的需求分析方法-2基于UML的需求分析方法-3需求工程与需求管理实现-4第四部分现代软件工程的需求过程第三章基于UML的需求分析方法UML概述-3.1需求获取与用例建模-3.2类与对象建模-3.3动态建模-3.4物理体系结构建模-3.5第四部分现代软件工程的需求过程3.1UML概述UML——统一OO方法大战的努力1960年-70年代COBOL,FORTRAN,C结构化分析和设计技术1980年-1990年前Smalltalk,Ada,C++,VisualBasic早期面向对象生成(代码)方法1990年中晚期JavaUnifiedProcess什么是UML?UnifiedModelingLanguage(统一建模语言)是国际对象管理组织OMG制定的一个通用的、可视化建模语言标准用于描述(specify)、可视化(visualize)、构造(construct)和记载(document)软件密集型系统的各种工件UML提供了一系列建模元素、概念、关系以及规则,应用于软件开发活动详细内容,请学习《统一软件开发过程》(TheUnifiedSoftwareDevelopmentProcess)(美)IvarJacobson、GradyBooch、JamesRumbaugh著,周伯生、冯学民、樊东平译(机械工业出版社)UML概要UML是一种语言:可视化详细描述的构造性的文档化的UML的价值是一个开发的标准支持完整的软件开发生命周期模型支持不同的应用领域是基于经验的和用户群体需要的被许多工具支持UML概念UML——UnifiedModelingLanguage.组合了当前最好的面向对象软件建模方法UML三位主要贡献者1.OMT方法(对象、动态、功能模型,JamesRumbaugh)2.TheBoochmethod(5个步骤,GradyBooch)3.OOSE(UserCase图,IvarJacobson)JamesRumbaughGradyBoochIvarJacobsonUML概念1994年,Booch和Rumbaugh在Rational开始了UML的工作,但是的目标是创建一个“统一方法”他们把Booch93和OMT2统一起来,与95年发布了UM0.8(UnifiedMethod)1995年OOSE的创始人Jacobson加入到这个联盟中,开始把工作重点放到创建一种标准建模语言,UML——UnifiedModelingLanguage。他们以Booch方法、OMT方法、OOSE方法为基础,吸收了其他流派的长处,于96年6月、10月、97年1月、11月分别推出了UML0.9、0.91、1.0和1.1创建UMLBooch方法OMTUnifiedMethod0.8OOPSLA´95OOSE其他方法UML0.9Web-June´96公共反馈最后提交给OMG,Sep‘97第一次提交给OMG,Jan´97UML1.1OMG认可,Nov1997UML1.3UML1.0UML团体UML概念(1)Method方法告诉使用者做什么、怎么做、什么时候做、为什么做(特定活动的目的),方法包括模型Modeling模型用来描述使用某种方法的结果,例如,通过不同角度的简化视图,描述对象系统的设计与实现结果,模型用建模语言来表达Language建模语言由记号(模型使用的符号)和一组规则(语法、语义等)组成UML概念(2)UML是一种语言遵循特定的规则允许创建各种模型并不告诉设计者需要创建哪些模型并不提供开发过程UML是可视化语言UML是图形化语言图形便于交流(一幅图抵上千文字)UML是用于构造系统或理解系统的语言UML既支持正向工程,又支持反向工程UML是文档化语言将所建造的系统记录下来便于新程序员跟进开发产品新版本时很有用处UML的概念(3)模型元素关系扩展的机制图表UML构成:模型元素关系扩展的机制图表模型元素关系图表模型元素结构元素类,接口,协作用例,主动类,构件节点行为元素交互,状态机组元素包,子系统其它元素注解类、对象与接口一个系统往往可以从不同的角度进行观察,一个角度构成了一个视图UML有九种图表,构成5种视图:1、用例图(usecasediagram)2、类图(classdiagram)3、对象图(objectdiagram)4、状态图(statediagram)5、时序图(sequencediagram)6、协作图(collaborationdiagram)7、活动图(activitydiagram)8、构件图(componentdiagram)9、部署图(deploymentdiagram)UML的图表与视图静态逻辑视图动态逻辑视图3-并发视图1-用例视图5-部署视图2-逻辑视图4-构件视图模型,视图,和图表UseCaseDiagramsUseCaseDiagrams用例图ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams组件图ComponentDiagramsComponentDiagrams分布图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图UseCaseDiagramsUseCaseDiagrams时序图StateDiagramsStateDiagrams类图活动图模型是对一个系统从详细观察的角度的描述模型图表图表是模型的视图表现给投资者看得详细的描述;提供了系统的局部详细描述;和别的视图保持语义一致;在UML中,有九种标准图表静态视图:用例图,类图,对象图,组件图,分布图动态视图:时序图,协作图,状态图,活动图用例图捕获用户能够看到的系统通过对”场景”的描述,定义系统的功能和性能,并获得用户和开发团队的共同认可提供清楚和无二义的用户与系统的交互描述用例图在开发过程的早期创建目的:详细说明系统的表达含义;捕获系统的需求;验证系统的体系结构;驱动实现和生成测试用例。由分析人员和领域专家开发UseCase图UseCase图形描述了一个系统应该执行的什么或应该有什么外部系统它描述了存在的actors(外部系统)、usecase(该系统应该执行什么)以及它们的关系在UseCase视图中可以包含以下的图形UseCase图:包括:包、actors、usecase和关系相互作用图(序列图或协同图):包括:对象和消息符号表示:系统名称系统用例名用例角色关联UseCase图例保险商务系统签定保险单销售统计客户统计客户保险销售员类图捕获系统的词汇表在开发过程中被创建和精确化目的系统中的名字和模型概念详细描述协作关系详细描述逻辑数据库表由分析人员、设计人员和代码实现人员开发类图ClassDiagram类图描绘系统的静态视图它描述了系统逻辑设计中存在的包、类以及它们之间的关系类图可以代表该系统中部分或全部的类结构学生姓名:string学号:string书书名:string价格:real1购买0..*属于对象图捕获实例和连接对象图捕获实例和连接在分析和设计阶段创建目的举例说明数据/对象结构详细描述瞬态图由分析人员、设计人员和代码实现人员开发对象图ObjectDiagram王平:学生姓名:王平学号:020106英语:书书名:英语价格:26.5数学:书书名:数学价格:21.8对象间关系关联关系(Association)聚集关系(Aggregation)泛化关系(Generalization)依赖关系(Dependency)细化关系(Refinement)构件图捕获实现的物理结构构件图捕获实现的物理结构作为体系结构规范的一部分实现目的组织源代码构造一个可执行的发布版本指定物理数据库由集成人员和程序人员创建分布图捕获系统硬件的拓扑结构分布图捕获系统硬件的拓扑结构作为系统结构规范的一部分被创建目的描述组件的分布标识系统性能瓶颈由集成人员、网络工程师和系统工程师开发交互图交互图描述了系统在逻辑设计中存在的对象及其间的关系它可以代表系统中对象的结构UML中包含两种交互图,它们对同一交互操作提供了不同的浏览视角时序图按时间顺序排列对象交互操作协作图围绕对象及其间的链接关系组织对象的交互操作时序图捕获系统的动态行为(面向时间的)时序图捕获系统的动态行为(面向时间的)目的模型流程的控制举例说明典型的脚本[打印机就绪]打印文件时序图(SequenceDiagram)[打印机忙]保存文件打印文件打印文件计算机打印服务器打印队列计算机协作图捕获系统的动态行为(面向消息的)协作图捕获系统的动态行为(面向消息的)目的模型流程控制举例说明对象结构和控制的协调协作图(CollaborationDiagram)[打印机忙]保存文件[打印机就绪]打印文件打印文件计算机打印队列打印服务器打印机状态图捕获系统动态行为(面向事件的)状态图捕获系统动态行为(面向事件的)目的对象生命周期模型为起反作用的对象(用户接口、设备等)建模状态图StateDiagram状态图描述了:给定类的状态转换空间导致状态转换的事件导致状态改变的动作为类的重要动态行为建立状态转换图超时到达上楼上楼到达上楼到达在底楼向上移动向底楼移动向下移动空闲活动图捕获动态行为(面向活动的)活动图捕获动态行为(面向活动的目的给商业工作流建模给操作建模活动图ActivityDiagramDiskfreeDiskfull显示磁盘满显示在打印删去显示信息建立打印文件Win.printAll()^printer.print()体系结构和UML组织:包,子系统动态交互状态机设计视图实现视图过程视图组件类,接口,协作活动类分布视图节点用例图用例UML静态图用例图(UseCaseDiagram)类图(ClassDiagram)对象图(ObjectDiagram)构件图(ComponentDiagram)部署图(DeploymentDiagram)UML动态图状态图(StateDiagram)时序图(SequenceDiagram)协作图(CollaborationDiagram)活动图(ActivityDiagram)UML建模方法与视图用例建模用例图类和对象(结构)建模:类图对象图行为(动态)建模用例图交互图(顺序图、协作图)活动图状态图物理体系结构建模构件图实施图UML过程UML过程主要包括:用例驱动(use-case-driven)以体系结构为中心(architecture-centric)反复(iterative)渐增式开发(incremental)UML过程1、用例驱动:用用例方法获取系统的功能需求,并以此驱动需求分析之后的所以阶段的开发在需求阶段,用例所包括的系统功能,需要用户的确认在设计和实现阶段,用例被实现在测试阶段,用例用于验证系统功能需求用例分析设计实现测试用例视图并发视图部署视图构件视图逻辑视图用例影响开发的所有阶段用例视图影响其他视图UML过程2、以体系结构为中心项目开发的早期,除了需求以外,另一个最主要的工作就是确定系统的体系结构体系结构定义了系统的各部分、各部分的关系和交互、通信机制、如何增加和修改体系结构的规则体系结构决定了系统的功能和非功能部分非功能部分包括:性能、易理解性、易修改性、复用度在UML中,通过定义可以层次化的“包”,来实现把一个大系统划分成不同的小系统确定体系结构的基本方法是:分析、选择、原型化、评估和精细UML过程3、反复迭代用UML方法建模,可以反复多次,不需要一次完成通过反
本文标题:软件工程4-4
链接地址:https://www.777doc.com/doc-4007962 .html