软件项目管理 4.2.传统需求建模方法

【公众号 “项目管理研究所” 将会第一时间更新文章并分享《行业分析报告》】
归档于软件项目管理初级学习路线
第四章 软件需求管理
《初级学习路线合集 》


前言

大家好,这节我们学习软件项目管理—传统需求建模方法,接下来通过例子介绍主流建模方法,我们介绍:1.原型方法 2.基于数据流建模 3.基于UML建模。

一、原型方法

原型方法是通过不断地评价原型来确定需求的方法。

这是某门户网站的项目,那么在需求分析阶段,通过不断地优化这个原型界面,来最终确定项目的需求,而且与用户很容易进行交流,实践中可以采用原型建模工具,例如等Axure设计工具。

二、基于数据流建模

数据流方法是结构化分析方法的主要方法。20世纪70年发展起来的面向数据流的方法,是一种自顶向下逐步求精的分析方法,根据软件内部数据传递、变换的关系进行分析的。

数据流方法的主要技术有数据流图(DFD),数据字典(DD),系统流程图等等…

例如这是银行取款过程,通过数据流来描述银行取款的需求,这里采用的是DFD图进行描述的数据流由存折开始进入系统,接受检查,如果有问题就返回,否则继续将提款的信息记录在系统中,处理付款信息,付款给储户,完成了取款的过程。

那么这个例子是学生信息管理系统,那么他体现了自顶向下逐步求精的数据流分析过程,那么这是最顶层的数据流,数据流再往下需要进行合法性检查,进入了各个功能的模块 。

例如学生基本信息模块,学生健康信息模块,学生成绩信息模块,以及查询模块等。

如果希望对DFD图中的数据进行描述,还可以采用数据字典等工具来描述。我们这里将学生基本信息,学生健康信息,学生成绩信息等进行了详细的描述。

三、基于UML建模

基于UML建模是基于面向对象的情景分析方法,从用户角度出发考虑的功能需求,用例是系统向用户提供一个有价值的结果的某项功能。

建模过程可以通过几种UML视图来描述,例如用例视图,顺序图,状态图,活动图等等。

基于UML建模步骤如下:
1.要识别出系统的角色既Actor。2.描述需要的Use case。3.实现用例视图。4.必要的时候可以再通过顺序视图,活动视图,状态视图等来进行描述。

四、进出口贸易项目案例

进出口贸易的业务环节是很多的,涉及到配额与许可申请,询价,报价,合同洽谈,备货(出口),信用证,商检,报关,运输,投保,付汇/结汇,核销退税(出口)等多个环节。

这个案例采用UML方法进行需求建模的,首先识别角色,识别出很多角色,包括保险,出口商,存储,海关,检查部门,进口商,贸易管理部门,税务,银行,运输等等角色。

而角色之间也存在一定的关系。


我们再看角色需要的usecase,也就是需要的用例。最高层包括出口和进口,进出口贸易按照阶段可分为合同签订,合同执行两部分。

我们以出口贸易的一些业务为例来进行说明,合同签订阶段涉及的角色是出口商,进口商,贸易管理部门。出口商和贸易管理部门进行出口配额申请,出口商和进口商进行合同洽谈,因此产生了出口配额申请和合同洽谈两个usecase,那么usecase的参与者是出口商,进口商,贸易管理部门。


合同执行阶段主要是合同的履行过程,主要执行过程如下图,涉及的角色也非常多,产生的usecase也较多。


上述给出的usecase如果不够详细,还需要进一步描述,例如出口配额申请的usecase对很多人来讲是个黑盒子,不清楚其中功能,为了进一步描述其内部功能和相关信息,有必要将这个黑盒子打开,那么这个黑盒子可以进一步通过计划分配配额,招标配额两个usecase来描述,我们可以看这个图:

另外呢计划分配配额用例对很多人来讲仍然是个黑盒子,有必要进一步来描述内部的相关信息。

那么计划分配配额描述出 出口公司向省级的地区经贸委,外贸经贸部提交计划分配配额申请,并通过审核领取计划分配配额的活动,我们可以看这个图为计划分配配额的顺序图。

我们也可以通过活动图来进行展示,那么这个图就是计划分配配额的活动图。

那么其他的用例图以此类推,可以展开来说明,直到最后需求描述清楚为止。

总结

总之呢我们这里介绍了原型方法,数据流建模,UML建模等传统的需求建模方法,当然还有其他的传统需求建模方法,这里就不一一介绍了。

到这里,第四章第二节 传统需求建模方法就讲解完毕!下一节介绍敏捷需求建模方法~

如果您觉得这篇文章有帮助到您的的话不妨点赞支持一下哟~~

软件项目管理 4.2.传统需求建模方法相关推荐

  1. 数据库分析与设计练习题(二)基础知识、在IDEF0需求建模方法中,下列关于描述功能活动的图示,正确的是、事务详细编码设计是在下列哪个阶段完成的、下列关于从属实体集的描述,错误的是、各事务尽量按照相同的

    17.在数据库系统生命周期中,通过系统规划与定义来明确系统的目标任务.下列不属于系统规划与定义内容的是 A确定成本预算 B确定任务目标 C确定用户视图 D确定系统边界 参考答案为A 解析:系统规划与定 ...

  2. IDEF0需求建模方法

    IDEF0需求建模方法 IDEF0是活动模型的缩写,来源于结构化分析与设计技术的一套标准,这些标准包含多种层次的图形语言,其中IDEFO用来描述对于企业具有重要性的各个过程(活动).它以图形表示完成一 ...

  3. 软件项目管理 7.2.传统历时估算

    [公众号@ "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第七章 软件项目进度计划 <初级学习路线合集 > ...

  4. SUMO中车辆需求建模方法(rou.xml)

    SUMO需求建模种类 生成网络后,可以使用SUMO-GUI对其进行查看 ,但不会有汽车行驶.仍然需要有关车辆的某种描述.这称为交通需求.从现在开始,我们将使用以下术语:行程是由起点(街道),目的地终点 ...

  5. Python数据挖掘——烟火图像分类:传统机器学习建模方法与卷积神经网络性能比较

    文章目录 背景介绍 导入相关库 数据探索 数据预处理 暗通道去雾算法 数据建模 预先定义模型评估方法 使用传统机器学习模型:支持向量机.随机森林.神经网络.集成学习Adaboost进行训练 使用CNN ...

  6. 需求建模之基于场景的方法

    第八章 基于场景的方法 概念:文字记录是极好的交流工具,但并不一定是表达计算机软件需求的最好方式.需求建模使用文字和图表的综合形式,以相对容易理解的方式描绘需求,更重要的是,可以更直接地评审它们的正确 ...

  7. 软件项目管理复习(一-七章)

    例题 填空 实现项目目标的制约因素有(项目范围) .(成本).(进度计划) .(客户满意度)等. 项目管理包括(启动过程组) .(计划过程组) .(执行过程组) .(控制过程组) .(收尾过程组) 5 ...

  8. 软件项目管理韩万江版课后习题答案

    软件项目管理韩万江版课后习题答案,需要自取! 项目管理案例教程(第三版)习题及答案第一章软件项目管理概述 一.填空题 1.实现项目目标的制约因素有(项目范围).(成本).(进度计划).(客户满意度)等 ...

  9. IDEF1x语义建模方法及其在数据库设计中的应用

    IDEF1x语义建模方法及其在数据库设计中的应用 李俊平 (深圳职业技术学院计算机软件工程系 广东深圳 518055) 摘要:IDEF1x是在E-R方法中引入语义的一种数据库概念建模方法,对E-R方法 ...

最新文章

  1. Python学习之路—2018/6/20
  2. 计算机软考知识点总结,历年计算机软考《系统分析师》复习知识点总结(8)
  3. js const 和 var 的区别
  4. css3抽奖转盘,从零制作CSS3抽奖大转盘
  5. java session创建_request创建session
  6. php mcript(),PHP基于mcript扩展实现对称加密功能
  7. 记一个简单的保护if 的sh脚本
  8. 如何摆脱JavaFX中的重点突出显示
  9. hadoop0.20.0第一个例子
  10. windows 反弹shell_容器内反弹shell的51种姿势
  11. Git使用教程:最详细、最浅显、一文读懂Git常用操作!
  12. 2020-09-09
  13. Putty密钥(PrivateKey)导入SecureCRT
  14. WPF和Winform中picturebox图片局部放大
  15. (FPGA)verilog驱动RGB接口TFT液晶屏
  16. 各种音视频编解码学习详解(7)--微软Windows Media系列
  17. CSS布局之各种需要掌握的小技巧~
  18. 大数据分析图形绘制如何进行?
  19. MATLAB求复杂函数积分
  20. 台式电脑win7旗舰版 怎么调节屏幕亮度 显示器太亮了!

热门文章

  1. BrainGNN:Interpretable Brain Graph Neural Network for fMRI
  2. 中国超级电容器行业发展现状及趋势分析,市场规模持续扩大「图」
  3. 关于微信浏览器video标签无法播放mp4视频
  4. 谷粒商城十二性能压测及优化
  5. Python 之 matplotlib plt.rcParams[]
  6. sql server如何删除表中重复数据
  7. 产品经理分析模型大全
  8. 数据分析挖掘与建模(操作篇)
  9. jQuery补充,基于jQuery的bxslider轮播器插件
  10. evo轨迹曲线设置指令evo_config的使用