“扒项目”的历程(二):系统分析

新项目终于步入系统分析阶段了,经过了许多的业务用例分析,我们把需求、业务、业务处理流程基本理清,对项目要做什么事、能做什么事更有把握了。业务分析的初衷就是这样,如何把较复杂的系统需求把握清楚,把业务需求分门别类,让一个门外汉一看就知道这个系统能够做成什么事。

现在我们就要做系统分析,系统分析是对业务分析的细化、抽象、泛化等等的工作。下面针对“扒项目”的历程(一):业务分析中,“查询A系统数据业务用例实现”这一业务用例实现来看看能提取出什么样的系统分析结果。

关键词:项目管理, 项目立项, Enterprise Architect, EA, 系统分析

摘要:新项目过来,面对已经完成的业务分析,如何从业务分析结果,来进一步完成系统分析,从而得到系统分析成果,这个能力是急需掌握的。系统分析的目的是这样,如何把一个较复杂的系统描述的清晰易懂,如何让一个新人来依着系统用例分析,就可以独立完成代码的编写工作,如何让业务逻辑、实现架构确定,让代码的逻辑控制在代码范围内。下面从一个简单的“查询A系统数据业务用例实现”开始,来介绍一个业务用例的系统分析过程。下图如有引用,请标明来源http://www.cnblogs.com/wgp13x/p/3838078.html


下面是"查询A系统数据业务用例实现"的泳道图。若要从《需求规格说明书》开始得到它,请看

“扒项目”的历程一(业务分析),业务分析流程 http://www.cnblogs.com/wgp13x/p/3824964.html

图1-业务用例实现图

1、我们对应着本业务用例实现,新建了一个文件夹,命名为“查询A系统数据系统用例”,专门用于存放它派生出来的系统用例实现们,下面讲述派生的过程。

2、首先我们尝试一下“抽象”。查询A系统可能和查询B系统,步骤相当,我们可以把它们抽象成一种,叫作“查询本地系统”,通过“抽象”我们能得到下面的系统分析。

下面就是“查询本地系统”的系统用例实现图,它采用“交互图”的方式展现。我们把“交互”过程中涉及到的实例们抽象为四种类型“用户”、“控制”、“边界”、“实体”。我们可以看到,本系统用例实现涉及到一个“用户”:系统;两个“边界”:“索引服务”和“数据存储”,涉及到一个“控制”:“访问本地结构化数据处理”。

如果要得到查询结果,需要“系统”按规定提交查询请求,然后经过“访问本地结构化数据处理”处理,依次提交请求到“索引服务”和“数据存储”中,才能得到查询结果。

图2-查询本地系统系统用例实现图

3、然后就是不停的试探“细化”。在图1-业务用例实现图中,存在“显示查询A类数据界面”这一过程,我们觉得这一过程过于粗略,完全可以作为独立的系统用例进行分析,如此就得到了“显示查询A类数据界面”系统用例实现图。然后,我们可以进行进一步的“抽象”,“显示查询A类数据界面”和“显示查询B类数据界面”过程完全一致,所以我们把这个系统实现图更名为“显示查询本地系统数据界面”。

下面的就是“显示查询本地系统数据界面”的系统用例实现图。可以看到,它涉及的用户为“操作员”,边界有“客户端”,控制有“查询界面控制器”、“数据服务”,实体有“元数据对象”,采用的是MVC设计模式。它们之间通过函数调用或者消息通信的方式,来进行交互,这样一来实例之间的接口定义就很清晰了。

图3-显示查询本地系统数据界面系统用例实现图

我们把“查询数据库”这一过程也拿出来“细化”、系统分析了一番。系统分析可以涉及到具体的系统架构、代码使用框架、设计模式等如此具体化的实现技术,以至于你需要在系统用例实现图中将它清楚的描述出来。这一系统用例是如此的普遍,以至于我们把它移到新的文件夹下,Common下,Common下还放置了“数据入库”、“文件入库”等基本的系统用户实现图。

图4-查询数据库系统用例实现图

下面还有“显示查询结果界面”的系统用例实现,与以上大同小异,“交互图”便不再贴出。

如此一来,一个业务用例实现图可以通过种种手段,剖析成数个系统用例实现图,一个框架被填充入了一块块的肉,这个业务用例被描述得更加清楚了,甚至于代码实现、数据接口都可以基本确定。

我们做系统分析的初衷也是这样,如何把一个较复杂的系统描述的清晰易懂,如何让一个新人来依着系统用例分析,就可以独立完成代码的编写工作,如何让业务逻辑、实现架构确定,让代码的逻辑控制在代码范围内,这便是系统分析的目的。

在做系统分析的同时,数据存储的设计也在进行着。数据存储的设计过程也可以帮助我们认清项目的难度、梳理系统实现方式。

这真的是“大象”式的软件工程,如果有论述不到位、理解不准确的地方,希望读者能及时指出,谢谢。

来自王安琪(http://www.cnblogs.com/wgp13x/)

“扒项目”的历程(二):系统分析

时间: 2024-11-03 21:43:31

“扒项目”的历程(二):系统分析的相关文章

“扒项目”的历程一(业务分析)

今天新项目过来,还没有正式立项,只是大致做好了需求分析,只有一份材料<需求规格说明书>以及一位甲方的陪伴,以供对需求不懂时随时提问. 面对着并不详尽的<需求规格说明书>,怎么设计我们这个系统,我心中一片困惑. 一看到这个业务需求,我还是本能的思考具体的技术实现,当然我不介意我这么做,因为我觉得这是必须的,这对于掌控整体的技术架构是非常有好处的. 但是我担心的是,甲方以及项目经理需要一个过程,从业务需求一步步转化为设计.代码的过程,这个文档是这个项目立项.拍板的支持,也有可能是中标的

iOS开发——项目实战Swift篇&amp;swift 2.0项目开发总结二(开发常用)

swift 2.0项目开发总结二(开发常用) 一:相册中选择相片到App指定位置 随 着相机像素的提高,实际用户选择的图片都是很大的,有的高达5.6M,如果直接使用用户选着的图片,非常消耗内存,并且也用不到这么高像素的图片,可以当 用户选着好图片后,在UIImagePickerController对应的代理方法中,先将图片进行重新绘制为需要的大小,在设置给iconView 1 /// MARK: 摄像机和相册的操作和代理方法 2 extension MeViewController: UIIma

【原创】岗位作业书-产品/项目经理(二)

产品/项目经理岗位作业书 --------------------- 岗位作业书配合是<开发工作流程>的重要附件,详细说明了每个岗位在开发过程中每个阶段的工作 一.每日例行工作: 1.早上开始上班后立即召开朝礼 2.写朝礼纪要并发给相关人 3.在日志中制定今日工作计划并挂到主线 4.上禅道检查任务完成进度是否与计划相符 5.上禅道检查Bug修复情况是否正常 6.处理各种临时任务,加入到禅道的任务列表,如:甲方提出的紧急任务等 7.如有必要,与技术经理.测试经理沟通 8.发现开发进度有严重延误的

网站日志分析项目案例(二)数据清洗(MiniMapreduce)

网站日志分析项目案例(二)数据清洗 一.数据情况分析 1.1 数据情况回顾 该论坛数据有两部分: (1)历史数据约56GB,统计到2012-05-29.这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式. (2)自2013-05-30起,每天生成一个数据文件,约150MB左右.这也说明,从2013-05-30之后,日志文件不再是在一个文件里边. 图1展示了该日志数据的记录格式,其中每行记录有5部分组成:访问者IP.访问时间.访问资源.访问状态(HTTP状态码).

Oracle数据库12cR2(项目实战之二):Linux系统安装Oracle12.2

oracle数据库12cR2(项目实战之二):linux系统安装Oracle12.2 一.课程主题: 风哥Oracle数据库教程12cR2(项目实战之二):在linux操作系统安装Oracle12.2. 二.项目需求: 某单位新版HR人力资源系统最近上线,需要在Linux系统上安装一套Oracle12cR2数据库,并创建数据库,提供给业务系统使用. 三.实施步骤: 2.1.Oracle数据库12cR2 for Linux项目介绍与调研 2.2.Oracle数据库12cR2 for Linux实施

代做毕设,代做GIS毕业设计,GIS项目,GIS二次开发,毕业设计

代做毕设,代做GIS毕业设计,GIS项目,GIS二次开发,毕业设计: 代做毕设,代做GIS毕业设计,GIS项目等: 常年从事桌面GIS,ArcGIS数据处理分析等: ArcMap插件开发(.Net,Python): QQ:624030189 纯个人写手,不是商业人员,保证质量! 您是不是还在为做GIS毕业设计苦恼? 没有思路,数据不会处理,不会编程? 软件环境不会安装? 您是不是还在为科研项目中用到GIS而头疼? 图像不会处理,不会制图? 不会写脚本(Net,Python),不会用工具箱进行批处

从头开始写项目Makefile(二):自动推导

[版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 上一节的Makefile勉强可用,但还写的比较繁琐,不够简洁.对每一个.c源文件,都需要写一个生成其对应的.o目标文件的规则,如果有几百个或上千个源文件,都手动来写,还不是很麻烦,这也不够自动化啊. 这样,我们把生成.o目标文件的规则全部删除掉,就是这样一个Makefile文件: target_bin : main.o debug.o ipc.o timer.o

cocos2d-x创建项目(系列二)

1.需要的软件 1.1 VS2012 下载地址 百度吧! 1.2 cocos2d-x-3.0rc0.zip下载地址 1.3 CocoStudio_V1.3.0.0.exe 下载地址 1.4 NDK    android-ndk-r9d-windows-x86.zip 下载地址 1.5 SDK    adt-bundle-windows-x86-20131030.zip 下载地址 1.6 Visual Assist X 10.8.2029.0.7z 1.7 python2.7 python_win

Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 一.数据情况分析 1.1 数据情况回顾 该论坛数据有两部分: (1)历史数据约56GB,统计到2012-05-29.这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式. (2)自2013-05-30