51Testing软件测试论坛

标题: 软件工程基础_软件需求分析 [打印本页]

作者: dq_0413    时间: 2009-6-20 11:41
标题: 软件工程基础_软件需求分析

一.缩写的含义
SA:     Structured Analysis 结构化分析
OOA:  Object Oriented Analysis 面向对象分析
DFD:   Data Flow Diagram 数据流图
DD:     Data Dictionary 数据词典
STD:   Status Transfer Diagram 状态-变迁图
CFD:   Control  Flow Diagram 控制流图
ER:     Entity Relation  实体关系
PSPEC: Process Specification 加工说明
CSPEC:  Control Specification 控制说明
IPO:       Iput Process Output 输入 加工 输出    (IPO是指结构化设计中变换型结构的输入(Input)、加工(Processing)、输出(Output)。IPO图是对每个模块进行详细设计的工具,它是输入加工输出(INPUT PROCESS OUTPUT)图的简称,它是由美国IBM公司发起并完善起来的一种工具。)

二.引起需求风险存在方面
  ·无足够用于参与
  ·用户需求不断增加
  ·模棱两可的需求
  ·不必要的特性
  ·过于简明的规格说明
  ·忽略了用户分类
  ·不准确的计划

三.软件需求过程的标准:
   清楚(clear)、完整(complete)、一致(Consistent)、可测试(Testable),此外还有,如可跟踪,可修改etc.

四.需求开发步骤:

  ·需求获取:确定三个层次需求,对于业务层要强调明确业务总目标及使用范围,对用户层,要强调明细用户工作流程,对于功能层还要手机系统运行环境的限制等非公恩那个行需求。
  ·需求分析:确定并完善需求。初期阶段所获得的大量需求往往不系统、不完整甚至个别需求是错误的、不必要的,只有通过提炼,分析和仔细审查,彼此沟通,采用适当的表象方式,比如绘制业务目标关联图,绘制功能结构示意图,编制数据字典,编写用户实例等,明白需求含义并找出其中的错误、遗漏或不走的地方,尤其是要用特定符号标识需求优先级
  ·编写规格:将已收集并做分析处理的需求经编制整理成规范化的可是文档,机软件需求规格说明书
  ·需求验证:确定第三阶段所编制的需求文档是否与预期的一致,是否符合搞质量的需求的评价标准。

五.需求管理包括:

  ·定义需求基线(迅速制定需求文档主体)
  ·评审提出的需求变更、评估没想变更的可能影响从而决定是否实施它
  ·一种可控制的方式将需求变更融入到项目中
  ·估计变更需求所产生影响并在此基础上协商新的约定
  ·让每个需求能与其对应的设计、源代码和测试用例联系起来以实现。
  ·在整个项目过程中跟踪需求状态从其变更情况

六.软件需求方法:
  ·结构化方法(Structured Analysis:SA)
  ·面向对象方法(Object Oriented Analysis:OOA)
  ·面向控制方法
  ·面向数据方法

七.需求分析评价指标:
  功能性、完整性、正确性、逻辑性、表现性、合理性、可实施性等

八.软件需求说明书:
  软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:
  1 引言
  1.1编写目的:说明编写这份软件需求说明书的目的,指出预期的读者。
  1.2背景
  说明:
  a.待开发的软件系统的名称;
  b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
  C.该软件系统同其他系统或其他机构的基本的相互来往关系。
  1.3定义
  列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
  1.4参考资料
  列出用得着的参考资料,如:
  a.本项目的经核准的计划任务书或合同、上级机关的批文;
  b.属于本项目的其他已发表的文件;
  c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
  2 任务概述
  2.1目标
  叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
  2.2用户的特点
  列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
  2.3假定和约束
  列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
  3 需求规定
  3.1对功能的规定
  用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
  3.2对性能的规定
  3.2.1精度
  说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
  3.2.2时间特性要求
  说明对于该软件的时间特性要求,如对:
  a.响应时间;
  b.更新处理时间;
  c.数据的转换和传送时间;
  d.解题时间; 等的要求。
  3.2.3灵活性
  说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
  a.操作方式上的变化;
  b.运行环境的变化;
  c.同其他软件的接口的变化;
  d.精度和有效时限的变化;
  e.计划的变化或改进。
  对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
  3.3输人输出要求
  解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
  3.4数据管理能力要求
  说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
  3.5故障处理要求
  列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
  3.6其他专门要求
  如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
  4 运行环境规定
  4.1设备
  列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
  a.处理器型号及内存容量;
  b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
  c.输入及输出设备的型号和数量,联机或脱机;
  d.数据通信设备的型号和数量;
  e.功能键及其他专用硬件
  4.2支持软件
  列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
  4.3 接口
  说明该软件同其他软件之间的接口、数据通信协议等。
  4.4控制
  说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。

[ 本帖最后由 dq_0413 于 2009-6-20 11:28 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2