代码改变世界

需求基础(第二章)

2013-11-25 22:07  EraNi  阅读(318)  评论(0)    收藏  举报

需求的定义:1、用户为了解决问题或达到某些目的所需的条件或能力

      2、系统为了满足合同、标准、规范或其他正式文档所规定要求所要具备的条件或能力

        3、对1或2中的一个条件或一种能力的一种文档化表述

 

问题域可以是现实中某些实体和状态,解系统通过影响问题域,帮助人们解决问题。

 

共享现象:问题域与解系统之间能够相互影响。

 

问题域特性:问题域具有自治的规律性,包括结构特性,行为特性。

 

系统规格说明(规定解系统行为特征):1、对共享现象的描述

                  2、对共享现象施加的操作的描述

 

需求分类(从高层到低层):业务需求、用户需求、系统需求,分别是1、为什么开发系统?  2、系统能帮我干什么?(用户角度)  3、开发者要实现什么?

 

需求分类:

      1、功能需求

      2、性能需求

      3、质量属性(可用性、安全性、可维护性)

      4、对外接口

      5、约束(系统开发环境、规则)

 

优秀的需求具有以下特性:

      1、完整性

      2、正确性

      3、精确性

      4、可行性

      5、必要性

      6、无歧义

      7、可验证

 

常见的需求错误:

      1、未反映用户真实需要

      2、模糊有歧义

      3、信息遗漏

      4、添加不必要的需求

 

需求工程面临的困难:

      1、不存在明确的E(问题域特性)

      2、不存在确定的针对S(系统行为)的评估标准R(需求)

      3、E,S--->R是简单的推理,但是从E,R--->S却是一个创造性过程

 

于是我们需求工程的主要工作:

      1、需求开发,确定R

      2、研究问题背景描述,E

      3、通过R,E构建解系统S

 

ATM机用户需求:

      1、存款

      2、取款

      3、转账

      4、修改密码

      5、查看余额

 

将以上需求转换为系统需求:

      1、系统接收用户现金(100元整数倍)存放

      2、系统允许用户提款(100元整数倍)且小于用户总款额

      3、系统提供用户向其他账户转账的功能

      4、系统根据用户输入修改用户密码并保存

      5、系统显示用户余额

 

ATM机功能需求以外还需要哪些需求?

      从安全性、联网、同用户银行的接口等角度回答

 

以上题目答案仅供读者参考,望能自主思考

 

参考《需求工程--软件建模与分析》 丁二玉、骆斌