导入:首先,小编给大家推荐一个整理齐全的软件工程文档下载地址---http://pan.baidu.com/s/1gdHYU47,方便快捷有内涵~~~
好了,starting进入主题!
前几天师哥们给我们开了一个进度审核会议,主题是软件工程文档的验收。主要是审查我们对文档的了解程度,包括文档读者、重点文档中有几个关键点(如软件需求说明书中包括E-R图、用例图、原型图、界面设计、数据库的简单描述等)。
虽然跟着模板们完成了第一遍文档,但实际上对文档里的内容理解的并不深刻,只是依葫芦画瓢。体会到还是要慢下心来,一步一总结,把基础打牢。
在以文档为驱动的软件开发方法中,文档是软件的核心之一,是软件的灵魂,文档的好坏直接关系到软件的开发质量。不同的文档有不同的阅读对象、生存期和不同的侧重点,正确的区分和明确能够大大提高我们写文档的质量,保证方向的正确。
下面将根据几张图从不同的角度来分析下软工文档。
一、文档与读者(红色字体为重点文档)。
针对在我们大部分同学在验收过程中并不明确文档读者的情况,小编根据国家软件工程标准的14个文档,整理了一下关于文档和对应读者之间的关系,主要是让我们能够明确辛辛苦苦写了半天的文档到底是给谁看的。其重要性主要体现在我们写文档必须要考虑读者人群到底想看什么,从中获取什么,这样写出来的文档才有可读性。
二、各个文档重点内容分析。
这个不给图了,还是文字描述比较好。
1、项目开发计划。主要是提出项目实施方案并进行具体分析,包括工作内容、项目条件与限制(软硬件、人员、技术、环境等)、运行环境分析、任务分析、预算及人员分工等。
2、可行性报告分析。主要分析项目实施是否具备经济、法律、技术等方面的可行性,依据公司具体条件进行分析,提出方案并给予分析。
3、数据概要说明书。主要给出逻辑上的数据描述及要求,根据项目特点进行数据分析,为以后的数据管理和数据库建立等做好说明和准备。
4、软件需求说明书。非常重要的文档,主要描述系统分析员和用户交流出的系统需求,包括系统的功能、性能、界面、数据结构、运行环境、运行需求(接口、故障处理)等。
5、测试计划。主要描述测试过程中必要的测试要求、用例、方法、内容、环境条件、人员安排等。
6、概要设计说明书。重要文档,主要描述概要设计阶段产生的需求概述、处理流程、功能分配、模块设计、接口设计、运行设计、出错处理和安全保密设计等。
7、详细设计说明书。重要文档,主要描述系统的具体实现方法,包括系统功能、性能、输入输出、算法、程序逻辑和接口等。
8、数据库设计说明书。重要文档,不言而喻,主要描述数据库的设计方法(外部设计、结构设计、运行设计)、设计原则、表结构等。
9、模块开发卷宗。主要记录模块开发过程。
10、用户手册。重要文档,包括详细的系统功能和性能介绍、操作流程和使用方法、出错处理等,给出必要的图示说明。
11、操作手册。主要描述系统的详细的操作方法,并给出必要的图示说明。
12、测试分析报告。主要描述测试结果分析,给开发人员进行系统完善和修改的指标。
13、开发进度月报。详述每月的开发进度,也要包括影响进度的因素等。
14、项目开发总结。主要描述本项目的经验和技术总结,包括开发成本(人财物)、进度描述、项目收获,并与实际执行的开发计划进行对比,给出评价,为下一次系统开发提供借鉴。
三、文档中主体人员关系。
这些人员中既有文档读者又有编写人员,他们之间的协同关系大致如下图所示。软件的文档是随着软件的变化而变化的,所以,文档是联系这些人员共同致力于软件开发的桥梁。
四、具体的各个文档在软件生存期内的分布。具体解释一下,测试过程是基于整个软件开发过程的,所以它贯穿整个生存期;用户手册也不能在最后在草草地编写一番了事儿,要及早计划和编写,以免遗漏和过于粗略(原因看看索尼产品说明书为例子)。
五、UML图与读者关系及其在软件生存期内的分布示意图。实际上的UML图与文档没有十分严格的对应分布关系,像用例图、类图等需要出现在需求文档中;类图、活动图、状态图、顺序图、协作图等需要出现在概要/详细设计说明书中,做比较透彻的说明介绍外,其他UML图可以依具体情况适当、灵活地填充在其他各文档中。有的图要重复填充,因为各文档读者不同。
最后总结一下,写好软工文档对文档驱动的软件开发无比重要,但其他开发方式文档也不能忽略。它是软件开发的跟踪和监控器,是整个软件的文字描述。上述几张图描写的软工文档、UML图、文档读者与软件开发生存期等几项内容的关系不甚明晰,不足的地方还请大家指正!