学渣眼中的软件工程(三)
软件需求获取与结构化分析方法:
- 熟悉到了软件开发的另一部分内容之后,学渣Big-man继续带你去软件工程了解下一部分的内容——软件需求获取与结构话分析方法。
需求获取的任务和原则:
主要任务:
需求获取的主要任务就是与用户进行沟通。了解系统或产品的目标是什么,用户想要实现什么,系统和产品如何满足业务的要求,最终系统或产品如何用于日常工作。以前的Big-man只是知道开发项目是十分地困难,看到了产品的分析与产品的任务发现,产品的重要性一点也不比软件的技术开发来得轻松。
获取并理解用户需求是软件工程师所面对的最困难的任务之一。获取需求困难有几个方面的的原因:
- 系统的目标和范围难以界定;
- 需求的不准确性;
- 需求的易变;
- 需求获取除了需要有专业的系统分析师,还需要通过有效的客户/开发者的合作才能成功。
需求获取的任务:
- (1)、 发现和分析问题,并分析问题的原因/结果关系。
- (2)、 与用户进行各种方式的交流,并使用调查研究方法收集信息。
- (3)、 按照三个成分观察问题的不同侧面:即数据、过程和接口。
- (4)、 将获取的需求文档化。
需求获取应遵循的原则:
- (1)、 深入浅出的原则。
- 需求获取要尽可能全面、细致。
(2)、 以流程为主线的原则。
在与用户交流的过程中,应该用流程将所有的内容串起来。如信息、组织结构、处理规则等,便于交流沟通。
学渣Big-man就着现在的项目进行流程的串联图如下:
需求获取的过程:
过程:
- 1、开发高层的业务模型;
- 2、定义项目范围和高层需求;
- 3、识别用户类和用户代表;
- 系统的不同用户之间在很多方面存在差异,例如:
- 使用产品的频率;
- 用户在应用领域的经验和使用计算机系统的技能;
- 所用到的产品功能;
- 为支持业务过程所进行的工作;
- 访问权限和安全级别
- 系统的不同用户之间在很多方面存在差异,例如:
- 4、获取具体的需求;
- 确定了项目范围和高层需求,并确定了用户类及用户代表后,就需要获取更具体、完整和详细的需求。
- 获取需求的几种方式:
- (1)、与用户进行交流。
- (2)、现有产品或竞争产品的描述文档。
- (3)、系统需求规格说明。
- (4)、当前系统的问题报告和改进要求。
- (5)、市场调查和用户问卷调查。
- (6)、观察用户如何工作。
- 结构化分析方法:是一种建模技术。
JackDan9 Thinking