《软件工程》实验指导书_第1页
《软件工程》实验指导书_第2页
《软件工程》实验指导书_第3页
《软件工程》实验指导书_第4页
《软件工程》实验指导书_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程实 验 指 导 书赵绪辉 张树明 编渤海大学信息科学与工程学院前 言软件工程开课对象为计算机科学与技术专业本科高年级学生,先修课程为高级语言程序设计,数据结构,数据库原理,计算机网络。软件工程实验是软件工程基于模拟项目和实用项目的课程设计的基本实验环节,实验内容为利用软件工程开发思想进行软件系统的开发,从系统规划、需求分析、软件设计、软件编码实现、软件测试到软件维护全过程,需要按照标准建立规范的软件相关文档,并以此指导软件开发,最终完成软件系统项目。针对不同学生的不同语言及开发工具基础,可分小组选择不同的实用软件开发项目,无法完成实用软件项目作品的学生拟以学生学籍成绩管理系统、通用图书

2、管理系统、通用在线考试系统任选其一进行软件开发实验实践。目 录实验一 软件规划安排及软件开发基础准备1实验二 需求分析及软件菜单工具栏设计4实验三 软件设计(一)与输入程序设计实现7实验四 软件设计(二)与查询程序设计实现11实验五 软件编码实现(一)与打印程序实现14实验六 软件编码实现(二)与软件安装程序实现17实验七 软件单元测试与综合确认测试20实验八 软件发布与维护24附录1 软件项目开发计划参考模板27附录2 软件需求规格说明书的编写参考模板31附录3 软件概要设计说明书参考模板36附录4 软件详细设计说明书参考模板41附录5 软件测试说明书参考模板45附录6 软件工程实验教学大纲

3、49附录7 课程设计简介53附录8 软件工程课程设计54主要参考文献57实验一 软件规划安排及软件开发基础准备一、实验目的掌握软件项目开发的过程管理,撰写软件项目计划书。掌握软件开发工具的配置方法,检查并配置软件开发软硬件环境和软件开发工具。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1软件过程管理; 2使用word撰写软件项目计划书。3配置软件开发软硬件环境和软件开发工具。四、实验要求1硬件配置: intel pentium 166或以上级别的cpu,大于64mb的内存,500mb硬盘空间。2软件要求:windows 2000操作系统或linux

4、,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具。 3实验学时2学时。 4学会软件项目计划书的书写格式。五、实验步骤(一)使用word撰写软件项目计划书1引言1.1编写目的1.2 背景1.3定义1.4参考资料2项目概述2.1工作内容2.2主要参加人员2.3产品2.3.1程序2.3.2文件2.3.3服务2.3.4非移交的产品2.4验收标准2.5完成项目的最迟期限2.6本计划的批准者和批准日

5、期3实施计划3.1工作任务的分解与人员分工3.2接口人员3.3进度3.4预算3.5关键问题4支持条件4.1计算机系统支持4.2需由用户承担的工作4.3由外单位提供的条件5专题计划要点软件项目计划书详细内容请参考附录1。(二)配置软件开发软硬件环境和软件开发工具1软件开发平台操作系统的配置。2软件开发工具的安装与配置。六、思考题1. 如何考察所开发的软件实用性与可推广性? 2. 如何进行软件的可行性分析?3. 开发规划中如何进行人员组织安排?4. 面向结构软件开发与面向对象软件开发有何异同?5. 开发环境如何选择与配置?实验二 需求分析及软件菜单工具栏设计一、实验目的掌握需求分析的步骤,撰写需求

6、规格说明书。掌握软件菜单和工具栏的设计方法,并能具体使用开发工具实现菜单栏和工具栏的软件框架部分。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1需求分析方法; 2使用word撰写需求规格说明书;3设计软件菜单;4设计软件工具栏。四、实验要求1硬件配置:intel pentium 166或以上级别的cpu,大于64mb的内存,500mb硬盘空间。 2软件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic

7、 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具。 3实验学时2学时。 4写出实验报告。五、实验步骤(一)使用word撰写需求规格说明书1引言1.1编写目的1.2背景1.3定义1.4参考资料2任务概述2.1目标2.2用户的特点2.3假定和约束3需求规定 3.1对功能的规定3.2对性能的规定3.2.1精度3.2.2时间特性要求3.2.3灵活性3.3输人输出要求3.4数据管理能力要求3.5故障处理要求3.6其他专门要求4运行环境规定4.1设备4.2支持软件4.3接口4.4控制需求规格说明书详细内容请参考附录2。(二)使用开发工具设计软件菜

8、单(三)使用开发工具设计软件工具栏六、思考题1. 如何通过用户调查进行需求分析?2. 需求分析过程应注意哪些细节?3. 需求规格说明书如何有效反映软件需求的各个方面?4. 为什么要使用uml?5. uml实际建模过程如何?6. 在uml中的状态图,协作图,活动图,序列图在系统分析中各起到了什么作用?7. 关联和依赖的区别如何?实验三 软件设计(一)与输入程序设计实现一、实验目的掌握软件设计的步骤,实现软件的总体设计,撰写概要设计规格说明书。 掌握输入程序的设计方法,并能具体使用开发工具实现软件的数据输入模块。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验

9、内容1概要设计方法; 2使用word撰写撰写概要设计规格说明书。3实现输入程序的设计。四、实验要求1硬件配置:intel pentium 166或以上级别的cpu,大于64mb的内存,500mb硬盘空间。 2软件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具。 3实验学时2学时。 4写出实验报告。5学会撰写设计规格说明书。6至少完成两个

10、输入模块的设计。五、实验步骤(一)使用word撰写撰写概要设计规格说明书1引言1.1编写目的1.2背景1.3定义1.4参考资料2总体设计2.1需求规定2.2运行环境2.3基本设计概念和处理流程2.4结构2.5功能器求与程序的关系2.6人工处理过程2.7尚未问决的问题3接口设计3.1用户接口3.2外部接口3.3内部接口4运行设计4.1运行模块组合4.2运行控制4.3运行时间5系统数据结构设计5.1逻辑结构设计要点5.2物理结构设计要点5.3数据结构与程序的关系6系统出错处理设计6.1出错信息6.2补救措施6.3系统维护设计概要设计规格说明书详细内容请参考附录3。(二)使用开发工具实现输入程序的设

11、计六、思考题1. 软件设计方法有哪些?2. 面向过程的软件设计的缺点如何?3. 面向对象设计的优势如何?4. 软件设计应注意的基本规则有哪些?实验四 软件设计(二)与查询程序设计实现一、实验目的掌握软件设计的步骤,实现软件的详细设计,撰写详细设计规格说明书。 掌握查询程序的设计方法,并能具体使用开发工具实现软件的数据查询或数据显示模块。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1详细设计方法; 2使用word撰写撰写详细设计规格说明书。3实现查询程序的设计,包括简单查询和模糊查询。四、实验要求1硬件配置:intel pentium 166或以上级

12、别的cpu,大于64mb的内存,500mb硬盘空间。 2软件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具。 3实验学时2学时。 4写出实验报告。5学会撰写设计规格说明书。6至少完成两个查询模块的设计。五、实验步骤(一)使用word撰写撰写详细设计规格说明书1引言1.1编写目的1.2背景1.3定义1.4参考资料2程序系统的结构3程序1(

13、标识符)设计说明3.1程序描述3.2功能3.3性能3.4输人项3.5输出项3.6算法3.7流程逻辑3.8接口3.9存储分配3.10注释设计3.11限制条件3.12测试计划3.13尚未解决的问题4程序2(标识符)设计说明详细设计规格说明书详细内容请参考附录4。(二)使用软件开发工具实现查询程序的设计六、思考题1. 组件开发的适应性和优势如何?2. 什么项目适合采用面向数据流的设计方法?3. 面向对象的设计方法同面向数据流的设计方法相比,有什么优势?实验五 软件编码实现(一)与打印程序实现一、实验目的掌握软件编码规范与编程标准,并在编码中实施规范的编码标准。掌握打印程序的设计方法,并能具体使用开发

14、工具实现软件的打印预览或打印模块。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1依据软件编程标准修改代码,形成规范的代码。2实现打印程序的设计编码。四、实验要求1硬件配置:intel pentium 166或以上级别的cpu,大于64mb的内存,500mb硬盘空间。 2软件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/

15、php/jsp等任一开发工具。 3实验学时2学时。 4写出实验报告。5学会不同的编程标准的应用。五、实验步骤(一) 编码标准规范1编制易于修改和维护的代码。2编制易于测试的代码,对所有代码考虑测试需要。3将编程与编文档统一起来,文档注释如下:1) 代码的功能2) 代码的完成者3) 代码在整个软件系统中的位置4) 代码编制、复审的时间5) 保留代码的原因6) 代码中如何使用数据结构和算法4编程中采用统一的标准和约定,降低程序复杂性,检查软件系统各部分的标准和约定是否一致。5限定每一层的副作用6尽可能的重用(二)使用开发工具实现打印程序设计1打印预览程序的设计编码2打印程序的设计编码六、思考题1.

16、 如何实现超过屏幕的打印预览程序?2. 如何实现数据库的模糊查询?3. 打印报表程序设计要点有哪些?实验六 软件编码实现(二)与软件安装程序实现一、实验目的掌握软件编码规范与编程风格,并在编码中实施规范的编码风格。掌握软件安装程序的设计方法,并能具体使用安装盘制作工具实现软件的安装盘制作。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1依据软件编程风格修改代码,形成自己的编程风格。2实现软件安装盘的制作。基于web的项目制作网页格式的安装说明,其它类型的项目制作安装说明书。四、实验要求1硬件配置:intel pentium 166或以上级别的cpu,

17、大于64mb的内存,500mb硬盘空间。 2软件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具;installshield,setupbuilder,wiseinstall等安装盘制作工具。3实验学时2学时。 4写出实验报告。5学习不同的编程风格,逐步形成自己的编程风格。五、实验步骤(一)编码风格规范1. 提供尽可能简洁的代码节俭化。2

18、. 把代码分为内聚度高、富有意义的功能块模块化。3. 去掉过分复杂和不必要的矫揉造作简单化。4. 把程序的各个构件组织成一个有效系统结构化。5. 程序能自说明文档化。6. 尽量使程序布局合理、清晰、明了格式化。(二)使用开发工具实现软件安装盘的制作1安装盘制作工具的安装。2安装盘制作工具的使用。3规范工程文件,编译系统并制作安装盘。基于web的项目制作网页格式的安装说明,其它类型的项目制作安装说明书。六、思考题1.如何实现口令文件加密与用户权限设计实现?2. 如何制作软件安装盘?3. 如何制作软件帮助?实验七 软件单元测试与综合确认测试一、实验目的掌握结构化测试基本技术,并能够应用黑盒测试和白

19、盒测试技术设计测试用例,实现软件的单元测试与综合确认测试环节,撰写软件测试说明书。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1用白盒测试法设计测试用例,实现软件的单元测试。2用黑盒测试法设计测试用例,实现软件的综合确认测试。3撰写软件测试说明书。四、实验要求1硬件配置:intel pentium 166或以上级别的cpu,大于64mb的内存,500mb硬盘空间。 2软件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;vi

20、sual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具。 3实验学时2学时。 4写出实验报告。5学会用白盒测试和黑盒测试法设计测试用例。6学会撰写软件测试说明书。五、实验步骤(一)用白盒测试法设计测试用例,实现软件的单元测试对每个程序模块进行代码级测试,特别是变量的作用范围、程序的调用关系、边界条件等。1语句覆盖、判定覆盖、条件覆盖、判定 /条件覆盖、条件组合覆盖等白盒测试。 2点覆盖、边覆盖和路径覆盖等白盒测试。(二)用黑盒测试法设计测试用例,实现软件的综合确认测试对每个功能模块进行测试1 应用等价类划分方法设计测试用

21、例; 2 应用边界值分析方法设计测试用例。(三)撰写软件测试说明书1引言1.1编写目的1.2背景1.3定义1.4参考资料2计划2.1软件说明2.2测试内容2.3测试1(标识符)2.3.1进度安排2.3.2条件2.3.3测试资料2.3.4测试培训2.4测试2(标识符)3测试设计说明3.1测试1(标识符)3.1.1控制3.1.2输入3.1.3输出3.1.4过程3.2测试2(标识符)4评价准则4.1范围4.2数据整理4.3尺度软件测试说明书详细内容请参考附录5。六、思考题1. 软件测试方法有哪些?2. 测试与测试的区别是什么?3. 软件测试哪些部分可使用自动化测试工具实现测试自动化?4. 白盒测试与

22、黑盒测试有什么区别?实验八 软件发布与维护一、实验目的掌握软件发布方法,用不同机器环境发布自己的软件,并提交所有基于项目的课程设计内容。二、实验仪器奔腾166及以上计算机每人1台,组成局域网并联入internet。三、实验内容1软件发布方法。2对其它项目组的作品进行评价,在不同项目组间进行软件开发交流。3向指导教师提交基于项目的课程设计内容。序号提交内容1项目计划书2需求规格说明书3设计规格说明书4编码实现(源代码盘)5测试说明书6帮助系统或使用说明书7安装盘或安装说明书四、实验要求1硬件配置:intel pentium 166或以上级别的cpu,大于64mb的内存,500mb硬盘空间。 2软

23、件要求:windows 2000操作系统或linux,office 2000系统程序,iis5.0或apache web服务器安装程序,sql server 2000数据库系统;visual basic 6.0,visual c+6.0,visual foxpro 6.0,asp/php/jsp等任一开发工具。 3实验学时2学时。 4安装并发布软件,并对软件进行评价,不同项目组交叉进行。五、实验步骤(一)发布所开发软件项目。(二)对其它项目组的作品进行评价,在不同项目组间进行软件开发交流。(三)向指导教师提交基于项目的课程设计内容。1项目计划书2需求规格说明书3设计规格说明书4编码实现(源代码

24、盘)5测试说明书6帮助系统或使用说明书7安装盘或安装说明书课程设计简介请参考附录7。软件工程课程设计请参考附录8。六、思考题1. 桌面开发同基于web的开发各自的优缺点如何?2. java同c#语言有何异同?3. 软件维护有哪些种类?附录1 软件项目开发计划参考模板1引言1.1编写目的说明:编写这份软件项目开发计划的目的,并指出预期的读者。1.2 背景说明:a.待开发的软件系统的名称;b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;c.该软件系统同其他系统或其他机构的基本的相互来往关系。1.3定义列出本文件中用到的专门术语的定义和外文的首字母组词的原词组。1.4参考资料

25、列出用得着的参考资料,如:a.本项目的经核准的计划任务书和合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2项目概述2.1工作内容简要地说明在本项目的开发中须进行的各项主要工作。2.2主要参加人员扼要说明参加本项目开发的主要人员的情况,包括他们的技术水平。2.3产品2.3.1程序列出须移交给用户的程序的名称、所用地编程语言及存储程序的媒体形式,并通过引用相关文件,逐项说明其功能和能力。2.3.2文件列出须移交用户的每种文件的名称及内容要点。

26、2.3.3服务列出需向用户提供的各项服务,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和服务的期限。2.3.4非移交的产品说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。2.4验收标准对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。2.5完成项目的最迟期限2.6本计划的批准者和批准日期3实施计划3.1工作任务的分解与人员分工对于项目开发中需要完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加人员。3.2接口人员说明负责接口

27、工作的人员及他们的职责,包括:a.负责本项目同用户的接口人员;b.负责本项目同本单位各管理机构,如合同计划管理部门、财务部门、质量管理部门等的接口人员;c.负责本项目同个份合同负责单位的接口人员等。3.3进度对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓“里程碑)。3.4预算逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、机时费、资料费、通讯设备和专用设备的租金等)和来源。3.5关键问题逐项列出能够影响整个项目成败

28、的关键问题、技术难点和风险,指出这些问题对项目的影响。4支持条件说明为支持本项目的开发所需要的各种条件和设施。4.1计算机系统支持逐项列出开发中和运行时所需的计算机系统支持,包括计算机、外围设备、通讯设备、模拟器、编译(或汇编)程序、操作系统、数据管理程序包、数据存储能力和测试支持能力等,逐项给出有关到货日期、使用时间的要求。4.2需由用户承担的工作逐项列出需要用户承担的工作和完成期限。包括需由用户提供的条件及提供时间。4.3由外单位提供的条件逐项列出需要外单位分合同承包者承担的工作和完成的时间,包括需要由外单位提供的条件和提供的时间。5专题计划要点说明本项目开发中需制定的各个专题计划(如分合

29、同计划、开发人员培训计划、测试计划、安全保密计划、质量保证计划、配置管理计划、用户培训计划、系统安装计划等)的要点。附录2 软件需求规格说明书的编写参考模板1引言1.1编写目的说明编写这份软件需求规格说明书的目的,指出预期的读者。1.2背景说明:a待开发的软件系统的名称;b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;c该软件系统同其他系统或其他机构的基本的相互来往关系。 1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资料列出用得着的参考资料,如:a本项目的经核准的计划任务书或合同、上级机关的批文;b属于本项目的其他已发表的文件;c本文件中

30、各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2任务概述2.1目标叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。2.2用户的特点列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水

31、平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束2.3假定和约束列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。3需求规定 3.1对功能的规定用列表的方式(例如ipo表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。3.2对性能的规定3.2.1精度说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。3.2.2时间特性要求说明对于该软件的时间特性要求,如对:a响应时间;b更新处理时间;c数据的转换和传送时间;d解题时间;等的要求。

32、3.2.3灵活性说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:a操作方式上的变化;b运行环境的变化;c同其他软件的接口的变化;d精度和有效时限的变化;e计划的变化或改进。对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。3.3输人输出要求解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。3.4数据管理能力要求说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出

33、估算。3.5故障处理要求列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。3.6其他专门要求如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。4运行环境规定4.1设备列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:a处理器型号及内存容量;b外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;c输入及输出设备的型号和数量,联机或脱机;d数据通信设备的型号和数量;e功能键及其他专用硬件4.2支持软件列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。4.3接口说明该

34、软件同其他软件之间的接口、数据通信协议等。4.4控制说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。附录3 软件概要设计说明书参考模板1引言1.1编写目的说明编写这份概要设计说明书的目的,指出预期的读者。1.2背景说明:a.待开发软件系统的名称;b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资料列出有关的参考文件,如:a.本项目的经核准的计划任务书或合同,上级机关的批文;b.属于本项目的其他已发表文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文

35、件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2总体设计2.1需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录c。2.2运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录c。2.3基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。2.4结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.2.5功能器求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程

36、序的分配关系:程序1程序2程序n功能需求1功能需求2功能需求n2.6人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。2.7尚未问决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。3接口设计3.1用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。3.2外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。3.3内部接口说明本系统之内的各个系统元素之间的接口的安排。4运行设计4.1运行模块组合说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所

37、历经的内部模块和支持软件。4.2运行控制说明每一种外界的运行控制的方式方法和操作步骤。4.3运行时间说明每种运行模块组合将占用各种资源的时间。5系统数据结构设计5.1逻辑结构设计要点给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。5.2物理结构设计要点给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。5.3数据结构与程序的关系说明各个数据结构与访问这些数据结构的形式:6系统出错处理设计6.1出错信息用一览表的方式说朗每

38、种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。6.2补救措施说明故障出现后可能采取的变通措施,包括:a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;c.恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。6.3系统维护设计说明为了系统维护的方便而在程序内部设计中作出的安排,

39、包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系,可采用如下的矩阵图的形式;附录4 软件详细设计说明书参考模板1引言1.1编写目的说明编写这份详细设计说明书的目的,指出预期的读者。1.2背景说明:a待开发软件系统的名称;b本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。1.3定义列出本文件中用到专门术语的定义和外文首字母组词的原词组。1.4参考资料列出有关的参考资料,如:a本项目的经核准的计划任务书或合同、上级机关的批文;b属于本项目的其他已发表的文件;c本文件中各处引用到的文件资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表

40、日期和出版单位,说明能够取得这些文件的来源。2程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间 的层次结构关系。3程序1(标识符)设计说明从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层 模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。3.1程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有

41、无覆盖要求?是顺序处理还是并发处理等)。3.2功能说明该程序应具有的功能,可采用ipo图(即输入一处理一输出图)的形式。3.3性能说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。3.4输人项给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。3.5输出项给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。3.6算法详细说明本程序所选用的算法,具体的计算公式和计算步骤。3.7流程逻辑用图

42、表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。3.8接口用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。3.9存储分配根据需要,说明本程序的存储分配。3.10注释设计说明准备在本程序中安排的注释,如:a加在模块首部的注释;b加在各分枝点处的注释;c对各变量的功能、范围、缺省条件等所加的注释;d对使用的逻辑所加的注释等等。3.11限制条件说明本程序运行中所受到的限制条件。3.12测试计划说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职

43、责、设备条件驱动程序及桩模块等的规定。3.13尚未解决的问题说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。4程序2(标识符)设计说明用类似f3的方式,说明第2个程序乃至第n个程序的设计考虑。.附录5 软件测试说明书参考模板1引言1.1编写目的本测试说明书的具体编写目的,指出预期的读者范围。1.2背景说明:a测试说明书所从属的软件系统的名称;b该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试说明书之前必须完成的各项工作。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资料列出要用到的参考资料,如:a本项目的经核准的计划

44、任务书或合同、上级机关的批文;b属于本项目的其他已发表的文件;c本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2计划2.1软件说明提供一份图表,并逐项说明被测软件的功能、输入和输出等质量指标,作为叙述测试说明书的提纲。2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。2.3测试1(标识符)给出这项测试内容的参与单位及被测试的部位。2.3.1进度安排

45、给出对这项测试的进度安排,包括进行测试的日期和工作内容(如熟悉环境。培训、准备输入数据等)。2.3.2条件陈述本项测试工作对资源的要求,包括:a设备所用到的设备类型、数量和预定使用时间;b软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等;c人员列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数。技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。2.3.3测试资料列出本项测试所需的资料,如:a有关本项任务的文件;b被测试程序及其所在的媒体;c测试的输入和输出举例;d有关控制此项测试的方法、过

46、程的图表。2.3.4测试培训说明或引用资料说明为被测软件的使用提供培训的计划。规定培训的内容、受训的人员及从事培训的工作人员。2.4测试2(标识符)用与本测试说明书2.3条相类似的方式说明用于另一项及其后各项测试内容的测试工作计划。3测试设计说明3.1测试1(标识符)说明对第一项测试内容的测试设计考虑。3.1.1控制说明本测试的控制方式,如输入是人工、半自动或自动引入、控制操作的顺序以及结果的记录方法。3.1.2输入说明本项测试中所使用的输入数据及选择这些输入数据的策略。3.1.3输出说明预期的输出数据,如测试结果及可能产生的中间结果或运行信息。3.1.4过程说明完成此项测试的一个个步骤和控制

47、命令,包括测试的准备、初始化、中间步聚和运行结束方式。3.2测试2(标识符)用与本测试说明书3.l条相类似的方式说明第2项及其后各项测试工作的设计考虑。4评价准则4.1范围说明所选择的测试用例能够接查的范围及其局限性。4.2数据整理陈述为了把测试数据加工成便于评价的适当形式,使得测试结果可以同,已知结果进行比较而要用到的转换处理技术,如手工方式或自动方式;如果是用自动方式整理数据,还要说明为进行处理而要用到的硬件、软件资源。4.3尺度说明用来判断测试工作是否能通过的评价尺度,如合理的输出结果的类型、测试输出结果与预期输出之间的容许偏离范围、允许中断或停机的最大次数。附录6 软件工程实验教学大纲

48、一、实验教学内容开课对象为计算机科学与技术专业本科高年级学生,先修课程为高级语言程序设计,数据结构,数据库原理,计算机网络。实验教学内容为利用软件工程开发思想进行一小型软件系统的开发,从系统规划、需求分析、软件设计、软件编码实现至软件测试及维护全过程,需要建立规范的软件文档,并指导软件开发,最终完成一小型软件系统。针对不同学生的不同语言及开发工具基础,可分小组选择不同的实用软件开发项目,自己不能确定的拟以学生学籍成绩管理系统、通用图书管理系统、通用在线考试系统任选其一进行软件开发。二、实验目的熟悉软件开发全过程,建立文档规范化及设计开发符合软件工程规律的观念,利用一门计算机语言或开发工具完成一

49、小型软件系统的设计开发,最终胜任各种软件开发与管理工作。三、实验教学重点、难点及教学方式重点是需求分析、软件设计、软件测试等相关文档规范化过程,并能利用语言工具完成一小型实用的软件作品。难点是文档的编写规范及技术基础薄弱,无法综合运用所学知识。教学方式主要是专题指导及探讨。实验重点、难点及教学方式综合表表1序号重点(难点)内容简述指导方式1软件需求规格如何转化为设计书分组指导2软件编码中如何把握软件整体架构分组检查并研讨3软件实现中核心算法如何实现分组指导与研讨4软件编码中如何实现查询及打印模块上机调试、重点指导5软件测试中如何改进测试方法、提高测试效率上机调试、重点指导四、对学生的实验操作技

50、能、能力和科学作风等方面的要求表2概述与哪些教学内容有联系实验 操作 (技能)熟悉操作系统、数据结构、网络环境、数据库基础操作等,并熟练掌握一种计算机语言或开发工具,能够编写相关软件文档,综合运用相关理论知识实现一小型软件系统。程序设计语言与编码软件测试软件维护学生的 能力发现问题、提出问题的能力,分析问题、解决问题的能力,综合思维能力。具备软件开发能力、文档编写能力、团队合作能力、综合运用相关课程理论的能力。需求分析基础软件设计基础程序设计语言与编码软件测试科学 作风严谨对待每一次上机实践,认真完成每一个实验题目,养成小组内互相探讨,小组间互相沟通,完满完成软件开发任务。软件项目管理需求分析

51、基础软件设计基础五、实验教学条件列表说明软件工程实验条件明细表表3名称规格数量是否具备计算机奔腾166及以上80是六、实验考核1、 实验报告批阅。2、 提交软件设计开发过程中软件规划文档、需求规格说明书、软件设计书、软件测试报告。3、 软件编码与实现形成软件安装盘及源代码盘并以电子方式上交。七、教学进度表4实验内容概述所用学时月日/周实验类型1. 软件规划安排及软件开发基础准备2. 需求分析及软件菜单工具栏设计3. 软件设计(一)与输入程序设计实现4. 软件设计(二)与查询程序设计实现5. 软件编码实现(一)与打印程序实现6. 软件编码实现(二)与软件安装程序实现7. 软件单元测试与综合确认测

52、试8. 软件发布与维护22222222357911131517综合设计综合设计综合设计综合设计综合设计综合设计综合设计演示总学时数: 16 八、思考题、作业,资料(含电子文档)和参考书。1. 思考题、作业:1) 软件开发规划与准备方面的5个思考题:i) 如何考察所开发的软件实用性与可推广性? ii)如何进行软件的可行性分析?iii)开发规划中如何进行人员组织安排?iv)面向结构软件开发与面向对象软件开发有何异同?v)开发环境如何选择与配置?2) 需求分析方面的3个思考题:i)如何通过用户调查进行需求分析?ii)需求分析过程应注意哪些细节?iii)需求规格说明书如何有效反映软件需求的各个方面?3) 软件设计方面的5个思考题:i)软件设计方法有哪些?ii)面向过程的软件设计的缺点如何?iii)面向对象设计的优势如何?iv)软件设计应注意的基本规则有哪些?v)组件开发的适应性和优势如何?4) 软件实现方面的6个思考题:i)如何实现口令文件加密与用户权限设计实现?ii)如何实现超过屏幕的打印预览程序?iii)如何制作软件安装盘?iv)如何制作软件帮助?v)如何实现数据库的模糊查询?vi)打印报表程序设计要点有哪些?5) 软件测试方面的5个思考题:i)软件测试方法有哪些?ii)测试与测试的区别是什么?iii)软件测试哪些部分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论