需求分析文档都包括哪些内容,最好能够有一个大概的文档组织框架

xuecaixia 2004-10-08 04:09:32
目前在做一个总体设计项目,项目需要提交4份报告,包括调研报告、需求分析报告、解决方案报告以及实施计划报告,但是我不是很清楚在调研结束后,需求分析报告中需要哪些内容,如何组织这个需求分析文档,请有经验的各位大侠多多指教。
我从网上搜索了一下需求分析文档,但是好像不太适合。
...全文
4184 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
redeemleep 2005-03-01
  • 打赏
  • 举报
回复
我们的客户在抱怨:给你说一点需求,就做一点,就不能多替我们想一想,为什么要我们不停的提需求,你们才做。
我们的程序员在抱怨:程序都做完了,又提新需求,做完了又要改,烦死了,不能一次提完。

软件工程!我一直忽略的问题!现在新建一个群 9949057 希望各位感兴趣的同仁一起加入 !
谜斯特段 2004-11-18
  • 打赏
  • 举报
回复
ozzzzzz(希望敏捷) 说了一堆不解决问题的话。

需求规格说明是一定要有的,要不合同怎么签啊?拿什么来验证你系统完成了?
xuecaixia 2004-10-09
  • 打赏
  • 举报
回复
ozzzzzz(希望敏捷) 说的很正确,关键是我对于软件工程的知识太少,让我这样都不知道如何去做就去培训客户有些“虚”。
而lymticsay(豪哥) 列出的是一般的需求分析文档框架,我个人认为偏于技术,可能对于客户,他们看不到让他们实实在在心安的东西,我认为需求这个方面应该还是以客户为主的,对于技术方面(比如说,有关数据库的描述)是不是要放在总体设计进行讨论。
lymticsay 2004-10-08
  • 打赏
  • 举报
回复
楼主参考一下下面的实例吧:


文档编号:NameAdd’98_Development_00
版本号:1.0
文档名称:需求规格说明书
项目名称:名址录
项目负责人:王虎
编写:王虎
校对:谭刚
审核:王磊
批准:谭刚
开发单位:清华大学计算机系计45班软件开发小组

1. 引言
1.1 编写目的
在完成了针对《名址录》软件市场的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,项目小组提出了这份软件需求规格说明书。
此需求规格说明书对《名址录》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
1.2 项目背景
随着业务逐渐扩大,各公司或(商业)机构与外界联系将更为广泛和密切,传统的手工通讯录、地址簿已经难以满足快节奏、高效率的现代生活的需求。经常发生要在几十甚至上百张名片中找出某一张名片的情况,若由手工完成效率十分低。当业务扩大后,传统的手工通讯录非常不方便,不易查询、修改、存放,不易保密,容易遗失。
由计算机来管理庞大而繁杂的(商务)通讯录是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化商务(及其它公共关系)活动的要求,同时也更利于实现全面办公自动化。
项目小组已完成了全面的市场调查和分析,同时与目标用户进行了多次深入沟通,并在此基础上着手开发《名址录》软件。
1.3 参考资料
[1] 郑人杰, 殷人昆, 陶永雷, 《实用软件工程》, 清华大学出版社, 1997.
2. 任务概述
2.1 目标
《名址录》软件旨在为商业人士及在社会团体、机构中负责公共关系的人士提供一个功能全面、使用方便的个人社会关系数据库系统(Individual Social Connection Database System),以替代传统的手工通讯录,同时利用先进信息技术为用户提供一些更为方便实用的功能。
此软件的使用者具有如下特点:
l 工作繁忙,惜时如金;
l 工作中与外界联系非常频繁;
l 与外界的联系成为开展工作的关键因素,相关信息丢失或损坏可能带来重大损失;
l 已经或即将实施办公自动化。
针对如上用户特点,《名址录》软件可以迅捷、准确、方便地提供ISCDS的各项管理功能,同时力求为用户提供方便、高效、实用的功能。
2.2 运行环境
2.2.1 硬件环境
486或更高档PC台式机,笔记本电脑,或WindowsCE;
运行时占用内存:1MB;
安装所需硬盘:5MB;
打印机:可选。
2.2.2 软件环境
可选软件平台:
l 中文Windows95
l Windows95、Windows NT 4.0或更高版本 + 中文之星2.0;
l WindowsCE + 中文平台
2.3 条件与限制
更为可行的选择是将《名址录》软件实现在电子记事本、PDA等硬件平台上,并实现标准数据库格式以共享;同时可考虑与Lotus Notes集成起来,使其成为办公自动化套件中的一个组件;在功能上还可进一步实现安全防范、与E-Mail和因特网电话集成起来。
3. 数据描述
3.1 静态数据
姓名 name
单位及部门 company
职务 job
(单位)地址 add_com
邮编 postcode
电话(办公室) tel_O
传真(办公室) fax_O
寻呼 BP
手机 tel_mov
E-Mail E_Mail
宅电 tel_H
性别 sex
备注 memo
3.2 动态数据
输入数据:菜单选项,查找关键字,新建记录项。
输出数据:由查询关键字确定的数据库记录集合。
内部生成的数据:中间查询结果。
3.3 数据库描述
本软件采用DBASE数据库。
3.4 数据流图

《名址录》软件的数据流图是比较清晰的,对各功能模块来说都比较有规律。但完整的图比较繁琐,一个功能模块的数据流图如下。
一个查询功能的数据流图如上。其它的功能模块(刷新浏览、刷新基本资料、修改、增加、删除、打印、显示详细资料、快捷功能)都与查询模块基本类似,可能同时与用户、事件驱动控制、显示、数据库、内存缓冲区等数据加工或数据文件发生关系,并有细微差别。
可以给出一个粗略的整体数据流图见后所示。
3.5 数据词典
这里给出一个不完整的数据词典,许多数据都在后面逐步清晰。
[1] 姓名=1{汉字}10|1{字母}20
[2] 单位或部门=1{汉字}40|1{字母}80
[3] 职务=1{汉字}10|1{字母}20
[4] (单位)地址=1{汉字|数字}40|1{字母|数字}80

[1] 邮编=1{数字}8
[2] 电话(办公室)=1{数字|Space|-}40
[3] 传真(办公室)=1{数字|Space|-}20
[4] 寻呼=1{数字|Space|-}20
[5] 手机=1{数字|Space|-}15
[6] E-Mail=1{字母|.|@|数字}20
[7] 宅电=1{数字|Space|-}20
[8] 性别=男|女
[9] 备注=1{汉字|字母}+
4. 功能需求
4.1 功能划分
本软件具有如下主要功能:
1. 浏览功能
2. 查询功能
3. 修改功能
4. 增加功能
5. 删除功能
6. 打印功能
7. 快捷功能
4.2 功能描述
1. 浏览功能
l 列出所有记录(每项记录只列出姓名、单位及部门、办公室电话域);
l 可选定一项记录,显示所有域;
2. 查询功能
l 姓名匹配查询;
l 单位及部门匹配查询;
l 电话号码匹配查询(包括多个域);
3. 修改功能
l 修改所有的域,姓名不能为空;
4. 增加功能
l 增加一个新的记录;
5. 删除功能
l 删除一个记录,提供确认机制;
6. 打印功能
l 选择特定记录(一个或多个)打印报表;
l 打印信封封面;
7. 快捷功能
l 以数字键表示特定记录,使用户只需按一个键即可得到所需记录;
5. 性能需求
5.1 数据精确度
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常的ISCDS规模在几十到几百项记录,以查全率为标准所带来的对查准率的影响并不大。
5.2 时间特性
一般操作的响应时间应在1~2秒内,对软磁盘和打印机的操作也应在可接受的时间内完成。
5.3 适应性
满足个人使用的需求(记录量控制在1000项内)。
对前面提到的运行环境要求不应存在困难。
6. 运行需求
6.1 用户界面
采用菜单界面驱动方式,对用户友好。必须对鼠标和键盘单独支持(WindowsCE可能以没有鼠标的配置运行)。
6.2 硬件接口
支持一般x86系列微机和WindowsCE。
6.3 软件接口
运行于Windows95及更高版本具有WIN32 API的操作系统之上。
6.4 故障处理
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
ozzzzzz 2004-10-08
  • 打赏
  • 举报
回复
根本问题不在于客户需要这些文档,而在于客户还没有一个软件开发究竟是一种什么活动的概念,同时他们也不知道自己在软件开发过程中客户究竟需要做什么,开发者究竟需要做什么.就你目前的状况来说,客户只是知道别人作开发的时候做过什么,就以为自己也应该做什么,别人都要求了什么文档自己就需要什么文档.这显然是一种无知的做法.
目前状况下要给客户提供的不是一个什么文档,而是一个关于软件开发过程的培训.告诉客户在开发过程中究竟需要有些什么步骤,具体到你们的公司这些步骤究竟是怎么样的,为什么有些步骤是必须的,有些是可以调整的,什么步骤是这个项目的重点,什么步骤单独一方就可以完成,什么步骤需要大家合作,这些步骤究竟需要花费什么代价.其实这样的一个培训客户都十分愿意去接受(至少我接触的客户都愿意),因为它是免费的:客户免费接受了一次你们免费给自己进行的商业交流活动.
我发现现在很多公司的问题都是在客户面前没有相对应的商业手段,基本上就是钱加关系,吃吃喝喝,真正的业务交流和技术交流都是不在考虑的.实际上这些才是真正的较量公司实力的手段,也是真正可以显示公司实力的手段.
xuecaixia 2004-10-08
  • 打赏
  • 举报
回复
首先非常感谢ozzzzzz(希望敏捷)对于我的问题进行如此详细的回答,也看到了真正的需求分析不是如我想象中的那么简单和狭隘。
需要这些文档的人就是我们的客户,其实他们也不明白需求分析对他们什么用,他们最需要的就是总体设计报告,而调研和需求只是这个报告的过程,所以我很迷茫,不知道需求报告中应该有什么,看来对于你所列出的需求分析各个方面我是不能进行的了,我只有针对客户的具体业务情况进行分析,虽然这样的分析是非常不全面的。
还有:我原来的理解的需求分析是解决系统“做什么”,而设计是解决系统“如何做”的问题。而在我们这个项目中,总体设计是解决“做什么”的问题,而在详细设计中才会详细的分析“如何做”,所以这个也是我的困惑。也不知道我这样的理解是否正确,或者有些形而上学了。
amekoxiao 2004-10-08
  • 打赏
  • 举报
回复
同意楼上,屁用没有
ozzzzzz 2004-10-08
  • 打赏
  • 举报
回复

首先你要找那些让你提交这些报告的人,问明白他们说的这些报告究竟需要涉及什么内容,给什么人看,格式和文档的风格要求是什么。如果他们不能告诉你一个满意的答案,就没有必要给他们一个他们自己都不知道想不想要的东西。
而实际上需求分析报告可以说是文档体系中最没有必要存在的。当然我不是说需求分析不重要,而是说需求分析太重要,是一个报告所不能容纳的,而是要有一个包括数个不同内容体系的文档系统。而如果你的项目根本就没有那么多的资金和资源,你一般就不要动用这样一个庞大的系统。你在这个时候只需要随时记录你的想法,列出你的关注点和解决的想法。而当然这个系统虽然庞大,但是还有很多线索要你去掌握它们的建造。首先这个系统需要有一个业务目标分析,也就你的这个系统要达到的业务目标,要结合具体的企业环境进行系统分析和论证,这个文档的阅读者基本上属于最高级次的决策者。还要有一个技术目标分析,也就是你的这个项目将解决什么具体的技术问题,这个部分也十分的复杂,基本上需要行业专家认真地分析,这个文档的阅读者属于管理者。还要有一个技术实现的报告,也就是你需要为完成这个项目动用什么技术,主要是你必须说出在这个项目的几种可使用技术方案中你为什么要选择你目前的这种,这个文档的阅读者基本上就是相关的技术人员。而同时你还需要一个风险分析的报告,把这个文档要针对业务/技术/实现这三个层次的问题中要遇到的各种风险进行分析。这属于基本的需求分析的基础文档系统。
然后你还需要面对你的具体的情况进行具体的项目的规划分析。首先如果你的项目是一个开发型的项目,你就有必要对你的业务目标和技术目标的实现进行一种设计。这个工作需要大量的市场和人类学知识。其次你还需要对你上面这个需求的设计进行分析,以把其转化为开发者可以接受的文档格式。然后你还需要对这些需求进行具体的粒度化的划分,将其细化为一些原子态的互相联系的部分。在此基础上你还需要对这些具体的技术实现进行规划,找出最重要的和最有难度的部分。同时这个层次的风险分析也需要有一个单独的文档说明。
最后你还需要对实现中具体的细节问题组织你的需求分析文档。这些问题包括,你使用的具体技术需要什么要求的人员和设备等等资源。你的需求需要如果进行测试,以保证你的这些需求能够被真正的贯彻。你的系统需要如何部署在你的业务环节中。你的人员培训需要采用什么措施。这些问题都需要有专门的文档,而且也都是需求分析方面的。
基本上这样一个系统要有10份以上的文档,而关键在于不同的问题应该在不同的文档中说明,同时你还必要在这些文档的相互关系中做出一种标注。这样一个工程,基本上需要一个团队来专门的进行协调和维护。至于书写则是一个文档就要一个小组,同时还必须有一个系统的管理小组。在这样一个文档系统中,基本上可以保证你所有的关注都在你的文档中体现了。
当然这样的文档系统我估计你在国内根本就看不到,国外也难找。而国内常见的情况是,这些文档和垃圾的地位一样,基本上都是人为的制造的无用的浪费时间的和精力的废纸。
还是回到最初的问题,你最好还是先去问问需要这些文档的人,他们究竟是要什么,有什么具体的要求,肯为这些文档出什么价钱。如果他们不能告诉你,你就只需要为自己建立一个文档,当然有的时候你会觉得自己不需要任何文档,那么你不需要好了。没有任何文档也不说明什么,到处都是文档倒是肯定的说明这个组织水准和开发能力十分的低劣。

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧