需求分析(二)

需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。

软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。

 软件功能需求

它描述软件的各种可能的条件下,对所有可能输入的数据信息,应完成那些具体功能,产生什么样的输出。

1)功能需求的完整性和一致性

对功能的描述应包含与功能相关的信息,并应具有内在的一致性(即各种描述之间不矛盾、不冲突)。应注意以下几点:

(1)    给出触发功能的各种条件(如:控制流、运行状态、运行模式等);

(2)    定义各种可能性条件下的所有可能的输入(包括合法的输入空间和非法的输入空间);

(3)    给出各种功能间可能的相互关系(如各个功能间的控制流、数据流、信息流,功能运行关系:顺序、重复、选择、并发、同步);

(4)    给出功能性的主要级别(如:基本功能、可由设计者选择逐步实现的功能、可由设计者改变实现的功能等);

(5)    尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。

2)功能描述的无岔意性和可追踪性

需求功能描述的无岔意性、可追踪性和规范化:

(1)    功能描述必须清晰地描述出怎样输入到怎样输出,并且输入、输出描述应对应有数据流描述、控制流描述图,这些描述必须与其它地方描述一致;

(2)    可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择,重复,还是并发,然后说明步骤逻辑。整个描述必须单入单出。

(3)    描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。

(4)    功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采用和种数据结构,定义多个模块,接口间的接口等)是设计阶段的事情,功能描述不应涉及到那些细节问题,以避免给软件设计带来不必要的约束。

2.2、      软件与硬件或其他外部系统接口

软件与硬件或其它外部系统接口包括下述内容:

(1)    人机接口:说明输入、输出的内容、屏幕安排、格式等要求;

(2)    硬件接口:说明端口号,指令集,输入输出信号的内容与数据类型,初始化信号源,传输通道号和信号处理方式。

(3)    软件接口:说明软件的名称、助记符、规格说明、版本号和来源;

(4)    通讯接口:指定通讯接口和通讯协议等描述。

2.3、      软件的非功能性需求

软件非功能性需求是指软件性能指标,容限等功能以外的需求。一般指下述内容:

(1)    时间需求:输入、输出频率,输入、输出响应时间,各种功能恢复时间等;

(2)    处理容限、精度、采样参数的分辨率,误差处理等;

(3)    可靠性的MTBF要求,可维护性、安全性要求等。(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。)

2.4、      软件反向需求

软件的反向需求描述软件在那些情况下不能做什么。这一条是随软件实际要求而定。有两类情形需要采用反向需求的形式。第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。

2.5、      软件设计和实现上的限制

软件设计和实现上的限制主要指对软件设计者的限制。如软件运行环境的限制(选择计算机类型,使用配置,操作系统的限制等)、设计工具的限制(使用语言、执行的标准)和保密要求等。

2.6、      阅读支持信息

这部分内容是为了更好的帮助我们理解用户需求,也是为了使需求便于修改和追踪。其本身并不是对需求的描述,但它影响到需求分析的可读性,也属于需求分析的一个重要部分。一般目录、需求背景信息、内容索引、交叉引用表、注释等均属于这个部分的内容。

有效性软件需求分析三步法

“访谈式Visitation”阶段

“诱导式Inducement”阶段

这一阶段是在承建方已经了解了具体用户方的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体实际、客观的信息基础上,结合现有的硬件、软件实现方案,做出简单的用户流程页面,同时结合以往的项目经验对用户采用诱导式、启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性。

“确认式Afirm”阶段

输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归入需求分析报告中,提交用户方、监理方进行确认和存档)

需求分析评价指标

主要有这么几个指标:功能性、完整性、正确性、逻辑性、表现性、合理性,可实施性等。

时间: 2024-10-09 18:44:26

需求分析(二)的相关文章

oracle基础sql

二.SQL Structur query language 结构化查询语言,是操作关系型数据库中的对象. DDL(Data definition language 数据定义语言),用于建表或删表操作,以及对表约束进行修改 create table , alter table , drop table 对表结构的增删操作. DML(Data manipulation language 数据操作语言),向表中插入纪录,修改纪录 insert , update , delete , merge tra

【初码干货】使用阿里云邮件推送服务架设自己邮件验证与推送体系

提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com/product/directmail) 3.EDM(电子邮件营销)(http://baike.baidu.com/subview/1212416/8602812.htm) 4.SendCloud邮件服务(http://sendcloud.sohu.com/) 阅读目录结构 引: 一.需求分析 二.

汽车租赁项目业务流程总结

-一.需求分析 -二. -一.需求分析与数据表设计 需求图: 发现类: 01.moto类(汽车父类): 01.1:bus类(客车类) 01.2:car类(轿车类) 01.3:truck类(卡车类) 02.mototype类(汽车类型类) 03.用户类:软件系统的使用者,登录该系统 管理的 人,比如:管理员.业务经理等. 04.客户类:租车的人. 05.公司类:用于处理租车换车业务流程的人. -二.设计概要设计 数据库设计: -三.详细设计 实现各车的信息录入 一个问题:卡车跟大巴和轿车录入是不一

Hibernate学习-7-关联映射

关联映射 需求分析 eg 1- 部门与员工的例子 一个部门有多个员工[一对多] 多个员工,属于一个部门[多对一] eg 2-        一个项目多个开发人员 一个开发人员参与多个项目 [多对多] 一对多与多对一映射 一.需求分析 二.数据库 t_dept 字段:deptId  deptName t_employee 字段:empId empName salary dept_id 三.javabean 设计关键:通过一方维护到另一方 class Dept{ private int deptId

2016011990小学四则运算练习软件项目报告

 小学四则运算练习软件项目报告 项目克隆地址:https://git.coding.net/chenf640/workhome2_2.git 目录: 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试运行 六.代码展示 七.psp 八.总结 -------------------------------------------------- 一.需求分析 (一)功能需求  基本功能: 程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题. 每个数字

2016012098+小学四则运算练习软件项目报告

项目地址:https://git.coding.net/meiyoupiqidefan/Four-Operations.git 目录: 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试运行 六.粘贴代码 七.总结 八.展示PSP ---------------------------- 一.需求分析 由于每次出题的数目不定,所以要求题数参数n由控制台输入 小学生水平有限,故每个数字在 0 和 100 之间,运算符在3个到5个之间. 为了让小学生得到充分锻炼,每个练习题至少要包含2

2016012075+小学四则运算练习软件项目报告

2016012075+小学四则运算练习软件项目报告 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试详解 六.代码展示 七.总结 八.PSP展示 coding.net地址:https://git.coding.net/sparkleStar/arithmetic.git,代码在Main.java中 一.需求分析 1.编写目标 使用Java编程语言,独立完成一个3到5个运算符的四则运算练习的命令行软件开发. 2.基本功能需求 (1)程序可接收一个输入参数n,然后随机产生加减乘除(分

UML数据建模工具之Enterprise Architect(EA)实例

一.需求建模,模拟银行ATM机用户取款实例. 1.新建项目选择模型视图类别 2.将model更改成ATM(项目名称). 3.将Requirements更改成'需求建模',Analysis View 更改成'领域模型',Use Case View更改成'用例模型',将Logical View更改成'逻辑模型'. 4.在需求建模,分别建立包,卡处理,用户登录,取款,用户界面,查询余额,其次, Add a package--->Create diagram--->extended--->Req

一个简单的项目流程

一个简单的项目流程 一.需求分析 二.设计 技术选型 数据库设计 三.开发 环境搭建 编码 四.测试 五.部署运维 原文地址:https://www.cnblogs.com/zhuobo/p/10806758.html

Vue+ElementUI项目使用webpack输出MPA

目录 一. 需求分析 二. 原方案分析 三. 多页面改造3步走 四. 小结 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址:[你要的前端打怪升级指南] 一. 需求分析 为另一个项目提供可嵌入的功能单页,大部分页面使用时都是独立功能页,个别页面带有左侧边栏(相当于3-4个页面的整合形态),由于资源定位地址的限定,每个页面打包为单页后,入口html文件需要定制命名,且脚本和样式文件需要放在指