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

下载本文档

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

文档简介

1、软件工程设计实验指导书实验题目:MIS系统的设计与实现课程名称:软件工程计划学时:16撰 稿 人:王建文一、实验目的:软件工程实验课的目标是:通过一个小型软件项目的开发,使学生理论与实践相结合,体会项目开发各阶段所面临的问题,探索相应的解决办法,从而理解软件工程的过程、方法、工具三个要素。学生在实验中的收获将包括:1. 掌握从需求理解、概要设计、详细设计、编码、测试、到产品发布的软件开发全过程;2. 掌握规范化软件开发流程;3. 更深刻理解面向对象分析和设计的思想,培养面向对象开发的思维方式;4. 培养快速学习新的知识,并在实践中运用的能力;5. 掌握在项目中快速应用外部技术的能力。二、实验内

2、容以4个学生为一个团队,开发一个小型的信息系统。选题如下表所示:系统名称功能概述复杂程度电子名片管理系统(1)增加、删除、修改、分类和查询名片(2)登录管理(3)名片数据与Excel的导入、导出管理一般实验室考勤管理系统(1)电子签到(2)电子签退(3)考勤统计一般电子资源管理系统(1)资源分类管理(2)资源管理(上传、下载、审核、发布)(3)资源权限管理(4)资源使用情况统计中等选课系统(1)课程库管理(增加、删除、修改课程)(2)用户注册、导入(3)课程信息维护(4)学生选课(5)选课结果通知(6)打印选课名单中等在线考试系统(1)考生管理(2)成绩查询(3)考题管理(4)登录(5)自动出

3、题(6)自动判分(包括编程题)(7)防作弊复杂电子作业管理系统(1)实验课程管理(2)用户管理(3)角色和权限管理(4)作业上交(5)作业批改(6)作业成绩统计与发布(7)防作弊复杂在线电子商务系统用户:(1)注册/登陆/忘记密码/管理个人信息(2)查询货物(3)购物车管理(4)提交订单(5)信用卡支付(6)查询历史购物记录网上购物商店:(1)手工接受/拒绝订单(2)用E-mail通知客户(3)派送货物给用户(4)库存管理(5)销售统计复杂自拟题目自拟题目应由学生提出项目构思,交老师批准后实施。三、实验要求1软件工程综合性实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。班级按项

4、目小组进行分组,每组不得超过4人,每个小班中各小组的选题不得重复。小组成员分别担任项目经理、技术经理、配置管理员、测试负责人等角色,分工合作。文档及代码应按规范编写,按时提交最后提交的文档和代码:(1) 需求规约说明书(2) 设计说明书(包括数据库设计)(3) 测试用例文档(4) 帮助文档(含功能展示视频)(5) 项目源代码(6) 测试项目代码(7) 项目的安装文件(Setup.exe)五、考核形式1实验成绩评定方法(1)小组组长报告(2)组员介绍各自的工作(3)演示工作成果然后由授课教师对小组打总分,各小组组长把总分分配给组员,作为每位同学的实验课成绩。以促进组员分工合作,提高小组工作质量。

5、2实验成绩评定参考标准(1)工程文档是否符合规范;(2)图、表是否规范且重点突出、图文并茂;(3)开发过程中是否能正确使用软件工程工具;(4)项目分析、设计、测试质量高低;(5)演示效果好坏四、实验步骤根据软件工程方法,按项目启动、需求分析、概要设计、详细设计、编码实现、测试六个主要阶段实现一个系统,对每个阶段进行评审,并形成相应文档。以下六个阶段并非完全按照顺序进行,而是依据敏捷方法的思想,以软件架构为中心,通过分析、设计、实现、测试工作的多次迭代不断完善整个系统。序号实验项目名称实 验 内 容学时实验要求实验类型每组人数1项目启动1. 成立项目小组2. 项目角色与职责分配3. 项目风险评估

6、与技术路线确定2必做设计42需求分析1. 功能需求User Case 分析数据库需求分析2. 非功能需求安全性、可用性等3. 系统原型4. 测试用例与测试工具准备4必做设计43概要设计1. 系统架构设计2. 概念类设计3. 数据库设计4. 编写关键实现技术的Demo4必做设计44详细设计1. 类/模块详细设计2. 界面设计3. 数据结构与算法设计2必做设计45编码实现1. 编码实现2. 单元测试2必做设计46软件测试1. 集成测试 2. 系统测试2必做设计4(一)项目启动1. 实验目的成立项目小组,分配每个成员的职责,确定项目的基本目标,以便小组成员能够协调行动,合作完成项目开发。2. 实验内

7、容(1) 成立项目小组,选出项目经理,分配每个成员的角色,每个角色的职责可参考表1.1(2) 评估选题的风险,在讨论的基础上确定题目,初步商定技术路线(3) 在项目管理服务器上创建项目,分配组员账号,学习使用方法3. 实验要求实验完成后应提交以下内容:(1) 项目组成员基本信息表。该表是用来记录团队的分工情况的,它记录了所有成员所担当的职务,即在团队中的角色,还有每个人的联系方式等。(2) 项目周报。该表是用来记录跟踪团队本周的工作内容、进度、人员调度、客户沟通记录、项目大事纪等项内容,以及发现的问题。还要进行风险跟踪和问题跟踪。另外一项重要内容就是给出下周的工作计划。(3) 第一次会议记录。

8、会议记录是用来记录团队的所有会议内容的备忘性文件。由项目经理指定的记录人负责将会议记录草稿整理后填写,发送给与会人员,并放在VSS上,以备团队成员查阅。会议发起人要跟踪会议遗留的尚未解决问题,并督促解决。4. 思考题(1) 项目开发首先要做的事是什么?(2) 你认为该软件应具备的最重要的特性是什么?(3) 你认为怎样分工是最合理的?(4) 软件开发过程需要经历哪些阶段?(5) 软件开发过程各阶段的里程碑是什么?5. 附录文档(1) 项目小组成员职责表(2) 项目组成员基本信息表(3) 软件工程项目工作周报(4) 项目例会记录表(二)需求分析1. 实验目的确定各组所开发项目的需求,在此基础上完成

9、系统的用例分析模型和用例文档。2. 实验内容(1) 功能需求分析:User Case 分析,数据库需求分析(2) 非功能需求分析:安全性、可用性、性能等(3) 创建系统原型(4) 根据需求检查列表评审需求(5) 测试用例与测试工具准备3. 实验要求需求分析切不可直接讨论软件所包含功能,而应按需求的三个层次逐步展开。需求的三个层次包括:业务需求、用户需求和功能需求。业务需求(Business requirement)表示组织或客户高层次的目标。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任

10、务。用例、场景描述和事件响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求描述是开发人员需要实现什么。实验完成后应提交以下内容:(1) 需求规格说明书(2) 评审记录表(3) 系统原型4. 思考题(1) 需求分析在软件开发中的重要性?(2) 针对所开发项目的用例模型,谈谈识别Actor和Use Case的方法?(3) 用例之间有哪几种关系?怎样表示? (4) 怎样组织对该工作的评审?5. 附录文档(1) 需求规格说明书

11、(2) 评审记录表(三)概要设计1. 实验目的在已经理解了用户需求的基础上,将整个项目分割成“模块”,并确定系统的基础架构。2. 实验内容(1) 系统架构设计(2) 概念类设计(3) 数据库设计(4) 编写关键实现技术的Demo3. 实验要求概要设计注重宏观上和框架上的设计,包括软件系统的总体结构设计、全局数据库设计、外部接口设计、功能部件分配设计和部件之间的接口设计。概要设计说明书的核心工作是确定模块所包含的类(精确到类即可,不必细化类成员),此时允许对类的成员等细节尚不太清楚。在将模块的功能点准确把握和描述的基础上,把模块映射成一系列的类,用类图将类间关系描述出来。另外,要进行数据库的概要

12、设计,即确定数据库引擎,以及数据库的表结构和表间关系图。在概要设计说明书中,需要将整个系统所使用的模块名称、类名称、数据库名称和表名称规范化,并在整个系统的所有文档和程序中使用规范化名称。实验完成后应提交以下文档:(1) 概要设计说明书(2) 关键实现技术Demo4. 思考题(1) 系统设计和需求分析的关系是什么?两者必须先后关联吗?(2) 怎样描绘系统的体系结构?(3) 怎样绘制符合规范的类图?(4) 怎样组织对设计阶段工作的评审?5. 附录文档(1) 概要设计说明书(四)详细设计1. 实验目的这个阶段是在前一阶段概要设计已搭好的框架上,对概要设计进行细化。2. 实验内容(1) 类/模块详细

13、设计(2) 界面设计(3) 数据结构与算法设计3. 实验要求详细设计说明书需要覆盖概要设计说明书的全部内容,同时要作为程序设计和实现的依据,因此,它更加注重微观上和框架内的设计。具体就是将概要设计中描述的类,给出其所有成员的细节的详细描述,细到要将函数成员的处理逻辑用流程图描述出来,以及所需要的数据成员罗列出。还要罗列出所使用的用户自定义类型、常量等。于是经此阶段的工作所产生的详细设计,距编码实现只有一步之遥。这意味着即使编码人员没参与前几个阶段的工作,仅仅依据详细设计,就能完成代码的编程。一般情况下,系统的概要设计说明书由系统设计师来完成,主要是需要系统设计师模块划分能力和总体把握能力,但详

14、细设计一般是由高级程序员来完成,完成详细设计时更看重的是编程经验和编程能力。详细设计必须满足以下要求:(1) 一致性。详细设计的要求应该与需求分析报告所描述的需求一致、同时还要与概要设计一致。同时,详细设计的各项要求之间也应该是一致的。(2) 合理性。详细设计所提出的设计方法和标准应该是合理的、恰当的,是在目前的技术水平情况能实现的。(3) 可追踪性。对详细设计所提出的各项要求应该可以在需求分析报告、概要设计报告中可追溯到。(4) 可行性。根据详细设计进行编码、测试、操作和维护应该是可行的,任何一个有经验的编码工程师都可以根据详细设计的文档来完成编码工作。实验完成后应提交以下文档:(1) 详细

15、设计说明书4. 思考题(1) 详细设计与概要设计的区别与联系是什么?(2) 怎样组织对详细设计阶段工作的评审?5. 附录文档(1) 详细设计说明书(五)编码实现1. 实验目的实现系统功能。2. 实验内容(1) 根据详细设计说明书实现整个系统(2) 对每个编写完成的类同步进行单元测试3. 实验要求首先由组内技术较强最熟悉开发平台的两个成员,用半天时间在VSS上搭建起项目编码框架,创建起所有文件名、函数(空函数体),统一规划名称。然后将编码任务分配给团队成员。团队成员用check out取下项目框架中自己的那部分,编码后用check in放回。业务层、实体层的类在实现的同时,根据测试用例,编写单元测试代码,提交单元测试报告。4. 思考题(1) 怎样合理选择软件开发的工具?(2) 怎样在系统实现中采用快速原型法?(3) 怎样进行用户说明手册和使用手册的编写。(4) 总结项目实施中的得失。5. 附录文档(1) 单元测试报告(六)测试1. 实验目的测试系统功能,找出系统BUG,修正系统的设计与实现,验证系统实现与需求的符合程度。2. 实验内容(1) 集成测试(2) 系统测试3. 实验要求 系统是站在用户的角度上,从外观界面上检验其功能。分为: 1. 功能的逻辑测试;2. 输入

温馨提示

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

评论

0/150

提交评论