软件工程课程实验指导书软件工程是随着计算机系统的发展而逐步形成的计算机科学领域中的一门新兴学科。
通过软件工程课程的学习,能够达到正确的安排软件的结构,合理组织、管理软件的生产的教学目的。
教学的实践环节是本课程的重要部分,通过实验例证理解掌握软件工程各阶段的任务和完成后的文档是什么及完成方法。
本课程实验环节安排10学时,主要完成需求分析、模块设计、数据库设计、详细设计和测试分析六个部分。
具体安排如下:课时分配:实验一编写系统需求说明书一、实验题目对系统进行需求分析。
并编写系统需求分析说明书。
二、实验目的通过对选定系统进行系统分析和编写需求说明书,掌握系统需求分析的步骤和方法,明确需求说明书内容和格式。
通过对visio2003的熟悉应用,把系统的逻辑模型画出来。
三、预习1、系统的数据描述、功能描述方法;2、需求分析工具(业务流程图、数据流图、数据字典);3、系统需求分析步骤和内容;四、实验设备与环境1、运行和使用visio2003;2、收集整理资料的资料室和虚拟用户或实际用户。
五、实验内容选定系统后,进行系统分析,然后按如下编写提示撰写需求说明书。
1、引言⑴编写目的说明编写软件需求说明的目的,指出预期的读者。
⑵背景说明说明待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算机中心或网络中心;该软件系统同其他系统或其他机构的基本的相互来往关系。
⑶定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
2、任务概述⑴目标叙述该软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。
解释被开发软件与其他有关软件之间的关系。
如果本系统是一项独立的软件,而且全部内容自含,则说明这一点。
如果所定义的系统是一个更大的系统的组成部分,则应说明本系统与该系统中其他各组成部分的关系,用方框图来说明该系统的组成和本系统同其他各个部分的联系和接口。
⑵用户的特点列出系统的最终用户特点,充分说明操作人员、维护人员的教育水平和技术特长,以及本系统的预期使用频度。
⑶假定和约束列出进行本系统开发工作的假定和约束,如经费限制、开发期限等。
3、需求规定⑴对功能的规定用列表方式(输入、处理、输出表的形式),逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量,经怎样的处理、得到什么输出,说明系统应支持的终端数和应支持的并行操作的用户数。
⑵对性能的规定◆精度:说明对该系统的输入、输出的数据精度的要赤诚,包括传输过程中的精度。
◆灵活性:说明对该系统的灵活性的要求,即当需求变化时,系统的适应能力。
⑶输入输出要求解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。
要求举例说明。
⑷数据管理能力要求说明需要管理的文卷和记录的个数、表和文卷的规模大小,要按可预见的增长对数据及其分量的存储要求做出估计。
⑸故障处理要求列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
⑹其他专门要求安全保密要求,可维护性、可扩充性、易读性、可靠性、运行环境和可转换性等要求。
4、运行环境规定⑴设备列出运行该系统所需要的硬设备。
说明其中的新型设备及其专门功能,包括:处理器内存容量;外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;输入及输出设备的型号和数量,联机或脱机;数据通信设备的型号和数量;功能键及其他专用硬件。
⑵支持软件列出支持软件,包括操作系统、编译(或汇编)程序、测试支持软件等。
⑶接口说明该系统同其他软件之间的接口,数据通信协议等。
六、注意事项1、数据流图及各图示要准确和规范;2、所选系统要与实验一具有连续性;3、数据字典要完整有序。
八、说明1、对实验一选定的系统,按编写提示格式编写需求分析说明;2、按编写提示格式编写需求分析说明,对格式中的个别内容可根据所选系统的复杂程度增减;3、报告中涉及的图表要规范,文图要工整;4、报告可独立完成或多人合作完成。
实验二编写概要设计说明书一、实验题目完成模块设计,并编写概要设计说明书。
二、实验目的通过对选定系统进行概要设计和编写概要设计说明书,掌握系统概要设计的步骤和方法,明确需求说明书内容和格式。
三、预习1、数据流程图、功能框图、结构图和成本/效益分析方法;2、实现方案选择方法;3、模块和模块化;4、测试方案的设计方法。
四、实验设备与环境1、运行并使用visio2003;2、收集整理资料的资料室和虚拟用户或实际用户。
五、实验内容对选定系统进行概要设计,然后按如下编写提示撰写概要设计说明书。
1、引言⑴编写目的说明编写概要设计说明书的目的,指出预期的读者。
⑵背景说明说明待开发的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算机中心或网络中心。
2、总体设计⑴需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明参见需求说明的编写提示。
⑵运行环境简要地说明对本系统的运行环境(包括硬件环境和软件环境)的规定,详细参见需求说明书编写提示。
⑶基本设计概念和处理流程说明本设计的基本设计概念和处理流程,尽量使用图表的形式。
⑷结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系⑸功能需求与程序的关系用表格列出功能需求与各程序之间的对应关系。
⑹人工处理过程说明在系统工作过程中不得不包含的人工处理过程(如果有的话)。
⑺尚未解决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
3、接口设计⑴用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
⑵外部接口说明系统同外界的所有接口的安排,包括软件与硬件之间的接口、系统与各支持软件之间的接口关系。
⑶内部接口说明系统之内的各个系统元素之间的接口的安排。
4、行设计⑴运行模块组合说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合运行所使用的模块和支持软件。
⑵运行控制说明每一种外界的运行控制的方式方法和操作步骤。
5、系统数据结构设计⑴逻辑结构设计要点给出系统内所使用的每个数据结构的名称、标识符以及它们中每个数据项、记录和文卷的标识、定义、长度及它们之间的层次的或规格的相互关系。
⑵物理结构设计要点给出系统内所使用的每个数据结构中的每个数据项的存储要求、访问方法、存取单位、存取的物理关系(索引)设备、存储区域)、设计考虑和保密条件。
⑶数据结构和程序关系说明各个数据结构与访问这些数据结构的各个程序之间的对应关系,可采用矩阵图的形式。
6、系统出借处理设计⑴出错信息用一览表的方式说明每种可能的出借或故障情况出现时,系统输出信息的形式、含义及处理方法。
⑵补救措施说明故障出现后可能采取的变通措施,包括:◆后务技术:如周期性地把磁盘记录到磁带上;◆降效技术:如系统由自动降为手工操作;◆恢复及再启动技术:系统从故障点恢复执行或使系统从头开始运行的方法。
⑶系统维护设计说明为了系统维护的方便而在程序内部设计中做出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
六、注意事项1、数据流图及各图示要准确和规范;2、数据字典要完整有序;3、结构设计图要工整。
八、说明1、按编写提示格式编写需概要设计说明,对格式中的个别内容可根据所选系统的复杂程度增减;2、告中涉及的图表要规范,文图要工整;3、报告可独立完成或多人合作完成。
实验三数据库设计一、实验题目完成数据库设计,并编写数据库设计说明书。
二、实验目的通过对选定系统的数据库设计,掌握数据库设计步骤和方法。
三、预习1、ER图的画法和工具;2、关系数据库理论;3、熟悉一种DBMS;四、实验设备与环境1、powerdesinger熟悉及使用;2、收集整理虚拟用户或实际用户需求所必需的数据。
五、实验内容对选定系统在需求分析的基础上进行数据库设计,然后把数据库设计结果加入到概要设计说明书中,并对数据库设计步骤进行记录和保存。
1、概念设计――ER图⑴局部ER图设计⑵局部ER图汇总,即全局ER图设计2、逻辑设计将ER图转换成所选择的DBMS所支持的数据模型的数据结构,如选择是关系型数据库管理系统,则逻辑结构就是关系-表,并进行优化。
3、物理设计⑴索引给出索引的建立方案。
⑵聚簇说明聚簇的建立方案。
六、注意事项1、ER各图示要准确和规范;2、数据库设计根据当前所学知识内容进行选择;七、实验记录1、CDM图和PDM图;八、说明1、按编写提示格式编写需概要设计说明,对格式中的个别内容可根据所选系统的复杂程度增减;2、告中涉及的图表要规范,文图要工整;3、报告可独立完成或多人合作完成。
实验四编写详细设计说明书五、实验题目完成详细设计,即算法和数据结构设计,并编写详细设计说明书。
六、实验目的通过对选定系统详细设计说明书的编写,掌握详细设计说明书的编写步骤和方法,明确详细设计说明书内容和格式。
七、预习4、算法描述工具及绘图方法,如流程图符号、N-S图或其他详细描述工具;5、判定表和判定树;6、熟悉程序设计语言并选定一种作为实施的程序设计语言;八、实验设备与环境1、编辑程序和调试程序的计算机系统;2、收集整理资料的资料室和虚拟用户或实际用户。
五、实验内容对选定系统在概要设计的基础上进行详细设计,然后按如下编写提示撰写详细设计说明书。
4、引言⑴编写目的说明编写详细设计说明书的目的,指出预期的读者。
⑵背景说明所建议的软件系统的名称;本项目的任务提出者、开发者、用户及实现该软件的计算机中心或网络中心。
5、程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
6、程序1(标识符)设计说明⑴程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的,并且说明本程序的特点(如常驻内存还是非常驻内存)。
⑵功能说明该程序应具有的功能,可采用IPO图(即输入-处理-输出图)的形式。
⑷输入项给出每个输入项的特征,包括名称、标识、数据的类型和格式、数据的有效范围、输入的方式、数量和频度、输出媒体、对输出图形及符号的说明、安全保密条件等。
⑸输出项给出每输入项的特征,包括名称、标识、数据的类型和格式、数据的有效范围、输出的形式、数量和频度、输出媒体、对输出图形及符号的说明、安全保密条件等。
⑹算法详细说明本程序所选用的算法,具体的计算公式和步骤。
⑺流程逻辑用图表(如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
⑻接口用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序直接关联的数据结构(数据库、数据文卷)。
⑼存储分配根据需要,说明本程序的相信分配。
⑽注释设计说明准备在本程序中安排的注释,如:加在模块首部的注释;各分支点的流血;各变量的功能、范围、缺省条件等所加的注释;使用的逻辑所加的注释等。
⑾限制条件说明本程序运行中所受到的限制条件。
⑿测试计划说明对本程序进行单元测试的闭幕,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件、驱动程序及桩模块等的规定。
⒀尚未解决的问题说明在本程序中尚未解决而设计者认为在软件完成之前应解决的问题。
7、程序2(标识符)设计说明用类似于程序1的方式,说明第二乃至第n个程序的设计考虑。
九、注意事项1、程序流图及各图示要准确和规范;3、数据库设计根据当前所学知识内容进行选择;4、对所有程序进行说明和描述,注意接口说明。
十一、说明1、按编写提示格式编写详细设计说明,对格式中的个别内容可根据所选系统的复杂程度增减;2、报告中涉及的图表要规范,文图要工整;3、报告可独立完成或多人合作完成。
4、分两个阶段进行,第一阶段为书面设计,第二阶段为程序调试。
实验五编写测试分析报告一、实验题目编写系统测试分析报告。
二、实验目的通过对所完成的系统进行测试分析和测试分析报告的编写,掌握测试分析报告编写的步骤和方法,明确测试分析报告内容和格式。
三、预习1、动态、静态、黑盒、白盒、测试方法2、测试步骤;3、等价类划分、边界值分析方法,错误谁策;4、逻辑覆盖法;5、因果图法;6、软件调试方法。
四、实验设备与环境1、编辑程序和测试程序的计算机系统;2、收集整理资料的资料室和虚拟用户或实际用户。
五、验内容对所完成的系统进行测试分析后,按如下编写提示撰写测试分析报告。
1、引言⑴编写目的说明编写本测试分析报告的目的,指出预期的读者。
⑵背景说明说明被测试系统的名称;本软件任务的提出者、开发者、用户及实现该软件的计算机中心或网络中心;指出测试环境与实际运行环境之间可能存在的差异以及这些差异对测试结果的影响。
2、测试概要用表格的形式列出每一项测试的标识符及其高度内容,并指明实际进行测试工作的内容与测试计划中预先设计的内容之间的差别,说明做出这种改变的原因。
3、测试结果及发现⑴测试1(标识符)把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同动态输出的要求进行比较,陈述其中的各项发现。
⑵测试2(标识符)用类似测试1的方式给出第2项及其后各项测试内容的测试结果和发现。
……4、对软件功能的结论⑴功能1(标识符)◆能力:简述该项功能,说明为满足此项功能而设计的软件能力以及经过一项或多项测试已证实的能力。
◆限制:说明测试数据值的范围(包括动态数据和静态数据),列出就这项功能而言,测试期间在该软件中查出的缺陷和局限性。
⑵功能2(标识符)用类似功能1的方式给出第2项及其后各项功能的测试结论。
……5、分析摘要⑴能力陈述经测试证实了的软件能力。
如果所进行的测试是为了验证一项或几项特定性能要求的实现,应提供这方面的测试结果与要求之间的比较,并测定测试环境与实际运行环境之间可能存在的差异对能力的测试所带来的影响。
⑵缺陷和限制陈述经测试证实了的软件缺陷和限制。
说明每项缺陷和限制对软件性能的影响,并说明全部测得的性能缺陷的累积影响和总影响。
⑶建议对每项缺陷提出改进建议。
如各项修改可采用的修改方法;各项修改的紧迫程度;各项修改预计的工作量;各项修改的负责人。
⑷评价说明该项软件的开发是否已经达到预定目标,能否交付使用。
八、说明1、按编写提示格式编写测试分析报告,对格式中的个别内容可根据所选系统的复杂程度增减;2、报告中涉及的图表要规范,文图要工整;3、报告可独立完成或多人合作完成。
4、分两个阶段进行,第一阶段为用例设计,第二阶段为测试。