开发需求文档范文
Android APP开发需求文档范本
软件需求文档格式的标准写法1.引言1.1 编写目的· 阐明开发本软件的目的;1.2 项目背景· 标识待开发软件产品的名称、代码;· 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户;· 说明该软件产品与其他有关软件产品的相互关系。
1.3 术语说明列出本文档中所用到的专门术语的定义和英文缩写词的原文。1.4 参考资料(可有可无) 列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合同、引用的标准和规范、项目开发计划、需求规格说明、使用实例文档,以及相关产品的软件需求规格说明。
在这里应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资料来源。2.项目概述 2.1 待开发软件的一般描述 描述待开发软件的背景,所应达到的目标,以及市场前景等。
2.2 待开发软件的功能 简述待开发软件所具有的主要功能。为了帮助每个读者易于理解,可以使用列表或图形的方法进行描述。
使用图形表示,可以采用: · 顶层数据流图; · 用例UseCase图; · 系统流程图; · 层次方框图。 2.3 用户特征和水平(是哪类人使用) 描述最终用户应具有的受教育水平、工作经验及技术专长。
2.4 运行环境 描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软件或与其共存的应用程序等。 2.5 条件与限制 给出影响开发人员在设计软件时的约束条款,例如: · 必须使用或避免使用的特定技术、工具、编程语言和数据库; · 硬件限制; · 所要求的开发规范或标准。
3.功能需求 3.1 功能划分 列举出所开发的软件能实现的全部功能,可采用文字、图表或数学公式等多种方法进行描述。3.2 功能描述对各个功能进行详细的描述。
4.外部接口需求4.1 用户界面对用户希望该软件所具有的界面特征进行描述。以下是可能要包括的一些特征:· 将要采用的图形用户界面标准或产品系列的风格;· 屏幕布局;· 菜单布局;· 输入输出格式;· 错误信息显示格式;建议采用RAD开发工具, 比如Visio,构造用户界面。
4.2 硬件接口 描述系统中软件产品和硬件设备每一接口的特征,以及硬件接口支持的设备、软件与硬件接口之间,以及硬件接口与支持设备之间的约定,包括交流的数据和控制信息的性质以及所使用的通信协议。4.3 软件接口 描述该软件产品与其有关软件的接口关系,并指出这些外部软件或组件的名字和版本号。
比如运行在什么操作系统上,访问何种类型的数据库,使用什么数据库连接组件,和什么商业软件共享数据等。4.4 通信接口 描述和本软件产品相关的各种通信需求,包括电子邮件、Web浏览器、网络通信协议等。
4.5 故障处理 对可能的软件、硬件故障以及对各项性能而言所产生的后果进行处理。5.性能需求5.1 数据精确度输出结果的精度。
5.2 时间特性 时间特性可包括如下几方面 ·响应时间; ·更新处理时间; ·数据转换与传输时间; ·运行时间等。 5.3 适应性 在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,软件的适应能力。
6.其他需求列出在本文的其他部分未出现的需求。如果不需要增加其他需求,可省略这一部分。
7.数据描述 7.1 静态数据 7.2 动态数据包括输入数据和输出数据。 7.3 数据库描述 给出使用数据库的名称和类型。
7.4 数据字典对于数据流图、层次方框图中出现的所有图形元素在数据字典中都要作为一个词条加以定义,使得每一个图形元素都有唯一的一个清晰明确的解释。数据字典中所有的定义必须是严密的、精确的,不可有二意性。
7.5 数据采集 ·列出提供输入数据的机构、设备和人员 ·列出数据输入的手段、介质和设备; ·列出数据生成的方法、介质和设备。8.附录 包括分析模型,待定问题图表等。
软件开发文档有哪些-需求文档在软件开发中有哪些作用?需求文档在
需求是指明必须实现什么的规格说明。
它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。 从上面这些不同形式的定义不难发现:并没有一个清晰、毫无二义性的“需求”术语存在,真正的“需求”实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对。
系统分析员和客户需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识。任何文档形式的需求(例如如下将要描述的需求规格说明书)仅是一个模型,一种描述。
开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。
同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。目前,国内产品的庞杂,一家企业可能有几个系统并立运行,它们之间接口是系统开发人员最头痛的问题。
项目需求分析怎么写
项目需求分析的概念 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。
(这个和我在微软体验到的又不太一样,微软的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理解,因为公司的性质有根本差别)在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后,要求得到:1.SRS文档(System Requirement Specification); 2.DRM 文档;3.Acceptance Plan. 从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。
狭义上理解:需求分析指需求的分析、定义过程。 一、为什么要需求分析 需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,痕不得找块豆腐一头撞死. 需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计. 二、需求分析的任务 简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求.三、需求分析的过程 需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审. 问题识别 就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准.这些需求包括:功能需求(做什么),性能需求(要达到什么指标),环境需求(如机型,操作系统等),可靠性需求(不发生故障的概率),安全保密需求,用户界面需求,资源使用需求(软件运行是所需的内存,CPU等),软件成本消耗与开发进度需求,预先估计以后系统可能达到的目标. 分析与综合 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分.最后,综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型). 制订规格说明书 即编制文档,描述需求的文档称为软件需求规格说明书.请注意,需求分析阶段的成果是需求规格说明书(好象软考曾经考过这个问题),向下一阶段提交. 评审 对功能的正确性,完整性和清晰性,以及其它需求给予评价.评审通过才可进行下一阶段的工作,否则重新进行需求分析。
四、需求分析的方法 需求分析的方法有很多.这里只强调原型化方法,其它的方法如:结构化方法,动态分析法等(个人认为,对初学者不必深究这些方法,实际上我也从来没用过这些方法)在此不讨论. 原型化方法是十分重要的(是软考等常考的知识点).原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能. 原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷.建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等.如,为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型.以后的目标系统就在原型系统的基础上开发. 原型主要有三种类型(软考考过):探索型,实验型,进化型.探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性.实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠.进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。 在使用原型化方法是有两种不同的策略:废弃策略,追加策略.废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整,准确,一致,可靠的最终系统.系统构造完成后,原来的模型系统就被废弃不用.探索型和实验型属于这种策略。
追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略.。