软件工程中的十三种文档
软件开发各阶段文件清单
软件开发各阶段文件清单
本文件清单旨在提供一个指南,列出软件开发过程中在各个阶
段所需的文件。
这些文件可以帮助确保软件开发过程顺利进行,并
确保项目的成功完成。
需求分析阶段
- 需求文档:详细描述软件的功能需求和非功能需求。
- 用户故事:以用户的角度描述软件的功能需求。
- 用例模型:用来描述软件系统如何与外部实体交互。
- 需求跟踪矩阵:用来跟踪需求,确保所有需求都得到满足。
设计阶段
- 系统架构设计文档:描述系统的整体结构和组件之间的关系。
- 数据库设计文档:描述数据库的结构和关系模型。
- 用户界面设计文档:描述软件的用户界面布局和交互流程。
开发阶段
- 源代码:软件的源代码文件。
- 单元测试文档:记录对每个单元进行测试的结果。
- 集成测试文档:记录对软件集成进行测试的结果。
- 用户手册:向用户提供软件的详细使用说明。
测试阶段
- 测试计划文档:描述测试的目标、范围和计划。
- 测试需求文档:描述测试过程中的各种需求。
- 测试用例:描述测试场景和具体的测试步骤。
- 缺陷报告:记录测试中发现的缺陷和问题。
上线和部署阶段
- 部署文档:描述软件的部署流程和要求。
- 用户培训材料:提供给用户的培训材料,帮助用户了解如何使用软件。
- 运维文档:描述软件的运维流程和注意事项。
请注意,这只是一个基本的清单,具体的文件要根据项目需要进行调整和补充。
在整个软件开发过程中,及时更新和维护这些文件是非常重要的,以确保项目高效顺利地进行。
软件工程为啥要规范化和文档化
软件工程为啥要规范化和文档化篇一:软件工程简答题答案简答题1. 什么是软件工程?请分析软件工程的目标是什么?答案:软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:a) 实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b) 增强软件过程的可见性和可控性,保证软件的质量。
c) 提高所开发软件的可维护性,降低维护费用。
d) 提高软件开发生产率,及时交付使用。
e) 合理预算开发成本,付出较低的开发费用。
2. 什么是软件危机?软件危机表现在哪几个方面?由于软件特点和长期以来一直没有发明一种高效的开发方法,(来自: 小龙文档网:软件工程为啥要规范化和文档化)导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。
这种现象早在20世纪60年代被定义为“软件危机”。
它的具体表现如下:a)“已完成”的软件不满足用户的需求。
b)开发进度不能保障,交付时间一再拖延。
c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。
d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。
e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。
3. 根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?答案:对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。
4. 根据你的理解,列举出职业化软件工程师要注意的三个主要问题,请给出理由。
软件工程文档模板
软件工程
软件工程
1. 引言
2. 项目概述
项目概述部分主要描述项目的背景、目标、范围和约束等信息。
项目背景介绍了项目进行的原因和背景知识,项目目标明确了项目的具体目标和预期成果,项目范围界定了项目的范围和边界,项目约束说明了项目开发过程中的限制条件。
3. 需求分析
需求分析部分是软件工程项目中最重要的一个环节,它确定了项目的功能和性能需求。
需求分析包括用户需求、功能需求和性能需求等。
用户需求描述了用户对系统的期望和需求,功能需求详细说明了系统各个功能的要求,性能需求明确了系统的性能指标和限制。
4. 系统设计
系统设计部分是在需求分析的基础上进行的,它将需求转化为可执行的系统设计。
系统设计包括架构设计、模块设计和数据库设计等。
架构设计描述了系统的总体结构和模块之间的关系,模块设
计详细说明了各个模块的功能和接口,数据库设计定义了系统中需要用到的数据库表结构和关系。
5. 编码和测试
编码和测试部分是软件工程项目中的两个重要环节。
编码阶段将系统设计转化为实际的代码实现,测试阶段对编码结果进行测试和验证。
编码部分应符合编码规范和代码质量要求,测试部分应包括单元测试、集成测试和系统测试等。
6. 部署和维护
部署和维护部分是软件工程项目结束后的工作。
部署阶段将开发完成的系统部署到生产环境中,维护阶段对系统进行日常维护和问题修复。
部署和维护部分应包括详细的部署说明和维护计划。
7.
(以上为1500字)V。
软件工程的15个课程设计课题样本
●题目一: “教务管理系统之子系统——学院课程安排”●系统简介每个学期期中, 学校教务处向各个学院发出下各学期教学筹划, 涉及课程名称、课程代码、学时、班级类别(本科、专科、成人教诲、研究生)、班号等;学院教学主管人员依照教学任务和规定给出各个课程有关限制(如: 任课教师职称、上课班数、最高和最低周学时数等);任课教师自报本人授课筹划, 经所在教研室协调任可, 将教学筹划上交学院主管教学筹划人员, 批准后上报学校教务处, 最后由教务处给出下个学期全学院教师教学任务书。
●假设上述排课过程所有由人工操作, 现规定为上述过程实现计算机自动解决过程。
●限定条件(1)每位教师主授课程门数不超过2门/学期: 讲师如下职称教师不能承担学院定主课主讲任务。
(2)学院中层干部主讲学时不能超过4学时/周。
(3)本学期浮现严重教学事故教师不能承担下各学期主讲任务。
(4)本系统输入项至少涉及: 教务处布置教学筹划, 学院教师自报授课筹划和学院定关于授课限制条件。
本系统输出项至少涉及: 教务处最后下达全院教师教学任务书和学院各个班级下各学期课程表(可以不含上课地点)。
●题目二: “学校教材定购系统”●系统简介本系统可以细化为两个子系统: 销售系统和采购系统销售系统重要工作过程为: 一方面由教师或学生提交购书单, 经教材发行人员审核是有效购书单后, 开发票、登记并返给教师或学生领书单, 教师或学生可以到书库领书。
采购系统重要工作过程为:若是教材脱销, 则登记缺书, 发缺书单给书库采购人员;一旦新书入库后, 即发进书告知给教材发行人员。
以上功能规定在计算机上实现。
●技术规定和限制条件(1)当书库中各种书籍数量发生变化(涉及进书和出书)时, 都应修改有关书库记录, 如库存表或进/出库表。
(2)在实现上述销售和采购工作过程时, 需考虑关于合法性验证。
系统外部项至少涉及: 教师、学生和教材工作人员。
系统有关数据存储至少涉及: 购书表、库存表、缺书登记表、待购教材表、进库表和出库表。
软件工程文档模板
引言:
概述:
正文内容:
1.背景信息:
项目目标:明确项目的目标和需求,包括功能需求和非功能需求。
项目范围:定义项目的边界和范围,并概述项目的规模和复杂性。
项目约束:说明项目的限制条件和约束,如时间、人力、资源等。
2.需求分析:
功能需求:详细描述软件系统的功能需求,包括用户需求和系统需求。
非功能需求:列出软件系统的非功能需求,如性能、安全性、可靠性等。
3.设计和实现:
架构设计:定义软件系统的整体结构和组件之间的关系,包括高层次的系统架构和分层架构。
数据模型:描述软件系统中涉及的数据模型,包括实体关系模型和关系数据库设计。
界面设计:设计软件系统的用户界面,包括屏幕布局和交互设计。
4.测试和验证:
测试计划:制定软件系统的测试计划,包括测试目标、测试策略和测试资源分配等。
单元测试:描述软件系统的单元测试策略和方法,并提供测试用例和测试结果。
集成测试:介绍软件系统的集成测试计划和方法,包括系统集成测试和接口测试。
5.部署和维护:
部署计划:定义软件系统的部署计划,包括软件安装和配置的步骤和要求。
维护策略:制定软件系统的维护策略,包括问题追踪、bug修复和版本升级等。
总结:。
软件工程各章名词解释
名词解释一个三分 五个十五分第一章 绪论1. 软件2. 文档3. 软件工程4. 软件工程过程5. 软件生存周期6. 软件生存周期模型第二章 软件可行性研究与项目开发计划1. 投资回收2. 纯收人第三章 软件需求分析1. 需求分析2. 数据流3. 数据字典4. 加工5. 数据流图第四章 软件概要设计1. 模块2. 模块化3. 抽象4. 信息隐蔽5. 模块独立性6. 耦合性7. 无直接耦合8. 数据耦合9. 标记耦合10. 控制耦合11. 公共耦合12. 内容耦合13. 内聚性14. 偶然内聚15. 逻辑内聚16. 时间内聚17. 通信内聚18. 顺序内聚19. 功能内聚第五章 软件详细设计1. PAD2. 过程设计语言(PDL)第六章 软件编码1. 程序设计风格2. 程序可移植性第七章 软件测试1. 语句覆盖2. 判定覆盖3. 条件覆盖4. 判定/条件覆盖5. 条件组合覆盖6. 路径覆盖7. 环路复杂性8. 黑盒测试9. 白盒测试10. 驱动模块11. 桩模块12. 单元测试13. 集成测试14. 确认测试15. 调试第八章 软件维护1. 维护2. 校正性维护3. 适应性维护4. 完善性维护5. 预防性维护6. 软件可维护性第九章 软件开发的增量模型1. 原型第十章 面向对象的方法1. 对象2. 类3. 消息4. 方法5. 继承性6. 单重继承7. 多重继承8. 多态性9. 抽象10. 信息隐藏11. 链12. 关联第十一章 软件质量与质量保证1. 软件可靠性2. 效率3. 可维护性4. 可移植性5. 可互操作性6. 适应性7. 可重用性8. 软件设计质量9. 软件程序质量10. 冗余第十二章 软件工程管理1. 软件配置管理2. 软件配置项3. 基线4. 文档第十三章 软件开发环境1. 软件开发环境2. 软件工具3. CASE4. CASE生存期5. CASE工作台软件工程自考名词解释答案第一章 绪论1. 计算机程序及其说明程序的各种文档.2. 文档是有关计算机程序功能,设计,编制,使用的方案或图形资料.3. 用科学知识和技术原理来定义,开发,维护软件的一门学科.4. 软件工程过程规定了获取,供应,开发,操作和维护软件时,要实施的过程,活动和任务.5. 软件生存周期是指一个软件从得出开发要求开始直到该软件报废为止的整个时期.6. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型.第二章 软件可行性研究与项目开发计划1. 投资回收期就是使累计的经济效益等于最初的投资费用所需的时间.2. 在整个生存周期之内的累计经济效益(折合成现在值)与投资之差.第三章 软件需求分析1. 需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非不甘落后将用户非不甘落后 需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程.2. 数据流是数据在系统内传播的路径,因此由一组成分固定的数据项组成.3. 数据字典(Data Dic onary, 简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的,无二义性的说明方式为系统的分析,设计及维护提供了有关元素的一致的定义和详细的描述.4. 加工又称为数据处理,是对数据流进行某些操作或变换.5. 数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程.第四章 软件概要设计1. 模块在程序中是数据说明,可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合,分解和更换的单元.2. 模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成若干模块的过程.每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能.3. 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素.4. 信息隐蔽指在设计和确定模块时,使得一个模块内包含信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的.5. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单.6. 耦合性也称块间联系.指软件系统结构中各模块间相互联系紧密程序的一种度量.7. 无直接耦合指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息.8. 数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递.9. 标记耦合指两个模块之间传递的是数据结构,如高级语言的数组名,记录名,文件名等这些名字即为标记,其实传递的是这个数据结构的地址.10. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关,标志等),被调模块通过该控制变量的值有选择地执行块内某一功能.11. 公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合.公共数据环境可是是全程变量或数据结构,共享的通信,内存的公共覆盖区及任何存储介质上的文件,物理设备等(也有将共享外部设备分类为外部耦合).12. 当一个模块直接使用另一个模块的内部数据,或通过非正常口转入另一个模块内部,这种模块之间的耦合为内容耦合.13. 内聚块又称块内联系指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.14. 偶然内聚指一个模块内的各处理元素之间没有任何联系.15. 逻辑内聚指模块内执行个逻辑上相似的功能,通过参数确定该模块完成哪一个功能.16. 把需要同时执行的动作组合在一起形成的模块为时间内聚模块.17. 通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据.18. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入.19. 功能内聚指模块内所有元素共同完成一个功能,缺一不可.因此模块不能再分割.第五章 软件详细设计1. PAD图指问题分析图(Problem Analysis Diagram),是一咱算法描述工具,它是一种由左往右展开的二维树型结构.PAD图的控制流程为自上而下,从左到右地执行.2. 过程设计语言(Process Design Language,简称PDL),也称程序描述语言(Program Descrip on Language),又称为伪码.它是一种用于描述模块自法设计和处理细节的语言.第六章 软件编码1. 程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.2. 指程序从一个计算机环境移值到另一个计算机环境的容易程序.第七章 软件测试1. 语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次.2. 判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次”真”和”假”值,从而使程序的每一个分支至少都通过一次.3. 条件覆盖指设计足够的测试用例,使得判定表达工中每个条件的各种可能的值出现一次.4. 判定/条件覆盖标准指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次.5. 条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次.6. 路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径.7. McCabe定义程序图的环路为程序图中区域的个数.区域个数为边和结点圈定的封闭区域数加上图形外的区域数1.8. 黑盒测试是功能测试又称为功能测试或数据驱动测试.9. 白盒测试是对程序中尽可能多和逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致.10. 驱动模块是用来模拟被测模块的上级调用模块的模块,功能要比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被模块,接收被测模块的测试结果并输出.11. 桩模块用来代替被测试模块所调用的模块它的作用是返回被测模块所需的信息.12. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误.13. 集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试,故也称组装测试或联合测试.14. 确认测试又称有效性测试.是为了检查软件的功能与性能是否与需求规格说明书中确定的指标相符合所进行的测试.15. 调试是为了确定错误的原因和位置,并改正错误所进行的工作,因此调试也称为纠错.第八章 软件维护1. 在软件运行/维护阶段对软件产品所进行的修改就是维护.2. 为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.3. 随着计算机的飞速发展,计算机硬件,软件及数据环境在不断发生变化,为了使应用软件适应这种变化而修改软件的过程称为适应性维护.4. 在犯罪分子件运行时期中,用户往往会对软件提出新的功能要求与性能要求.这种增加软件功能,增强软件性能,提高软件运行效率而进行的维护活动称为完善性维护.5. 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护.6. 软件可维护性是指软件能够被理解,校正,适应及增强功能的容易程度.第九章 软件开发的增量模型1. 软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性.第十章 面向对象的方法1. 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则,计划或事件.2. 具有相同或相似性质的对象的抽象就是类具有相同或相似性质的对象的抽象就是类3. 对象之间进行通信的构造叫做消息.4. 类中操作的实现过程叫做方法,一个方法有方法名,参数,方法体.5. 继承性是子类自动共享父类数据结构和方法的机制这是类之间的一种关系.6. 在类层次中,子类只继承一个父类的数据结构和方法,称为单重继承.7. 在类层次中,子类继承了多个父亲的数据结构和方法,称为多重继承.8. 多态性是指相同的操作或函数,过程可作用于多用户种类型的对象上并获得不同结果.不同的对象收到同一消息可以产生不同的结果,这种现象称为多态性.9. 抽象是指强调实体的本质,内在的属性,忽略一些无关紧要的属性.10. 信息隐蔽是指所有软件部件内部都有明确的范围以及清楚的外部边界每个软件部件都有友好的界面接口,软件部件的内部实现与外部可访问性分离.11. 链表示对象间的物理与概念联结.12. 关联表示类之间的一种关系,就是一些可能的链的集合.第十一章 软件质量与质量保证1. 软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度.2. 为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度.3. 找到并改正程序中的一个错误所需代价的程度.4. 将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需的工作量.5. 将一个系统耦合到另一个系统所需的工作量.6. 修改或改进一个已投入运行的软件所需工作量的程度.7. 一个软件能再次用于其他相关应用的程度.8. 设计的规格说明书要符合用户的要求.9. 程序要按照设计规格说明所规定的情况正确执行.10. 冗余是指实现系统规定功能是多余的那部分资源,包括硬件,软件,信息和时间.第十二章 软件工程管理1. 软件配置管理,简称SCM,是一组管理整个软件生存期各阶段中变更的活动是一组管理整个软件生存期各阶段中变更的活动2. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位.3. 基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果.4. 文档是指某种数据媒体和其中所记录的数据.在软件工程中,文档用来表示对需求,工程或结果进行描述,定义,规定,报告或认证的任何书面或图示的信息.它们描述和规定了软件设计和实现的细节,说明使用软件的操作命令.第十三章 软件开发环境1. 软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成.2. 软件工具是指为支持计算机软件的开发,维护,模拟,移植或管理而研制的程序系统.3. CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发.4. 一个组织中的CASE系统从被始需求到完全废弃这一生存期.5. 一个CASE工作台是一组工具集,支持像设计,实现或测试等特定的软件开发阶段.。
软件工程标准化文档
软件工程标准化文档软件工程标准化文档1、引言1.1 文档目的1.2 文档范围1.3 参考文献1.4 定义术语2、背景2.1 发展背景2.2 目标与原则2.3 应用范围2.4 相关标准3、管理范围3.1 项目概述3.2 项目目标和约束3.3 项目计划和进度安排3.4 资源分配和管理4、需求分析4.1 功能需求4.2 非功能需求4.3 用户需求4.4 系统需求5、设计文档5.1 架构设计5.2 模块设计5.3 数据库设计5.4 用户界面设计5.5 接口设计6、编码规范6.1 命名规范6.2 代码格式规范 6.3 注释规范6.4 异常处理规范6.5 版本控制规范7、测试计划7.1 测试目标和策略7.2 测试环境和工具7.3 测试用例设计7.4 测试执行结果7.5 缺陷管理8、质量保证8.1 质量目标和控制措施 8.2 验证方法和技术8.3 缺陷修复和预防措施8.4 结果评估和优化9、部署与维护9.1 部署计划和流程9.2 上线和发布控制9.3 系统维护和支持9.4 用户培训和文档10、变更管理10.1 变更控制流程 10.2 变更评估和审核 10.3 变更实施和验证10.4 变更记录和报告11、问题追踪和解决11.1 问题定义和分类 11.2 问题跟踪和分析11.3 问题解决和关闭12、文档管理12.1 文档库管理12.2 文档命名和编号 12.3 文档审查和批准 12.4 文档更新和发布本文档涉及附件:附件1:项目计划表附件2:需求规格说明书附件3:设计文档附件4:测试报告附件5:用户手册本文所涉及的法律名词及注释:1、版权法:保护著作物的创作权和相关权益的法律法规。
2、商标法:保护商标所有人的商标权益和市场竞争秩序的法律法规。
3、隐私法:保护个人隐私权和个人信息安全的法律法规。
《软件工程》教学大纲
《软件工程》教学大纲一、教学目的及任务本课程是计算机科学与技术专业的主要专业基础课,本课程为理论与实践并重的信息学科的专业基础课。
本课程的主要目的是使学生理解在软件开发过程中应用软件工程方法的必要性和迫切性,要求学生掌握软件工程的基本概念、原理与技术方法。
在让学生了解有关知识与方法的同时,采用实践相配合的方式提高学生对专业知识的综合应用能力与技能,使学生在接收理论知识的基础上提高并加强工程化知识与实践知识的教育,为学生在今后从事计算机大规模软件开发与维护打下扎实的基础。
教学任务是使学生熟练掌握和在实践中运用软件工程基本概念、原理和方法,常用的软件过程模型,软件项目管理与质量保证的基本方法与工具。
使学生能针对具体应用,进行需求分析建模、软件设计及测试,以规范的方法开发软件系统。
使学生具备分析解决软件工程问题的能力,以及团队协作、谈判沟通等能力。
二、教学方法(一)授课方式与要求授课方式:a.教师讲授(讲授核心内容、总结、按顺序提示今后内容、答疑);b.课后作业(每周作业在教学日历中列出);c.课堂测验(就已经学过的内容不定时进行课堂测验);d.案例研讨(就某个典型的应用案例进行课前调研和课堂研讨)e.课堂报告(针对某个知识点,提前布置,让学生在课堂上分享自己的理解)f.实验项目(根据实验要求分组进行软件系统开发,其间编写实验报告,如需求分析报告、总体设计报告、测试报告等,提交可运行的软件系统);g.期末考试(闭卷考试)。
课程要求:熟悉软件工程基本知识,掌握从软件计划、需求分析、设计、测试等过程的一系列软件开发方法和工具,提高软件开发能力。
说明:本课程注重实践能力的培养。
课后需要有足够的时间进行课程案例调研以及实验项目的设计和实现。
(二)考试评分与建议a.期末考试占40%b.实验项目占40%c.课堂讨论(含课堂测验和课堂报告)占20%。
三、教学安排(一)教学内容第一次:软件工程概述(模块-1-软件工程概述)主要内容:软件已经成为以计算机为基础的系统和产品中的关键部分,并且成为世界舞台上最为重要的技术之一,软件工程的目的是高效率的开发高质量的软件产品。
软件工程标准化
综述报告题目软件工程标准化院系信息工程系专业计算机网络班级1072姓名马骏指导教师黄志军2010 年 3 月28 日软件工程标准化摘要:当前中国软件管理机构、中国软件企业或其他软件开发机构,正在推行软件工程标准化的工作。
把软件工程标准化工作切实地向前推进一步,必须掌握有关软件工程国家标准的具体内容。
关键字:软件工程标准化国家标准1软件工程标准化简介计算机问世以后,人要和计算机打交道,需要程序设计语言,这种语言不仅应让计算机理解,而且还应让别人看懂,使其成为人际交往的工具。
程序设计语言的标准化最早提到日程上来。
60年代程序设计语言蓬勃发展,出现了名目繁多的语言,这对于推动计算机语言的发展无疑有着重要作用。
但同时也带来许多麻烦。
即使同一种语言,由于在不同型号的计算机上实现时,作了不同程度的修改和变动,形成了这一语言的种种“方言”,为编写出程序的交流设置了障碍。
制定标准化程序设计语言,为某一程序设计语言规定若干个标准子集,对于语言的实现者和用户都带来了很大方便。
软件工程标准的类型也是多方面的。
它可能包括过程标准(如方法、技术、度量等)、产品标准(如需求、设计、部件、描述、计划、报告等)、专业标准(如职别、道德准则、认证、特许、课程等)以及记法标准(如术语、表示法、语言等)。
软件工程国家标准如下图:2 标准化的主要特点在开发一个软件时,需要有许多层次、不同分工的人员相互配合;在开发项目的各个部分以及各开发阶段之间也都存在着许多联系和衔接问题。
如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定。
在软件开发项目取得阶段成果或最后完成时,还需要进行阶段评审和验收测试。
投入运行的软件,其维护工作中遇到的问题又与开发工作有着密切的关系。
软件的管理工作则渗透到软件生存期的每一个环节。
所有这些都要求提供统一的行为规范和衡量准则,使得各种工作都能有章可循。
软件工程的标准化会给软件工作带来许多好处,比如:▪可提高软件的可靠性、可维护性和可移植性;▪可提高软件的生产率;▪可提高软件人员的技术水平;▪可提高软件人员之间的通信效率,减少差错和误解;▪有利于软件管理;有利于降低软件产品的成本和运行维护成本;▪有利于缩短软件开发周期。
第10章软件工程标准化及软件
软件工程标准化
1、软件工程功能标准框架
⑥数据:包括判定表规范、文档编制符号和约定、程序结构 和约定及其表示、计算机系统配置图符号和约定、软件状态转换 的人际通信的表示、基于计算机的应用系统的文档编制指南、软 件生存周期过程信息产品的内容指南、软件工程数据定义和交换 及高级Petri网等。
2、基于软件生存周期过程的软件工程路径框架
(11)开发进度月报
(6)详细设计说明书
(12)项目开发总结报告
(13)维护修改建议
软件文档
4、软件文档的编制要求
高质量的文档应当体现在以下几个方面: 准确、简明、完整、 灵活、有针对性、可追溯性。 为了能够编写出高质量的文档,应注意以下一些问题:
(1)应根据具体的软件开发项目,决定编制的文档种类。 (2)当所开发的软件系统非常大时,一种文档可以分成几卷编写。 (3)应根据任务的规模、复杂性,确定文档的详细程度。 (4)对国标中所建议的所有条款都可以扩展,以适应需要。 (5)程序的设计可采用多种表现形式。 (6) 文档的表现可以使用自然语言、也可以使用形式化的语言。 (7)当可以建立一些特殊的文档种类要求。
④技术:技术标准的框架以及相关国际标准如图10-7。包括 软件产品评价、软件过程评估、软件可信性、科技系统功能安全 的风险分析、功能人员和材料资源:包括TR15504-6:《软件过程评估第6 部分:评估员资格指南》和《计划中的对于知识软件工程体指南 的快速批准》。
(4) 质量保证标准(ISO9001~ISO9003)之间及其 与质量管理标准(ISO9004-1)的关系
①ISO9001、9002、9003质量保证标准之间的关系 从用途上看,它们各自独立,但它们内在有着紧密的关
系。ISO9003是最终检验和试验质量保证模式,含16项体系 要素,是三者中要求提供证据最少的质量保证模式; ISO9002是生产、安装和服务的质量保证模式,含19项体系 要素,ISO9002包容了ISO9003的要素;ISO9001是设计、 开发、生产、安装和服务的质量保证模式,含20项体系要 素,ISO9001包容了ISO9002的要素。
软件工程文档的类别
软件工程文档的类别软件工程文档是软件开发过程中非常重要的一部分,它记录了软件工程项目的各个阶段的相关信息和需求。
软件工程文档的类别通常可以分为项目管理文档、需求文档、设计文档、测试文档和用户文档等。
1.项目管理文档项目管理文档包括项目计划、时间表、团队成员名单、项目里程碑和进度报告等。
项目计划是项目管理文档的核心内容,它包括项目的范围、时间表、资源需求和风险管理等。
时间表则详细记录了项目各个阶段的工作计划和时间安排。
团队成员名单则记录了项目团队的成员及其职责,项目里程碑则是项目进度的重要标志,进度报告则记录了项目的实际进度和预期进度的对比分析。
2.需求文档需求文档是软件工程项目中至关重要的一部分,它记录了项目的功能需求、非功能需求和用户需求等。
功能需求描述了软件产品需要实现的具体功能,非功能需求则描述了软件产品需要满足的性能、可靠性、安全性等要求,用户需求则描述了软件产品需要满足的用户需求和期望。
3.设计文档设计文档记录了软件产品的设计思路、架构、模块设计和数据库设计等。
设计文档通常包括软件产品的总体设计、详细设计和数据库设计等。
总体设计描述了软件产品的整体结构、模块之间的关系和数据流动,详细设计则描述了各个模块的具体实现方式和算法等,数据库设计则描述了软件产品所使用的数据库的结构和关系。
4.测试文档测试文档记录了软件产品的测试计划、测试用例和测试报告等。
测试计划描述了软件测试的整体计划和策略,测试用例则描述了具体的测试场景和测试数据,测试报告则记录了测试的结果和问题反馈。
5.用户文档用户文档记录了软件产品的安装、配置、使用和维护等方面的说明。
用户文档通常包括安装指南、用户手册、使用说明和维护手册等,它为最终用户提供了使用软件的指导和帮助。
上述几种文档是软件工程项目中最常见的文档类别,它们各自承担着重要的角色,相互之间又有着密切的联系和依赖。
在软件工程项目中,这些文档的准确、完整和及时对项目的顺利进行具有非常重要的意义。
2020年10月自考计算机专业《软件工程》自学课件第十三章 软件项目管理
E=3.2×(KLOC)1.05 (4)Doty模型(在KLOC>9的情况下)
E=5.288×(KLOC)1.047
2. 面向FP的估算模型
(1)Albrecht & Gaffney模型 E=-13.39+0.0545FP
(2)Kemerer模型 E=60.62+7.728×10-8FP3
LET=23-2=21
类似地,事件9的最迟时刻为
LET=21-1=20
事件8的最迟时刻为
LET=min{21-6,20-0}=15
图13.4中每个圆圈内右下角的数字就是该事件的最迟时刻。
13.3.5 关键路径
➢ 关键路径上的事件(关键事件)必须准时发生, 组成关键路径的作业(关键作业)的实际持续时 间不能超过估计的持续时间,否则工程就不能准 时结束。
这个例子说明了工程网络比Gantt图优越的地方: 它显式地定义事件及作业之间的依赖关系,Gantt 图只能隐含地表示这种关系。但是Gantt图的形式 比工程网络更简单更直观,为更多的人所熟悉, 因此,应该同时使用这两种工具制定和管理进度 计划,使它们互相补充取长补短。
13.4 人员组织
13.4.1 民主制程序员组 民主制程序员组通常采用非正式的组织方式,
估算功能点的步骤
(1)计算未调整的功能点数UFP
UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf 其中,ai(1≤i≤5)是信息域特性系数
(2)计算技术复杂性因子TCF
14
DI Fi i 1
技术复杂性因子TCF由下式计算: TCF=0.65+0.01×DI
因为DI的值在0~70之间,所以TCF的值在 0.65~1.35之间。
软件工程教学大纲(正式版)
《软件工程导论》课程教学大纲一、课程基本信息课程编号:英文名称名:Software Engineering总学时:54学时学分:3课程类别:专业必修课适用专业:全校本(专)计算机科学与技术先修课程:数据结构,大学数学,离散数学,计算机算法设计。
二、课程性质与目的、要求《软件工程》是计算机专业的一门工程性基础课程,在软件工程学科人才培养体系中占有重要的地位。
软件开发是建立计算机应用系统的重要环节,人们通过软件工程学把软件开发纳入工程化的轨道,而软件工程学是用以指导软件人员进行软件的开发、维护和管理的科学。
《软件工程》已成为高等学校计算机软件教学体系中的一门核心课程,本课程以IEEE最新发布的软件工程知识体系为基础构建内容框架,注重贯穿软件开发整个过程的系统性认识和实践性应用,以当前流行的统一开发过程、面向对象技术和UML 语言作为核心,密切结合软件开发的先进技术、最佳实践和企业案例,力求从“可实践”软件工程的角度描述需求分析、软件设计、软件测试以及软件开发管理,使学生在理解和实践的基础上掌握当前软件工程的方法、技术和工具。
通过本课程的学习,要求学生能掌握软件工程的基本概念、基本原理、开发软件项目的工程化的方法和技术及在开发过程中应遵循的流程、准则、标准和规范等;学生应能掌握开发高质量软件的方法,以及有效地策划和管理软件开发活动,为学生参加大型软件开发项目打下坚实的理论基础。
本课程注重培养学生理论应用于实践的能力,课堂上教师向学生讲述软件工程中的相关原理和概念,并通过课程设计,培养学生对整个软件开发过程的能力,让学生能切实体会到软件工程在实践中的指导作用,并按软件工程的要求完成规范的各项软件开发文档。
本课程对提高学生的软件开发能力和项目管理能力有重要的现实意义。
三、教学内容及学时分配本课程的教学内容共分十三章。
第1章软件工程学概述(2课时)学习目的与要求:通过本章的学习,了解和掌握软件工程的基本概念(如软件和软件工程的定义、等),软件危机的表现形式、产生的原因及消除的途径,软件工程的基本原理、方法学,软件的生存期,几种主要的软件开发模型等。
软件工程中的十三种文档
软件工程中的十三种文档 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII软件工程中的十三种文档( ), 一份不错的参考, 如果大家在写文档的时候不知道如何下手, 或者这份文档能给你一点灵感.在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。
◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。
它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。
该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。
计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
软件工程文档的类别
软件工程文档的类别软件工程文档是指在软件开发的不同阶段编写的各种文档。
这些文档通常用于记录软件开发过程,以便于实现质量控制,减少开发成本以及后续维护。
软件工程文档涵盖了软件开发过程中的方方面面,大多数软件开发过程中至少需要以下几个重要的文档:1.需求文档:需求文档(Requirement Document)是软件工程开发中最关键的文档,其记录了软件的需求和目标,定义了软件的特性、功能、性能和约束条件等。
在开发过程中,需求文档是构建软件产品的基石。
通过这个文档,整个团队都能清晰地了解软件产品的定位、功能特性、服务范围、用户需求等,并根据需求开发产品,确保开发出的产品符合用户的期望和需求。
2.设计文档:设计文档(Design Document)是描述软件设计的文档,主要记录了软件设计的分析思想、构造方法和实现技术等。
设计文档体现了对需求文档的分析和理解,通过对软件设计的撰写和讨论,以确保其符合实现方案要求,并使开发人员更清楚地理解和实现编码工作。
3.测试文档:测试文档(Test Documents)用于记录软件测试的过程和结果。
这些文档描述了测试策略,测试计划和测试用例,用于指导测试人员执行测试的过程。
测试文档还记录了测试结果,包括测试工件的各种缺陷和缺陷的处理过程,以及测试完整性和测试覆盖率的统计信息等。
4.配置管理文档:配置管理文档(Configuration Management Documents)跟踪和管理在软件开发阶段中所创建的各种软件工件。
这些文档包括代码、测试用例、需求文档、设计文档以及其他相对应文档等,以确保软件版本管理和变更管理的完整性和正确性。
5.用户文档:用户文档(User Documentation)是软件开发中重要的一部分,为用户提供软件使用和操作的相关信息。
这个文档通常包括使用说明书、帮助文档、操作手册等,以帮助用户轻松了解软件产品,更好地使用和效率操作软件功能。
6.项目管理文档:项目管理文档(Project Management Documents)非常重要,用于记录项目的进度,财务,风险等。
第十三章 软件开发环境
第十三章软件开发环境软件开发环境主要目标是提高软件生产率,改善软件质量和降低软件成本,而这些目标的实现只能依靠软件工具的广泛应用,所以软件工具是开发环境中最主要的组成部分。
本章内容的要点在于软件开发环境、软件工具及CASE等基本概念的了解。
13.1软件开发环境在软件工程学中,方法和工具是同一个问题的两个不同方面,方法是工具研制的先导,工具是方法的实在体现,软件工程方法的研究成果要最终实现为软件工具和系统,才能充分发挥软件工程方法在软件开发中的作用。
软件开发环境,就是围绕着软件开发的一定目标而组织在一起的相关一组软件工具的有机集合。
13.1.1软件开发环境概论1.什么是软件开发环境软件开发环境是指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。
一个由IEEE和ACM支持的国际工作小组提出的关于“软件开发环境”的定义是:“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成”。
美国国防部在STARS计划中定义如下;“软件工程环境是一组方法、过程及计算机程序(计算机化的工具)的整体化构件,它支持从需求定义、程序生成直到维护的整个软件生存期”。
软件开发环境的定义可从三方面理解:(1)软件开发环境是一组相关工具的集合。
(2)这些相关工具按一定的开发方法或一定开发处理模型组织起来的。
(3)这些相关工具支持整个软件生存期的各阶段或部分阶段。
2.软件开发环境的发展在70年代,软件开发与设计方法由结构化程序设计技术(SP)向结构化设计(SD)技术发展,而后又发展了结构化分析技术的一整套的相互衔接的SA-SD的方法学。
在80年代中期与后期,主要是实时系统设计方法,以及面向对象的分析和设计方法的发展,它克服了结构化技术的缺点。
在90年代主要是进行系统集成方法和集成系统的研究,所研究的集成CSAE环境可以加快开发复杂信息系统的速度,确保用户软件开发成功,提高软件质量,降低投资成本和开发风险。
软件工程文档(完整规范版)
软件工程文档模板目录1. 范围 (1)2。
总体要求 (1)2.1总体功能要求 (1)2。
2软件开发平台要求 (1)2.3软件项目的开发实施过程管理要求 (2)2。
3。
1 软件项目实施过程总体要求 (2)2.3.2 软件项目实施变更要求 (2)2。
3。
3 软件项目实施里程碑控制 (2)3。
软件开发 (3)3。
1软件的需求分析 (3)3.1.1 需求分析 (3)3。
1.2 需求分析报告的编制者 (3)3.1.3 需求报告评审 (4)3.1。
4 需求报告格式 (4)3.2软件的概要设计 (4)3。
2。
1 概要设计 (4)3.2.2 编写概要设计的要求 (4)3。
2。
3 概要设计报告的编写者 (4)3.2。
4 概要设计和需求分析、详细设计之间的关系和区别 (4)3.2。
5 概要设计的评审 (4)3.2。
6 概要设计格式 (4)3.3软件的详细设计 (4)3.3.1 详细设计 (4)3.3.2 特例 (5)3。
3.3 详细设计的要求 (5)3。
3.4 数据库设计 (5)3.3。
5 详细设计的评审 (5)3.3.6 详细设计格式 (5)3。
4软件的编码 (5)3。
4.1 软件编码 (5)3.4。
2 软件编码的要求 (5)3。
4。
3 编码的评审 (6)3。
4.4 编程规范及要求 (6)3。
5软件的测试 (6)3。
5.1 软件测试 (6)3。
5。
2 测试计划 (6)3。
6软件的交付准备 (6)3.6。
1 交付清单 (6)3.7软件的鉴定验收 (7)3.7.1 软件的鉴定验收 (7)3.7。
2 验收人员 (7)3。
7。
3 验收具体内容 (7)3。
7.4 软件验收测试大纲 (7)3。
8培训 (7)3.8。
1 系统应用培训 (7)3.8.2 系统管理的培训(可选) (7)附录A 软件需求分析报告文档模板 (9)附录B 软件概要设计报告文档模板 (21)附录C 软件详细设计报告文档模板 (33)附录D 软件数据库设计报告文档模板 (43)附录E 软件测试(验收)大纲 ................................................................. 错误!未定义书签。
软件工程所需文档
软件工程所需文档在软件工程领域,文档的重要性不容小觑。
它就像是一座建筑的蓝图,为软件开发的全过程提供了清晰的指导和记录。
如果把开发软件比作一次长途旅行,那么文档就是地图和指南针,帮助开发团队不走弯路,顺利到达目的地。
首先,需求规格说明书是软件工程中至关重要的一份文档。
它详细地描述了软件需要实现的功能、性能、数据、安全等方面的要求。
想象一下,开发团队要建造一座房子,如果不清楚业主对房间数量、布局、装修风格的要求,那怎么能盖出满意的房子呢?需求规格说明书就是让开发团队明确软件的“业主”到底想要什么。
这份文档通常包括业务需求、用户需求和功能需求等部分。
业务需求描述了软件要解决的业务问题和目标;用户需求则从用户的角度阐述了他们对软件的期望和使用场景;功能需求则具体地定义了软件需要具备的各项功能和操作流程。
接下来是软件设计文档。
它就像是房子的设计图纸,规划了软件的架构、模块划分、接口设计等。
在这份文档中,开发人员会确定软件的整体结构,将复杂的系统分解为一个个相对独立的模块,并定义它们之间的交互方式。
比如,是采用客户端服务器架构,还是分布式架构?模块之间是通过函数调用还是消息传递进行通信?这些设计决策都会在软件设计文档中明确下来,为后续的编码工作提供坚实的基础。
测试计划和测试用例也是不可或缺的文档。
测试计划描述了如何对软件进行测试,包括测试的范围、策略、资源、进度等。
而测试用例则是具体的测试步骤和预期结果。
有了它们,测试人员就能有条不紊地进行测试工作,确保软件的质量。
就好像给产品做质检,要有标准和流程,才能知道产品是否合格。
用户手册是为了帮助用户更好地使用软件而编写的。
它应该用简单易懂的语言,向用户介绍软件的功能、操作方法、常见问题及解决办法等。
用户手册就像是软件的使用说明书,让用户能够快速上手,充分发挥软件的作用。
项目计划文档则为整个软件开发项目制定了时间表和里程碑。
它明确了每个阶段的任务、负责人、开始时间和结束时间。
软件工程(第3版)pdf(一)2024
软件工程(第3版)pdf(一)引言概述软件工程是一门关于开发高质量软件的学科,它涉及到软件的规划、设计、开发、测试和维护等方面。
本文档将介绍《软件工程(第3版)pdf》的内容,分为五个大点进行阐述。
正文内容一、软件工程的基本概念1. 软件工程的定义和目标2. 软件工程的发展历程3. 软件工程的主要特性和关键原则4. 软件工程的生命周期模型5. 软件工程的重要性和应用场景二、软件开发流程1. 需求分析和规划a. 需求获取和分析方法b. 需求规格说明和需求管理c. 项目规划和进度控制2. 软件设计和架构a. 设计原则和模式b. 架构设计和模块划分c. 接口设计和数据结构选择3. 软件编码和测试a. 编码规范和代码复用b. 软件测试的类型和方法c. 质量保证和缺陷管理4. 软件部署和运维a. 软件安装和配置b. 系统集成和部署测试c. 故障排除和性能优化5. 软件维护和升级a. 缺陷修复和功能更新b. 版本控制和升级策略c. 用户支持和培训三、软件工程的工具与技术1. 编程语言和开发环境2. 集成开发环境(IDE)和版本控制系统3. 自动化构建和测试工具4. 软件项目管理和团队协作工具5. 软件性能分析和调试工具四、软件工程的项目管理1. 软件项目计划和资源分配2. 风险管理和质量评估3. 项目进度和里程碑管理4. 项目沟通和团队协作5. 项目评估和总结五、软件工程的发展趋势和前景1. 云计算和移动应用2. 大数据和人工智能3. 微服务和容器化4. 高可靠和高性能系统5. 软件工程的可持续发展总结本文档简要介绍了《软件工程(第3版)pdf》的内容,并分别从软件工程的基本概念、软件开发流程、工具与技术、项目管理以及发展趋势和前景进行了详细阐述。
通过学习和应用软件工程知识,能够提高软件的质量和开发效率,适应快速变化的技术环境,从而为解决实际问题提供可靠的解决方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程中的十三种文档( ), 一份不错的参考, 如果大家在写文档的时候
不知道如何下手, 或者这份文档能给你一点灵感.
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。
◇可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
◇项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
◇软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。
它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。
该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
◇概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
◇详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
◇用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
◇测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。
计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
◇测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
◇开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
◇项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
◇软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
◇软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
◇软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。