软件工程基于的需求分析方法.ppt
《软件工程基于的需求分析方法.ppt》由会员分享,可在线阅读,更多相关《软件工程基于的需求分析方法.ppt(205页珍藏版)》请在三一办公上搜索。
1、第四部分 软件工程的需求过程,软件工程,传统的需求分析方法-1面向对象的需求分析方法-2基于UML的需求分析方法-3需求工程与需求管理实现-4,第四部分 软件工程的需求过程,第三章 基于UML的需求分析方法UML概述-3.1需求获取与用例建模-3.2类与对象建模-3.3动态建模-3.4物理体系结构建模-3.5,第四部分 软件工程的需求过程,3.1 UML概述,UML统一OO方法大战的努力,1960年-70年代COBOL,FORTRAN,C结构化分析和设计技术1980年-1990年前Smalltalk,Ada,C+,Visual Basic早期面向对象生成(代码)方法1990年中晚期JavaUn
2、ified Process,UML概要,UML是一种语言:可视化详细描述的构造性的文档化的UML的价值是一个开发的标准支持完整的软件开发生命周期模型支持不同的应用领域是基于经验的和用户群体需要的被许多工具支持,什么是UML?,Unified Modeling Language(统一建模语言)是国际对象管理组织OMG制定的一个通用的、可视化建模语言标准用于描述(specify)、可视化(visualize)、构造(construct)和记载(document)软件密集型系统的各种工件UML提供了一系列建模元素、概念、关系以及规则,应用于软件开发活动详细内容,请学习统一软件开发过程(The Uni
3、fied Software Development Process)(美)Ivar Jacobson、Grady Booch、James Rumbaugh著,周伯生、冯学民、樊东平译(机械工业出版社),UML概念,UML Unified Modeling Language.组合了当前最好的面向对象软件建模方法UML三位主要贡献者1.OMT方法(对象、动态、功能模型,James Rumbaugh)2.The Booch method(5个步骤,Grady Booch)3.OOSE(User Case图,Ivar Jacobson),James Rumbaugh,Grady Booch,Ivar
4、Jacobson,UML概念,1994年,Booch和Rumbaugh在Rational开始了UML的工作,但是的目标是创建一个“统一方法”他们把Booch93和OMT2统一起来,与95年发布了UM0.8(Unified Method)1995年OOSE的创始人Jacobson加入到这个联盟中,开始把工作重点放到创建一种标准建模语言,UML Unified Modeling Language。他们以Booch方法、OMT方法、OOSE方法为基础,吸收了其他流派的长处,于96年6月、10月、97年1月、11月分别推出了UML0.9、0.91、1.0和1.1,创建UML,Booch 方法,OMT,
5、UML概念,Method方法告诉使用者做什么、怎么做、什么时候做、为什么做(特定活动的目的),方法包括模型Modeling模型用来描述使用某种方法的结果,例如,通过不同角度的简化视图,描述对象系统的设计与实现结果,模型用建模语言来表达Language建模语言由记号(模型使用的符号)和一组规则(语法、语义等)组成,UML概念,UML是一种语言遵循特定的规则允许创建各种模型并不告诉设计者需要创建哪些模型并不提供开发过程UML是可视化语言UML是图形化语言图形便于交流(一幅图抵上千文字)UML是用于构造系统或理解系统的语言UML既支持正向工程,又支持反向工程UML是文档化语言将所建造的系统记录下来便
6、于新程序员跟进开发产品新版本时很有用处,UML的概念,模型元素关系扩展的机制图表,UML构成:模型元素关系扩展的机制图表,模型元素,关系,图表,模型元素,结构元素类,接口,协作用例,主动类,构件节点行为元素交互,状态机组元素包,子系统其它元素注解,类、对象与接口,一个系统往往可以从不同的角度进行观察,一个角度构成了一个视图UML有九种图表,构成5种视图:1、用例图(use case diagram)2、类图(class diagram)3、对象图(object diagram)4、状态图(state diagram)5、时序图(sequence diagram)6、协作图(collaborat
7、ion diagram)7、活动图(activity diagram)8、构件图(component diagram)9、部署图(deployment diagram),UML的图表与视图,静态逻辑视图,动态逻辑视图,3-并发视图,1-用例视图,5-部署视图,2-逻辑视图,4-构件视图,模型,视图,和图表,活动图,模型是对一个系统从详细观察的角度的描述,模型,图表,图表是模型的视图表现给投资者看得详细的描述;提供了系统的局部详细描述;和别的视图保持语义一致;在UML中,有九种标准图表静态视图:用例图,类图,对象图,组件图,分布图动态视图:时序图,协作图,状态图,活动图,用例图,捕获用户能够看到
8、的系统通过对”场景”的描述,定义系统的功能和性能,并获得用户和开发团队的共同认可提供清楚和无二义的用户与系统的交互描述,用例图,在开发过程的早期创建目的:详细说明系统的表达含义;捕获系统的需求;验证系统的体系结构;驱动实现和生成测试用例。由分析人员和领域专家开发,Use Case图,Use Case图形描述了一个系统应该执行的什么或应该有什么外部系统它描述了存在的actors(外部系统)、use case(该系统应该执行什么)以及它们的关系在Use Case视图中可以包含以下的图形Use Case图:包括:包、actors、use case和关系相互作用图(序列图或协同图):包括:对象和消息符
9、号表示:,Use Case图例,Use Case图例,UML用例图示例,类图,捕获系统的词汇表在开发过程中被创建和精确化目的系统中的名字和模型概念详细描述协作关系详细描述逻辑数据库表由分析人员、设计人员和代码实现人员开发,类图Class Diagram类图描绘系统的静态视图它描述了系统逻辑设计中存在的包、类以及它们之间的关系类图可以代表该系统中部分或全部的类结构,1购买 0.*属于,对象图,捕获实例和连接,对象图,捕获实例和连接在分析和设计阶段创建目的举例说明数据/对象结构详细描述瞬态图由分析人员、设计人员和代码实现人员开发,对象图Object Diagram,对象间关系,关联关系(Assoc
10、iation)聚集关系(Aggregation)泛化关系(Generalization)依赖关系(Dependency)细化关系(Refinement),构件图,捕获实现的物理结构,构件图,捕获实现的物理结构作为体系结构规范的一部分实现目的组织源代码构造一个可执行的发布版本指定物理数据库由集成人员和程序人员创建,分布图,捕获系统硬件的拓扑结构,分布图,捕获系统硬件的拓扑结构作为系统结构规范的一部分被创建目的描述组件的分布标识系统性能瓶颈由集成人员、网络工程师和系统工程师开发,交互图,交互图描述了系统在逻辑设计中存在的对象及其间的关系它可以代表系统中对象的结构UML中包含两种交互图,它们对同一交
11、互操作提供了不同的浏览视角时序图(顺序图)按时间顺序排列对象交互操作协作图围绕对象及其间的链接关系组织对象的交互操作,交互图,顺序图和协作图均被称为交互图(interaction diagram)。由一组对象、对象间的关系、对象间发送的消息组成一种动态视图,可以单独使用、也可以对用例中的特定控制流程建模。顺序图和协作图同构的:两种图之间可以相互转换,而没有任何信息损失。二者区别点在于:顺序图(sequence diagram)关注消息的时间顺序,有对象生命线、有控制焦点;协作图(collaboration diagram,在UML2.0中协作图被称为communication diagram,
12、二者指的是同一类型的图)关注收发消息的对象的组织结构,有路径、有顺序号。,时序图,捕获系统的动态行为(面向时间的),时序图,捕获系统的动态行为(面向时间的)目的模型流程的控制举例说明典型的脚本,打印机就绪打印文件,时序图(Sequence Diagram),打印机忙保存文件,打印文件,打印文件,计算机,打印服务器,打印队列,计算机,UML顺序图示例(某客户Joe取20美元的顺序图),协作图,捕获系统的动态行为(面向消息的),协作图,捕获系统的动态行为(面向消息的)目的模型流程控制举例说明对象结构和控制的协调,协作图(Collaboration Diagram),UML协作图示例(ATM系统中“
13、客户插入卡”的协作图),状态图,捕获系统动态行为(面向事件的),状态图,捕获系统动态行为(面向事件的)目的对象生命周期模型为起反作用的对象(用户接口、设备等)建模,状态图State Diagram状态图描述了:给定类的状态转换空间导致状态转换的事件导致状态改变的动作为类的重要动态行为建立状态转换图,状态图State Diagram,UML状态图示例电视机,世界上的万事万物在任何特定时刻总处于某一特定状态。一个电梯可以处于上升、下降、停止状态。一辆汽车可以处于前行、后退、停止状态。一台电视机可以处于开机、播放、待机或关机状态。,活动图,捕获动态行为(面向活动的),活动图,捕获动态行为(面向活动的
14、目的给商业工作流建模给操作建模,活动图Activity Diagram,Disk free,Disk full,显示磁盘满,显示在打印,删去显示信息,建立打印文件,Win.printAll(),printer.print(),活动图的符号集与状态图中使用的符号集类似。像状态图一样,活动图也从一个连接到初始活动的实心圆开始。活动是通过一个圆角矩形(活动的名称包含在其内)来表示的。活动可以通过转换线段连接到其他活动,或者连接到判断点,这些判断点连接到由判断点的条件所保护的不同活动。结束过程的活动连接到一个终止点(就像在状态图中一样)。作为一种选择,活动可以分组为泳道(swimlane),泳道用于表
15、示实际执行活动的对象,UML活动图示例(ATM系统中“客户插入卡”的活动图),体系结构和UML,组织:包,子系统,动态交互状态机,设计视图,实现视图,过程视图,组件,类,接口,协作,活动类,分布视图,用例,UML静态图,用例图(Use Case Diagram)类图(Class Diagram)对象图(Object Diagram)构件图(Component Diagram)部署图(Deployment Diagram),UML动态图,状态图(State Diagram)时序图(Sequence Diagram)协作图(Collaboration Diagram)活动图(Activity Di
16、agram),UML建模方法与视图,用例建模用例图类和对象(结构)建模:类图对象图行为(动态)建模用例图交互图(顺序图、协作图)活动图状态图物理体系结构建模构件图实施图,UML过程,UML过程主要包括:用例驱动(use-case-driven)以体系结构为中心(architecture-centric)反复(iterative)渐增式开发(incremental),UML过程,1、用例驱动:用用例方法获取系统的功能需求,并以此驱动需求分析之后的所以阶段的开发在需求阶段,用例所包括的系统功能,需要用户的确认在设计和实现阶段,用例被实现在测试阶段,用例用于验证系统功能,需求,用例,用例影响开发的所
17、有阶段用例视图影响其他视图,UML过程,2、以体系结构为中心项目开发的早期,除了需求以外,另一个最主要的工作就是确定系统的体系结构体系结构定义了系统的各部分、各部分的关系和交互、通信机制、如何增加和修改体系结构的规则体系结构决定了系统的功能和非功能部分非功能部分包括:性能、易理解性、易修改性、复用度在UML中,通过定义可以层次化的“包”,来实现把一个大系统划分成不同的小系统确定体系结构的基本方法是:分析、选择、原型化、评估和精细,UML过程,3、反复迭代用UML方法建模,可以反复多次,不需要一次完成通过反复,增加新信息、细化新的细节每次反复,应进行评估,评估的内容还应包括:代价、风险4、渐增式
18、多次迭代,每次迭代增加新的用例和功能每次迭代,都是分析、设计、实现和测试的过程迭代的最大好处是分解了风险,不至于把失败的风险留到开发的最后才发现,3.2 需求获取与用例分析,需求开发过程的阶段任务,需求开发过程的重要里程碑,基于UML的需求获取,1、需求获取与业务建模,对于一个复杂的业务系统,我们可能涉及:公司组织、业务单位、部门和人员岗位、职责和功能、内部和外边网络、客户、业务信息流、行政和财务流等等为这个组织建立计算机系统,我们要回答:为什么要建立这个系统这个系统的定位在何处我们如何确定哪些功能是最适宜放在系统的特定节点上我们何时采用计算机处理而何时采用人工处理为适应计算机处理,我们需要改
19、变现有工作流程吗回答这些问题的技术,就是业务建模,业务建模的目的:建模过程是开发者和用户之间为导出需求规约而进行的交互过程因此:理解现有业务组织的静态结构和动态运作方式确保客户、最终用户以及开发人员对业务组织有共同的理解系统的边界在那里?功能是什么?理解如何部署新的系统以提高生产力,以及现有的哪一个系统会受到新系统的影响系统的功能由用例来表示:用例用来:确定和描述系统的功能要求给出清晰和一致的系统做什么的描述为验证系统所需的系统测试提供基准提供从功能需求到系统实际类和操作的跟踪能力,传统方法:业务流程图存取款业务处理过程,在UML中的建模结构就是业务用例模型和业务对象模型领域模型将系统语境中的
20、重要概念描述为领域对象,并建立这些领域对象之间的关系业务模型是领域模型的超集,包括:a.业务用例模型:说明系统所支持的业务过程b.业务对象模型:领域模型和业务用例实现业务用例模型是业务系统预期功能的描述模型,是系统开发任务和作为产品提交时的最根本的系统工作描述业务对象模型描述了实体和相互交互完成业务用例所需要的功能,是业务用例的实现下面,我们用示例介绍,利用UML概念进行业务建模,业务过程与业务用例,一个业务过程是根据组织目标而采用组织资源来获得预定义结果的一组逻辑相关的活动用一个业务用例代表一个业务过程业务用例包括:角色(与业务活动交互的人或系统)用例(角色与业务元素交互完成工作的事件序列)
21、建立业务用例的过程:确定行为者确定用例,确定行为者,行为者:与系统交互的人或其他系统交互:发送、接收、交换信息行为者执行用例行为者是一个角色,而不是具体个人寻找行为者谁使用系统的功能谁需要系统提供信息谁维护、管理、控制系统系统完成功能还需要得到其他系统的支持还有哪些人对系统的结果感兴趣,业务用例 银行,确定用例,一个用例是被行为者感受到的一个完整的功能UML的定义:用例是给一个特定行为者的一个可观察的结果值的系统所完成的一系列动作这个动作除计算机内部完成的计算外,还包括与行为者的信息交互用例通过关联与行为者进行交互用例总是被行为者所启动,并回答一个可识别的结果类似于对象是类的实例,用例的实例是
22、场景(scenario)。例如:“用户在ATM机上执行取款操作”用例的场景是:“张三在ATM机上取出300元人民币”寻找用例行为者需求系统提供哪些功能?行为者是否需要创建、读、写、修改、删除系统中的信息?行为者是否需要被系统提醒、启动系统的某个功能?系统能否帮助行为者做一些事情,来提高行为者的效率、便利,寻找用例,考虑人和饮料贩卖机的交互,包括购买饮料,首先,放置货物(饮料)等,下面考虑购买饮料。,l 用例描述了系统的行为,包括行为者和系统之间的交互以及系统与系统之间的交互。用例是系统提供的功能块。演示了人们如何使用系统。它来自于客户需求的分析。这个过程称为Use Case分析,是整个系统开发
23、中非常关键的过程。,我们设计一个饮料贩卖机,从用户的角度来考察它的功能:问:“自动饮料贩卖机将为您做什么?”答:“我通过自动饮料贩卖机购买一听饮料.”饮料贩卖机的主要功能是使得用户可以购买饮料,我们为这种机器标记一个叫“买饮料”的use case.,UML中的 Use Case 表示,Buy Soda,Use Case,Actor,Communication,Customer,use case记录用户使用系统是从头到尾的一系列事件。用户普遍称为“活动者”,它可以是人或另一个系统。每一个 use case 包括“活动者”和一个表示 use case 的椭圆。,Use Case,活动者,活动者可以
24、是人或另一个系统,它与当前的系统交互,向系统提供输入或从系统中获得输出。,Actor Name,Telephone System(电话系统),使用电话卡,对方付款,Phone User(电话用户),活动者的标志,谁对某一需求感兴趣?组织中哪一部分使用系统?谁从系统的使用中受益?谁向系统提供信息?谁将维护系统?系统使用外部资源吗?系统和已经存在的系统交互吗?,活动者的类型,实际的人,即用户,是最常用的角色,几乎每个系统都有。命名这些角色的时候,要按作用来命名,而不是按照位置命名。另外一个系统。例如航空订票系统可能需要与外部应用程序接口,验证信用卡以便购买。可能隐蔽的角色:时间。例如商业促销项目推
25、出免费奖,每天下午三点,系统自动选择向随机客户提供免费奖品。,在饮料自动贩卖机中,除了买饮料的顾客,还有以下的活动者。,Buy Soda,Restock Soda,Collect Money,Customer,Supplier,Collector,每一种活动者具有自己的 use case,饮料贩卖机中的活动者,供应商向自动贩卖机添加饮料。收银员从自动贩卖机收钱。,理解用例,用例独立于实现。用例关注的是作用而不是如何实现这个作用。用例是系统的高级视图。用例的集合应让客户易于了解高层的整个系统。最后,用例关注系统外的用户。每个用例应表示用户与系统间的完整事务,为用户提供一定价值。用例应按业务术语命
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基于 需求 分析 方法
链接地址:https://www.31ppt.com/p-6434209.html