1、-精品word文档 值得下载 值得拥有-软件工程实验指导书一、基本目的:1使学生把软件工程的基本原理和技术应用于实践 。2使学生掌握实际大型软件的开发过程和组织方式。3使学生增强开发大型软件的能力。二、实验环境:文档制作工具为WORD、EXCEL、VISIO、ROSE等,编程环境自选。三、背景知识:从理论上而言,软件生存期一般都可分为计划、需求分析、设计、编码、测试、运行维护六个步骤。根据软件工程实施过程中的各阶段活动,我们可以把它归结为不同的软件生存期模型,并归结出每一阶段的实施的行为特征。在软件工程的实施过程中,需要制做相应的文档。1计划阶段 计划阶段指技术人员辅助管理人员或市场部人员根据
2、项目意向,做出初步需求调查、进行可行性论证,在论证通过后做系统方案,如委托开发,还需签定项目开发合同,并制定项目开发计划。2需求分析阶段 需求分析阶段,管理人员提出需求分析阶段计划,分析人员制作软件需求说明书,包括软件需求子系统需求说明书、数据要求说明书、子系统数据要求说明书、系统数据流图、子系统数据流图及其相应的词典。系统需求说明书完成后应通过项目需求评审,经用户确认后出具需求分析验收报告。初步制定测试计划。3设计阶段 在设计阶段需要制定系统实现方案,设计阶段计划,填写数据库设计说明书、详细设计说明书,详细设计应通过详细设计评审、出具详细设计验收报告,设计阶段完成后应开始制做用户手册、管理员
3、手册、测试计划与测试案例设计。4编码阶段 在编码阶段应有数据库编程规范、编程语言编程规范、内部公用函数(模块)目录等。设计和执行模块测试。5测试阶段 设计完成后,就应该进入测试阶段,测试阶段中,应该制定测试规范、填写测试计划与测试说明,测试过程中应填写软件测试报告。6运行维护阶段 测试阶段完成后,应进行系统交付,进入运行维护阶段。系统维护阶段,用户发现问题时,应填写计算机软件问题报告单,提交信息部主管或根据合同约定向设计单位提交。 四、实验要求:每班分为-6个小组,每组从实验题目中任选一题,也可自选题目作为课程实践题目。每组指定一名组长,负责分工和制定标准等管理工作。1项目开发过程建议采用快速
4、原型与增量开发相集合的模式,在基本明确需求的情况下建立系统整体原型供需求的讨论和确定,在需求和系统架构确定后,选取一个具有代表性或系统核心部分的子系统进行详细的设计开发。开发方式要求采用面向对象方法。2实验内容包括进行需求分析、系统设计、系统实现及测试、系统交付。每个组员必须参加这个系统开发过程的部分工作,扮演某种角色,并书写部分实验报告。3实验报告要求包括项目开发计划、需求规格说明书、设计规格说明书、源程序清单、测试报告和用户手册。全组文档格式、内容参照附件中模板,提交一份完整的实验报告(提交打印和电子两种形式)。4每组所选软件工程课程实践题目也作为数据库原理课程的课程实践题目,文档编制部分
5、主要在软件工程课程实践中完成,程序编写部分主要在数据库原理课程的课程实践中完成。五、实验题目:1. 银行帐户管理、储蓄业务处理系统为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息(若为新储户须建立帐户),并打印存款单给储户;如果是取款,系统计算利息并打印利息清单给储户(若为清户记录注销该帐户);还可向储户提供余额查询功能。2. 机票预定系统为方便旅客,某航空公司拟开发一个机票预定系统。旅客可向该系统查询航班情况(按目的地、起飞时间、航班班次等)。旅行社把预定机票的旅客信息(姓名、性别、工作单位
6、、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,打印取票通知和帐单,旅客在收到取票通知和帐单后可交费并于飞机起飞前24小时凭取票通知和交款单经系统校对无误后打印机票给旅客。旅客也可向系统提出退票要求,系统针对具体情况计算手续费后进行相应退票处理。3. 教师综合素质评测系统要求具有教师信息的录入、导入功能,信息查询和统计功能,教师素质评价功能(学历情况、教学情况、科研情况、论文发表等),系统维护和素质评定参数设置功能,以及系统帮助等。4. 分房管理系统某大学拟开发一个计算机分房管理系统,要求系统具有分房、调房、退房和咨询统计等功能。房产科把用户申请表输入系统后,系统首先检查
7、申请表是否合理,对不合法申请表拒绝接受;对合法表根据类型进行处理。分房申请,根据申请者情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,高于阀值的进行排队。分房时,读空房文件,把好房优先分给排在分房队列前面的人,并将房屋信息与申请者一起写入住房文件中。若为退房申请,从住房文件中删除有关信息,并将房屋信息计入空房文件。若是调房申请,根据申请者情况计算分数,并进行以上退房和分房处理。系统可进行房屋信息维护(输入、删除、排序),以及各种住房信息统计、查询、打印等。5. 学生成绩管理系统学生成绩的手工录入,是一项非常繁重而枯燥的劳动,随着计算机的发展,应用数据库技术实现学生成绩的计算机管理是可行和
8、必要的工作。本课题建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。本课题要求:原始数据录入(包括学生信息,课程信息,学生成绩录入);课程查询、学生信息和成绩查询;报表输出,包括学生成绩汇总表,需重修的学生统计报表,班级单科成绩报表等;根据学生选修课程学分情况,获取学籍变动学生名单等功能。6. 计算机专业课程题库系统的设计随着考试类型的不断增加及考试要求的不断提高,传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,人们迫切要求进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、
9、客观,更加激发学生的学习兴趣。计算机题库系统作为一个教育测量工具,课题建立题库管理系统,包括知识点构建、题型划分、题库建立等功能。7. 自动排课系统自动排课系统是一个学校不可缺少的部分,使用计算机对选课信息进行管理已经成为必然。根据任务书规定课程情况、教室情况,进行自动排课,并能手动进行调整,要求一位老师在同一时间只能给一个合班上课,一个教室同一时间只能有一个合班上课;用户只要将班级、课程和教室的各项资料输入,剩下的排课部分则完全交给计算机。如果资料输入有错误,可以对各项资料进行添加、删除和修改,各项资料有所变动之后。8. 教学计划管理系统教学计划管理是高校教学管理系统中重要的组成部分。传统的
10、管理方法和手段已经不再适应发发展。本课题包括三种角色,管理员、教师、学生。管理员管理和维护课程信息,设定培养计划,建立专业与课程之间的对应关系,包括开设的课程、课程学分、课程上课学期、课程学分、实验学分、课程考核方式等信息。教师查看本学期开设课程信息和自己所授课程。学生查看课程信息和自己的培养计划9汽车俱乐部管理系统为实现汽车俱乐部行业信息的规范化管理,某软件开发商要求开发一汽车俱乐部管理系统,面向俱乐部工作人员进行会员信息的管理。主要功能包括:用户(俱乐部工作人员)身份验证和用户权限组织;提醒服务(提醒各种该执行的车务活动);会员管理(会员信息、会员费收缴记录录入,查询,修改);车务管理(新
11、车上牌代办,保险代办,验证代办,落户代办等);救援服务(呼救记录,救援情况记录以及救援车辆管理);旅行服务(旅行信息记录、修改、查询);统计报表、图表(所有当日、当月、当年向会员提供的各种服务信息及其收费的详细情况列表及汇总);系统管理(设置提醒提前日期,用户管理等);俱乐部管理(俱乐部部门、工作人员、救援车辆管理);系统帮助。10设备管理系统实现公司设备的有效管理、维护记录。购入新设备,登记设备购入时间、名称、型号、种类、内部编号、所属部门、存放位置等。设备转借时,记录借用部门、经手人员、用途、拟还日期等。设备故障时,记录故障情况、维修情况(时间、人员、结果)等。设备报废时,记录报废原因、批
12、准人员、经手人员、处理方式等。对设备管理人员和使用人员提供各种设备处理的按部门、设备类型、处理日期等查询和修改等功能。11客户关系管理系统客户关系管理是一个“热门”的计算机应用领域。客户关系管理系统(CMS)是现代企业管理不可缺少的重要软件工具,是ERP的重要组成。系统能够对与客户相关的各种业务进行管理,如:客户信息管理、行动管理、客户反馈管理、客户服务管理、系统管理等等;系统数据库可以对各种客户信息进行管理(包括个人信息、行动信息和服务信息等),并实现信息的录入、查询、导出、导入等基本功能;12. 汽车销售管理系统汽车销售管理系统要包括汽车销售机会管理、门店导购管理、试车管理、报价管理、订单
13、管理和行动管理等销售管理模块,入库管理、出库管理和盘点管理等仓库管理模块,供应商管理、采购询价和采购订单等整车采购管理模块。设计系统数据库对汽车销售各种信息进行管理,并实现信息的录入、查询、导出、导入等基本功能。课程实验报告要求:以组为单位按软件开发可交付文档的形式书写实验报告,严格按附件中所给出的内容和格式要求。其中,开发计划由组长完成,其他文档按计划中的任务分工,分别由各责任人完成。详细要求见附件。实验时间安排:实验1: 20 年 月 日,5课时实验2: 20 年 月 日,5课时实验3: 20 年 月 日,5课时实验4: 20 年 月 日,5课时附件:实验报告样本河北工业大学软件工程课程实
14、验实验报告题目: 专业: 班级: 组: 组长: 成员: 指导教师: 张健楠 完成日期: 目 录1 项目开发计划书(页码)2 软件需求规格说明书(页码)3 设计规格说明书(页码)4 源程序清单 (页码)5 测试报告(页码)6 用户手册(页码)一、项目开发计划书完成人: 1引言(Introduction)1.1项目概述(Project Summary)给出项目的初始描述。1.2 术语定义(Terms Glossary)将该软件开发计划中的术语、缩写词进行定义。1.3 相关文档(Related Documents)当该文档变更时,可能对其他文档产生影响,受影响的文档叫相关文档,需将它们列出。1 2
15、2软件生存周期(Software Life Cycle)本节记录项目策划生存期定义的工作结果,需要描述的主要内容:(1)项目生存期框图(2)项目生存期说明3任务与工作产品(Task and Work Products)项目任务和工作产品,是指根据项目生存期阶段划分的任务,和相应阶段的工作产品。记录项目生存期各阶段确定的需重点控制的阶段任务和工作产品。建议以表格的形式,列出生存期各阶段的任务和工作产品。项目包含的任务,如:(1)需求分析(2)系统设计(3)系统实现(4)测试(5)产品交付项目可能包含的产品,如:(1)需求规格说明书(3)系统设计说明书(4)源程序(5)测试报告(6)用户手册4工作
16、产品、任务规模、工作量估计(Estimates of Work Product,Task Size and Workload)项目规模估算是为了确定项目所需的人工。需要描述的主要内容有:(1)对软件工作产品规模估计依据的简要描述。(2)每种任务和工作产品规模估计的结果。(3)规模估算的结果,建议用表格的形式列出。5资源需求计划(Resource Requirement Plan)指系统在开发环境、测试环境、及用户目标环境中,对计算机软、硬件资源的要求,如计算机存储能力、计算机处理器速度、通信通道容量、服务器处理能力等的估计。6软件项目进度计划(Software Project Schedule
17、)软件项目进度计划,是对项目的进度、人员工作分工所做的计划,此计划依据上述的估算和分析结果,计划方式建议采用表格的形式。若采用工具制定项目计划,应将工具生成的图表作为项目计划的附件。本节中需要描述的主要内容有:(1)软件项目任务分解(2)设定的里程碑(3)开始和结束时间(4)缓冲时间(5)人员分配二、需求规格说明书完成人: 1概述(Summary)1.1项目的目的与目标(Purpose and Aim of Project)项目的目的是对开发本系统意图的总概括。项目的目标是将目的细化后的具体描述。项目目标应是明确的、可度量的、可以达到的, 项目的范围应能确保项目的目标可以达到。对于项目的目标可
18、以逐步细化,以便与系统的需求建立对应关系,检查系统的功能是否覆盖了系统目标。1.2 术语定义(Terms Glossary)将该用户需求报告中的术语、缩写进行定义, 包括用户应用领域与计算机领域的术语与缩写等。1.3 相关文档(Related Documents)说明用户需求报告的变更,以及可能受变更影响的其他相关文档,如:项目开发计划和设计说明书。2问题初始分析(Early Analysis)2.1 场景描述(Scene Description)自然语言描述2.2 初始功能提取(Early Function Distill)自然语言描述3目标系统功能需求(Function of Target
19、 System)3.1 功能需求分析(Function Analysis)创建用例模型与域模型,要求采用用例表进行用例规约描述,必要时采用活动图进行检验。3.2 功能需求点列表(Function List)在功能需求分析完成后,要详细列出用户需求功能点列表,提供给后续设计、编程、测试中使用,更是为了用户测试验收中使用。功能需求点列表的格式,如表2-1所示。表2-1 功能需求点列表编 号功 能 名 称使 用 人功 能 描 述输 入 内 容输 出 内 容124目标系统性能需求(Performance of Target System)4.1 时间要求(Time Request)如:(1)响应时间,
20、如查询的最长等待时间。(2)更新处理时间,如记账的最长时间。(3)数据的转换和传送时间,如远程数据传输的时间要求。(4)解题时间。4.2 空间要求(Space Request)如:(1)支持的终端数。(2)支持的并行操作的使用者数。(3)处理的文件和记录数。(4)处理任务的数量。(5)对输入和输出数据的精度要求。(6)对处理和传输过程中的精度要求。4.3 性能需求点列表(Performance List)详细列出用户性能点列表,提供给后续分析、设计、编程、测试中使用,更是为了用户测试验收中使用。需求性能点列表的格式,如表2-2所示。表2-2 性能需求点列表编 号性能名称使用部门 使用岗位性能描
21、述输入内容输出内容1235目标系统界面与接口需求(Interface of Target System)5.1 界面需求(Interphase Requirement)界面的原则要求,如方便、简洁、美观、一致等。整个系统的界面风格定义,某些功能模块的特殊的界面要求。(1)输入设备:键盘、鼠标、条码扫描器、扫描仪等;(2)输出设备:显示器、打印机、光盘刻录机、磁带机、音箱等;(3)显示风格:图形界面、字符界面、IE界面等;(4)显示方式:1024*768、640*480等;(5)输出格式:显示布局、打印格式等。5.2 接口需求(Interface Requirement)与其他系统的接口,如监控
22、系统、控制系统、银行结算系统、税控系统、财务系统、政府网络系统及其他系统等。(1)与系统特殊外设的接口,如CT机、磁共振、柜员机(ATM)、IC卡、盘点机等。(2)与中间件的接口,要列出接口规范、入口参数、出口参数、传输频率等。应在此列举出所有的外部接口名称、接口标准、规范。外部接口列表,如表2-3所示。表2-3 外部接口需求点列表编 号接口名称接口规范接口标准入口参数出口参数传输频率1236目标系统其他需求(Other Requirements of Target System)6.1 安全性(Security)6.2 可靠性(Dependability)6.3 灵活性(Agility)6.
23、4 特殊需求(Special Requirements)如:(1)进度需求:系统的阶段进度要求。(2)运行环境需求:平台、体系结构、设备要求。(3)培训需求:用户对培训的需求,是否提供多媒体教学光盘。(4)推广需求:推广的要求,如在上百个远程部门推广该系统,是否要有推广的支持软件。7目标系统假设与约束条件(Suppose and Restriction of Target System)假设与约定条件是对预计的系统风险的描述, 如:(1)法律、法规和政策方面的限制。(2)硬件、软件、运行环境和开发环境方面的条件和限制。(3)可利用的信息和资源。(4)系统投入使用的最晚日期。三、设计规格说明书完
24、成人: 1引言(Introduction)本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。1.1 目的(Purpose)本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。1.2 命名规则(Naming Rule)变量对象命名规则:申明全局变量、局部变量对象的命名规则。数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。1.3 术语定义(Terms Glossary)术语定义或解释一般用表格形式给出,如表3-
25、1所示。表3-1 术语定义或解释表序 号术 语 名 称术 语 定 义1总体结构 软件系统的总体逻辑结构。按照不同的设计方法,有不同的总体逻辑结构。若采用面向功能或面向数据的设计方法,则总体逻辑结构为一树形的功能模块结构图。若采用面向对象或面向部件(构件)的设计方法,则总体逻辑结构为部件(构件)的组装图2外部接口 本软件系统与其他软件系统之间的接口,接口设施可以是中间件。接口描述包括:传输方式、带宽、数据结构、传输频率、传输量、传输协议3数据结构 数据结构包括:数据库表的结构、其他数据结构等4概念数据模型CDM 关系数据库的逻辑设计模型,叫做概念数据模型。主要内容包括一张逻辑E-R图及其相应的数
26、据字典5物理数据模型PDM 关系数据库的物理设计模型,叫做物理数据模型。主要内容包括一张物理表关系图及其相应的数据字典6视图 在基表或其他视图之上建立的一张虚表,叫做视图,它具有物理表的许多性质,在数据处理和授权上很有用7角色 数据库中享有某些特权操作的用户,叫做角色。角色的权利通过授权来实现8子系统 具有相对独立功能的小系统叫做子系统。一个大的软件系统可以划分为多个子系统,每个子系统可由多个模块或多个部件组成9模块 具有功能独立、能被调用的信息单元叫做模块。模块是结构化设计中的概念10内部接口 软件系统内部各子系统之间、各部件之间、各模板之间的接口,叫做内部接口。接口描述包括:调用方式、入口
27、信息、出口信息等11相关文件 相关文件是指当本文件内容变更后,可能引起变更的其他文件。如需求分析报告、详细设计说明书、测试计划、用户手册12参考资料 参考资料是指本文件书写时用到的其他资料。如各种有关规范、模板、标准、准则1.4 参考资料(References)1 用户需求报告2 数据库设计规范3 命名规范1.5 相关文档(Related Documents)1 源程序清单2 测试计划及报告3 用户使用手册2总体设计(Design of Collective)2.1 体系结构设计(Design of Architecture)软件系统的结构,按照不同的设计方法,有不同的总体逻辑结构。采用包图画
28、出系统体系结构的逻辑模型。2.2 子系统清单(Subsystem List)子系统清单,如表3-2所示。表3-2 子系统清单子系统编号子系统英文名子系统功能简述子系统之间的关系SS1SS2SS32.3 模块设计(Module Design)l 依据用例模型进行用例实现,建立设计模型,要求用序列图表示;l 依据设计模型,建立设计类模型。2.4 功能模块清单(Module List)模块(类)清单,如表3-3所示。表3-3 模块(类)清单编 号模块(类)英文名模块(类)功能简述接口简述M 1-1M 1-2M 2-1M 2-23数据结构设计(Design of Data Structure)3.1
29、数据库表名清单(DB Table List)数据库表名清单,如表3-4所示。表3-4 数据库表名清单序号中文表名英文表名表功能说明1233.2 数据库表之间关系说明(Relation of DB Table)用E-R图表示。3.3 数据库表的详细清单(Particular List of DB Table)每个表的详细清单内容包括:表名、字段中文名、字段英文名、字段的类型、宽度、精度、主键/外键、空否、取值约束(默认值、最大值、最小值)、索引否。同时要指出该表的索引:索引文件名、索引字段名、索引特性(主键索引、惟一索引unique、聚集索引clustered)。详细清单可以用列表给出,如表3-
30、5所示。表3-5 表名:XXXX序号字段中文名字段英文名类型、宽度、精度取值约束空否默认值主键/外键索引否1233.4 视图设计(View Design)视图设计与授权有关,设计时参照需求文档的用户授权范围。视图设计中要给出视图的中文名、英文名,视图中的中文列名、英文列名、类型、宽度、精度,每一列的具体算法,对应的基本表名。3.5 其他数据结构设计(Design of Other Data Structure)此小节描述系统的其他数据结构设计内容。四、源程序清单1 #(Module Name)1.1 描述(Description)(用结构化自然语言或流程图对模块的功能进行简要描述)1.2 代码
31、(Program)2 #(Module Name)2.1 描述(Description)2.2 代码(Program).五、测试报告完成人: 1. 概述(Summary)1.1 项目简介(Project Synopsis)在本章节中简介项目的基本情况。 1.2 术语定义(Terms Glossary)将该测试报告中的术语、缩写进行定义, 包括用户应用领域与计算机领域的术语与缩写等。 1.3 参考资料(References)说明该测试报告使用的参考资料,如: 1 需求规格说明书 2 设计规格说明书 2. 组件测试(Module Test)2.1功能模块清单由设计规格说明书拷贝到的模块清单,如表5
32、-1所示。表5-1 模块(类)清单编 号模块(类)英文名模块(类)功能简述接口简述M 1-1M 1-2M 2-1M 2-22.2 组件测试报告(Report for Module Test)选择一个模块,应用基本路径法设计测试用例,进行现场测试。要求画出程序流程图,表示每条基本路径,记录测试数据,评定测试结果。测试活动的记录格式,如表5-2所示。表5-2 模块测试记录编号路径标识输入期望输出输出内容发现问题测试结果测试时间测试人12343功能测试(Function Test)3.1 系统功能需求(Function Request of Target System)由需求规格说明书拷贝到的功能需
33、求点列表,如表4-3所示。表5-3 功能需求点列表编号功能名称使用人功能描述输入内容输出内容1233.2. 功能测试报告(Report for Function Test)按照功能点列表内容,结合等价类划分法设计测试用例(输入/输出内容),进行现场测试,记录测试数据,评定测试结果。测试活动的记录格式,如表4-4所示。表5-4 功能测试记录编号功能名称输入内容期望输出输出内容发现问题测试结果测试时间测试人12344. 测试结论(Test Verdict)当测试完成之后,测试人员应对本次测试做出结论。格式如下:测试日期:测试地点:测试环境:列出系统的强项:列出系统的弱项:列出不符合项的统计结果:测
34、试人员签字:六、用户手册完成人: 1前言(Preface)提供手册的概述,在此可以说明编写这份手册的目的、指明本手册的读者。1.1 内容简介(Introduction)简单地介绍编写背景,系统适用的用户。1.2 基本概念(Basic Concept)说明定义的术语在本手册中的含义。1.3 主要功能(Mostly Function)对系统进行简单讲解和功能介绍。2功能(Function)这部分包括用户使用的所有功能,是用户使用手册的最重要的部分,要详细描述。2.1 使用流程(Use Flow)描述具体功能的使用顺序。如果功能之中有分类,比如,有些功能用户用不到,有些用得到,就要分开写流程。2.2
35、 具体描述(Description)描述顺序是按照使用流程的每一步进行的。2.3 进行此功能的业务介绍(Operation Introduce)对此功能进行简单介绍,说明所能完成的功能。2.4 操作步骤(Handle Step)用鼠标选择相应的功能,进入相应的界面,进行功能键以及栏目的介绍。2.5 特殊提示及注意事项(Prompt and Notice)在使用说明中,每一部分都会归纳一些问题,需要提示用户或者让用户注意,应按照以下规定的格式进行编写:字体采用仿宋字,字号采用小五号字。3附录(Appendix)对一些在正文中描述不够详尽的地方,可在附录中进行补充;用户经常遇到的问题及问题解答也可放在附录中。18