当前位置:文档之家› 软件项目文档

软件项目文档

软件项目文档
软件项目文档

软件文档

文档的作用和分类

软件文档(document)也称文件,通常指的是一些记录的数据和数据媒体,它具有固定不变的形式,可被人和计算机阅读。它和计算机程序共同构成了能完成特定功能的计算机软件(有人把源程序也当作文档的一部分)。我们知道,硬件产品和产品资料在整个生产过程中都是有形可见的,软件生产则有很大不同,文档本身就是软件产品。没有文档的软件,不成其为软件,更谈不到软件产品。软件文档的编制(document ation)在软件开发工作中占有突出的地位和相当的工作量。高效率、高质量地开发、分发、管理和维护文档对于转让、变更、修正、扩充和使用文档,对于充分发挥软件产品的效益有着重要意义。

然而,在实际工作中,文档在编制和使用中存在着许多问题,有待于解决。软件开发人员中较普遍地存在着对编制文档不感兴趣的现象。从用户方面看,他们又常常抱怨:文档售价太高、文档不够完整、文档编写得不好、文档已经陈旧或是文档太多,难于使用等等。究竟应该怎样要求它,文档应该写哪些,说明什么问题,起什么作用?这里将给出简要的介绍。

图文档桥梁作用

文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间的多种桥梁作用可从图9.2中看出。软件开发人员在各个阶段中以文档作为前阶段工作成果的体现和后阶段工作的依据,这个作用是显而易见的。软件开发过程中软件开发人员需制定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料,我们称此为用户文档。以上三种文档构成了软件文档的主要部分。我们把这三种文档所包括的内容列在图6中。其中列举了十三个文档,这里对它们作一些简要说明:

?可行性研究报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。

?项目开发计划:为软件项目实施方案制定出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。项目开发计划应提供给管理部门,并作为开发阶段评审的参考。

?软件需求说明书:也称软件规格说明书,其中对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。

?数据要求说明书:该说明书应给出数据逻辑描述和数据采集的各项要求,为生成和维护系统数据文卷作好准备。

?概要设计说明书:该说明书是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。?详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。?用户手册:本手册详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。

文档

用户文档

用户手册

操作手册

维护修改建议

软件需求(规格)说明书

开发文档

软件需求(规格)说明书

数据要求说明书

概要设计说明书

详细设计说明书

可行性研究报告

项目开发计划

管理文档

项目开发计划

测试计划

测试报告

开发进度月报

开发总结报告

?

图三种文档

?操作手册:本手册为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。?测试计划:为做好组装测试和确认测试,需为如何组织测试制定实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。

?测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明。对测试结果加以分析,并提出测试的结论意见。

?开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告。报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。

?项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力。此外还需对开发工作作出评价,总结出经验和教训。

?维护修改建议,软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响估计作详细的描述,写成维护修改建议,提交审批。以上这些文档是在软件生存期中,随着各阶段工作的开展适时编制。其中有的仅反映一个阶段的工作,有的则需跨越多个阶段。表5给出了各个文档应在软件生存期中哪个阶段编写。这些文档最终要向软件管理部门,或是向用户回答以下的问题:

表9.2 软件生存期各阶段编制的文档

阶段

文档可行性药酒与计划需求分析设计代码编写测试运行与维护

可行性研究报告

项目开发计划

软件需求说明

数据要求说明

概要设计说明

星系设计说明

测试计划

用户手册

操作手册

测试分析报告

开发进度月报

项目开发总结

维护修改建议

?

?哪些需求要被满足,即回答“做什么?”

?所开发的软件在什么环境中实现以及所需信息从哪里来,即回答“从何处?”

?某些开发工作的时间如何安排,即回答“何时干?”

?某些开发(或维护)工作打算由“谁来干?”

?某些需求是怎么实现的?

?为什么要进行那些软件开发或维护修改工作?

上述十三个文档都在一定程度上回答了这六个方面的问题。这可从表中看到。

表文档所回答的问题

所提问题

文档什么何处何时谁如何为何

可行性研究报告√√

项目开发计划√√√

软件需求说明√√

数据要求说明√√

概要设计说明√

详细设计说明√

测试计划√√√

用户手册√

操作手册√

测试分析报告√

开发进度月报√√

项目开发总结√

维护修改建议√√√

至此,我们对文档的作用有了进一步的理解。每一个文档的任务也是明确的,任何一个文档都此是多余的。

文档的管理和维护

在整个软件生存期中,各种文档作为半成品或是最终成品,会不断地生成、修改或补充。为了最终得到高质量的产品,达到上节提出的质量要求,必须加强对文档的管理。以下几个方面是应注意做到的:

①软件开发小组应设一位文档保管人员,负责集中保管本项目已有文档的两套主文本。两套文本内容完全一致。其中的一套可按一定手续,办理借阅。

②软件开发小组的成员可根据工作需要在自己手中保存一些个人文档。这些一般都应是主文本的复制件,并注意和主文本保持一致,在作必要的修改时,也应先修改主文本。

③开发人员个人只保存着主文本中与他工作相关的部分文档。

④在新文档取代了旧文档时,管理人员应及时注销旧文档。在文档内容有更动时,管理人员应随时修订主文本,使其及时反映更新了的内容。

⑤项目开发结束时,文档管理人员应收回开发人员的个人文档。发现个人文档与主文本有差别时,应立即着手解决。这常常是未及时修订主文本造成的。

⑥在软件开发过程中,可能发现需要修改已完成的文档,特别是规模较大的项目,主文本的修改必须特别

谨慎。修改以前要充分估计修改可能带来的影响,并且要按照:提议、评议、审核、批准和实施等步骤加以严格的控制。

文档编制的质量要求

为了使软件文档能起到前节所提到的多种桥梁作用,使它有助于程序员编制程序,有助于管理人员监督和管理软件开发,有助于用户了解软件的工作和应做的操作,有助于维护人员进行有效的修改和扩充,文档的编制必须保证一定的质量。质量差的软件文档不仅使读者难于理解,给使用者造成许多不便,而且会削弱对软件的管理(管理人员难以确认和评价开发工作的进展),增高软件的成本(一些工作可能被迫返工),甚至造成更加有害的后果(如误操作等)。

造成软件文档质量不高的原因可能是:

?缺乏实践经验,缺乏评价文档质量的标准。

?不重视文档编写工作或是对文档编写工作的安排不恰当。

最常见到的情况是,软件开发过程中不能按表5给出的进度,分阶段及?时完成文档的编制工作,而是在开发工作接近完成时集中人力和时间专门编写文档。另一方面,和程序工作相比,许多人对编制文档不感兴趣。于是在程序工作完成以后,不得不应付一下,把要求提供的文档赶写出来。这样的做法不可能得到高质量的文档。实际上,要得到真正高质量的文档并不容易,除去应在认识上对文档工作给予足够的重视外,常常需要经过编写初稿,听取意见进行修改,甚至要经过重新改写的过程。

高质量的文档应当体现在以下一些方面:

①针对性;文档编制以前应分清读者对象,按不同的类型、不同层次的读者,决定怎样适应他们的需要。例如,管理文档主要是面向管理人员的,用户文档主要是面向用户的,这两类文档不应像开发文档(面向软件开发人员)那样过多地使用软件的专业术语。

②精确性:文档的行文应当十分确切,不能出现多义性的描述。同一课题若干文档内容应该协调一致,应是没矛盾的。

⑧清晰性:文档编写应力求简明,如有可能,配以适当的图表,以增强其清晰性。

④完整性:任何一个文档都应当是完整的、独立的,它应自成体系。例如,前言部分应作一般性介绍,正文给出中心内容,必要时还有附录,列出参考资料等。同一课题的几个文档之间可能有些部分相同,这些重复是必要的。例如,同一项目的用户手册和操作手册中关于本项目功能、性能、实现环境等方面的描述是没有差别的。特别要避免在文档中出现转引其它文档内容的情况。比如,一些段落并未具体描述,而用“见××文档××节”的方式,这将给读者带来许多不便。

⑤灵活性:各个不同的软件项目,其规模和复杂程度有着许多实际差别,不能一律看待。图6所列文档是针对中等规模的软件而言的。对于较小的或比较简单的项目,可做适当调整或合并。比如,可将用户手册和操作手册合并成用户操作手册;软件需求说明书可包括对数据的要求,从而去掉数据要求说明书;概

要设计说明书与详细设计说明书合并成软件设计说明书等。

⑥可追溯性;由于各开发阶段编制的文档与各阶段完成的工作有着紧密的关系,前后两个阶段生成的文档,随着开发工作的逐步扩展,具有一定的继承关系。在一个项目各开发阶段之间提供的文档必定存在着可追溯的关系。例如,某一项软件需求,必定在设计说明书,测试计划以至用户手册中有所体现。必要时应能做到跟踪追查。

程序文档合一与动态文档

很多企业已经建立了许多庞大的计算机管理系统,而且将不断地推出新的系统。满足经营的需求须不断维护、改造计算机系统,但同时又要不影响现行生产,所以必须建立一整套机制来评价、控制和完成对系统的维护。在软件维护过程中,提出程序与文档合一的概念在软件开发的同时建立动态文档。

程序与文档合一概念的提出

一、目前软件的状况

程序与文档的形式分离,不仅是用各自独立的形式存放,而且使用不同的工具在不同的时间里书写和检索。维护程序时不能方便地得到文档的帮助,不能同步修改文档。

程序与文档的内容分离,由于程序与文档采用不同的描述,既有计算机语言也有自然语言。维护过程中不能及时、一致地更新文档或程序,使文档不能准确地描述程序而几乎成为废纸甚至带来负面价值。

软件开发与维护的分离,绝大多数软件在设计、开发时不太考虑以后可能的修改,加大了软件维护的难度,而且使维护容易引入新的错误。

这些分离也表现在设计、开发的不同阶段的文档之间的不相容性,例如:需求分析说明书是纸上的东西,在概要设计阶段不能很好地继承、利用需求分析说明书,设计、编制概要设计时必须从零开始,需要重新分析、理解需求分析,这种思维上的脱节,不仅延缓开发进度、加重设计人员的负担,而且由于理解上的不同导致不同阶段描述的对象有许多不相容情况。这些分离使得文档在系统的设计、开发、维护中的作用下降,这也是很多软件人员不愿意编写文档的主要原因。

二、程序与文档合一的概念提出

怎样才是好的文档系统呢?应当具备以下属性:

1. 能够准确地描述软件、并且简单易懂;

2. 能够迅速错误定位、影响分析、修正设计;

3. 能够提高软件维护质量;

4. 能够方便程序修改时理解程序。

为此提出了程序与文档合一的概念。这概念使软件成为真正意义上的软件:程序+文档,程序就是文档,文档集成在程序中。它要求在选择开发环境时不仅要考虑环境对设计、开发的完美支持,而且要考虑对维护、文档的支持;它要求软件人员在设计、开发过程中要考虑维护问题、文档问题;它要求程序与文档存

储在同一位置、同一系统中;它要求使用相同工具进行程序与文档的书写、检索;它要求在编写和维护程序的同时形成文档,在书写文档时编写、维护程序。程序与文档合一的概念不仅存在于系统的设计、开发阶段而且存在于系统的维护阶段,它贯穿软件的生命周期。

动态文档系统是建立在程序与文档合一的概念基础上的、文档与程序一致的、简单易懂的联机文档系统。它包括构件说明与数据描述、对构件与构件之间、构件与数据之间的关系进行的描述。动态文档系统是提高了文档的可用性、易用性和连贯性,使文档更加有效,是解决维护问题的有效途径。

动态文档系统问题分析

需要解决的问题是:软件文档的内容划分与获取、文档的存储与维护、文档的检索、软件文档的生成打印。

一、软件文档的内容划分成:语义文档、结构文档、过程文档

语义文档是对软件的功能、概念、总体设计、流程、规约等用自然语言的描述,是软件人员根据规范在使用CASE工具编写并填入程序的文档,它也是为更全面的解释文档而灵活加入的额外信息。

结构文档是在软件设计工具、开发环境中对象的属性、构件间接口、构件间引用关系、软件的结构等的描述。利用词法、语法分析程序对整个系统的对象、构件进行识别、分析,获取上述描述并形成表格文件。

过程文档是对软件的设计、编码、维护过程中形成的过程描述和程序注释,如设计目的、设计人、时间等说明,利用开发环境对软件人员在设计、开发、维护过程中操作的记录形成操作跟踪。

二、程序与文档的统一存储与维护

根据程序与文档合一的概念和文档从程序中提取的要求,文档必须存放在程序中,甚至文档固有的源代码中。结构如此的程序源代码的存储必须采用一种新技术—对象仓储(Repository)技术,而不能采用流式文件,这样才能使程序与文档既结合又分离。程序与文档结合在一个对象仓储中,结合在统一的开发环境中;结合在修改代码时可以同时修改文档、修改文档时可以同时人工检查和修改程序,并在多次文档生成而不会丢失手工输入的文档。程序与文档应当分别存放在对象仓储中的不同表或不同的字段中,在编译与运行时分离。

三、文档的检索

对单个对象、构件文档的检索方式是若于文档存放在一个对象仓储中,它可以随源代码一起检索和维护。这种检索给分析和维护单个构件、对象提供文档支持。建立多种视图、编写程序对整个系统进行文档的检索和获取,完成对整个系统的分析,对整个系统进行实时文档支持。这将在例子中较详细的描述。四、软件文档的生成打印

编写程序检索和获取整个系统的文档,按照国家软件标准的文档式样建立文档模板并将按模板生成文档和利用文字处理软件强大的功能进行创建、编辑文档并打印。

根据上述分析,文档分布和获取对开发环境提出了要求:开发环境应该是设计工具、开发工具的集成,

应该基于CASE技术、对象仓储技术、构件技术、OLE技术。基于CASE技术的开发环境;设计、开发、维护过程中形成的文档并植入程序代码中,使文档成为程序的一部分。基于对象仓储技术的开发环境,将文档与程序统一存储在对象仓储中方便检索。基于构件技术的开发环境,便于识别、获取构件,分析、形成结构文档和过程文档。基于OLE等技术使文档可以很好地利用Word等文档处理软件。

动态文档系统的一个应用实例

广州电信科技开发有限公司自行设计、开发的名为九七系统的庞大的电信管理计算机系统自1997年投产验收后,将长期用于生产,维护工作非常重要和紧迫。这为动态文档系统提供了需求和试验场所。在长期维护的过程中,体会到好文档的重要性并提出了程序文档合一的概念,这为动态文档系统提供了理论基础。九七系统是使用Uniface开发环境。这种开发环境采用了CASE技术、对象仓储技术、构件技术,这为动态文档系统提供了技术支撑。

一、广州电信动态文档系统的建立步骤

1. 理解Uniface、Oracle工具的开发环境,规划语义文档在各级对象中存放的表与字段,并根据工具的特性制定填写的规则。

2. 寻找结构文档、过程文档在Uniface、Oracle工具中存放的表与字段。

3. 在设计、开发和维护软件的过程中对这些表或字段按照规则进行填写。

4. 建立一整套模板使文档结构与信息源建立映像,包括:数据字典模板、设计文档模板、结构文档模板、开发过程文档模板等。

5. 将这些模板组装成文档系统,并使它独立于开发目标系统。

广州电信动态文档系统的组成可以分为文档查询、维护记录查询、文档生成。

文档查询不仅包括构件说明与数据描述,而且包括对构件与数据之间的关系的描述,是实时的联机文档查询系统。维护记录查询是对软件维护过程中的各个环节进程进行记录与追踪,用于规范维护工作。它包括问题报告、问题分析、错误定位、维护设计、维护执行、确认测试、维护评审、维护提交、问题跟踪等。文档生成则是根据需要实时生成软件设计说明书。

二、程序与文档合一概念与动态文档系统的意义

广州电信动态文档系统的基本任务是辅助错误定位、维护影响分析、记录维护进程、生成文档。使用Uniface的开发环境开发的,可以安装在用Uniface开发的不同的应用系统中。该系统已经在九七计费系统的维护中发挥重要作用。

它推崇的程序与文档合一的概念,提出文档就是程序,程序就是文档的思路,文档融合在程序中的构思并已实现,这一概念指导了软件人员进行有效地工作。合一的概念贯穿了设计、开发、维护整个软件周期,保证了文档之间的继承性和一致性,在设计、开发每一阶段是继承前阶段的程序和文档的结果。这样极大地消除了程序与文档、文档与文档之间的不一致性,加快了软件设计进度,提高了软件开发、维护的质量。它是软件工程在具体应用中的一种尝试,它从程序文档合一的角度出发,进一步规范软件设计、开

发、维护。程序文档合一的概念为软件开发环境发展提供了一种思路;设计更好的对象仓储来满足开发、维护人员对程序文档合一的概念的需求。

动态文档系统的局限与发展

广州电信动态文档系统有很大的局限性,只能用于Uniface或Oracle开发的系统中。目前的广州电信动态文档系统的构件的识别与获取主要依赖开发工具提供的构件和构件的特征进行识别的。这种动态文档系统难以在一些3GL工具—未使用对象仓储技术、构件技术开发的软件—中实现程序与文档的合一与分离。大型软件系统的环境是复杂的,往往采用了多种开发环境,如何对其他开发环境进行支持还要进行技术探讨和实践上的摸索。

另一个局限问题是目前的动态文档系统描述的是程序文档,其主要在编码、维护的过程中进行建设,系统进入维护阶段使用。如何使动态文档系统不仅对软件维护阶段进行支持,而且对软件的设计、开发阶段进行更多的支持?一种可能的解决途径是将软件复用技术拓宽到包括文档复用,包括程序复用、程序文档复用和设计文档复用,而且将动态文档系统建立在基于这种软件复用系统之上。

如何编写高质量“软件需求说明书”

你的工程应该有个好的起点。一个小组要带领客户进入需求启发阶段而且你要写软件需求说明书。这份说明有些大,但客户会很重视,所以说明必须得到赞同。

现在你正在设计其中的一个特性,已经发现了需求的一些问题。你可以用多种不同的方式解释需求15;需求9 的说明正好与需求21相反,你因该相信哪一个?需求24非常含糊,你根本不明白它的意思;你不得不花上一个小时与2位开发人员讨论需求30,只因为你们对其各有各的理解;并且,唯一能够澄清这些问题的客户没有给你们答复。你被迫破解众多需求的含义,并且你能预料到,如果你错了,你要做大量的重复工作。

许多软件需求说明书(SRS)写得非常糟糕。任何产品的质量需要其原始材料的质量保证,糟糕的软件需求说明书不可能产出优秀的软件。不幸的是,几乎没有开发人员受过与需求的抽象、分析、文档、质检有关的教育。而且,没有非常多的好需求可以借鉴学习,部分原因是很少有工程可以找到一个好的借鉴,其他原因是公司不愿意将其产品说明书放在公共区域。

这篇文章描述了高质量需求叙述和说明的几个特性(特点)。我们将用这些观点检查一些有缺陷的需求,带着痛楚重新编写。而且我会谈一些如何编写好的需求的提示。你也许想通过这些质量标准评估你的工程需求。对于修订,也许迟了,但你会学到一些有用的东西,并帮助你的小组在下次编写出更好的需求。

不要期望能够编写出一份能体现需求应具备的所有特性的SRS。无论你怎么细化、分析、评论和优化需求,都不可能达到完美。但是,如果你牢记这些特性,你就会编写出更好的需求,生产出更好的产品。高质量需求叙述的特性

我们如何从一些有问题的需求中分辨出好的软件需求?这一节将分别介绍需求叙述应体现的6个特性,下一节将从整体上介绍SRS文档应具备的特性。判断每个需求是否具备应有的特性的一种方式是由持有不同观点的工程资金管理人所作的正规检查。另一种有力的方法是在编写代码前依据需求编写测试例子。测试例子能够明确显现在需求中描述的产品行为(特性),能够显现缺陷、冗余和含糊之处。

正确:每个需求必须精确描述要交付的功能。正确性依据于需求的来源,如真实的客户或高级别的系统需求说明书。一个软件需求与其对应的系统需求说明书相抵触是不正确的(当然,系统需求说明书本身可能不正确)。

只有用户的代表能够决定用户需求的正确性,这就是为什么在检查需求时,要包括他们或他们的代理的关键所在。不包括用户的需求检查就会导致开发人员的:“这是没意义的”,“这可能是他们的意思”等众所周知的猜测。

可行性:在已知的能力、有限的系统及其环境中每个需求必须是可实现的。为了避免需求的不可行性,在需求分析阶段应该有一个开发人员参与,在抽象阶段应该有市场人员参与。这个开发人员应能检查在技术上什么能做什么不能做,哪些需要需要额外的付出或者和其他的权衡。

必要性:每个需求应载明什么是客户确实需要的,什么要顺应于外部的需求,接口或标准。每个需求源于你认可、具有权说明需求的原始资料,这是考虑必需的另外情形(译注,此句翻译不顺,请参照原文:Another way to think of “necessary”is that each requirement originated from a source you recognize a s having the authority to specify requirements)。跟踪每个需求回溯到出处,如用例,系统需求,规章,或来自其他用户的意见。如果你不能标识出处,可能需求只是个镀金的例子,没有真正的必须。

优先权:为了表明在一个详细的产品版本中应包含哪些要点,需要为每个需求,特征,或用例分配实现的优先权。客户或其代理都应有强烈的责任建立优先权。如果所有的需求都被视为同等重要,那么由于在开发中,预算削减,计划超时或组员的离开导致新的需求时,项目经理将不能起到作用。优先权的作用是提供给客户的价值,实现的相关费用,实现相关联的有关技术风险。

我是用3种级别的优先权:高优先权表明需求必须体现在下一个产品版本中,中优先权表明需求是必须的,但是如果需要可以推迟到晚一些的产品版本中,低优先权表明有它很好,但我们必须认识到如果没有充足的时间或资源,它可以被放弃掉。

明确:需求叙述的读者应只能从其得到唯一的解释说明,同样,一个需求的多个读者也应达成共识。自然语言极易导致含糊。要避免使用一些对于SRS作者很清楚但对于读者不清楚的主观词汇,如:用户友好性,容易,简单,快速,有效,几个,艺术级,改善的,最大,最小等等。每写一个需要都应简洁,简单,直观的采用用户熟知的语言,不要采用计算机术语。检查需求模糊的有效方式包括需求说明书的正规检查,根据需求写测试,建立用户的假想来说明产品某个特定部分预期的特性。

可证实:看你是否能够做出测试计划或其他验证方式,如检查和实证,来决定在产品中每个需求是否正确的实现。如果需求是不可验证的,决定需求是不是正确的实现就成了判断的事。需求之间不一致,不

可行,不明确也能导致不可证实。任何需求如果说产品将要支持什么也是不可证实的。

高质量需求说明的特征

一个完整的SRS不仅是包括长长的功能性需求列表,还包括外部接口描述和一些诸如质量属性,期望性能的非功能性需求。下面描述了高质量的SRS的一些特性。

完整:不应该遗漏要求和必需的信息。完整性也是一个需求应具备的。发现缺少的信息很难,因为根本不存在。在SRS中将需求以分层目录方式组织,将帮助评审人员理解功能性描述的结构,使他们很容易指出遗失的东西。

在需求抽象时,相对于系统功能,你过多的注意用户的业务,将导致在需求的全局观和引进不是真正必需的需求上显得不足。在需求抽象上,应用用例方法会发挥很好的作用。能够从不同角度察看需求的图形分析模型也可以检查出不完整性。

如果你知道已缺少一些信息,使用TBD(to be determined)标准标志可以突出这些缺陷,当你在构建产品的相关部分时,就可以从一个给定的需求集中解决所有的缺陷。

一致性:一致性需求就是不要于其他的软件需求或高级别的系统(商业)需求发生冲突。需求中的不一致必须在开发开始前得到解决。只有经过调研才能确定哪些是正确的。修改需求时一定要谨慎,如果只审定修改的部分,没有审定于修改相关的部分,就可能导致不一致性。

可修改性:当每个需求的要求修改了或维护其历史更改时,你必须能够审定SRS。也就是说每个需求必须相对于其他需求有其单独的标示和分开的说明,便于清晰的查阅。通过良好的组织可以使需求易于修改,如:将相关的需求分组,建立目录表,索引,以及前后参考(照)。

可追踪:你应能将一个软件与其原始材料相对应,如高级系统需求,用例,用户的提议等。也能够将软件需求与设计元素,源代码,用于构造实现和验证需求的测试相对应。可追踪的需求应该具有独立标示,细密和结构化的编写,不应过大,不应是叙述性的文字和公告式的列表。

需求质量的评审

这些有关需求质量的特性的描述在理论上都是非常好的,但一个好的需求到底是个什么样子的呢?为了体现得更切合实际,我们做个小练习。下面有几个从实际的工程选出的需求,依据上面的质量标准,评估每个需求,看看有什么问题,然后用更好的方式重写。我将对每个例子都提出自己的分析和改进的建议。也欢迎你提出不同的见解。我所占优的只是我知道每个需求的出处。因为你我都不是真正的客户,我们只能猜测每个需求的意图。

例1.“产品应在不少于每60秒的正常周期内提供状态信息”

这个需求是不完整的:状态信息是什么,如何显示给用户。这个需求有几处含糊。我们在谈论产品的哪部分?状态信息间隔真的假定为不少于60秒?,甚者每10年显示一条新的状态信息也可以?也许它的意图是消息间隔不应超过60秒,那么1毫秒是不是太短?“每”这个词导致了不确定性。问题的后果,就是需求的不可证实。

弥补缺陷,重写需求的一种方法:

1、状态信息

1.1后台任务管理器因该以误差上下不超过10秒的60秒间隔,在用户界面的指定位置显示状态信息1.2如果后台进程处理正常,那么应该显示任务已完成的百分数/比

1.3任务完成时,应显示相关的信息

1.4后台任务出错应该显示错误信息

为了分别测试和追踪,我将其分成了多个需求。如果将几个需求串接在一节中,在构造和测试时就很容易漏掉一个。

例2.“产品应瞬间在显示和隐藏不可打印字符间切换”

计算机在瞬间不能做任何事,所以这个需求不切实可行。它的不完整性表现在没有声明触发状态切换的条件。软件要在某些条件下更改自己?或者用户为了模仿更改要做一些动作?而且,在文档中改变显示的范围是多大:选中的文本,整个的文档,或其他的?这也是个模糊的问题。不可打印字符合隐藏字符一样吗?或者是一些属性标志或一些控制字符?问题的后果,就是需求的不可证实。

象这样编写需求也许更好一些:“用户能够在一个由特定触发条件激活处于编辑的文档中在显示和隐藏所有HTML标记间切换”。现在就很清楚,不可打印字符是HTML标记。由于没有定义触发条件,需求对设计没有约束力。只有设计人员选定了触发条件后,你才能编写测试验证触发的正确操作。

例3.“HTML分析器可以产生HTML标记错误报告,帮助HTML入门者快速解决错误”。单词“快速”使其模糊,没有加进错误报告的定义也是其部完整。我不知道,你怎么验证这个需求。找一个自称为HTML的入门者,看看能不能根据错误报告快速解决错误?

试试这个:“HTML分析器可以产生一个错误报告,错误报告包含有在被分析文件中出错的HTML文本和行号以及错误的描述。如果没有错误,就不会产生错误报告”。现在我们知道了,什么会被加到出错报告中,但是出错报告是个什么样子,则留由设计人员决定。我们还指定了一个例外:如果没有发现错误,不产生错误报告。

例4.“如果可能,主管号码应通过联机校验,而不是通过主全体主管号码列表校验”。真感到绝望,什么是“如果可能”:如果技术上可行?如果主全体主管号码列表可以联机获得?要避免象“应该”的这类不确切的词。客户是需要这个功能性还是不需要。我曾看过一些需求说明书,采用诸如:应,将,应该/将要等一些词描述优先级的细微差别。但我更喜欢用“应”清楚的说明需求的意图,指明优先级。这是修改后的:系统应校验输入的主管号码而不通过联机的主全体主官号码列表。如果在列表中没有发现主管号码,将会显示一条错误信息,也不接受指令。

在理解各个已完成的糟糕需求上,开发人员将会遇到的难题是:开发人员与客户将会在审核需求,未达成共识前发生激烈的争论。详细检查大的需求文档不是一件轻松的事情。我清楚有人做过,而且他们花在检查上的每一分钟都是值得的。相对于开发阶段和用户的抱怨电话,在这个阶段修补缺陷是便宜的,

编写质量需求的方针

编写优秀的需求是没有公式化的方法的。这需要大量的经验,要从你在过去的文档中发现的问题学习。请在组织软件需求文档时,严格遵从这些方针。

句子和段落要短。采用主动语气。使用正确的语法,拼写,标点。使用术语,要保持一致性,并在术语表或数据字典中定义它们

要看需求是否被有效的定义,可以以开发人员的观点看看。在内心将“当你们做完了找我”这句加到文档尾部,看看能不能是你紧张起来。换句话说,你是否需要SRS的编写者的额外解释帮助开发人员很好的理解需求,以便于设计和实现?如果是的话,在继续工作前,需求还需要细化。

需求编写者还要努力正确地把握细化程度。要避免包含多个需求的长的叙述段落。有帮助的提示是编写独立的可测试的需求。如果你认为一小部分测试可以验证一个需求的正确,那么它已经正确的细化了。如果你预想到多种不同类的测试,几个需求可能已挤到了一起,需要拆分开。

密切关注多个需求合成了单个需求。一个需求中的连接词“和”/“或”建议几个需求合并。不要在一个需求中使用“和”/“或”。

通篇文档细节上要保持一致。我曾看见过多个需求说明书前后不一致。如:“对于红色合法的颜色代码应是R”及“对于绿色合法的颜色代码应是G”就有可以以分散的需求分离开,而“产品应能对来自语音编辑指示做出反应”应作为一个子系统,不应作为单个的功能性需求。

避免在SRS中过多的申述需求。在多处包含相同的需求可以使文档更易于阅读,但也会给文档的维护增加困难。文档的多份文本要在同一时间内全部更新,避免不一致性。

如果你遵从了这些方针,你能够尽早地经常正式或非正式的审查需求,这些需求对于产品的构造,系统测试以及最后的客户满意,都会成为好的奠基石。并且要记住,没有高质量的需求,软件就象一盒巧克力,你永远不知道你会得到什么。

国家标准局在 1988 年 1 月发布了《计算机软件开发规范》和《软件产品开发文件编制指南》,作为软件开发人员工作的准则和规程。它们基于软件生存期方法,把软件产品从形成概念开始,经过开发、使用和不断增补修订,直到最后被淘汰的整个过程应提交的文档归纳为以下 13 种。下面对每种文档的编制做一些简要的说明。

(1) 可行性研究报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。

(2) 项目开发计划:为软件项目实施方案制定出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。项目开发计划应提供给管理部门,并作为开发阶段评审的参考。

(3) 软件需求说明书:也称软件规格说明书,其中对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。

(4) 数据要求说明书:应给出数据逻辑描述和数据采集的各项要求,为生成和维护系统数据文卷做好准备。

(5) 概要设计说明书:是概要设计阶段的工作成果,应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。

(6) 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。

(7) 用户手册:详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。

(8) 操作手册:为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。

(9) 测试计划:为做好组装测试和确认测试,需为如何组织测试制定实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。

(10) 测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明。对测试结果加以分析,并提出测试的结论意见。

(11) 开发进度月报:是软件人员按月向管理部门提交的项目进展情况报告。报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。

(12) 项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力等。此外还需对开发工作做出评价,总结出经验和教训。

(13) 维护修改建议:软件产品投入运行以后,发现需对其进行修正和更改,应将存在的问题、修改的考虑以及修改的影响估计做详细的描述,写成维护修改建议提交审批。

以上这些文档是在软件生存期中,随着各阶段工作的开展适时编制的。其中有的仅反映一个阶段的工作,有的则需跨越多个阶段。

软件生存期各阶段编制的文档

文档/阶段可行性研究与计划需求分析设计代码编写测试运行与维护

可行性研究报告√

项目开发计划√√

软件需求说明√

数据要求说明√

测试计划√√

概要设计说明√

详细设计说明√

用户手册√√√

操作手册√√

测试分析报告√

开发进度月报√√√√√

项目开发总结√

维护修改建议√

软件项目详细设计文档示例模版

XXX软件/项目/系统 详细设计说明书 拟制日期 评审人日期 批准日期 编写单位或个人

修订历史

目录 XXX软件详细设计说明书 (1) Revision Record 修订记录 (2) 1引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3参考资料 (1) 1.4术语定义及说明 (1) 2设计概述 (1) 2.1任务和目标 (1) 2.1.1需求概述 (1) 2.1.2运行环境概述 (1) 2.1.3条件与限制 (1) 2.1.4详细设计方法和工具 (1) 3系统详细需求分析 (1) 3.1详细需求分析 (2) 3.2详细系统运行环境及限制条件分析接口需求分析 (2) 4总体方案确认 (2) 4.1系统总体结构确认 (2) 4.2系统详细界面划分 (2) 4.2.1应用系统与支撑系统的详细界面划分 (2) 4.2.2系统内部详细界面划分 (2) 5系统详细设计 (2) 5.1系统结构设计及子系统划分 (3) 5.2系统功能模块详细设计 (3) 5.3系统界面详细设计 (3) 5.3.1外部界面设计 (3) 5.3.2内部界面设计 (3) 5.3.3用户界面设计 (3) 6、数据库系统设计 (4) 6.1设计要求 (4) 6.2 信息模型设计 (4) 6.3数据库设计 (4) 6.3.1设计依据 (4) 6.3.2数据库种类及特点 (4) 6.3.3数据库逻辑结构 (4) 6.3.4物理结构设计 (4) 6.3.5数据库安全 (4) 6.3.6数据字典 (4) 7非功能性设计 (4) 8 (5) 9环境配置 (5)

1引言 1.1编写目的 说明编制的目的是,大体上介绍一下软件系统中各层次中模块或子程序、以及数据库系统的设计考虑,表明此文档是主要是为编码人员提供服务,并且其他类型的项目参与人员也可以通过此文档对软件/项目有更深入了解。 1.2背景 说明此软件或系统的项目背景、需求背景、开发目的等,还可以列出参与人员等相关信息。 1.3参考资料 列出本文档中引用的文献、资料、标准等相关信息(一般是具有出版或版权性质的文件)。 1.4术语定义及说明 列出文档中用到的和开发有关,或与行业、业务、需求有关的专业术语,并进行解释。 2设计概述 2.1任务和目标 说明详细设计的任务及详细设计所要达到的目标。 2.1.1需求概述 对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。 2.1.2运行环境概述 对本系统所依赖于运行的硬件,包括操作系统、数据库系统、运行库、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。 2.1.3条件与限制 详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。 2.1.4详细设计方法和工具 简要说明详细设计所采用的方法和使用的工具,如数据库设计工具、界面设计工具、原型设计工具等。 3系统详细需求分析 主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。

软件项目验收标准.docx

【项目名称】 项目验收标准 1、引言 1.1 编写目的 为了使项目验收更具公平性、可操作性和标准化,特制定此验收标准。 1.2 用户 项目名称: 需求部门: 项目开发单位: 开发人员: 验收人员: 1.3 参考资料 1.软件需求说明书 2.系统概要设计说明书 3.总体设计说明书 4. 操作手册 1.4 验收结论 项目验收成绩分三类,分别为:优秀、验收合格与验收不合格。

2、功能验收 2.1 功能点 项目功能验收清单如下: 2.2 界面效果 软件界面在布局上应足够合理(以官网作为参考);在界面的视觉效果上应尽量减少使用亮色,以降低软件对用户眼部的刺激,同时对加载的图片和皮肤的处理上也应显得大方整洁。 2.3 软件稳定性 软件的稳定性这里主要包含“功能上的稳定性”和“本身的稳定性”。 功能上的稳定性:要在保证数据处理准确的同时确保多任务、数据定位和数据查找等功能运行正常且稳定。 软件本身的稳定性:要确保软件不出现崩溃、卡死等情况;在对软件窗口进行处理时,软件界面不会出现断纹、控件错位等不统一的情况。 3、项目交付项 3.1 程序

应用软件的安装程序及软件源代码。 3.2 插件及库文件 在执行管理工具时所需要预装的第三方插件、开发包和必要的库文件等等。 3.3 文档 软件本身的说明文档,包含接口说明、主要功能实现和代码的说明(备注)。 4、验收方式 1)项目组按计划完成项目,将要提交的软件作品安装于指定电脑,并完成。2)完成试点单位的培训实施上线,检查人员根据需求功能实现情况进行验收评价。 3)通过网络验收,服务商项目组按照约定时间将测试过的代码程序及文档中所提到的程序源代码、插件库文件和说明文档发送到我司指定人员处即可。 5、成绩评定标准 5.1、优秀 1)验收材料提供完整。 2)项目软件要求的各项功能均可实现(2.1中项目功能验收清单)。 3)软件界面友好,易于交互。 4)软件功能新颖,有较强创新;在原有功能设计的基础上,有新的想法且在软件实现中体现出来。 5.2、合格 1)验收材料提供完整。 2)项目软件要求的各项功能均可实现(2.1中项目功能验收清单)。 3)软件界面友好,易于交互。

软件项目开发计划书

软件项目开发计划书 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

软件开发计划书 项目名称:图书管理系统 目录

1引言 编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,有必要以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容以书面的方式描述出来,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。 本项目开发计划用于从总体上指导图书管理系统项目顺利进行并最终得到通过评审的项目产品。本项目开发计划面向项目组全体成员。 背景 山西农业大学图书管理系统是由沈阳师范大学委托我们开发的大型管理系统,主要功能是实现图书馆的信息化管理,包括读者信息管理,书籍信息管理,借阅信息管理,管理者信息管理等功能。项目周期为六个月,项目背景规划如表所示。 表项目背景规划

图书管理系统是学校信息管理系统的一个重要组成部分,它需要学生基本信息系统提供学生的基本资料,因为很多情况下,图书证号和学生的学生证号是一样的,而且在图书管理中,需要知道学生所在的系别和班级等信息;另外,它还需要教职工信息系统提供基本资料,因为教职工当然也能在图书馆借阅图书。因此,在设计时可以和校园信息管理系统的其他系统使用同一个数据库管理系统,以便系统之间的信息交流和管理。 定义 专门术语: SQL SERVER:系统服务器所使用的数据库关系系统(DBMS)。 SQL:一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 ROLLBACK:数据库的错误恢复机制。 缩写: 系统:若未特别指出,统指本图书管理系统。 SQL:Structured Query Language(结构化查询语言)。 ATM:Asynchronous Transfer Mode (异步传输模式)。 UML:统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种从软件分析、设计到编写程序规范的标准化建模语言。

软件详细设计报告文档

软件详细设计报告文档 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

软件详细设计报告文档模板 1. 引言 引言是对这份软件系统详细设计报告的概览,是为了帮助阅读者了解这份文档如何编写的,并且应该如何阅读、理解和解释这份文档。 1.1 编写目的 说明这份软件系统详细设计报告是基于哪份软件产品需求分析报告、哪份软件产品概要设计报告和哪份软件产品数据库设计说明书(如果该软件产品需要数据库支持)编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件系统详细设计报告详尽说明了该软件产品的编码结构,从而对该软件产品的物理组成进行准确的描述。

如果这份软件系统详细设计报告只与整个系统的某一部分有关系,那么只定义软件系统详细设计报告中说明的那个部分或子系统。 1.2 项目风险 具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括: ●任务提出者; ●软件开发者; ●产品使用者。 1.3 文档约定 描述编写文档时所采用的标准(如果有标准的话),或者各种编写约定。编写约定应该包括: ●部件编号方式; ●界面编号方式; ●命名规范: ●等等。 1.4 预期读者和阅读建议 列举本软件系统详细设计报告所针对的各种不同的预期读者,例如,可能的读者包括: ●开发人员; ●项目经理;

●测试人员; ●文档编写人员; ●等等。 描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。 1.5 参考资料 列举编写软件系统详细设计报告时所用到的参考文献及资料,可能包括: ●本项目的合同书; ●上级机关有关本项目的批文; ●本项目已经批准的计划任务书; ●用户界面风格指导; ●开发本项目时所要用到的标难; ●系统规格需求说明; ●使用实例文档; ●属于本项目的其它己发表文件; ●本软件系统详细设计报告中所引用的文件、资料; ●相关软件系统详细设计报告; ●等等。 为了方便读者查阅,所有参考资料应该按一定顺序排列。如果可能,每份资料都应该给出: ●标题名称; ●作者或者合同签约者;

软件详细设计文档模板(最全面)

研发生产中心文档编号版本A1 密级商密A 项目名称Xx系统 项目来源 Xxx系统 详细设计说明书 (内部资料请勿外传) 编写:日期:检查:日期:审核:日期:批准:日期: XX公司 版权所有不得复制 文档变更记录

序号变更(+/-)说明作者版本号日期批准1 2

目录 1. 引言 (5) 1.1 编写目的和范围 (5) 1.2 术语表 (5) 1.3 参考资料 (5) 1.4 使用的文字处理和绘图工具 (5) 2. 全局数据结构说明 (7) 2.1 常量 (7) 2.2 变量 (8) 2.3 数据结构 (8) 3. 模块设计 (9) 3.1 用例图 (9) 3.2 功能设计说明 (10) 3.2.1 模块1 (10) 3.2.2 模块2 (11) 4. 接口设计 (12) 4.1 内部接口 (12) 4.2 外部接口 (12) 4.2.1 接口说明 (12) 4.2.2 调用方式 (12) 5. 数据库设计 (12) 6. 系统安全保密设计 (12) 6.1 说明 (12) 6.2 设计 (12) 6.2.1 数据传输部分 (12) 6.2.2 IP过滤分部 (13) 6.2.3 身份验证部分 (13) 7. 系统性能设计 (13) 8. 系统出错处理 (13)

1.引言 1.1背景 此文档的背景 1.2编写目的和范围 说明写这份详细设计说明书的目的。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 1.3术语表 定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。 序号术语或缩略语说明性定义 1 PM Project Manager,项目经理 2 1.4参考资料 列出有关资料的名称、作者、文件编号或版本等。参考资料包括: a.需求说明书、架构设计说明书等; b.本项目的其他已发表的文件; c.引用文件、资料、软件开发标准等。 资料名称作者文件编号、版本资料存放地点 1.5使用的文字处理和绘图工具 文字处理软件:[编写设计文档使用的文字处理软件,如RedOffice ] 绘图工具:[使用的UML工具,如Rose、Jude、Visio]

软件项目验收流程各步骤内容

项目验收过程 验收作为项目执行过程中的一个重要的里程碑,对公司和客户具有重要的意义。 一、验收申请 二、验收准备 2.1开发商资料收集 根据软件项目的特点,在验收时应收集以下文档:

除上述文档外,还应单独收集、保存各应用软件源程序代码及开发商所用第三方资源信息。开发商所使用的第三方控件,除已经得到审计署的许可之外,必须提供控件的源代码,并拥有授权使用的证明或保证(由开发商提供无版权争议承诺书);对于原始程序代码,要求能够在本地不经过任何特殊设置,即可编译并正常运行。源程序清单中列举的项目应该和源程序一一对应。 2.2最终用户资料收集 依据软件开发需求说明书和概要设计说明书,编写相关软件的用户满意度调查表,该调查表应该涵盖软件在需求说明书中列举的所有模块,包含软件在不同操作系统下的运行情况等。最终用户或甲方项目组按照实际情况填写该调查表。 三、验收测试 验收测试是软件开发结束后,用户对软件产品投入实际应用以前进行的最后一次质量检验活动,它要回答开发的软件产品是否符合预期的各项要求,以及用户能否接受的问题。由于它不只是检验软件某个方面的质量,而是要进行全面的质量检验,并且要决定软件是否合格,因此验收测试是一项严格的正式测试活动。需要根据事先制订的计划,进行软件配置评审、功能测试、性能测试等多方面检测。 软件验收测试分为三部分:文档代码一致性审核、软件配置审核和可执行程序测试,其顺序可分为:文档审核、源代码审核、配置脚本审核、测试程序、平台API测试、集成测试、验收测试等。文档代码一致性审核、软件配置审核是软件部署和实施全面验收测试的基础,由各应用软件验收责任人检查它们的完整性;由于工程开发的各软件运行环境均基于审计管理系统、审计实施系统平台,最终的集成测试、验收测试由德华工贸员工、验收专家所有参与验收工作的人员一起完成。 3.1文档审核 文档审核的主要要求是确定软件开发的所有过程都在提交文档的控制下,对文档的具体要求如下: (1)文档完备性:是否按照合同及其附件要求提交了全部文档; (2)内容针对性:指文档是否是甲方要求的文档;文档的内容应该按照功能模块的重要性在论)上达到不同的详细程度;

软件项目计划书

软件项目计划书 如何编制一份软件项目开发计划书?下面是小编为你整理的软件项目计划书,希望能帮助到您。 一、项目实施方案概述 软件产品,特别是行业解决方案软件产品不同于一般的商品,用户购买软件产品之后,不能立即进行使用,需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为软件项目实施。大量的软件公司项目实施案例证明,软件项目是否成功、用户的软件使用情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容,每个阶段下面有不同的工作事项,各个阶段之间都是承上启下关系,上一阶段的顺利完成是保证下一阶段的工作开展的基础。下面将按照每个项目实施阶段分别介绍。 二、项目实施方案介绍 (一)项目启动阶段 此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。

此阶段主任务: 公司:在合同签定后,指定项目经理,成立项目组,授权项目组织完成项目目标。 公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项目计划》,召开项目启动会。 商务经理:配合公司项目组,将积累的项目和用户信息转交给项目组。将项目组正式介绍给用户,配合项目组建立与用户的联系。 用户:成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和《项目实施协议》。 1、成立项目组 部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。 2、前期调研 项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别那些个体和组织是项目的干系人,确定他们的需求和期望,如何满足和影响这些需求、期望以确保项目能够成功。 3、编制《项目总体计划》 《项目总体计划》是一个文件或文件的集合,随着项目信息不断丰富和变化,会被不断变更,主要介绍项目目

软件开发详细设计说明书

编号:_________________ 版本:_________________ <系统名称> 详细设计说明书 委托单位: 承办单位: 编写:(签名)_________________年月日 复查:(签名)_________________年月日 批准:(签名)_________________ 年月日

目录 第1章引言 (1) 1.1编写目的 (1) 1.2系统说明 (1) 1.3术语 (1) 1.4参考资料 (1) 第2章软件结构 (2) 2.1软件结构图 (2) 2.2模块子结构图 (2) 2.3模块清单 (2) 第3章模块设计 (3) 3.1模块1 (标识符) (3) 3.1.1模块概述 (3) 3.1.2功能和性能(1、功能 2、性能) (3) 3.1.2.1(标识符)功能(IPO图) (3) 3.1.2.2性能 (3) 3.1.3输入/输出项 (3) 3.1.3.1输入项 (3) 3.1.3.2输出项 (3) 3.1.4数据结构 (3) 3.1.4.1全局数据结构 (4) 3.1.4.2局部数据结构 (4) 3.1.5算法 (4) 3.1.6限制条件 (4) 3.1.7测试计划 (4) 3.2模块2 (4)

第1章引言 1.1编写目的 软件详细设计说明书的一般编写目的可直接引用下面一段话:“说明一个软件系统各个层次中的每个程序(每个模块或子程序)的设计考虑。”当然,作者可包含一些与问题相关的特殊目的,附于上述一段话的尾部 1.2系统说明 任务提出单位: 开发单位: 预期用户: 1.3术语 序号术语说明性定义 ____________________ 1.4参考资料 1

软件系统项目验收标准文档资料

------------------------------------------精品文档------------------------------------- 项目验收标准

系统验收标准 文档修订记录 变批批变更简要说日版本状日2016.12.11初始版CV1.0熊毅 *变化状态:C = 创立,A = 增加,M = 修改,D = 删除 *正式发布时文档版本号从1.0开始。对文档进行小改动时,版本号以0.1进阶;大改动时版本号以1.0进阶。1 文档审批记录 序号审批人角色审批日期签字备注 第2页共18 页 系统验收标准 目录

51............................................................................................................................................ 前言5.......................................................................................................................... 目的1.1.. 5.......................................................................................................................... 范围1.2.. 5.......................................................................................................................... 1.3..用户5.......................................................................................................................... 1.4..参考5.................................................................................................................................. 2..项目概述 5.......................................................................................................................... 2.1..背景 6.................................................................................................................. 2.2..项目目标 7.................................................................................................................. 2.3..设计原则 8.................................................................................................................................. 3..验收原则8.......................................................................................................................... 4..总体验收标准 8.4.1................................................................................................................... 标准定义 9.4.2............................................................................................... 验收标准的详细说明 9.4.2.1................................................................................... 软件错误的严重性等级 9.4.2.2................................................................................... 错误与严重性等级对应 9一级错误的描述4.2.2.1. ................................................................................. 0 ............................................................................... 4.2.2.2.1二级错误的描述 0 ............................................................................... 4.2.2.3.1三级错误的描述 0 ............................................................................... 4.2.2.4.1四级错误的描述014.2.2.5.五级错误的描述............................................................................... 11........................................................................................................................ 项目验收标准5.. 11................................................................................................................ 功能测试5.1.. 11.................................................................................................... 功能项测试5.1.1.. 115.1.1.1. ........................................... 网上业务受理(一站联办业务受理) 11 ........................................... 叫号业务受理(一站联办业务受理)5.1.1.2. 11 ........................................... 窗口业务受理(一站联办业务受理)5.1.1.3. 11 ........................................... 补交业务受理(一站联办业务受理)5.1.1.4.21退回业务受理(一站联办业务受理)5.1.1.5. ........................................... 21已退回的业务(一站联办业务受理)5.1.1.6. ........................................... 2 ........................................... 5.1.1.7.1领证登记管理(一站联办业务受理) 2 ........................................... 5.1.1.8.1业务综合查询(一站联办业务受理) 2 ........................................................... 5.1.1.9.1我的待办业务(业务办理) 3 ......................................................... 5.1.1.10.1我的已办业务(业务办理)315.1.1.11.我的办结业务(业务办理)......................................................... 31已退回的业务(业务办理)......................................................... 5.1.1.12. 31................................................................................................. 5.1.2. 业务流程测试31业务流程一5.1.2.1. ....................................................................................... 4 ....................................................................................... 业务流程二5.1.2.2.1 4 ....................................................................................... 5.1.2.3.1业务流程三 4 ....................................................................................... 5.1.2.4.1业务流程四 第3页共18 页 系统验收标准

系统软件详细设计说明书

系统软件详细设计说明书 1.引言 1.1编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详 细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2.系统的结构 ui :系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui 部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。 client :实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的

资源,并返回相应的信息。 search: 资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 preview :资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该资源。 preview部分调用comm on部分读取属性文件的内容亦显示预览资源内容的显示格式。 3.模块1(ui )设计说明 3.1 模块描述实现用户界面的包,含有11个文件51 个类,是本系统中最复杂的代码。 3.2 功能负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp 站点中搜索用户需要的资源。 3.3 交互的模块 client ,search ,preview ,common。 3.4 模块设计该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: MainFrame.java :MainFrame 是含有主函数的类,也是lyra 客户端开始执行的类,它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 FtpFrame_AboutBox.java: 显示关于窗口的类,当用户点击帮助菜单中的关于菜单项时会 弹出关于对话框。 Tools.java :FileTools 是文件操作辅助类,可以实现文件的递归删除等。 XMLController.java: JDOMTes是操作xml文件的类,用JDOM来操作xml文件, 实现的功能有: (1)保存ftp 服务器的文件列表(站内搜索时使用),递归的从ftp 服务器读取列表,并存入一个xml文件中(文件的命名方法是:ip+用户名.xml);以目录树的形式保存。 (2)根据文件名在文件中查找文件,站内搜索时使用。 (3)保存ftp 服务器的信息:ip ,端口(默认端口21 不保存),用户名(默认anonymous 不保存),密码,最多存10 个;存在resource\settings\ serversinfor.xml 文件中。 (4)读取已存储的ftp 服务器信息。 (5)从type.xml 读取搜索的类型。 Constants.java: 放置系统运行时使用的一些常量,initcontent ()函数对所有常量进行初始化,这个函数在MainFrame 中被调用一次。iconHashMap 是hash 表,用于存放文件的系统图标。 CustomizedController.java :包含自定义的控件类,java 中的控件可能不能满足需求,需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有: (1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。 (2)CustomizedTableCellRenderer 是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。 (3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。 (4)RightPanel 类的父类是JPanel ,用户显示右边的主题部分,包括右上边的搜索及服务 器选项,和中间的显示服务器文件的TabbedPane。. (5)BottomPanel 类是右下放显示下载和服务器信息的JTabbedPane。 (6)CustomizedJButton 是定义按钮类,更改了按钮的字体,java 本身默认的字体不好看。 (7)CustomizedTableModel 是表格类,实现单元格的不可编辑。 (8 )CustomizedTableCellRenderer_Remote 类是表格绘制器,在远程文件浏览 器RemoteFilesPanel 使用,用于显示文件名和文件图标。

软件项目验收标准文档

软件项目验收标准 文档

文档修订记录 *变化状态:C = 创立,A = 增加,M = 修改,D = 删除 *正式发布时文档版本号从1.0开始。对文档进行小改动时,版本号以0.1进阶;大改动时版本号以1.0进阶。 文档审批记录

目录 1. 前言......................................................................... 错误!未定义书签。 1.1. 目的.............................................................. 错误!未定义书签。 1.2. 范围.............................................................. 错误!未定义书签。 1.3. 术语定义...................................................... 错误!未定义书签。 1.4. 预期读者与阅读建议 .................................. 错误!未定义书签。 1.5. 参考.............................................................. 错误!未定义书签。 2. 项目概述 ................................................................. 错误!未定义书签。 3. 验收原则 ................................................................. 错误!未定义书签。 4. 总体验收标准 ......................................................... 错误!未定义书签。 4.1. 标准定义...................................................... 错误!未定义书签。 4.2. 验收标准的详细说明 .................................. 错误!未定义书签。 4.2.1. 软件错误的严重性等级......................... 错误!未定义书签。 4.2.2. 错误与严重性等级对应......................... 错误!未定义书签。 4.2.2.1.一级错误的描述 错误!未定义书签。 4.2.2.2.二级错误的描述 错误!未定义书签。 4.2.2.3.三级错误的描述 错误!未定义书签。 4.2.2.4.四级错误的描述 错误!未定义书签。

软件项目 软件项目策划书(最新)

一,活动背景 在科技快速发展的今天,在计算机软件快速更新换代的21世纪,计算机应用能力已经成为社会各行业最重要的工作要求之一,对软件程序测试员来讲,掌握好软件的开发过程和软件的使用方法,是最基本的要求。 二,活动目的 通过这次比赛,了解2014级软件专业学生对软件的掌握情况,测试对软件的应用能力;让同学们对自己的实际情况有大体的了解,针对各种不足和缺点及时的修补,对以后的学习有明确的计划,目标;让老师在以后的授课过程中有更加明确的目的方法;同时,发现、发掘对软件开发和应用有潜力、有能力的2014级和2014级学生,加以重点培训和培养,使之成为软件行业的新星。 三,活动时间 2014—2014学年上半学期末(具体时间未定)。 四,活动地点 威海职业学院信息楼微机室(具体地点未定)。 五,活动流程 1. 前期宣传: 海报宣传:于校内各宣传栏,寝室楼下各宣传栏张贴海报(保证海报的张贴时间)------张贴于同学们每天的必经之路,也是人流量最大的主干道,快速,连续性传递活动信息,是同学们获取信息的重要渠道 ? 横幅宣传:在学校主干道、活动现场或设摊现场悬挂活动宣传横幅,保证悬挂时间。 2. 比赛报名 3. 考场调试与安排 4. 正式比赛 5. 公布成绩及颁奖 6. 总结大赛收获和成果

六,活动人员安排 1前期活动宣传人员 2比赛现场报到处人员及维持秩序人员3比赛现场监考人员 七,注意事项 1. 做好前期宣传工作,确保每一位同学都能够了解本次大赛。 2. 做好比赛考点安排,避免考生和考场冲突。 3. 比赛要真正做到公平,公正,公开。 八,活动用具 1. 宣传用具:彩纸、毛笔若干,其他用具待定。 2. 考试用具:微型计算机若干台,其他用具待定。 策划人:刘禄安崔锦鹏张伟超 1 项目基本情况 1.1项目背景 拓展训练是一种户外体验式培训项目,在国外拥有50多年的发展历史,它渊源于二战时期的生存训练,软件项目策划书范文。那时候反法西斯盟军的商船、战船经常被德国打沉,大部分水手葬身鱼腹,只有极少数得以生还。后来人们惊奇的发现能够生存下来的人不一定是身强力壮的,而是那些具有协作精神、意志力和求生欲望特别强的人。通过对这一现象的分析与研究,人们得出这样一个答案,能在恶劣环境下求得生存,靠的不仅是体能而是良好的心理素质和协作品质。受此启发,1941年在英国创办了一所专门训练水手的学校,后来逐渐延伸到为军队训练士兵的生存能力。战后,又从最早的生存训练演变到为社会和经济领域服务,成为现代人和现代组织一种全新的学习方式和训练方法。这种训练在国外被称为“Outward Development”。迄今为止,全世界此类培训学校已得到广泛发展,并成立了自己的协会,开展各种形式的交流与合作,国外许多跨国公司将其融入到日常规范的培训体系之中;我国深圳、上海、北京等发达地区的很多著名公司和组织更加推崇和广泛采用;这种与国际培训理念接轨又经国情化发展的训练方式深受人们青睐,得到企业和组织广大精英们的的认可。 户外拓展训练源于军事特种训练的拓展,由于其固有的内在特点和优势,已经越来越受到社会各界团体特别是企业的青睐,被国际上称为“钻石行业”,其利润和发展空间十分巨大。

软件工程网上商城项目详细设计说明书

1引言 (3) 编写目的 (3) 背景 (3) 定义 (3) 参考资料 (3) 2程序系统的结构 (4) 3产品管理程序设计说明 (5) 程序描述 (5) 功能 (5) 性能 (5) 输人项 (6) 输出项 (6) 算法 (7) 限制条件 (9) 测试计划 (9) 尚未解决的问题 (9) 功能 (9) 性能 (10) 输人项 (10) 输出项 (11) 算法 (11) 流程逻辑 (13) 接口 (13) 存储分配 (14) 注释设计 (14) 限制条件 (14) 测试计划 (14) 尚未解决的问题 (14) 功能 (15) 性能 (15) 输人项 (16) 输出项 (16) 算法 (16) 流程逻辑 (18) 接口 (19) 存储分配 (19) 注释设计 (19) 限制条件 (19) 测试计划 (20) 尚未解决的问题 (20) 功能 (20) 性能 (20)

输人项 (21) 输出项 (21) 算法 (22) 流程逻辑 (23) 接口 (24) 存储分配 (24) 注释设计 (24) 限制条件 (24) 测试计划 (25) 尚未解决的问题 (25)

详细设计说明书 1引言 编写目的 该阶段开发以正式进入软件的实际开发阶段,本阶段完成系统的详细设计并明确系统的数据结构与软件结构。 在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本详细设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。 软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查。 背景 说明: A.软件系统的名称:BS网上商城系统 B.任务提出者:BS电子商务公司 开发者:LEI_SKY软件开发小组 C. 本系统将是一个独立的系统,目前所产生的输出都是独立的 本系统将使用MySql作为数据库的存储系统 定义 A. .B/S(Brower/Server) B. .IIS (Internet Information Server) C. .HTML(Hypertext Markup Language,超文本标记语言) D. .CSS(Cascading Style Sheets,层叠样式表单) E. .JSP(Java Server Pages) 参考资料 相关的文件包括: A. 内部文件《BS网上商城电子商务系统案例研究项目》

软件项目验收标准

文档修订记录

目录

前言 1.1.目的 在参考了大量的实践案例和文献的基础上,结合项目特征和实际制定本验收标准指导书,确立项目质量目标,规范软件的验收。 1.2.范围 适用于公司所有IT类型项目(包括合同开发类、项目实施类以及系统集成类)的验收标准确定。

1.3.术语定义 1.4.预期读者与阅读建议 验收原则 验收参与部门:供应商代表、项目业主、监理人员、专家小组或第三方验收人员。 在软件开发合同的签订阶段就提出软件验收项目和验收通过标准的意见;在软件的需求评审阶段,仔细审阅软件的需求规格说明书,指出不利于测试和可能存在歧义的描述;在开发完软件并经过开发方内部仔细的测试后,对完成的软件进行评审或第三方的验收测试,提供完整的错误报告提交给项目业主,由项目业主根据之前签订的开发合同中相应的验收标准判断是否进行验收。

总体验收标准 总体验收标准是结合国家标准、软件行业惯例所提出的对于软件系统质量的最低要求,所有交付的软件必须满足本标准的约定。 1.5.标准定义 {以下内容根据项目实际情况调整:} 1)测试用例不通过数的比例< %; 2)不存在错误等级为1 的错误; 3)不存在错误等级为2 的错误; 4)错误等级为3 的错误数量≤ 5; 5)所有提交的错误都已得到更正; 1.6.验收标准的详细说明 总体验收标准,即每一级别的错误量的可接受范围。一般来说,不允许存在1 级和2级错误,而3 级错误的数量则可按本标准确定或由用户方和开发方根据软件的规模和复杂程度进行商定,并在软件开发合同中明确地列出。 在软件验收测试中,测试的依据包括软件的投标文件、开发合同、需求规格说明书, 同时还包括特定软件的相关行业标准(这些行业标准应在开发合同中明示出来)。 在进行第三方的验收测试后,软件评测中心将发现的所有错误进行总结和归纳,并提交完整的错误报告,在错误报告中包括每一级别的错误数量和错误清单(所有的错误都需经过用户方和开发方的确认)。 用户方根据错误报告中每一级别的错误数量和错误清单与软件开发合同中的

相关主题
文本预览
相关文档 最新文档