“当我们做一个项目时,可能客户口头告诉你他想要做一个什么东西,或者给了你一些文档告诉你这就是需求。就根据几句口头讲述,或者一些文档,很难知道到底具体需要做什么。这时候就要对需求进行挖掘,以得到功能列表,或者用例图,并作出软件需求分析。”这段话我觉得虽然直白,但是确实是把软件需求分析说的很清晰。下面是我对第三章理解的思维导图:
其实这一章视频就讲了两个方面:一任务过程;二是分析方法。它们的结果都是为了一个文档,就是软件需求规格说明书。
一、任务和过程
1. 任务
1)认清问题,分析资料,建立分析模型。
我们这里的分析要求能够描述功能与性能,确定设计约束和接口和定义有效需求。
2)编写软件规格说明书
2.过程
我们这里的过程其实就是步骤。
当然,在编写文档这里同样也会形成数据要求说明书(提供关于处理数据的描述和数据采集要求的技术信息),初步完成用户手册(详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件),项目开发计划书的修改和完善。
二、分析方法
1.原则
简单的讲,软件需求分析原则就是抽象,分解和化简。当然,视频中还讲了指导性原则。
2.三种分析方法
1)结构化分析方法
在了解这个方法的时候我们首先要弄清楚DFD图是什么,然后在看步骤。
DFD 就是描述信息流和数据从移动到输出的过程中所经受的变换的图形化技术。在软件需求分析中常用一组 DFD 由粗到精地表示同一软件在不同抽象级别上的功能,这就是分层DFD。下面是DFD基本形式和组成:
详细可以看《软件需求之DFD图》
然后就可以进行分析画图。步骤也是比较简单,大体分为画出分层数据流图和确定数据定义与加工策略两部分。
2)快速原型化法
这个方法最大的特点就是仓促建立软件,然后追加,当遇到根本性错误时候需要废弃。
3)动态分析法
事实上动态分析法不是一个分析方法,视频中列出的是最常用的分析方法:状态迁移图,时序图和petri网。
所以,我们在第二部分要重点掌握结构化分析方法和动态分析法。
结束语
这一章讲了好多的内容,我感觉很多我也没有把握到位,但是也是收获了很多,对于流程图也有了一些初步的理解。