系统架构设计师论文《论基于UML的需求分析》 - MilkeZhang 的网络笔记

摘要UML是集多种面向对象方法的优点于一身的统一建模语言,通过UML可以解决开发过程中存在的一些问题。包括解决人员交流的障碍,响应需求的变化,利于构件的复用,保证软件项目开发周期等。采用 UML进行需求分析,主要是通过用例模型来捕获和组织用户的需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。2006年5月,我参与了某区贸工局的电子政务系统的开发,在需求分析过程中采用了基

MilkeZhang

系统架构设计师论文《论基于UML的需求分析》

阅读:66  点赞:0   留言:0


摘要

UML是集多种面向对象方法的优点于一身的统一建模语言,通过UML可以解决开发过程中存在的一些问题。包括解决人员交流的障碍,响应需求的变化,利于构件的复用,保证软件项目开发周期等。采用 UML进行需求分析,主要是通过用例模型来捕获和组织用户的需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。

2006年5月,我参与了某区贸工局的电子政务系统的开发,在需求分析过程中采用了基于用例的需求分析方法,取得了良好的效果。在用例建模过程中,通过识别系统参与者合并需求获得用例并绘制用例图,进行用例分解及细化用例描述等步骤,及各步骤间的循环反复,成功完成了需求分析,需求描述也得到用户的认可。当然,由于使用该方法还不很成熟,各种方法及工具的集成度还不高,未能充分发挥其作用。在项目中,我担任系统分析员,主要负责系统分析和系统设计工作。

正文

2006年5月,我参与了某区贸工局的电子政务系统的开发,项目历时七个月,于 2007年 1月正式上线。项目组成员共7人,在项目中,我担任系统分析员,主要负责系统分析和系统设计工作。

区贸工局已有近十年的信息系统使用经验,在本系统开发时,该局除一套采用 VB+SQLServer2000开发的二层c/s 结构的核心业务管理系统外还有多套业务系统和数据交换系统,主要有:外资审批管理系统、加工贸易电子数据交换平台、加工贸易联网监管电子数据交换系统以及电子公文交换等。上述各系统基本是相互独立的,只在数据库端实现初步的数据共享,但应用的集成性很差。

区贸工局的电子政务系统是一个基于知识管理的全新的集成的管理系统,其应用范围涉及办公自动化、审批业务管理、档案管理、数据交换、互联网站等各个方面。该系统由门户网站、办公自动化和业务管理三个子系统构成。与原有的业务系统相比,区别主要体现在三个方面:一是全新的体系结构,二是集成性,全面集成原有的各业务系统及数据交换系统,三是以知识管理为主要特征的应用层次上的全面提升,对业务审批的全过程进行监督管理,引入审批要点对相关业务进行智能辅助审批。

在核心的业务管理子系统的开发过程中,考虑到传统结构化开发方法的局限性和软件本身的易复用性、易扩展性和可维护性,以及可能面对的需求变化,我们在开发时采用了面向对象的方法。UML是集多种面向对象方法的优点于一身的统一建模语言,它使用统一的表示法,呈现一致的风格,通过  UML可以解决开发过程中存在的一些问题。首先,UML解决了人员交流的障碍。它提供了一套通用的思维方式和交流的语言,既有助于分析人员与用户的交流,又有助于分析人员与设计人员的交流。其次,利于响应变化。分析人员可以将对象作为构筑系统的基本单位,将容易发生变化的属性和操作封装在对象之内,对象之间通过接口联系,使得需求变化的影响尽可能限制在对象的内部。其次,便于构件的复用。集成UML思想构建的系统模型能很好地支持软件复用,类可以派生子类,类又可以产生实例对象,而对象具有封装性和信息隐蔽性,这就实现了对象类的数据结构和操作代码的软构件的复用。最后,因开发人员的方法、工具及经验的差异,往往造成较大型或是较复杂的软件项目开发周期得不到保证。

若运用 UML 进行系统的分析设计,利用规范化的表达方式及优秀的 CASE 工具,问题可以得到较好的解决。采用UML 进行需求分析,主要是通过用例模型来捕获和组织用户的需求,通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。在用例建模过程中,首先是识别系统参与者,然后合并需求获得用例,并绘制用例图,最后进行用例分解及细化用例描述。

1.识别参与者。我们从三个方面分析系统的参与者,一是系统的直接使用者,二是系统的管理维护人员,三是外部相关的软硬件系统或人员。

系统直接使用者即是使用业务系统的相关业务人员。根据业务岗位,分别有收文、录入、打印、窗口(一级)审批、科长(二级)审批、局长(三级)审批等角色,另外还有派单(针对个别不由系统自动分派任务的情况)、审批检查、查询统计和科室管理(执行科室内人中角色的分派、业务智能审批定义等)角色。

系统管理维护人员,主要进行科室管理员的角色分派以及系统相关初始数据的设定等工作。

外部相关的软硬件系统,即与业务系统进行交互的一些外部系统。包括了外资审批管理系统、加工贸易电子数据交换平台、加工贸易联网监管电子数据交换系统、电子监察系统、门户网站、办公自动化系统以及系统时钟等,其中门户网站和办公自动化系统虽是整个电子政务系统的一部分,但相对于业务子系统来说属于外部系统。外部相关人员即申办各类业务的企业办事人员

2.合并需求获得用例,绘制用例图。

在确定了参与者后,分析每一个参与者希望系统提供什么样的功能,为参与者确定用例。之后画出用例图,通过用例图描述系统包含的参与者、用例以及两者之间的对应关系。

3.用例分解及细化用例描述。

绘制初步的用例图后,还需对用例予以细化,编写用例规约,或是根据情况进行用例分解。用例规约规定了系统需要完成哪些步骤才能实现用例的功能,主要包括前置条件、后置条件和事件流。前置条件指明了执行用例之前系统须处于的状态,后置条件指明用例执行完毕后系统可能处于的一组状态。事件流描述用例执行的步骤,它又包括基流、分支流和替代流。基流描述用例执行的基本步骤,没有分支和选择,分支流描述用例在执行中根据不同条件或不同选择而可能执行的步骤,替代流描述用例在执行中因异常或偶尔发生的一些情况而执行的相应替代步骤。其中基流是必需的,分支流和替代流是可选的。

整个用例的分析及用例图的绘制,需循环执行上述各步。通过参与者及其需求识别用例,通过用例(图)反过来印证识别出的参与者,对用例进行细化描述,如该描述较复杂则对用例进行分解。这样识别参与者和识别用例交替进行,并结合用例的细化与分解,直到识别出的用例能够涵盖用户需求,且用例的细化粒度以在用户较容易理解的范围。下面以较典型的“外商投资企业设立”模块的用例图加以说明。

首先根据参与者及相关业务需求,识别出“业务收文”“业务审批”“业务指派”“信息录入”“查询”“数据写监察系统”“外资审批管理系统数据读写”等七个用例接着又对照系统参与者检查每一个用例,我们发现在“业务收文”漏了与门户网站子系统的交互,即企业先在网站预录入资料的收文受理没有考虑,因此加入了“门户网站子系统”这一参与者,并添加相关事件(分支)流。然后,根据用户需求,对部分用例进行细化与分解,从“业务收文”中又进一步分出“补交资料受理”(即首次收文时资料不全或不全要求时企业补交资料的受理),“信息录入”中进一步分出“企业资料存档”(即企业负责人签名等若干重要原始资料的扫描存档)“业务审批”细分为“一级审批”“二级审批”“三级审批”,“一级审批”当中再分解出“补交告知”“数据写监察系统”用例的事件流则最复杂,分别与“业务收文”(发送“受理”状态及可选的“补交受理”状态)“一级审批”(发送“承办”状态及可选的“补交告知”状态)“外资审批管理系统数据读写”(在外资系统打印批文后,发送“审核”“批准”“办结”状态)等三个用例相关。

我们使用基于UML的需求分析方法,取得了比较好的效果,特别是相对于传统的需求分析与描述方法其优点是明显的。但由于我们使用该开发方法还不很成熟,在开发过程中也出现了一些问题。一是 UML 各图形的组合使用问题。用例分析的方法和用例图无疑是需求分析的有力工具,但光是进行用例分析还不足够,如能很好地结合类图和活动图等图形,则会对需求的分析和描述起到很好的辅助作用。另外就是UML与相关工具及开发方法的结合使用问题。UML 并不是一套独立的方法或工具,要充分发挥 UML 的效用,还须结合统一开发过程以及 ROSE 等相关CASE 工具,而在此方面我们还有明显的不足。由于开发大型项目较少,因此还很少使用统一开发过程,CASE 工具的使用也还未达到系统化,这都限制了UML方法的效果。另外,由于传统的结构化开发方法的思维习惯,我们在用例识别过程中

有时还会按照DFD图的思维进行思考。针对在项目开发过程中暴露出的问题,我们以渐进的方式改进我们的开发过程,向统一开发过程靠拢,改善开发环境,逐步购置、逐步消化使用 CASE 工具,提高个人的开发水平,深入学习掌握面向对象思想和方法及 UML等各类相关CASE 工具。我们不能指望通过一两个项目就完全掌握相关工具和方法,不论组织还是开发者个人,使用先进方法和工具的过程都是一个循序渐进的过程


编写于:2024/11/8 13:44:57
发布 IP 属地:广东省深圳市

版权声明

本站内容均来自网络转载或网友提供,如有侵权请及时联系我们删除!本站不承担任何争议和法律责任!


艾金森

每一个童年的梦想都值得用青春去捍卫!




用户地图 心情地图 日记地图 笔记地图 时间轴地图 投票地图 习题地图 24.8.5回到我的世界里:我不要再这么颓废了颈肩腰腿痛独特秘方绝招11月23日简赤jc 的日记 2024/06/25 12:53:37risk 的日记 2024/11/25 15:21:44为什么这种东西还存在于中国的书店啊2007年星洲日报讲解自杀。10-910-232024年的第一场秋雨Jun Peng Cui 的日记 2024/08/23 15:25:05简赤jc 的日记 2024/08/30 20:19:30我找到oc文了2024.10.25 我要我记得,记得今天一场满足的拥抱risk 的日记 2024/11/25 15:21:44渣男的婚外情故事2007年星洲日报讲解通宵读书。#空气一少,医生的手术刀就在你的身体乱乱开刀8月1日恢复中第二天咯24.4.11夜:麻木、我想成为更丰富的人oc相关Food2024-06-17 Web开发记录【心情新增配图功能】24.7.21栀子味蓝色小狗会害怕鱼头汤吗07/07/2024时代变了,课外读物变了没有啊?清浅 的日记 2024/12/08 11:16:17ZLL 的日记 2024/08/29 16:36:31看了一个非常好看的国耽美,戒断反应严重!!简赤jc 的日记 2024/06/22 21:45:33关于自知力思考22/11/20242024年4月15日戒烟的启示性时刻高考志愿填报讲解大学专业之医学类20集自助餐。。。8年后的。。。简赤jc 的日记 2024/06/25 19:26:19只是放淡了些许茶文化博览 中国茶韵24.9.3 “一家三口”的放学羁绊!回归!平淡家庭急救100招木瓜的故事1510.28复盘灵感堆积,回来再写24.11.17 写完作业好幸福。团聚好幸福。小猫要快快好起来呀…恐惧对我们的影响过大了安 的日记 2024/10/18 08:56:022007年的星洲日报是很有意义的。UL4200A检测报告GCC证书20240728如何更改Element UI的this.$confirm按钮样式心学随笔一视频清晰度分级规则:SD、HD、FHD、UHD常用网络端口html input 上传图片的方法视频编解码协议 【MPEG-4】【H.264】【H.265】【VP9】【AV1】【AVS】【VP8】【Datasheet】AX3071UA DC-DC电源系统架构设计师论文《论单元测试方法及应用》知识点铂鹿 的笔记 2024/06/10 11:48:09浅浅记录一下js 函数过多?满山的猴子我腚最红 的笔记 2024/10/23 20:59:16挨打也能成为一项超能力刮痧疗法彩色图谱软考架构-架构风格系统架构设计师论文《论信息系统的安全体系》EPS32 基础GPIO操作 LED实验赫兹伯格的卫生理论系统架构设计师论文《论中间件在SIM卡应用开发中的作用》引子文章练习420240722ESP32 【ESP_ERROR_CHECK】说明小说中让人突然下头的行为(01)高考志愿填报讲解大学专业之师范教育类EPS32 外部中断EXIT操作 KEY实验【Datasheet】FD6288T 三个独立的半桥栅极驱动集成电路芯片系统架构设计师论文《论信息系统架构的设计》现在才有闲情看得下书,但我却在迷茫。10.10系统架构设计师-22年-论文题目ZXF高考志愿填报全攻略54项【Datasheet】SCT2A10STER DC-DC电源芯片关于游戏——Part2HTML input type="number" 不显箭头英语老教授又想圈钱了老年人营养保健手册(专业版)不想学外语的思考瑞芯微RK3568对比RK3399性能解析Visual Studio和Visual Studio Code有什么区别系统架构设计师论文《论基于UML的需求分析》爱别太迟。高考志愿填报讲解大学专业之电子信息及计算机类视频编解码协议 MPEG-4 和 H.264之间的区别系统架构设计师论文《论面向服务架构设计及其应用》NoSQL 非关系型数据库书单成瘾丨240726 基层公务员读物C语言根据日期判断星期几(使用基姆拉尔森计算公式)