- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于UML软件建模过程
基于UML软件建模过程分析
【摘 要】本文通过分析uml软件建模过程几个关键过程:需求捕获、用例建模、类的分析、用例实现、类图的确定。每一个过程都是是做什么的、如何做的、最后的结果是什么。经过一系列的分析使建模过程更清晰。
【关键词】软件建模过程;需求捕获;用例建模
0.引言
统一建模语言uml(unified modeling language )是一种通用的可视化建模语言,是面向对象软件开发领域中最激动人心的工具之一。在软件开发过程中,一系列uml模型是开发团队交流的平台,也是与用户交流的平台,是提高软件质量和效率的保证。如何由用户界面到代码实现?需要用例建模、静态建模、动态建模、物理建模来实现。下面只对前三建模的主要模型进行分析。
1.捕获需求
若成功的获得用户需求,需要两个文档:用户需求说明和用户界面原型。用户需求分为功能性需求和非功能性需求。
1.1功能性需求
可以通过以下三种方式提取功能需求:
(1)从项目中已存在的文档中提取功能需求。
(2)通过访谈获取更多功能需求。
(3)通过参观工作流程提取功能需求。
访谈时开发团队需轮流提问,问题要具体、简洁、可回答性。获取需求用陈述语句表达。对获取的功能需求进行分类,设置优先级(必须、重要、能够、想要)等。
1.2 非功能性需求
非功能性需求分容量、有效性、性能、遵循标准、安全性等几种类型。
已捕获的功能性需求和非功能性需求可以生成系统需求规范说明例如档案管理中的用例如如表1:
表1 档案管理系统需求规范说明
2.用例建模
用例建模需要寻找actors和用例,为了达到这一目的需要以下三个文档:
(1)用户需求说明。
(2)用户界面原型。
(3)系统需求规范说明。
2.1寻找actors
参与者是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备。通过向用户提出以下6个问题[1]找到系统所有参与者。
(1)使用系统主要功能的人是谁(即主要参与者)?
(2)需要借助于系统完成日常工作的人是谁?
(3)谁来维护和管理系统(次要参与者),保证系统正常工作?
(4)系统控制的硬件设备有哪些?
(5)系统需要与哪些其它系统交互?
(6)对系统产生的结果感兴趣的人或事是哪些?
2.2寻找用例
用例是系统需实现的功能,通过向用户提出以下几个问题[1]找到用例。
2.2.1针对参与者
(1)某个参与者要求系统为其提供什么功能;该参与者需要做哪些工作?
(2)参与者需要阅读、创建、销毁、更新或存储系统中的某些信息吗?
(3)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗?
(4)系统新功能的识别,参与者的日常工作被简化或效率提高了吗?
2.2.2针对系统
(1)系统需要什么样的输入和输出?输入来自哪里?输出去往哪里?
(2)该系统的当前状况还存在哪些问题?
(3)系统改进的方向是什么?
2.3 用例建模
用例之间的关系:包含关系、扩展关系、用例泛化关系、参与者泛化关系。例中图书管理员处理借还书用例如图1:
图1图书管理员处理借还书用例图
2.4用例描述
用例描述是将用例发生的各种场景描述出来,表达是用户作什么操作,系统作什么反映。用例描述的内容包含用例名、用例编号、参与者、前置条件、基本场景、辅助场景、后置条件。
3.寻找分析类
已有功能性需求和非功能性需求以及用例,现在需要找类来实现这些功能。采用crc大脑风暴和动名词法寻找类、属性、方法,这是分析类的雏形。
4.用例实现
将用例用时序图来描述,根据要用例描述来绘制时序图。时序图是基于每个场景的:对于系统的每一个场景用一个时序图来表示,指出哪个对象负责代码中哪个函数。时序图指出运行阶段对象实例如何通过传递消息进行通信。每条消息将调用接受该消息对象的一个函数。如图书管理员借书时序图如图2:
5.确立类图
最困难的工作之一是分配行为到一个类中,时序图帮助分配行为决策的理想工具。将时序图某一个对象提出来,将所有箭头指向它方法列为该对象所属类的方法。
6.结束语
软件建模的起点是gui原型即确定了用户界面,开始确定系统的一些场景或用例,接着进行用例建模,确定系统功能,进而采用用例描述反映用例发生的各种场景,用健壮图和时序图来表达场景,再根据时序图进一步精化类的方法,最后来编写类的方法,实现系统功能。软件建模过程如图3。建模关键在用例描述,它是系统功能转向代码实现的关键,类的确定是难点。类图是根据分析类和时序图共同来精化的。
图3 软件建模过程 [科]
【参考文献】
[1]陈承欢.uml与rose软件建模案例教程[m].北京:人民邮电出版社,2010.
[2]dr. jim arlow.oo analysis and design with uml and usdp.clear view training limi
文档评论(0)