搜档网
当前位置:搜档网 › 有关软件需求分析的步骤以及所需

有关软件需求分析的步骤以及所需

有关软件需求分析的步骤以及所需
有关软件需求分析的步骤以及所需

有关软件需求分析的步骤以及所需文档一、需求分析的几个方面

需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审等四个阶段,包括以下几个方面:

1、确定软件所期望的用户类;获取每个用户的需求

2、了解实际用户任务和目标以及这些任务所支持的业务需求

3、分析员与用户的信息以区别用户任务需求、功能需求、业务规则、质量

属性、建议解决方法和附加信息

4、将系统级的需求分为几个子系统,并将需求中的一部分分配给软件组件

5、了解相关质量属性的重要性

6、讨论得出实施优先级

7、将所收集的用户需求编写成需求规格说明和模型

8、评审需求规格说明,确保与用户达成共识

二、需求分析的任务与过程

需求分析的任务是借助于当前系统的物理模型(待开发系统的系统元素)导出目标系统的逻辑模型(只描述系统要完成的功能和要处理的数据),解决目标系统“做什么”的问题。

所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,通过逐步细化对软件的要求描述软件要处理的数据,并给软件开发提供一种可以转化为数据设计、结构设计和过程设计的数据与功能表示。

必须全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。

最后将软件的需求准确地表达出来,形成软件需求说明书SRS。

实现步骤:

(1)获得当前系统的物理模型

首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自己对当前系统的理解。此步骤也可以称为“业务建模”,其主要任务是对用户的组织机构或企业进行评估理解他们的需要及未来系统要解决的问题,然后建立一个业务USECASE模型和业务对象模型。当然如果系统相对简单,也没必要大动干戈区进行业务建模,只要做一些简单的业务分析即可。

(2)抽象出当前系统的逻辑模型

在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。

(3)建立目标系统的逻辑模型

明确目标系统要“做什么”

(4)对逻辑模型的补充

如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。

三、需求分析各过程:

(1)问题识别:解决目标系统做什么,做到什么程度。需求包括:功能、性能、环境、可靠性、安全性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析所需的通信途径。

(2)分析与综合:从数据流和数据结构出发,逐步细化所有的软件功能,找出各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分,综合成系统解决方案,给出目标系统的详细逻辑模型。常用的分析方法有面向数据流的结构化分析方法SA(数据流图DFD、数据词典DD、加工逻辑说明)、描绘系统数据关系的实体关系图ERD、面向数据结构的Jackson方法JSD、面向对象分析方法OOA(主要用UML)、对于有动态时序问题的软件可以用形式化技术,包括有穷状态机FSM的状态迁移(转换)图STD、时序图、Petri网或Z。每一种分析建模方法都有其优势和局限性,可以兼而有之以不同角度分析,应该避免陷入在软件需求方法和模型中发生教条的思维模式和派系斗争,一般来说结构化方法用于中小规模软件、面向对象方法用于大型软件。

(3)编制需求分析文档

(4)需求评审

四、结构化方法分析步骤

1)绘制关联图:绘制系统关联图是用于定义系统与系统外部实体间的界限和接口的简单模型。同时它也明确了通过接口的信息流和物质流。

2)创建开发原型:创建用户接口原型当开发人员或用户不能确定需求时,开发一个用户接口原型,这样使得许多概念和可能发生的事更为直观明了。用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题。注意要找出需求文档与原型之间所有的冲突之处。

3)分析可行性:分析需求可行性在允许的成本、性能要求下,分析每项需求实施的可行性,明确与每项需求实现相联系的风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。

4)确定需求优先级:确定软件工程需求的优先级别应用分析方法来确定使用实例、产品特性或单项需求实现的优先级别。以优先级为基础确定产品版本将包括哪些特性或哪类需求。当允许需求变更时,在特定的版本中加入每一项变更,并在那个版本计划中作出需要的变更。

5)为需求建立模型:为需求建立模型需求的图形分析模型是软件需求规格说明极好的补充说明。它们能提供不同的信息与关系以有助于找到不正确的、不一致的、遗漏的和冗余的需求。这样的模型包括数据流图、实体关系图、状态变换图、对话

框图、对象类及交互作用图。

6)编写数据字典:创建数据字典数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。在需求阶段,数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术语。分析和设计工具通常包括数据字典组件。

7)应用质量功能调配:使用质量功能调配质量功能调配是一种高级系统技术,它将产品特性、属性与对客户的重要性联系起来。该技术提供了一种分析方法以明确那些是客户最为关注的特性。它将需求分为三类:期望需求,即客户或许并未提及,但如若缺少会让他们感到不满意;普通需求;兴奋需求,即实现了会给客户带去惊喜,但若未实现也不会受到责备。

五、需求文档规范

A、三种编写方法

1、用好的结构化和自然语言编写文本型文档;

2、建立图形化模型,这些模型可以描绘转换过程、系统状态、和它们之间的变化、数据关系、逻辑流或对象类和他们的关系;

3、编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。

4、多种编写方法可在同一个文档使用,根据需要选择,或互为补充,以能够把需求说明白为目的。

B、应有成果

1、各业务手工办理流程文字说明;

2、各业务手工办理流程图;

3、各业务手工办理各环节输入输出表单、数据来源;

4、目标软件系统功能划分(示意图及文字说明);

5、目标软件系统中各业务办理流程文字说明;

6、目标软件系统中各业务办理流程图(模型);

7、目标软件系统中各业务办理各环节数据、数据采集方式、数据间的内在联系分析。

8、目标软件系统用户界面图、各式系统逻辑模型图及说明

C、文档工具推荐

1、调研结果《需求分析说明书》格式参照开发文档模板;

2、单位组织结构图、功能模块分解图用VISIO绘制,或直接用WORD中的画图工具;

3、业务流程图用VISIO中的FLOWCHART模板绘制;

4、系统逻辑模型使用ROSE绘制活用VISIO中的UML模板绘制;

5、软件用户界面用VISIO中的WIN95 USER INTERFACE模板绘制;

6、数据物理模型用POWERDESINER绘制;

D、需求文档编写原则

1、句子简短完整,具有正确的语法、拼写和标点;

2、使用的术语与词汇表中所定义的一致;

3、需求陈述应该有一致的样式,例如“系统必须..”或者“用户必须..”,并紧跟一个行为动作和可观察的结果。;

4、避免使用模糊、主观的术语,减少不确定性,如“界面友好、操作方便”;

5、避免使用比较性词语,如“提高”,应定量说明提高程度。

○六、编制软件需求规格说明书的内容要求如下:

一、引言

(1)编写目的

说明编写这份软件需求说明书的目的,指出预期的读者。

(2)项目背景

应包括:待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;该软件系统与其他系统的关系

(3)定义

列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

(4)参考资料

应包括:本项目的经核准的计划任务书或合同、上级机关的批文;项目开发计划;属于本项目的其他已发表的文件;本文件中各处引用的文件、资料、包括所要用到的软件开发标准(列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源)。

二、任务概述

(1)目标

叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|

(2)用户的特点

列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束

(3)假定和约束

列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。

三、数据描述

(1)静态数据

(2)动态数据

包括输入数据和输出数据

(3)数据库描述

给出使用数据库的名称和类型

(4)数据词典

(5)数据采集

四、功能要求

(1)功能划分

(2)功能描述

五、性能需求

(1)数据精确度

说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。(2)时间特性

说明对于该软件的时间特性要求,如响应时间、更新处理时间、数据转换与传输时间、运行时间等。

(3)适应性

是指软件在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时应具有的适应能力。

六、运行需求

(1)输人输出要求

解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。

(2)数据管理能力要求

说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。

(3)故障处理要求

列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。

(4)其他专门要求

如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。

七、运行环境规定

(1)设备

列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:处理器型号及内存容量;外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;输入及输出设备的型号和数量,联机或脱机;数据通信设备的型号和数量;功能键及其他专用硬件

(2)支持软件

列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。(3)硬件接口

说明该软件同其他软件之间的接口、数据通信协议等。

(4)控制

说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。

八、附录

软件需求分析的详细流程

第一阶段:总体把握,了解概况 接手一个项目,不要着急去了解需求,这一阶段是和具体用户方的领导层、业务层人员的访谈式沟通,主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体情况、客观的信息。建立起良好的沟通渠道和方式。针对具体的职能部门,最好能指定本次项目的接口人。 该阶段的主要工作方法:客户访谈 输出成果:业务流程报告/调查报告(对客户方的组织业务概况和企业现状的一些总结) 第二阶段:详细了解业务,梳理业务流程 通过第一阶段的调研,了解客户业务概况的前提下,经过充分的业务调研准备,开始进入正式的业务调研工作。这一阶段要对所有业务流程、业务单据、报表等进行详细的分析。整理出业务架构,尽可能多的与相关基层人员进行诱导式的访谈,与用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性。对主要的业务流程要有原型DEMO让客户操作,发现问题,提出改进的意见和建议。 该阶段的主要工作方法:访谈、业务分析、原型设计演示 输出成果:调研分析报告、原型反馈报告、业务流程报告 第三阶段:需求细化和确认 这一阶段是在上述两个阶段成果的基础上,进行具体的流程细化、数据项的确认阶段,这个阶段承建方必须提供原型系统和明确的业务流程报告、数据项表,并能清晰地向用户描述系统的业务流设计目标。用户方可以通过审查业务流程报告、数据项表以及操作承建方提供的DEMO系统,来提出反馈意见,并对已经可接受的报告、文档签字确认。 实现手段:拜访(回顾、确认),提交业务流程报告、数据项表;原型演示系统 输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归入需求分析报告中,提交用户方、监理方进行确认和存档)

软件需求分析考试资料

1、需求分析的最终结果是需求规格说明书。 2、需求分析中开发人员要从用户那里解决的最重要的问题是让软件做什么。 3、需求规格说明书中的内容不应该包括对算法的详细过程的描述。 4、需求规格说明书的作用不应包括软件可行性研究的依据。 5、关于面向对象方法中消息的叙述,不正确的是操作系统不断向应用程序发送消息,但应 用程序不能向操作系统发送消息。 6、面向对象技术中,对象是类的实例,对象有三种成分标识、属性、方法(或操作) 7、软件需求分析阶段的工作,可以分成以下四个方面对问题的识别、分析与综合、制定规 格说明以及需求分析评审。 8、软件需求规格说明书的内容不应该包括对算法的详细过程的描述。 9、产品特性可以称为质量属性,在众多质量属性,对于开发人员来说重要的属性有哪些? 可维护性、可移植性、可重用性、可测试性 10、求包括11个方面的内容,其中网络和操作系统的要求属于环境需求,如何隔离用户之间的数据属于安全保密需求,执行速度、相应时间及吞吐量属于性能需求,规定系统平均出错时间属于质量保证。 11、需求分析过程应该建立3中模型,他们分别是数据模型、功能模型、行为模型,以下几种图形中,数据流图(DFD)属于功能模型,实体-联系图(ERD)属于数据模型,状态转换图(STD)属于行为模型。 12、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。 A 决策树 B 数据流图C数据字典D快速原型 13、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性,其中,探索型和实验型用完可以丢弃,而进化型围绕原型修改、增加。 14、数据流图用于描述数据的处理过程。 15、DFD 的基本符号不包括下列哪种?(A)。 A 数据字典 B 加工 C 外部实体 D 数据流 E 数据存储文件 16、DD的主要字典条目包括以下哪种(E) A 数据流B文件 C 数据项D加工E以上都是 17、常用的动态分析方法不包括以下哪种(B) A 状态迁移图 B 层次方框图 C 时序图 D Petri网 18、需求分析阶段的文档包括以下哪些(E) A 软件需求规格说明书 B 数据要求说明书 C 初步的用户手册 D 修改、完善与确定开发实施计划 E 以上都是 19、需求验证应该从下述几个方面进行验证:(C) A 可靠性、可用性、易用性、重用性 B 可维护性、可移植性、可重用性、可测试性 C 一致性、现实性、完整性、有效性 D 功能性、非功能性 20、风险管理的要素包括哪些(D) A 风险评价 B 风险避免 C 风险控制 D 以上都是 21、下列描述中错误的是(D) A 每一个集成的需求变更必须能跟踪控制到一个经核准的变更请求。 B 变更过程应该做成文档,尽可能简单,当然首要的是有效性。 C 所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑。 D 可以从数据库中删除或修改变更请求的原始文档。

软件需求分析

软件需求分析 Prepared on 22 November 2020

第三章软件需求分析软件需求分析是软件定义阶段的最后一个步骤,它的基本任务是要准确地回答“系统必须做什么”这个问题,即对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,直接影响软件产品及工程的质量。 软件需求分析是一个不断进行揭示和判断的过程。在此过程中我们将对在软件可行性研究阶段确定的软件范围加以提炼使之具体化,并分析各软件部件可能采用的解决办法。在软件需求分析阶段,软件的开发者和软件需求者起着同样的重要作用。软件需求者设法把有关软件功能和性能的一些模糊的概念加以重述,使之成为具体的细节,而软件开发者则起着询问、顾问和问题解决者的作用。在需求分析中需要大量地交换意见,这其间充满着传错信息和发生误解的可能性,而我们的任务就是面对各种矛盾,协调各种人与人、人与物,物与物之间的关系。 需求分析的任务 1.确定系统的综合要求 系统的综合要求包括下面几个方面。 (1) 确定系统的功能要求。提出系统必须完成的全部所有功能。 (2) 确定系统的性能要求。包括系统的响应时间、系统需要的存储容量、后援存储器容量、系统重新启动、系统的安全性和可靠性等方面的性能要求。 (3) 确定系统的运行要求。主要是指系统运行时所处的环境要求,包

括支持系统运行的软件环境,工具软件和系统软件;支持系统运行的硬件环境,外存储器、通信接口、输入和输出等外部设备。 (4) 系统的扩充要求。不属于当前系统的开发范围,是将来有可能提出的要求,目的是使在 现有的设计中为将来的扩充做准备。 2.分析系统的数据要求 任何一个软件系统其本质上都是一个信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的概貌,同时也对软件设计有着深远的影响。因此,分析系统的数据要求,是软件需求分析的任务之一。 系统的数据来源和去处一般含如下几个方面。 (1) 从系统以外来,再到系统以外去; (2) 从系统以外来,再到系统内部去; (3) 从系统内部来,再到系统内部去; (4) 从系统内部来,再到系统外部去。 复杂的数据是由许多基本数据元素组成的,数据元素之间的逻辑关系形成了数据结构。我们一般用图形工具辅助描绘数据结构,常用的有层次方框图和Warnier图,将在本章第三节中介绍这两种工具。 3.建立系统的逻辑模型 以上述综合要求和数据要求的结果为基础,我们可以导出系统的逻辑模型,并通过数据流图、数据字典和主要处理算法来描述这个逻辑模型。具体过程如图3-1所示。 图3-1系统逻辑模型的导出过程

需求分析、概要设计、详细设计的标准格式.doc

需求分析,概要设计,详细设计的标准格式 一、开发计划 (一)引言 1、目的 说明编制开发计划的目的。 2、参考资料 列出必要的参考资料。 3、定义 列出用到的术语的定义和外文缩写的原文。 (二)概述 1、工作内容 2、主要参加人员 3、成果 列出要提交给用户的程序文件、文档或服务的名称,及非移交 成果的名称。 4、完成的最迟期限 (三)实施计划 1、任务的分解及人员分工 列出各项任务及其负责人和主要参加人员。 2、进度 列出各任务的开始日期和完成日期。 3、关键问题 列出影响整个开发项目的关键问题,技术难度、风险及处理方 案。 (四)支持条件 1、计算机系统支持 2、需要由用户承担 二、需求分析说明书 (一)引言 1、目的 说明编制需求分析说明书的目的。 2、参考资料 列出必要的参考资料。 3、定义 列出用到的术语的定义和外文缩写的原文。 (二)概述 1、目标 说明本项软件开发意图、应用目标、作用范围等,以及所开发的软件与其它软件的关系。

2、用户特点 列出使用本软件的用户类型、特点、其教育程度和技术特长。 3、约束和假定 列出本软件开发工作的假定和约束。 (三)需求规定 1、对功能的规定 根据功能模型逐项说明本软件各项功能的详细需求。 列出完成各项功能所需输入,处理,输出及所需控制等。 2、对性能的规定 包括精度、时间特性要求、灵活性。 3、数据要求 数据分为静态数据和动态数据两类。 静态数据是指在程序运行过程中一般不改变的数据; 动态数据是指在运行中发生变化、需要输入输出的数据。 (1)数据描述 (2)数据采集 (3)输入输出要求 (4)其它要求 (四)运行环境规定 (1)硬件 包括处理机、网络、输入输出设备及其它设备。 (2)软件 列出支持软件。 (3)接口 包括必要的硬件接口、软件接口、通讯接口等。 (五)关于不可能实现的用户要求的说明 三、概要设计说明书 (一)引言 1、目的 说明编制概要设计说明书目的。 2、参考资料 列出必要的参考资料。 3、定义 列出用到的术语的定义和外文缩写的原文。 (二)总体设计 1、需求规定 简述本系统的主要功能、性能等要求。 详见需求分析说明书。 2、运行环境 简述本系统的运行环境规定。 详见需求分析说明书。

软件需求分析重点-

软件需求分析重点 第1 章软件需求基础知识 返工的成本占了总开发成本的30%-50%,而对于返工的情况,70%-80%是国需求错误引起的。(11) 在对所有讨论问题有了更深入的了解之前不要急于回答。不能充分理解需求,就会作出过于乐观的估计,最终不可避免地陷入超支的泥潭。(13-14)造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确以及地需求的分析不透彻等。给出估算结果时,应该提供范围(最好的情况,最可能的情况和最糟的情况)或把握程度(“我有九成把握在三个月内完成”)。(14) 从产品的实际用户处收集需求这一过程是不可替代的。(18) 第2 章客户眼中的需求 某些需求问题源于混淆了不同层次的需求(业务需求、用户需求和功能需求)。(19) 要想开发出优秀的软件产品,必须以优质需求为基础精心制定计划。(20)不要指望项目涉众天生知道如何合作进行需求开发。必须花时间讨论如何最有效地进行协作。(22) 需求审阅是最有价值的保证软件质量的活动之一。(25) 需求批准过程的所有参与者都应该明白签字意味着什么,否则会出现很多问题。(25) 不可能在项目初期就能明确所有的需求,需求肯定要随时间的推移而发生变化。(26) 第3 章需求工程的推荐方法 熟练的需求分析员应具备以下特点:耐心,思维条理性强,有良好的交际和沟通能力,理解产品应用领域,并且掌握丰富的需求工作技术。(29)为每类用户选择代言人(31)

观察用户工作的过程(31) 跨项目重用需求(32) 过早地以尚不明确的需求为基础进行开销和进度评估是非常不可靠的。(37)38图表 不要期望可以线性地、顺序地完成获取、分析、编写规格说明和验证这些需求开发活动。(38) 第4 章需求分析员 相比缺乏经验的需求分析员,使用经验丰富的需求分析员能使项目所需求的工作量减少三分之一。(42) 优秀的需求分析员应同时具备出色的交流、引导和人际交待能力,具备技术和业务领域的丰富知识,以及适合这项工作的相应个性。耐心和真诚的合作愿望是关键的成功因素。(44) 需求分析员必须研究可能出错的情形。(44) 第5 章确定产品前景与项目范围 第6 章获取客户的需求 能否让开发人员更准确地了解用户需求,将决定软件需求工作能否取得成功,进而影响到软件开发的成功。(62) 项目伊始就应确定谁来担任问题的决策人。(72) 第7 章聆听客户的需求 需求开发工作的成果就是项目涉众之间就被处理的需求达成共识。(75) 需求获取的参与者在理解问题之前要抵制住诱惑,不要急于设计系统。 要强调用户任务,而不是用户界面,要强调根本需要,而不是用户表达出来的期望,这样有助于项目团队避免过早是制定设计的细节。 在软件开发中,需求获取也许是最困难、最关键、最容易出错和最需要沟通的一个环节。(76)

需求分析方法主要步骤

1.1主要步骤 遵循科学的需求分析步骤可以使需求分析工作更高效。需求分析的一般步骤如图2-3所示。 需求涉及的方面有很多。 在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。 在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。 在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。 在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。 1.1.1获取需求,识别问题 开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。 此外,在需求的获取时,还要明确用户对系统的安全性、可移植性和容错能力等其他要求。比如,多长时间需要对系统做一次备份,系统对运行的操作系统平台有何要求,发生错误后重启系统允许的最长时间是多少等。

遗漏需求是最难修订的需求错误。 --RobertL.Glass 获取需求是需求分析的基础。为了能有效地获取需求,开发人员应该采取科学的需求获取方法。在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。 问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。采用这种方法时,调查问卷的设计很重要。一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。 开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述自己的真实想法。但是,对开放式问题进行汇总和分析的工作会比较复杂。 封闭式问题的答案是预先设定的,用户从若干答案中进行选择。封闭式问题便于对问卷信息进行归纳与整理,但是会限制用户的思维。 访谈通过开发人员与特定的用户代表进行座谈,进而了解到用户的意见,是最直接的需求获取方法。为了使访谈有效,在进行访谈之前,开发人员要首先确定访谈的目的,进而准备一个问题列表,预先准备好希望通过访谈解决的问题。在访谈的过程中,开发人员要注意态度诚恳,并保持虚心求教的姿态,同时还要对重点问题进行深入的讨论。由于被访谈的用户身份可能多种多样,开发人员要根据用户的身份特点,进行提问,给予启发。当然,进行详细的记录也是访谈过程中必不可少的工作。访谈完成后,开发人员要对访谈的收获进行总结,澄清已解决的和有待进一步解决的问题。 关注用户的行为而不是他们的言语。

软件需求分析方法

需求分析方法 一需求分析概括 需求分析应该先了解宏观的问题,再了解细节的问题。 一个应用软件系统(记为S)的涉及面可能很广,可以按不同的问题域(记为D)分类,每个问题域对应于一个软件子系统。 S={D1,D2,D,…Dn} 问题域Di由若干问题(记为P)组成,每个问题对应于子系统中的一个软构件。 Di={P1,P2,P3,…Pn} 问题Pi有若干个行为(或功能,记为F),每个行为对应于软构件中的实现接口。 Pj={F1,F2,F3,…Fk} 需求说明书应该对于那些只想了解宏观需求的领导和需要了解细节的技术员都合适。在写需求说明书时,应该注意两个问题: 1.最好为每个需求注释“为什么”,这样可以让程序员了解需求的本质,以便选用最合适 的技术来实现此需求 2.需求说明不能有”二义性”,更不能前后矛盾。如果有二义性或前后矛盾,即要重新分 析此需求。 二需求分析方法论 第一阶段:“访谈式”

第一阶段是和具体用户方的领导层、业务层人员的访谈沟通,主要目的是从宏观上把握用户的具体需求方向和趋势,了解现有的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等等具体情况、客观的信息。 建立起良好的沟通渠道和方式。针对具体的职能部门以及各委办局,最好能指定本次项目的接口人。 实现手段:访谈、调查表格 输出成果:调查报告、业务流程报告 第二阶段:“诱导式” 结合第一阶段的基本信息,做出简单的用户流程页面,同时结合以往的项目经验对用户采用诱导式,启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、习惯性。用户可以操作简单演示的DEMO,感受整个业务流程的设计合理性、准确性等等问题,以及提出改进意见和方法。 实现手段:诱导(拜访)、原型演示 输出成果:调研分析报告、原型反馈报告、业务流程报告 第三阶段:“确认式” 此阶段在上述两个阶段成果的基础上,进行具体的流程细化、数据项的确认阶段。这个阶段承建方必须提供原型系统和明确的业务流程报告、数据项表,并能清晰地向用户描述系统的业务流设计目标。通过审查,提出反馈意见,并对已经可接受的报告、文档签字确认。 实现手段:拜访(回顾、确认),提交业务流程报告、数据项表;原型演示系统 输出成果:需求分析报告、数据项、业务流程报告、原型系统反馈意见(后三者可以统一归到需求分析报告中)

需求分析报告编写规范

需求分析报告编写规范 文件编号: NW503101 生效日期: 2000.3.20 受控编号: 密级:秘密版次:Ver2.1 修改状态:总页数16 正文 4 附录12 编制:杨利审核:袁淮批准:孟莉

沈阳东大阿尔派软件股份有限公司(版权所有,翻版必究)

文件修改控制

目录 1. 目的 2. 适用范围 3. 术语及缩略语 4. 编写规范 4.1排版规范 4.2模板使用 5. 引用文件 5.1NW503102《软件功能规格说明书编写规范》 6. 附录

1.目的 为使需求分析的结果能够完整、无遗漏地反映待开发系统的要求,本文件规定《需求分析报告》的编写格式和内容要求。 2.适用范围 适用于本公司软件产品或软件项目的需求分析报告的编制。 3.术语及缩略语 本程序采用NQ402100《质量手册》中的术语和缩略语及其定义。 4.编写规范 4.1排版规范 1)整个规范由2节构成,模板单独一节。 2)正文样式采用“规范正文”。 3)标题编号采用每节独立编号。 4.2模板使用 需求分析报告的编写可依据具体情况选用摸板的格式或编写指南的格式。 1)拷贝规范。 2)删除第一节(需求分析报告封面前的所有页)。 3)在修改完内容后,更新目录域和相关的页数域。 5.引用文件 5.1NW503102《软件功能规格说明书编写规范》 6.附录 以下部分为需求分析报告的模板与编写指南。

密级:机密 文档编号:第版分册名称:第册/共册 项目名称(项目编号) 需求分析报告 (部门名称) 沈阳东大阿尔派软件股份有限公司 总页数正文附录生效日期:年月日编制:审核:批准:

软件需求分析方法

欢迎阅读 软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。 1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整?性,促 使用户在软件设计启动之前周密地、全面地思考软件需求; 2)了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准;

3)为软件管理人员进行软件成本计价和编制软件开发计划书提供依据; 需求分析的具体内容可以归纳为六个方面:软件的功能需求,软件与硬件或其他外部系统接口,软件的非功能性需求,软件的反向需求,软件设计和实现上的限制,阅读支持信息。 软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。2.1、????? 软件功能需求 1 不 (5)??? 尽可能不使用“待定”这样的词。所有含有待定内容的需求都不是完整的文件,如果出现待定的部分,必须进行待定部分内容说明,落实负责人员、落实实施日期。 2)功能描述的无岔意性和可追踪性 需求功能描述的无岔意性、可追踪性和规范化: (1)??? 功能描述必须清晰地描述出怎样输入到怎样输出,并且输入、输出描述应对应有数据流描述、控制流描述图,这些描述必须与其它地方描述一致;

(2)??? 可以用语言、方程式、决策表、矩阵或图等对功能的描述。如果选用语言描述必须使用结构化的语言,描述前必须说明该步骤(或子功能)的执行是顺序,选择, 重复,还是并发,然后说明步骤逻辑。整个描述必须单入单出。 (3)??? 描述时,每一个功能名称和参照编号必须唯一,且不要将多个功能混在一起进行描述,这样便于功能的追踪和修改。 (4)??? 功能描述应注意需求说明和程序设计的区别。需求设计仅仅是软件的功能设计,它给出软件运行的的外部功能描述,以及为了实现这一外部功能必须做哪些事情(采 2.2、 2.3、 (2)??? 处理容限、精度、采样参数的分辨率,误差处理等; (3)??? 可靠性的MTBF要求,可维护性、安全性要求等。(对可能的不正常的输入给以正常响应是可靠性的重要内容,这属于功能性需求。) 2.4、????? 软件反向需求 软件的反向需求描述软件在那些情况下不能做什么。这一条是随软件实际要求而定。有两类情形需要采用反向需求的形式。第一种情况:某些用户需求适宜采用反向形式说明,如数据安全性要求属于这类形式。第二种情况:对一些可靠性和安全性要求较高的软件,有些必须描述软件不能做些什么。如控制点火时序,我们必须交代清楚在那些情况下不能点火,否则会造成故障。

有关软件需求分析的步骤以及所需

有关软件需求分析的步骤以及所需文档一、需求分析的几个方面 ○ 需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审等四个阶段,包括以下几个方面: 1、确定软件所期望的用户类;获取每个用户的需求 2、了解实际用户任务和目标以及这些任务所支持的业务需求 3、分析员与用户的信息以区别用户任务需求、功能需求、业务规则、质量 属性、建议解决方法和附加信息 4、将系统级的需求分为几个子系统,并将需求中的一部分分配给软件组件 5、了解相关质量属性的重要性 6、讨论得出实施优先级 7、将所收集的用户需求编写成需求规格说明和模型 8、评审需求规格说明,确保与用户达成共识 二、需求分析的任务与过程 ○ 需求分析的任务是借助于当前系统的物理模型(待开发系统的系统元素)导出目标系统的逻辑模型(只描述系统要完成的功能和要处理的数据),解决目标系统“做什么”的问题。

所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,通过逐步细化对软件的要求描述软件要处理的数据,并给软件开发提供一种可以转化为数据设计、结构设计和过程设计的数据与功能表示。 必须全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。 最后将软件的需求准确地表达出来,形成软件需求说明书SRS。 实现步骤: (1)获得当前系统的物理模型 首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自己对当前系统的理解。此步骤也可以称为“业务建模”,其主要任务是对用户的组织机构或企业进行评估理解他们的需要及未来系统要解决的问题,然后建立一个业务USECASE模型和业务对象模型。当然如果系统相对简单,也没必要大动干戈区进行业务建模,只要做一些简单的业务分析即可。 (2)抽象出当前系统的逻辑模型 在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。

如何进行软件需求分析

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。 软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关的机构分析结果表明,我们设计的软件产品存在不完整性、不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。 一、软件需求分析理论 如果我们用数学方法来描述软件需求分析,可以将一个应用软件定义为S,可能应用软件涉及功能性问题非常广,我们用抽象化理论分析,可以划分为各个功能域,可以用D1、D2、… Dn表示,那么,我们可以用一个表达式描述为S={D1,D2,D3,…Dn} 但是,功能域Di依然存在着有若干个问题P1、P2、P3、… Pm组成,并且每个功能对应于子系统中的一个软构件,我们可以表示为 Di={P1,P2,P3,…Pm} 同样,功能Pj有若干个行为F1、F2、F3、… Fk,每个行为对应于软构件中的实现方法 Pj={F1,F2,F3,…Fk} 一个软件包含了所有功能的集合,同时包含了实现所有功能的所有方法和算法描述。需求分析是依据于用户需求,经过需求问题识别,进行分析、消化与综合,制订规格说明,评审,分为四个阶段,形成用户需求与设计同步,设计满足用户需求目标。 需求分析方法始终贯穿着吸收、同化、贯彻方法和手段,用商业化行为解决需求与实现中存在的矛盾,解决用户需求与商业化产品融通,解决规范与个性化追求。 二、软件需求分析目标 软件需求分析的主要实现目标: 1)对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件需

软件产品需求分析过程思考

软件产品需求分析过程思考 很多人认为,软件的需求过程只有在做企业的软件时才用的上,因为要和客户打交道,要定需求才开发系统,原则上这样去做企业软件是没有问题,需求的过程管理,更多的是为了界定需求的边界防止客户扯皮的问题,也为以后的系统现实阶段奠基石.而网站,互联网的产品更多的好像没有这个需求的过程,我做的那个JJY 的产品,基本上需求是是大家凑出来,过程基本上没有,需求的过程控制的很一般.没有内功,不知道以后在产品需求发生变化或扩大时会有什么问题发生. 以下是做企业软件的需求过程管理以作为参考: 众所周期,软件需求分析是软件生命周期的第二阶段,主要对前期软件定义及计划阶段提到的任务及计划进行概要的补充,需求分析的主要任务不是确定将来的系统怎么完成某项工作,这是设计阶段的事情,而是明确系统将要完成什么功能,对目标系统将要完成的功能提出完整、准确的描述等;在我们国内很多软件公司里,需求分析阶段与设计阶段没有明确的界线,需求分析阶段的很多工作,都会放到设计阶段来做或干脆不做,一般很少严格按照软件工程的方法来执行(通过CMM认证的软件公司还好些),大多数人理解下的需求分析阶段的任务主要还是分三部分:需求的收集、需求整理与编写及最终的评审,在此就这几个阶段中经常遇到的问题作一下大体描述。 一、需求的收集 无论是老产品的改造还是新产品的开发,都需要收集大量的需求作为改造的重点对象,需求的收集也可笼统的分二大部分:内部需求与外部需求;内部需求一般包括软件在维护过程中客户反馈的未处理的需求、公司内部其它各部门在实施软件过程中反馈的需求及设计或研发人员在工作当中总结的对软件易用性、效率等方面的需求,还包括研究竞争对手的软件而得出的需求等;外部需求一般包括软件实施人员或代理商对产品提出的改造建议、设计人员直接到客户现场调研、通过与客户沟通而得到的需求等。在收集需求的过程中常会遇到以下几方面的问题: 1、误解客户需求,一般情况下需求分析人员与客户在业务术语表达上有所不同,交流过程中可能会理解有误,特别对于有二义性的需求,会导致分析人员误解客户的需求,也可以理解为需求表达比较模糊,不同的人有不同的理解。 2、需求的不确定性,一是分析人员对需求把握不准,有些从各个渠道反馈回来的需求有些失真,不能完全表达客户的意愿;二是客户需求的变动较大,不确定,不到真正实用很难表达清楚要实现的功能。 3、对时间的合理规划,收集过程中经常感觉时间太紧,无法完整的收集到客户的需求,这一点主要还是跟事先没有计划好有关,需求的收集是一个长期的过程,而不是在某一时间段内就能收集完的,好的需求在于平时的积累,是在日常维护工作中逐渐收集形成的。

需求分析习题及答案

第三章需求分析 一. 填空题 1.需求分析的步骤, , , 。 2.需求分析阶段需编写的文档有,,。 3.系统规格说明,数据要求,, ,这四份文档资料是在书写文档阶段必需完成的。 4.在书写文档阶段,数据要求主要包括通过需求分析建立起来的,以及描绘数据结构的层次方框图。 5.对于计算机程序处理的数据,其数据域应包括, , 和数据结构。 6.数据内容即是。 7.把一个功能分解成几个子功能,并确定, 就属于横向分解。 8.软件需求的逻辑视图给出, 而不是实现的细节。 9. 功能一般用, 来表示。 10.结构化分析方法是, 进行需求分析的方法. 11.描述结构化分析方法的工具有,,,判定表,判定树。 12. SA方法中自顶向下的分析策略主要是和。 13.数据流图的基本组成部分有,,,。 14.数据流图的特性,,,。 15.数据流图和数据字典共同构成了系统的模型,是需求规格说明书的主要组成部分。 16.分析员通过需求分析,逐步细化对软件的需求,描述软件主要处理的,并给软件开发提供一种可转化为,和的数据与功能表示。 17.需求分析阶段研究的对象是软件项目的。 18.数据流图的基本符号包括,,,。19.在需求分析阶段常用的图形工具有,,。20.需求分析应交付的主要文档是。 二. 选择题 1. 需求分析中开发人员要从用户那里了解() A.软件做什么B.用户使用界面C.输入的信息D.软件的规模 2. 需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能 3. 需求分析阶段最重要的技术文档之一是非曲直()。 A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告

软件需求分析习题大全

软件需求分析习题大全 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

习题集 一、单项选择题 1、需求分析最终结果是产生()。 A.项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书答案:C 2、需求分析中,开发人员要从用户那里解决的最重要的问题是()。 A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具有何种结构 答案:A 3、需求规格说明书的内容不应包括对()的描述。 A.主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能答案:B 4、需求规格说明书的作用不应包括()。 A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 答案:D 5、下面关于面向对象方法中消息的叙述,不正确的是()。 A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 答案:B 6、面向对象技术中,对象是类的实例。对象有三种成份:()、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息 答案:A 7、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、 制定规格说明以及()。 A.总结 B.实践性报告 C.需求分析评审 D.以上答案都不正确 答案:C 8、软件需求规格说明书的内容不应包括对()的描述。 A.主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能 答案:B 9、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B ) A 有效性、效率、灵活性、互操作性 B 可维护性、可移植性、可重用性、可测试性 C 完整性、可靠性、健壮性、可用性 D 容错性、易用性、简洁性、正确性

需求分析标准文档要求

软件需求文档格式的标准写法 1.引言 Internet的蓬勃发展,使新闻传播方式发生了巨大的变化,传统的信息传播媒体电视、管波、报纸已经不再是人们茶余饭后的主要精神甜点,人们开始更多的关注网络新闻。由于互联网所容纳的信息量大,内容丰富,信息及时、准确,更有相关信息的全面介绍与比较,大大地方便了人们的阅读,因此在短短几年里,互联网便跻身于众多媒体之间,并具有相当一部分媒体人群。借此东风,新闻网也迅速发展起来,它内容丰富,涉及商业、工业、农业、银行、财政、教育、娱乐和信息等各个产业,信息量大,不仅有时事新闻,还有相关的行业信息,同时新闻网具有互联网所具备的一切特性。在全球网络化、信息化的今天新闻网迅速的发展,大大丰富了人们的生活,不知不觉,它已成为人们生活中不可或缺的重要组成部分。1.1 编写目的 传统的信息发布方式已经不适应这个快速变化的信息时代,需要一个更高效,更简洁的方式进行信息发布。内容管理系统正是基于这样一个目的而诞生的,它是企业信息化建设和电子政务的新宠。它的基本思想是分离信息内容和表现形式,内容存储在数据库或独立的文件中,而表现形式存储在模版里。当用户请求页面时,各部分联合生成一个标准的HTML页面;当信息修改时,用户只需在一个可视化的界面对信息内容进行修改。大大缩短了信息的更新时间,提高了效率,并且简化了操作。 1.2 项目背景

·标识待开发软件产品的名称、代码; ·列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户; ·说明该软件产品与其他有关软件产品的相互关系。 https://www.sodocs.net/doc/569633341.html,平台,MVC本设计采用基于UML用例驱动对象建模的ICONIX项目管理方法,应用MVC 三层设计模式,实现一个可以完成新闻栏目和新闻信息的添加、修改、删除以及新闻查看功能的新闻发布系统。 1.3 术语说明 列出本文档中所用到的专门术语的定义和英文缩写词的原文。 1.4 参考资料(可有可无) 列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合

有关软件需求分析的步骤以及所需文档

有关软件需求分析的步骤以及所需文档 ○一、需求分析的几个方面 需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审等四个阶段,包括以下几个方面: 1、确定软件所期望的用户类;获取每个用户的需求 2、了解实际用户任务和目标以及这些任务所支持的业务需求 3、分析员与用户的信息以区别用户任务需求、功能需求、业务规则、 质量属性、建议解决方法和附加信息 4、将系统级的需求分为几个子系统,并将需求中的一部分分配给软件 组件 5、了解相关质量属性的重要性 6、讨论得出实施优先级 7、将所收集的用户需求编写成需求规格说明和模型 8、评审需求规格说明,确保与用户达成共识 ○二、需求分析的任务与过程 需求分析的任务是借助于当前系统的物理模型(待开发系统的系统元素)导出目标系统的逻辑模型(只描述系统要完成的功能和要处理的数据),解决目标系统“做什么”的问题。 所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,通过逐步细化对软件的要求描述软件要处理的数据,并给软件开发提供一种可以转化为数据设计、结构设计和过程设计的数据与功能表示。 必须全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。 最后将软件的需求准确地表达出来,形成软件需求说明书SRS。

实现步骤: (1)获得当前系统的物理模型 首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自己对当前系统的理解。此步骤也可以称为“业务建模”,其主要任务是对用户的组织机构或企业进行评估理解他们的需要及未来系统要解决的问题,然后建立一个业务USECASE模型和业务对象模型。当然如果系统相对简单,也没必要大动干戈区进行业务建模,只要做一些简单的业务分析即可。 (2)抽象出当前系统的逻辑模型 在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。 (3)建立目标系统的逻辑模型 明确目标系统要“做什么” (4)对逻辑模型的补充 如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。 ○三、需求分析各过程: (1)问题识别:解决目标系统做什么,做到什么程度。需求包括:功能、性能、环境、可靠性、安全性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析所需的通信途径。 (2)分析与综合:从数据流和数据结构出发,逐步细化所有的软件功能,找出各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分,综合成系统解决方案,给出目标系统的详细逻辑模型。常用的分析方法有面向数据流的结构化分析方法SA(数据流图DFD、数据词典DD、加工逻辑说明)、描绘系统数据关系的实体关系图ERD、面向数据结构的Jackson 方法JSD、面向对象分析方法OOA(主要用UML)、对于有动态时序问题的软件可以用形式化技术,包括有穷状态机FSM的状态迁移(转换)图STD、时序图、

软件需求分析报告(完整版)

软件需求分析报告-(完整版) 目录 1. 范围 (1) 2. 总体要求 (1) 2.1总体功能要求 (1) 2.2软件开发平台要求 (1) 2.3软件项目的开发实施过程管理要求 (2) 2.3.1 软件项目实施过程总体要求 (2) 2.3.2 软件项目实施变更要求 (2) 2.3.3 软件项目实施里程碑控制 (2) 3. 软件开发 (3) 3.1软件的需求分析 (3) 3.1.1 需求分析 (3) 3.1.2 需求分析报告的编制者 (4) 3.1.3 需求报告评审 (4) 3.1.4 需求报告格式 (4) 3.2软件的概要设计 (4) 3.2.1 概要设计 (4) 3.2.2 编写概要设计的要求 (4) 3.2.3 概要设计报告的编写者 (4) 3.2.4 概要设计和需求分析、详细设计之间的关系和区别 (4) 3.2.5 概要设计的评审 (4) 3.2.6 概要设计格式 (4) 3.3软件的详细设计 (5) 3.3.1 详细设计 (5) 3.3.2 特例 (5) 3.3.3 详细设计的要求 (5) 3.3.4 数据库设计 (5) 3.3.5 详细设计的评审 (5) 3.3.6 详细设计格式 (5) 3.4软件的编码 (5) 3.4.1 软件编码 (5) 3.4.2 软件编码的要求 (5) 3.4.3 编码的评审 (6) 3.4.4 编程规范及要求 (6) 3.5软件的测试 (6) 3.5.1 软件测试 (6) 3.5.2 测试计划 (6) 3.6软件的交付准备 (6) 3.6.1 交付清单 (6)

3.7软件的鉴定验收 (7) 3.7.1 软件的鉴定验收 (7) 3.7.2 验收人员 (7) 3.7.3 验收具体内容 (7) 3.7.4 软件验收测试大纲 (7) 3.8培训 (7) 3.8.1 系统应用培训 (7) 3.8.2 系统管理的培训(可选) (8) 附录A 软件需求分析报告文档模板 (9) 附录B 软件概要设计报告文档模板 (21) 附录C 软件详细设计报告文档模板 (33) 附录D 软件数据库设计报告文档模板 (43) 附录E 软件测试(验收)大纲 ...................................................................... 错误!未定义书签。5

需求分析规范——编码规范V10

1. 需求类文档 (如:用例编号) 子系统(或特性,见附表)(当为整个项目的文档时,此段空) 文档内容(见附表) 项目编号(见附表) 2. 项目管理类文档 XXX-PM-XXX-XXX-XXX 版本号 文档内容 子系统(或特性,见附表)(当为整个项目的文档时,此段空) 项目编号 3. 用例编号 3.1 正常用例编号 XXXnnn (第一位为1新建、2修改、3显示、4事务处理、5事务处理、6查询打印、7期末处 理、8组织机构及通用的后台设置、9事务的后台设置; 第二、三位为流水号。给用例编号时,根据需要可以适当留空号) 子模块代码(见附表ModuleList.xls) 说明: (1)正常按照功能划分的用例,其编号按照上面的规则进行编码,将来这个6位编码可以作为事务码来使用。有些比较复杂的用例,为了书写方便的目的而将其拆分为几个子用例,这时没有必 要为每个子用例重新编号,而是在原来用例编号之后加2位数字顺序号表示,这个多于6位的 新编号将来不作为(也没有必要作为)事务码使用; (2)划分子用例允许到多个层次级别,每向后增加一个级别,就在原用例编号之后再加2位数字顺序号,以此类推。 3.2 特定实施单位功能扩充用例编号 定义: (1)系统标准功能中已经有一个用例,某实施单位需要这个用例,但是与系统标准用例功能之间存在着差异,需要对这个用例进行特殊增加或修改功能,从而产生新的用例; (2)没有或预计不会再有其他实施单位存在这个同样的功能差异,没有必要为这个新用例创建与原用例编号没有任何联系的全新的用例编号。 编号规则: 在原正常用例的后面增加三位字符“Xnn”,其中:“X”代表特定实施单位(见附表《特定实施单位对照表》);“nn”为同一用例、在同一个实施单位的多个变型顺序号。 例如:用例INV413A01是依据INV413为轿车公司特制开发的第一个变型用例。 3.3 用例扩充用例编号 定义:

软件工程需求分析案例

11.假设你在一所职业高中工作,负责该校信息系统的建设与维护。财务科长请你研究用学校拥有的微型计算机生成工资明细表和各种财务报表的可能性。请详细描述你用结构化分析方法分析上述问题的过程。 答:通常,结构化分析过程包括问题定义、可行性研究和需求分析3个阶段。下面分别叙述这3个阶段的分析过程。 (1)问题定义 从何处着手解决财务科长提出的问呢?立即开始考虑实现工资支付系统的 详细方案并动手编写程序,对技术人员无疑是很有吸引力的。但是,在这样的 早期阶段就考虑具体的技术问题,却很可能会是我们迷失前进的方向。会计部 门(用户)并没有要求在学校自己的计算机上实现工资支付系统,仅仅要求研 究这样的可能性。后者是和前者很不相同的问题,它实际上是问,这样做预期 将获得的经济效益能超过开发这个系统的成本吗?换句话说,这样做值得吗? 优秀的系统分析员还应该进一步考虑,用户面临的问题究竟是什么。财务 科长为什么想研究在自己的计算机上实现工资支付系统的可能性呢?询问财务 科长后得知,该校一直由会计人工计算工资并编制财务报表,随着学校规模扩 大工作量也越来越大。目前每个月都需要两名会计紧张工作半个月才能完成, 不仅效率低而且成本高。今后学校规模将进一步扩大,人工计算的成本还会进 一步提高。 因此,目标是寻找一种比较便宜的生成工资明细表和各种财务报表的办法,并不一定必须在学校自己的计算机上实现工资支付系统。财务科长提出的要求,实际上并没有描述应该解决的问题,而是在建议一种解决问题的方案。这种解 决方案可能是一个好办法,分析员当然应该认真研究它,但是也还应该考虑其 他可能的解决方案,以便选出最好的方案。良好的问题定义应该明确地描述实 际问题,而不是隐含的描述解决问题的方案。 分析员应该考虑的另一个关键问题,是预期的项目规模。为了改进工资支 付系统最多可以花多少钱?虽然没人明确提出来,但是肯定会有某个限度。应 该考虑下述3个基本数字:目前计算工资所花费的成本,新系统的开发成本和 运行费用。新系统的运行费用必须低于目前的成本,而且节省的费用应该能使 学校在一个合理的期限内收回开发新系统时的投资。 目前,每个月有两名会计用半个月时间计算工资和编制报表,一名会计每 个月的工资和岗位津贴共约2000元,因此,每年为此项工作花费的人工费约2.4万元。显然,任何新系统的运行费用也不可能减少到小于零,因此,新系统每 年最多可能获得的经济效益是2.4万元。 为了每年能节省2.4万元,投资多少钱是可以接受的呢?绝大多数单位都 希望在3年内收回投资,因此,7.2万元可能是投资额的一个合理的上限值。 虽然这是一个很粗略的数字,但是它确实能使用户对项目规模有一些了解。 为了请客户(会计科和学校校长)检验分析员对需要解决的问题和项目规 模的认识是否正确,以便在双方达成共识的基础上开发出确实能满足用户实际 需要的新系统,典型地,分析员用一份简短的书面备忘录表达他对问题的认识,这份文档称为“关于系统规模和目标的报告书”(见表2.1)。

相关主题