1、Software Document Composition E-mail: 2教教 材材 教材教材:软件编档导论:软件编档导论 金波金波 编著编著 清华大学出版社清华大学出版社 参考资料参考资料: 实用软件文档写作实用软件文档写作 清华大学出版社清华大学出版社 肖刚等编著肖刚等编著 计算机软件工程标准计算机软件工程标准( (文档部分文档部分GB/T8567-1988GB/T8567-1988、GB/T9385-1988GB/T9385-1988) ) 国家标准汇编国家标准汇编 中国标准出版社中国标准出版社3课程目的n通过本门课程的学习,了解软件文档在软件开发过程中的作用、地位以及文档编制的有关
2、标准,熟悉软件文档的编写方法;n了解各种文档编制规范,最终能够根据项目要求编写软件文档的能力,奠定工程化的软件开发基础。4课程内容和要求n通过本课程的学习,使学生理解软件文档在工程化的软件开发过程中的作用和意义;n了解现有软件文档的标准体系;n理解软件文档与软件生存周期的关系,掌握软件文档的分类;n掌握软件文档编写的原则和步骤,能够根据标准模板编写简单需求分析说明书、概要设计文档、详细设计文档、用户文档和管理文档等。5课程特点n(1)掌握基本内容出发点;n(2)培养学生的工程化思想;n(3)以具体的实例,讲解软件文档在软件开发过程的重要地位和作用,培养学生学习兴趣;n(4)以案例贯穿在授课内容
3、之中,使用本附录中提供的案例;平时作业制定案例;课程设计分组指定案例;n(5)注意互动,组织讨论,使学生主动参与到教学中来。6教学内容n1.软件文档概述(第1章)n2.软件工程标准化(第2章)n3.软件视图和文档风格(第3章相关)n4.软件文档表达(第4章)n5.软件编档的要求(第5章)n6.软件开发文档(第6章)n7.软件管理文档(第7章)n9.软件用户文档(第8章)n9.软件文档发行(第9章)n10.软件编档管理(第10章)n11.软件产品开发文档编制的国家标准及模版(附录A)n12.软件文档实例分析7课程学时分配和评分标准课程学时分配和评分标准 课时分配:每周课时分配:每周8 8节,共节
4、,共7 7周周 平时成绩:平时成绩:书面作业占书面作业占 25 % 实践性环节占实践性环节占 50 % 考勤占考勤占 25 % 考试方法:开卷(待定)考试方法:开卷(待定) 评分标准:课程设计评分标准:课程设计(60%)(60%)平时成绩平时成绩(40%) (40%) 总评总评 100%100%(待定)(待定)8书面作业n每一章的重点、难点n查阅资料总结9实践性环节作业n可行性研究报告n项目开发计划n软件需求说明书n数据要求说明书n概要设计说明书n详细设计说明书n数据库设计说明书n用户手册n操作手册n模块开发卷宗n测试计划n测试分析报告n开发进度月报n开发总结报告10Home Design a
5、nd Improvement System课程设计项目是若干模拟情景题目课程设计项目是若干模拟情景题目要求要求:每组:每组6 6人,设组长一名;人,设组长一名;组长负责组长负责:组织、分工、安排进度等;:组织、分工、安排进度等;目的目的:通过课程设计,实际体验软件工程各阶段的:通过课程设计,实际体验软件工程各阶段的主要工作,特别注意吸取教训;主要工作,特别注意吸取教训;学会与他人合作,学会与他人合作,培养团队精神。培养团队精神。11可行性研究报告项目开发计划软件需求说明书数据要求说明书概要设计说明书详细设计说明书数据库设计说明书用户手册操作手册模块开发卷宗测试计划测试分析报告开发进度月报开发总
6、结报告要求要求:根据软件工程技术和:根据软件工程技术和项目管理理念,在组内合理项目管理理念,在组内合理分工,协同工作。分工,协同工作。121.1 为什么需要软件文档?(理解)为什么需要软件文档?(理解)1.2 软件文档的定义(了解)软件文档的定义(了解)1.3 软件文档的作用(理解、重点)软件文档的作用(理解、重点)1.4 软件文档的分类(掌握、重点)软件文档的分类(掌握、重点)1.5 软件文档与使用者的关系(掌握、重点)软件文档与使用者的关系(掌握、重点)1.6 软件文档编制与软件生存期的关系(理解、难点)软件文档编制与软件生存期的关系(理解、难点)13 1.1 1.1 为什么需要软件文档?
7、为什么需要软件文档? 文档是计算机软件产品的重要组成部分,没有文档就不称文档是计算机软件产品的重要组成部分,没有文档就不称其为软件,也更不能成为软件产品。其为软件,也更不能成为软件产品。 软件文档是一种重要的软件工程技术资料。如系统分析文软件文档是一种重要的软件工程技术资料。如系统分析文档、设计文档、版本说明文档档、设计文档、版本说明文档 软件文档的规范编制,在软件开发工作中占有突出的地位软件文档的规范编制,在软件开发工作中占有突出的地位和相当大的工作量。高质量、高效率的编制、分发、管理、维和相当大的工作量。高质量、高效率的编制、分发、管理、维护文档,及时的变更、修正、扩充和使用文档,对于软件
8、产品护文档,及时的变更、修正、扩充和使用文档,对于软件产品的设计开发、发行使用、变更维护、转让移植、二次开发等,的设计开发、发行使用、变更维护、转让移植、二次开发等,对于充分发挥软件产品的效益,都有着重要的意义。对于充分发挥软件产品的效益,都有着重要的意义。观点观点:“如果不记下来,它就并不存在如果不记下来,它就并不存在”。141.2 1.2 软件文档的定义软件文档的定义 软件文档写作是为了记录目标系统的定义、规划、分析、研究、设计、软件文档写作是为了记录目标系统的定义、规划、分析、研究、设计、开发、应用等各个阶段的设计思想和研究成果。开发、应用等各个阶段的设计思想和研究成果。 文档文档某种数
9、据媒体和其中所记录的数据。某种数据媒体和其中所记录的数据。 文档具有永久性,并可供人或机器阅读,通常指专供人阅读的东西。文档具有永久性,并可供人或机器阅读,通常指专供人阅读的东西。 文档作为计算机软件的重要组成部分,告诉用户如何操作和维护系统,文档作为计算机软件的重要组成部分,告诉用户如何操作和维护系统,提供关于未来改进和重新实施所需的信息,在开发人员、维护人员、管理人提供关于未来改进和重新实施所需的信息,在开发人员、维护人员、管理人员、用户与计算机之间起着重要的桥梁作用。员、用户与计算机之间起着重要的桥梁作用。维护人员维护人员管理人员管理人员计算机软件计算机软件用用 户户桥梁作用桥梁作用开发
10、人员开发人员151.3 1.3 软件文档的作用软件文档的作用 软件文档在产品开发过程中具有十分重要的桥梁作用,主软件文档在产品开发过程中具有十分重要的桥梁作用,主要反映在以下几个方面:要反映在以下几个方面:1. 1. 项目管理的依据项目管理的依据 文档将通常文档将通常“不可见的不可见的”软件开发进程转换成软件开发进程转换成“可见的可见的”文字资料,有利于项目的管理。文字资料,有利于项目的管理。2. 2. 技术交流的语言技术交流的语言 项目小组内部、项目平行开发的各小组之间进行的交流和项目小组内部、项目平行开发的各小组之间进行的交流和联系,通常都是通过文档来实现的。联系,通常都是通过文档来实现的
11、。3. 3. 项目质量保证项目质量保证 文档是进行项目质量审查和评价的重要依据,有效文档的文档是进行项目质量审查和评价的重要依据,有效文档的提供,可以满足项目质量保证人员和审查人员的工作需要。提供,可以满足项目质量保证人员和审查人员的工作需要。164. 4. 支持培训与维护支持培训与维护 合格的软件文档通常都提供有关软件运行、维护和培训的合格的软件文档通常都提供有关软件运行、维护和培训的必要信息,支持软件产品的应用和维护。必要信息,支持软件产品的应用和维护。5. 5. 支持软件维护支持软件维护 软件文档提供系统开发的全部必要技术资料,有利于维护软件文档提供系统开发的全部必要技术资料,有利于维护
12、人员熟悉系统,开展维护工作;软件维护文档记载了软件维护人员熟悉系统,开展维护工作;软件维护文档记载了软件维护过程中软件及其环境变化的全部信息。过程中软件及其环境变化的全部信息。6. 6. 记载软件历史记载软件历史 软件文档作为软件文档作为“记载软件历史的语言记载软件历史的语言”,可用作未来项目,可用作未来项目的一种资源,向潜在用户报道软件的各种有利信息,便于他们的一种资源,向潜在用户报道软件的各种有利信息,便于他们判断自己是否需要该软件提供的服务。判断自己是否需要该软件提供的服务。 良好的系统文档,显然有助于完成软件的移植,或将软件良好的系统文档,显然有助于完成软件的移植,或将软件转移到各种新
13、的系统环境中去。转移到各种新的系统环境中去。171.4 1.4 软件文档的分类软件文档的分类 国家标准局在国家标准局在19881988年年1 1月颁布了月颁布了计算机软件开发规范计算机软件开发规范和和计算机软件产品开发文件编制指南计算机软件产品开发文件编制指南,作为软件开发和,作为软件开发和文档编制工作的准则和规程。文档编制工作的准则和规程。 基于软件生存期方法,基于软件生存期方法,可以从可以从形式上形式上将将软件文档大致软件文档大致分分成两类成两类:软件开发过程中需要填写的各种图表软件开发过程中需要填写的各种图表,及,及应编制的应编制的各种技术文件或管理资料各种技术文件或管理资料。 软件文档
14、根据其产生和使用的范围,主要划分为软件文档根据其产生和使用的范围,主要划分为3 3大类:大类:开发文档、用户文档和管理文档开发文档、用户文档和管理文档。18开发文档开发文档用户文档用户文档管理文档管理文档可行性研究报告可行性研究报告项目开发计划项目开发计划软件需求说明书软件需求说明书数据库设计说明书数据库设计说明书概要设计说明书概要设计说明书详细设计说明书详细设计说明书用户手册用户手册操作手册操作手册软件需求说明书软件需求说明书数据要求说明书数据要求说明书项目开发计划项目开发计划模块开发卷宗模块开发卷宗开发进度月报开发进度月报测试计划测试计划测试分析报告测试分析报告项目开发总结报告项目开发总结
15、报告软件文档软件文档191.5 1.5 软件文档与使用者的关系软件文档与使用者的关系 软件开发中产生的各类文软件开发中产生的各类文档面向不同的用户,而软件用档面向不同的用户,而软件用户应该得到的文档也在商业合户应该得到的文档也在商业合同中有明确规定。同中有明确规定。软件文档的使用对象软件文档的使用对象开发人员开发人员维护人员维护人员管理人员管理人员用用 户户可行性研究报告可行性研究报告项目开发计划项目开发计划软件需求说明书软件需求说明书数据要求说明书数据要求说明书概要设计说明书概要设计说明书详细设计说明书详细设计说明书数据库设计说明书数据库设计说明书测试计划测试计划测试分析报告测试分析报告设计
16、说明书设计说明书测试分析报告测试分析报告模块开发卷宗模块开发卷宗可行性研究报告可行性研究报告项目开发计划项目开发计划模块开发卷宗模块开发卷宗开发进度月报开发进度月报项目开发总结报告项目开发总结报告用户手册用户手册操作手册操作手册201.6 1.6 软件文档编制与软件生存期的关系软件文档编制与软件生存期的关系 软件文档的编制是随着软件生存期各个阶段工作的开展而适时进行的。软件文档的编制是随着软件生存期各个阶段工作的开展而适时进行的。其中,有的仅反映某一阶段的工作,有的则需要跨越多个阶段的工作。其中,有的仅反映某一阶段的工作,有的则需要跨越多个阶段的工作。21可行性研究与计可行性研究与计划划需求分
17、需求分析析软件设软件设计计编码与单元测编码与单元测试试集成与测集成与测试试运行与维运行与维护护可行性研究报告可行性研究报告项目开发计划项目开发计划软件需求说明书软件需求说明书数据要求说明书数据要求说明书测试计划测试计划概要设计说明书概要设计说明书详细设计说明书详细设计说明书数据库设计说明数据库设计说明书书模块开发卷宗模块开发卷宗用户手册用户手册操作手册操作手册测试分析报告测试分析报告开发进度月报开发进度月报项目总结报告项目总结报告维护和修改建议维护和修改建议表1 软件生存周期各个阶段与各种文档编制的关系 22 软件文档最终需要回答读者关心的下列问题:软件文档最终需要回答读者关心的下列问题:1.
18、 1. 为什么要开发、维护或修改这个软件?为什么要开发、维护或修改这个软件?( (WhyWhy) )2. 2. 工作目标要满足哪些需求?工作目标要满足哪些需求?( (WhatWhat) )3. 3. 需求应如何实现?需求应如何实现?( (HowHow) )4. 4. 开发、维护或修改的工作应由谁来完成?开发、维护或修改的工作应由谁来完成?( (WhoWho) )5. 5. 开发工作的时间如何安排?开发工作的时间如何安排?( (WhenWhen) )6. 6. 开发工作在什么环境中实现,所需信息从何而来?开发工作在什么环境中实现,所需信息从何而来?( (WhereWhere) )23为什么为什么
19、(Why)做什么做什么(What)怎么做怎么做(How)谁来做谁来做(Who)何时做何时做(When)何处做何处做(Where)可行性研究报告可行性研究报告项目开发计划项目开发计划软件需求说明书软件需求说明书数据要求说明书数据要求说明书测试计划测试计划概要设计说明书概要设计说明书详细设计说明书详细设计说明书数据库设计说明书数据库设计说明书模块开发卷宗模块开发卷宗用户手册用户手册操作手册操作手册测试分析报告测试分析报告开发进度月报开发进度月报项目总结报告项目总结报告维护和修改建议维护和修改建议表2 文档所回答的问题24本章重点1.3 软件文档的作用(理解、重点)软件文档的作用(理解、重点) 1.
20、 项目管理的依据项目管理的依据 2. 技术交流的语言技术交流的语言 3. 项目质量保证项目质量保证 4. 支持培训与维护支持培训与维护 5. 支持软件维护支持软件维护 6. 记载软件历史记载软件历史1.4 软件文档的分类(掌握、重点)软件文档的分类(掌握、重点) 开发文档、用户文档和管理文档开发文档、用户文档和管理文档1.5 软件文档与使用者的关系(掌握、重点)软件文档与使用者的关系(掌握、重点) 软件文档的使用对象:开发人员、维护人员、管理人员、用户软件文档的使用对象:开发人员、维护人员、管理人员、用户1.6 软件文档编制与软件生存期的关系(理解、难点)软件文档编制与软件生存期的关系(理解、难点)25本章作业n1.书面作业:软件文档作用、分类、软件文档与使用者的关系n2.操作作业:查阅软件文档编制与软件生命期的关系的资料