它们之间的关系如下:
所有可能发生的各种情况,即包括正常的和异常的,都被称之为用例的场景,场景也被称作是用例的实例。
在软件工程中,用例是一种在开发新系统或者软件改造时捕获潜在需求的技术。每个用例提供一个或多个场景,该场景揭示系统是如何同最终用户或其它系统交互的,从而获得一个明确的业务目标。
面向对象的程序
1.需求分析
2.总体设计
3.详细设计阶段
4.实现阶段
一、需求分析阶段:
以用例图为主,到类分析图为止。类图是源码的来源。用例的主功能用序列图表示。用例的状态可以用状态图标识, 注意活动图要细化到与序列图相同程度。按照不同用户画出不同用例图。按照不同物理位置画出部署图;按照不同类型用户对程序进行分类,得到组件图。从序列图得到协作图,并且进行简单类分析,得到类分析图。
序列图的消息变成操作,消息中的信息变成属性。
二、总体设计
为用户所见的系统计算机层面,包括界面。
每一个用例的完整序列图,包括主功能,备用功能,异常事件,错误输入与错误处理等序列图集,每一个分支一个序列图。用一个活动图归并全部序列图,遇到分支用菱形框,得到用例的完整功能。细化用例图,比较每一个用例的活动图,得到相同的部分,分解成包含用例;对于复杂功能的用例,分解成多个包含用例。对有些功能进行模块化扩展,称为扩展用例。对用户与用例可以用继承关系。
从序列图得到协作图,进行简单类分析,特别是实体类。增加类:界面类,事务管理类。
画出系统状态图(有活动表达式),对重要的类画出类的状态图,从中得到新的属性与操作。
对增加的类重新画序列图,活动图与协作图。分析类图。
细化状态图。
状态图为主,应用类图是重心,画出全部用户的细化用例图,说明与其它系统的接口。
画出系统总体设计图,根据应用类图与顺序活动图。建立UML总体模型。
三、详细设计阶段
程序的内部结构与实现方案的详细
类图为主,重点是增加控制类。
从类图得到程序的结构,从顺序活动图得到程序的过程(C++).
重画有控制类的序列图、协作图、活动图。
.用协作图将操作函数化,用返回值将属性变量化
.给出类状态图的活动表达式。状态图的事件是序列图的消息,是类的操作,活动表达式是转换事件的实现,因此是类的操作的实现。
分解活动图,根据某一个操作。与活动表达式不同。
将应用类图变成设计类图,用具体的语言,
子系统的划分:类图,活动图(模块图),组件图,部署图。
将类align到组件中,将组件到部署图中。
建立程序设计的完整模型。
四、实现阶段
建立并发视图。
组件图:可执行文件,配置文件。
部署图:进程,设置硬件,例如打印机
软件测试
产品阶段
UML(Unified Modeling Language),统一建模语言,又称标准建模语言,是为软件系统建立可视化模型。主要包括用例图、时序图、协作图、活动图、部署图、构件图、类图、状态图等等。
之前有写过UML时序图: 产品经理必备之UML时序图
用例图(Use Case Diagrame)是UML的一种,主要用来描述用户、需求、系统功能之间的关系,能够充分展示一个外部用户能够观察的系统功能模型图,以一种可视化的直观方式理解系统的功能需求,以便使系统用户更容易理解这些元素的用途,也便于开发人员最终实现这些元素。
用例图是跳出当前系统,站在用户的角度去看系统,思考系统功能,这样我们能更加理解业务,表达清楚需求。从用户的视角,我们不会使用专业术语去进行业务的沟通,可以做到真正以用户为中心去获取需求,转化为产品服务。
用例图可以帮助我们更全面的考虑系统内事物之间的互相影响,关注整体的运行规律,而不是只考虑个别事物的情况。
1、参与者 :是系统外部的一个实体,它以某种方式参与了用例的执行过程。参与者不一定是人,也可以是部门,也可以是外部系统,也可以是其他事物。通常用人形图标表示。
2、用例 :是对系统的用户需求(主要是功能需求)的描述,用例表达了系统的功能和所提供的服务,说明了系统是如何与最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。通常用椭圆表示。
用例注意事项:
用例粒度的确定,没有标准,只能根据实际情况分析。一个大型系统,可能会有上百个用例,一个小产品,也许只有几个用例。
一个用例是一个完整的使用场景,不是零散的动作步骤。比如,拿起手机打电话是个完整的场景,拿起手机只是一个步骤。
一个用例有一个明确、独立的目标,如果一个用例包括多个目标,则可再逐层细化出子用例。
3、系统边界 :将系统内外分开,参与者在外面,用例在里面。边界内的用例,就是系统要实现的事情。通常用矩形框表示。
4、关系:
(1)关联关系:用一条实线表示,这条实线一般有三种形式:无箭头、有指向用例的箭头、有指向执行者的箭头。箭头的方向代表了数据流向或谁启动谁。
(2)归纳(泛化)关系:表示参与者与参与者之间、用例与用例之间的关系。一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。
用带空心箭头的实线表示,箭头指向被泛化的用例,即子用例指向父用例,泛化是从下到上的过程。(子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式。)
(3)包含关系:表示用例与用例之间的关系,其中一个用例(父用例)的行为包含了另一个用例(子用例)的行为。
用虚线箭头+<>表示,箭头指向被包含的用例。一般是父用例包含很大的范围,专门抽出子用例来着重表达,又或者是复用用例。
(4)扩展关系:表示用例与用例之间的关系,是在特定条件下,由扩展用例指向被扩展用例。
用虚线箭头+<<extend>>字样,箭头指向被扩展的用例。拓展用例是在特定条件出现时,才会被执行的用例。
1、不是每个需求都要画用例图,要视情况而定,简单的需求完全可以不用画。
2、画图是为了表达、传递信息,当我们画用例图时,不管画的多么酷炫,本质都是在分析业务场景、系统功能性需求,并描述出来。
阅读原文
对产品经理感兴趣的朋友,可以移步“ 需求管理 ”,期待共同交流。
声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
本站内容仅供参考,不作为诊断及医疗依据,如有医疗需求,请务必前往正规医院就诊
祝由网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。
Copyright © 2022-2023 祝由师网 版权所有
邮箱:daokedao3713@qq.com