当前位置:文档之家› 《软件工程》实验指导书

《软件工程》实验指导书

《软件工程》实验指导书
《软件工程》实验指导书

《软件工程》实验指导书

计算机学院

2017年2月

软件工程实验指导

前言

软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。

按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。

通过实验训练,达到如下目的:

使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。

实验要求

软件工程实验具体要求如下:

每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;

题目自定或采用附录二中的题目;

软件开发的方法自定(结构化或面向对象的方法学)。

实验一用Visio进行功能分析和建模

1. 实验目的

掌握结构化分析的方法。

掌握使用Visio2003软件绘制数据流图、状态转换图的一般方法和技巧。

2. 实验环境

软件平台:Microsoft Windows XP,软件工具:Micrisoft Visio 2003。

3. 实验原理

结构化分析方法以数据字典为核心,采用实体关系图、数据流图和状态转换图等图形来表达需求,直观明了且易于理解和掌握。

数据流图作为功能建模的基础,描述数据怎样转换以及转换的功能,状态转换图作为行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。

4. 实验内容与要求

绘制学生成绩管理系统(案例如下)的数据流图及状态转换图。

5. 撰写实验报告

案例1

某校准备开发一个学生成绩管理系统。在该系统中,教务人员录入学生信息、课程信息和成绩信息,学生可以随时查询自己所选课程的成绩。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。

用Visio 操作

实验步骤及相关详细讲解:

* 第0层DFD图

教务人员维护学生信息和课程信息,并登录学生的选课成绩;

学生查询自己的成绩单。

* 第1层DFD图

对第0层DFD图中的一个加工"学生成绩管理"进行展开。

双箭头:直线——右键格式——线条,线端的起点终点

直线用动态连接线* 第2层DFD图

对第1层DFD图中的一个加工"查询学生成绩"进行展开。

绘制第0层DFD的时候,将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。对于"学生成绩管理系统"而言,整个系统就是一个加工"学生成绩管理"。从用户的需求描述可知,"教务人员"是数据的源点,"学生"是数据的终点。另外,教务人员需要录入学生信息、课程信息和成绩,说明"学生信息"、"课程信息"和"成绩"是数据流;同样,"查询请求"和"查询结果"也是数据流。根据上述分析,得到如图所示的第0层DFD。

绘制下一层数据流图时,细化第0层的加工"学生成绩管理",从而描述系统的主要功能。从第0层DFD 得知,"学生信息"是教务人员需要录入的一个信息,因此加入一个加?quot;录入学生信息",同样得到"录入课程信息"、"登记成绩"两个加工。另外,数据流"查询请求"和"查询结果"应该由加工"查询成绩"来完成。这样,我们用"录入学生信息"、"录入课程信息"、"登记学生成绩"和"查询学生成绩"四个加工代替第0层的"学生成绩管理",同时增加这些数据流对应的数据存储,即"学生"、"课程"和"成绩",最后得到如图所示的第1层DFD。

为了继续进行分解,我们分析第1层DFD中的加工"查询学生成绩"。学生查询成绩时需要提供合法性检查,因此,"查询学生成绩"可以分解为"合法性检查"和"查询成绩"两个处理步骤,从而形成如图所示的第2层DFD。

根据以上实例和经验,绘制数据流图应当遵循以下原则:

(1)分层时,子图的输入、输出数据流必须和父图中相应加工的输入、输出数据流一致;

(2)加工的编号应该唯一且具有层次性;

(3)加工不应该只有输入或只有输出,通常既有输入又有输出;

(4)数据流图不应反映处理的顺序;

(5)加工之间应通过数据存储进行通信,避免从一个加工直接流到另一个加工;

(6)数据应通过加工进行流动,避免从一个数据存储直接流到另一个数据存储;

(7)数据流图中所有元素的命名应当对客户有意义,且与业务相关;

(8)不要在一个图中绘制7个以上的加工,否则难于绘制和理解。

通常来说,行为建模用于实时系统。实时系统中可能存在许多脚本,很多实体需要进行状态划分和描述状态转换图,有时为了描述系统的并发行为,还需要使用其他一些工具进行描述,如Petri网。在事务系统中,系统行为相对简单,只有某些行为较复杂的实体才需要建立其状态转换图。

(1)分析外部事件,所谓外部事件是指外部实体与系统的一次交互。

(2)分析事件的响应者,该响应者为了响应该事件要进行怎样的活动,这种活动又会激发哪些事件等,这样构成了系统行为的脚本。

(3)根据事件和活动划分实体的状态,也可根据其他知识划分实体状态,考虑发生怎样的事件使该实体进入这个状态,怎样的事件使该实体从这个状态转换到另一状态等。

举例分析:

(在数据流程图中)或UML图中

在"学生成绩管理"系统中,学生成绩信息需要采取安全措施,我们可以采取登录方法避免非法使用系统。这样,该系统存在"登录"、"正常"和"出错"等状态的转换。

学生启动系统之后,系统处于"登录"状态。在这种状态下,学生可以进行登录或取消登录。如果取消登录,系统直接退出;如果登录失败,系统进入"出错处理"状态,在显示错误信息后,又重新回到"登录"状态;如果登录成功,系统进入"正常" 状态,即显示操作界面,等待学生查询,学生可以多次查询不同课程的成绩,直到学生选择退出为止。

实验二用例模型设计

1. 实验目的

学会IBM Rational Rose Enterprise Edition的基本操作。

掌握使用Rose进行用例建模。

2. 实验环境

软件平台:Microsoft Windows XP,软件工具:IBM Rational Rose Enterprise Edition。

3. 实验原理

使用用例方法来描述系统功能需求的过程,就是用例建模,它是实现"功能模型"建模的主要手段之一。用例模型主要包括以下两部分内容。

⑴用例图(Use Case Diagram)

确定系统中所包含的参与者、用例和两者之间或其自身的关系,用例图是基于系统要实现的功能的一个可视化描述。

①参与者(Actor)

②用例(Use Case)

用例是用来描述参与者使用系统,以达到某个目标时所涉及到的一系列的场景的集合。一个用例的核心并不是上述的图标,而是一个规格化的叙述型文档,它描述了参与者要实现某项功能的事件流程,展示和体现了其所描述的过程中的需求情况。用例名称一般以“做什么”即“动宾词组”形式来命名。

③用例和参与者及自身的关系

泛化关系(generalization)

包含关系(include)

扩展关系(extend)

⑵用例规约(Use Case Specification)

所谓规约,就是业务规则的规格说明。针对每一个用例,都应该有一个用例规约文档与之相对应,以描述该用户的细节内容。每一个用例的用例规约,都应该包含以下内容:

①用例名称(Use Case Name):用例的名称一般由"动词+名词"构成,简单说明"做什么"。

②简要说明(Brief Description):简要介绍该用例的作用和目的。

③前置条件(Previous Condition):系统在执行该用例前必须处在的状态。

④事件流(Flow of Event)

⑤用例场景(Use Case Scenario):包括成功场景和失败场景,场景主要由基本流和备选流组合而成。

⑥特殊需求(Special Requirement):描述与该用例相关的非功能性需求(性能、可靠性、可用性和可扩展性等)以及涉及约束(所使用的操作系统、开发工具等)。

⑦后置条件(Post Condition):系统在执行完该用例之后应该处在的状态。

4. 实验步骤

(1)找出系统边界以外的角色(actor),角色是与系统进行交互的外部实体,可以是与系统交互的人员、与系统相连并交换信息的设备和其他系统;

(2)从这些角色如何与系统进行交互的角度,使用用例(use case)来描述角色怎样使用系统以及系统向角色提供什么功能,用例所表示的是从外部用户角度观察的系统功能;

(3)绘制用例图,并编写详细的用例描述。用例图只能宏观地描述系统的功能,但却不能提供用例模型所必需的所有信息,每个功能的含义和具体实现步骤则以文本方式描述。

5. 实验内容与要求

绘制用例图,详见教材P95(4.7)。

6. 撰写实验报告

实验三用例规约及活动图

一、实验目的

1.熟悉活动图的基本功能和使用方法。

2.掌握用例规约的撰写。

3.掌握如何使用建模工具绘制活动图方法。

二、实验器材

1.计算机一台。

2.Rational Rose 工具软件。

三、实验原理

1. 用例规约描述用例

单纯使用用例图不能提供用例所具有的全部信息,因此,需要使用文字描述那些不能反映在图形上的信息。用例描述实际上是关于角色与系统如何交互的规格说明,要求清晰明确,没有二义性。描述用例时,应该只注重外部能力,不涉及内部细节。

每一个用例的用例规约,都应该包含以下内容:

①用例名称:用例的名称一般由"动词+名词"构成,简单说明"做什么"。

②简要说明:简要介绍该用例的作用和目的。

③前置条件:系统在执行该用例前必须处在的状态。

④事件流:基本流和备选流。

⑤特殊需求(Special Requirement):描述与该用例相关的非功能性需求(性能、可靠性、可用性和可扩展性等)以及涉及约束(所使用的操作系统、开发工具等)。

⑥后置条件(Post Condition):系统在执行完该用例之后应该处在的状态。

2. 活动图描述用例

在UML中,活动图类似于流程图,它描述了执行某个功能的活动。使用活动图来描述用例,比用例规约更直观。

组成活动图的元素:

①活动的起点-实心圆

②活动的终点-半实心圆

③状态-带圆端的方框

④转移-带箭头的直线

⑤分支-菱形

⑥泳道-将活动图的活动状态分组

四、实验内容

图书管理系统的用例图如下:

取消预订

登记还书

图书管理系统用例图

根据分析设计情况,可进一步添加或细化。其中图书管理员的用例可细化如下(部分):

图书管理员

图书管理员用例图(部分)

其中删除读者信息一般按照以下步骤进行: (1)管理员在录入界面,输入待删除的读者的信息;

(2)“业务逻辑”组件在“数据库”中查找待删除的读者信息;

(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;

(4)“业务逻辑”组件判断“待删除的读者”是否可以删除(如借了书则不能删);

(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;

(6)在“数据库”中删除相关信息;

(7)显示删除成功信息;

(8)结束。

1. 编写“删除读者”用例的规约。

2. 绘制“删除读者”用例的活动图。

五、绘图步骤

(1)在用例图中,找到“删除读者”用例,在该用例上单击右键,在弹出的快捷菜单中选“New”,Rose工具会弹出一个菜单,选“Activity Diagram”,选中后单击,便可以新建好一个活动图,命名为“删除读者”。

(2)新建好活动图后,双击“删除读者”活动图,然后把在左边的工具栏内点击“Swinlane”,在右边的图中添加一个泳道,并命名为“图书管理员接口”。按照此步骤,再添加两个泳道,并分别命名为“业务逻辑接口”、“数据库接口”。

(3)接着在左边的工具上选取开始点,并在“图书管理员接口”的泳道上添加;添加完开始结点后,再来为此活动图添加活动。

参考图如下:

使用工具

Swinlane最后一个图标

1.

2.

实验四类图

一、实验目的

1.理解类及类间关系的基本概念。

2.掌握如何从需求分析中抽象出类的方法。

3.掌握描绘类间关系的方法。

4.掌握在Rational Rose中绘制类及类关系的操作方法。

二、实验器材

1.计算机一台。

2.Rational Rose 工具软件。

三、实验原理

类图是描述类、接口以及它们之间关系的图,它显示了系统中各个类的静态结构,用于对系统的静态视图(它用于描述系统的功能需求)建模。

发现和定义对象类应以问题域和系统责任为出发点,正确地运用抽象原则,尽可能全面地发现对象的因素,并对其进行检查和整理,最终得到系统的对象类。

我们可以在用例模型的基础上,通过识别实体类、边界类和控制类,从而发现和定义系统中的对象类。

在这里,实体类表示系统存储和管理的永久信息,边界类表示角色与系统之间的交互,控制类表示由系统支持和用户执行的任务,我们使用UML中的构造型<>、<>和<>分别表示实体类、边界类和控制类。

在找到系统的对象类之后,我们需要分析和认识各类对象之间的关系,从而使对象类构成一个整体的、有机的系统模型。对象与外部的关系有以下几种:

(1)对象之间的分类关系,即泛化关系;

(2)对象之间的组成关系,即聚合关系;

(3)对象之间的静态关系,即关联关系;

(4)对象之间的动态关系,即依赖关系。

四、实验内容

通过前面对图书馆管理系统的需求的初步分析,得出系统的用例图和相应的活动态图,初步了解系统的业务处理流程。现在需要对系统进行静态建模,这就需要利用系统的用例图,活动图来寻找和发现类,并分析它们之间的关系。

1. 寻找和抽象出书图书馆管理系统中的实体类。

2. 对实体类的关系建模。

五、实验步骤

1. 分析:通过分析和理解问题域,可以识别出系统的实体类,如读者基本信息、借书记录、预订信息、图书基本信息、书目等。

2.绘制类的步骤:

(1) 打开前面初步构建的UML模型文件;

(2) 打开Rose中的逻辑视图(Logical View),用鼠标右击“Logical View”,在弹出来的菜单中选择“New→Class diagram”项,创建类图。

(3) 双击新建的类图,并点右边控件集中选中的类的图标,并用鼠标在图中分别拖出一个类图,并命名,如“Title”。

(4) 接下来的一步为设置类的属性,在新的类中双击该类,在打开属性面板中,可以看到在

此可以设置类的属性和方法等其他的信息。点击“Attributes ”这个栏目,此栏目为设置类的属性的选项。在图中间的单击右键,可以看到有一个“Insert ”的选项,选中这个选项。后在出现的对话框中输入相关信息,如书本的ISBN 号,在Type 这个方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般这些属性都设置Private 这个权限。这个类的其他属性也可以按照以上的做法设置。

(5) 设置好类的属性,现在来设置类的方法(也是操作)。双击类后在弹出的菜单上选“operations ”这个选项,在图中的空白地方单击右键,在弹出的菜单中选“insert ”这个选项,也就只有这个选项可用。接着输入方法名,同时可以设置该方法的返回类型,也可以在“Documentations ”的方框内填写一些相关的方法说明,设置好该方法的访问权限,类的其他方法也可以按上面来设置好。至此,类的方法和属性都设置好了。

(6) 依此绘制其它类。

(7) 接下来就可以为各个类添加关系了。

(8) 可右击工具箱空白处,点“Customize ”,添加其它模型元素。

六、实验报告要求

1.整理实验结果。

2.小结实验心得体会。

接口 单向关联 类和关联的关系 依赖

泛化

实现

双向关联

实验五交互图

一、实验目的

1.理解顺序图的基本概念。

2.理解协作图的基本概念。

3.掌握在Rational Rose中绘制交互图的操作方法。

二、实验器材

1.计算机一台。

2.Rational Rose 工具软件。

三、实验原理

时序图又叫顺序图,它是强调消息时间顺序的交互图,描述类与类间相互交换以完成期望行为的消息。时序图向UML用户提供事件流随时间推移的、清晰的和可视化的轨迹。时序图一般包括如下元素:类角色、生命线、激活期和消息。

⑴类角色。代表时序图中的对象在交互中所扮演的角色,一般代表实际对象。

⑵生命线。代表时序图中的对象在一段时期内的存在。每个对象底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线之间。

⑶激活期(控制焦点)。代表时序图中的对象执行一项操作的时期。每条生命线上窄的矩形代表活动期。

⑷消息。消息用于实体间传递信息,类角色通过发送和接收消息进行通信。

时序图的组成

四、实验内容

通过对图书管理系统的需求分析,并从业务对象中抽象出了类,现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。

1.对“登记借书”用例进行动态建模。

五、实验步骤

(1) 在Rose软件的左边栏目上的Logicl View单击右键,新建一个时序图。

(2) 接下来的是添加类,添加方法。在上面做好的类找到可以直接拖拉来图中。

课本165页

(3)添加消息,开始是必须是外面的实体向系统发送消,如管理员登录时向系统发送的消息。

先添加对象消息(→),双击对象消息(即→),打开如图对话框,添加或选择消息(方法)。

选择构造型添加方法

添加属性

(5) 可以按上一步的方法来完成其他的方法。

(6) 完成了时序图后,可以按F5键便得到“登记借书”的协作图。

六、实验报告要求

1.整理实验结果。

2.小结实验心得体会。

课本165页

按F5后

小人1

2

3

在输入librarian时点击确定会出错,所以把librarian最后的n改成另一个字母(随便一个)

点击确定回到上一级窗口如图

确定小人出来了

因为名字不一样,删除上面一个小人

双击下面一个小人改成librarian

小人画完

软件工程实验教案网络

课程教案 课程名称:软件工程实验 任课教师:陈利平 所属院部:计算机与信息科学学院 教学班级:计科1301-02网络1301-03 教学时间:2015-2016 学年第2 学期 湖南工学院

课程基本信息

实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成; 2.掌握用Visio软件绘制图表的基本操作; 3.能熟练全用Visio软件绘制各种较复杂的专业图表; 4.掌握各种图表文档创建方法. 二、实验环境 1.安装有Microsoft Visio 2010软件的计算机系统; 2.准备将使用Microsoft Visio 2010绘制图。 三、实验内容 1.熟悉Microsoft Visio 2010的建模环境; 2.根据教材和实验老师的演示,从教材或实验指导书中找到一个数据流图,用Microsoft Visio将它画出。可以使用实验指导书的图1-5所示的数据流图. 3.根据教材和实验老师的演示,从教材或实验指导书中找到一个状态图,用Microsoft Visio将它画出。可以使用实验指导书的图1-9所示的状态图。 4.根据教材和实验老师的演示,从教材或实验指导书中找到一个E-R图,用Microsoft Visio将它画出。可以使用实验指导书的图1-19所示的实体关系图。 四、实验注意事项 在实验过程中,要注意观察Microsoft Visio相关操作的实现。 五、实验成果 完成实验后,每人提供一份实验报告,简述Microsoft Visio的使用、特点、组成及安装要点,重点说明其建模环境及使用,至少包含三个已绘制的Microsoft Visio文件。 六、实验思考 1.反复练习Microsoft Visio绘制各种图。 实验后记: 实验一Microsoft Visio软件的使用(选做) 一、实验目的 1.熟悉Visio的工作环境及组成;

软件工程实验二

实验二熟悉面向对象建模过程 一、实验目的与要求 1.掌握 UML 工具 Enterprise Architect(Visio 或 Rational Rose)的使用; 2.了解面向对象软件建模过程; 3.把握类图、对象图、顺序图之间的关系。 二、实验环境 1.PC,CPU:P4 2.0GHz 以上,内存:512M,硬盘:40GB 以上; 2.操作系统:Microsoft Windows 2000 /2003/XP; 3.软件:E.A.、Microsoft Visio 或 Rational Rose 三、实验要求: 1.绘制的图形清楚,排版美观 2.类图、对象图和顺序图之间的关系设定正确 3.代码与模型相互印证,能按模型实现代码。 四、实验内容与步骤 B.领养电子宠物游戏 电子宠物是多种人工玩伴的其中一种,一般作陪伴人类或娱乐用途。人们可以饲养电子宠物以取代真正的宠物,玩家从宠物商店领养一只电子宠物。玩家可以“喂养”宠物,与宠物玩耍。描述比较简单,可以发挥想象完善宠物游戏。 参照书本上的分析与设计过程,选择 A 或者 B,重新建立系统的用例模型(包括用例文本)、领域模型、对象交互的顺序图、类图等模型,并按照模型实现。 请注意模型的顺序与前后关系,以及代码与模型的关系。要求每个人独立完成,并演

示。

1. 定义用例: 用例图: uc pet 领养宠物 查看宠物资料玩家 与宠物互动 用例规约: 用例编号:UC01用 例名称:领养宠物 简要说明:该用例描述玩家是如何领养宠物的。 参与者:玩家前置条件:玩家通过身份认证 后置条件:玩家成功领养电子宠物,正确记录交易日志。触发事件:玩家在主菜单中选择领养宠物。 基本流: 1.玩家选择“领养宠物”操作。 2.系统提醒玩家选择所要领取的宠物的类别。 3.系统提醒玩家填写宠物姓名。 用例编号:UC02用例名 称:查看宠物资料 简要说明:该用例描述玩家是如何查看宠物资料的。 参与者:玩家前置条件:玩家通过身份认证 后置条件:玩家成功查看宠物资料。 触发事件:玩家在主菜单中选择查看宠物资料。 基本流:

软件工程实验要求说明书1.doc

软件工程实验要求说明书1 软件工程实验要求说明书 编制人:曾丹 2011-04-1 一、选题 每个同学任选一题。根据题目要求展开分析和设计。 1班委信息综合管理系统 ●完成班委信息查询(包括该班委的学号,姓名,年龄,性别,系名,职位,任职日期等)●完成班委信息浏览,可查看所有班委信息 ●统计所有“男”班委和“女”班委的人数。 ●班委信息编辑系统,完成班委信息管理(包括班委的任职信息,免职信息新增;任免职 信息的修改,删除等) ●其他功能 2小钱箱管理系统 ●能够记载每笔收入的来源(父母/亲朋/赠送/打工/奖学金/拾遗/其他等),金额,获取该

笔收入日期;能够查询每笔收入信息 ●能够统计某时间段内的总收入; ●能够记载每笔支出的原因(吃/住宿/娱乐/病),金额,该笔支出日期); ●能够查询每笔支出信息 ●能够统计某时间段内“吃”的总支出; 3超市管理系统之销售管理 ●能够记载每笔销售信息(物品名称,物品所在分类(食品,日用品等等),销售日期, 金额等); ●能够通过物品名称查询每笔销售信息 ●能够统计某时间段内的总销售金额; 4超市管理系统之库存管理 ●能够查询物品的库存数量、该物品设定的库存上限/下限值及其他物品信息; ●能够查询全部库存信息; ●能够浏览所有低于库存下限和高于库存上限的物品。 ●图书借阅管理信息系统

●图书基本信息的添加、修改、删除和查询。 ●图书借阅证件的添加、修改、删除、挂失和查询。 ●图书借阅管理,包括图书借阅、图书归还。 5物资管理信息系统 ●物资基本信息的添加、修改、删除和查询。 ●入库管理。 ●出库管理。 6汽车租赁管理信息系统 ●汽车信息的添加、修改、删除和查询。 ●客户信息的添加、修改、删除和查询。 ●汽车的租赁管理(包括汽车的租赁、续租和归还等操作)7宾馆客房管理信息系统 ●客房信息的添加、修改、删除和查询 ●预订客房信息的添加、修改、取消预订和查看详细信息●结算信息管理 8人事管理信息系统 ●员工基本信息的添加、修改、删除和查询。

软件工程数据结构实验教案

实验教案实验一栈和队列 重点: 1.掌握如何使用STL中的栈 2.掌握如何自己编写栈的代码 难点: 用数组实现栈的原理,并能用c++描述 具体实验讲解如下: 本实验是要通过几段代码的编写,熟悉栈和队列的编写和应用 在实验指导书中有4个题目,其中题目1、2、3是关于栈的,题目4是关于队列的。其中题目1难度小,题目2和题目3是有联系的,经过努力可以做出,但是题目4难度大些,属于选作内容 1.题目一(STL中的栈) 读懂实验指导书中的Task1中的程序(使用栈进行序列的顺序反转),并编译运行,通过此了解如果要实现一个栈类,里面需要的基本的成员函数。这个程序在书上也有。 (1)由于程序是用了STL(标准模板库,可以简单的看成是一个函数库,在其中有各种有用的类、函数和算法),栈在其中有实现。栈在STL中的实现用到了类模板,也就是说其栈是独立于类型的,模板提供参数化类型,也就是能将类型名作为参数传递给接收方来建立类或函数。比如stack numbers;中就是声明了一个栈,这个栈中存放的数据类型为double。 (2)注意要使用c++的输入输出需要加上几行语句如下,因为cout和cin是在命名空间std中的: #include using namespace std; 2.题目二、题目三(自己编写栈) 这里可以把题目二和题目三合成一个题目,在一个程序中完成就可以了。 合并后的题目如下:自己编程程序实现一个简单的栈,并用于替换题目1中对标准模板库中的栈的使用,同时对自己实现的栈的功能进行扩充,添加实现如下几个函数 (a) clear (b) full (c) size。 使用新添加的栈函数,显示在进行数字序列反转时输入的十进制数的个数。 注意: (1)实验题目文档中已经把大部分的代码都给出来了。栈可以用链表或者数组实现,这里是 用数组实现。 (2)实验题目中给出的仅仅是部分的代码,自己还需要在看懂的前提下,进行修改补充,才 可以达到具体的要求,不明白的地方也可以参考书上这一部分。 一些补充代码如下:

上海大学软件工程试卷试题(附答案)

、单项选择题(本大题共20小题,每小题 1 分,共20分) 在每小题列出的备选项中只有一个是符合题目要求的,多选或未选均无分。请将其代码填写在题后的括号内。错选、 1. 在软件生命周期的各个阶段中,工作量最大的阶段是 A .需求分析B.总体设计 C.综合测试 D .软件维护 2. 瀑布模型的特点不包括 A.前一阶段的任务没有完成,不能进入下一阶段工作 B.进入某个阶段工作后,不再回复到之前的阶段工作C.只有完成并评审了规定的文档,才标志着一个阶段的工作结束D.在软件产生之前,需求无法得到充分的测试 3. 螺旋模型强调的开发手段是 A.分阶段开发 C.风险驱动开发 4. 需求分析阶段的工作不包括 A.获得当前系统的物理模型 C.建立目标系统的逻辑模型 5. 总体设计阶段的工作不包括 A.确定程序的模块组成 C.确定实现各个模块功能的处理逻辑 6. 描绘系统物理模型的传统工具是 A .系统流程图 C.实体-联系图 7. 符合信息隐藏原理的是 A .将信息隐藏起来不被发现 C.将可能要修改的设计决策隐藏起来B.废弃式原型开发 D.增量式开发 B.抽象出当前系统的逻辑模 型 建立目标系统的物理模型 D. B.确定模块间的相互关 系 D.制定测试计划 B.数据流图 D.状态转换图 B.将信息隐藏起来确保安全 D.将不要修改的设计决策隐藏起 来 8. 模块的独立性原则是指软件设计时要尽量使模块具有 A .低内聚、低耦合B.低内聚、高耦合C.高内聚、低耦合D.高内聚、高耦合

[ 9. 有利于提高模块独立性的做法是 A.尽量使模块具有逻辑型内聚 B.尽量使模块间具有内容型耦合 C.使判定作用范围内的模块尽量成为该判定所在模块的直属下级模块 D.尽量提高模块的扇入数和扇出数 [ 10. 有关结构化设计(SD )方法的正确叙述是 ] A.只使用顺序、选择和循环 3 种控制结构 B.由数据结构映射出软件的结构 C.是一种面向对象的设计方法 D.是一种面向数据流的设计方法 [ 11. 有关总体设计阶段所使用的结构图的不正确叙述是 ] A.能够描述软件系统的模块组成 B.结构图中的模块是按照自上而下、自左向右的顺序执行的 C.能够描述模块间的调用关系以及模块间调用时所传递的信息 D.将模块间调用时所传递的信息分成两种:数据信息和控制信息 [ 12. 要求使用顺序、选择和循环控制结构的组合或嵌套来表达程序的过程设计工具是 A .程序流程图B . 盒图 C .判定表D.PDL 13 . 关于好的编码风格的正确叙述是 A .把多个语句写在同一行以节省空间B.要求用户指定输入数据的数目 C .检查输入项重要组合的合法性D.表达式中不使用多余的括号,以简化表达式 14 . 能发现软件需求规格说明书中的错误的测试步骤是 A .模块测试B.子系统测试 C .系统测试D.验收测试 15 . 自顶向下集成测试和自底向上集成测试都具有的优点是 A .较早发现主要设计错误B.可采用深度优先策略和宽度优先策略 C .支持故障隔离D.可复用模块得到充分测试 19 . 不符合面向对象设计准则的是 A .用对象的封装性来实现信息隐藏B.尽可能松散对象之间的交互耦合 C .尽可能减小继承耦合度D.尽可能设计小而简单的类 20. 上海大学校内电话号码由 5 位数字组成,但第 1 位数字只能是 5 或6。该电话号码的

软件工程实验指导书(2016年修订)

数学与信息学院(软件学院) 《软件工程实验》指导书 编写:梁早清朱凯严尚维林毅申 完成人信息 学号姓名主要角色和任务比重 朱凯2016年修订 分组至少3人至多4人。 备注:此文档仅作为《软件工程》实验指导用,其他课程的文档模板请根据其他老师提供的模板撰写。

软件工程实验课实验说明 本实验指导书是数学与信息学院、软件学院《软件工程实验》课程的指导书,目的在于让同学们通过这些实验,体会软件开发的过程(从需求分析到设计和测试计划)。老师们试图通过一个较为简单的易实现的软件系统,让同学们分阶段完成需求分析、体系结构设计、部件级设计等设计和功能测试的工作,并完成相应的文档。同学们之间根据规范相互评审每一阶段的文档,过后老师再统一评讲。以此让同学们加深对结构化分析与设计、功能测试的方法的理解。(特别指出:因课时所限,软件工程中面向对象的设计与分析方法不在本实验课上讨论,学院另外开设有《面向对象的设计与分析》课程。) 题目如下: 一、软件系统需求的文本描述 《课程成绩管理系统》提供一个方便我校任课老师管理学生成绩的小型软件系统。该系统为教师提供方便的成绩管理功能,也为学生提供查询成绩的功能。系统描述如下:学生的成绩包含以下4个部分:课堂点名成绩、课堂考试成绩、课后作业成绩和期末考试成绩。各成绩评判标准和在总成绩中所占比例如下: 1.课堂点名3次,每次点名没有到的不得分(即记0分),到了的100分。第一次点 占总成绩的1%,第二次和第三次各占总成绩的2%,课堂点名占总成绩的5%; 2.课堂考试3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占 总成绩的7%,第三次占总成绩的6%,共20%; 3.课后作业3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占 总成绩的8%,第三次占总成绩的9%,共25%; 4.期末考试试卷满分100分,占总成绩的50%。 教师能通过成绩管理软件来管理学生的成绩,包含添加、删除、修改、查看、统计学生的成绩。各个功能具体描述如下: 1.添加学生成绩:填写学号,点击添加,然后在添加界面上录入对应学生的第一次点 名、第二次点名、第三次点名、第一次课堂考试、第二次课堂考试、第三次课堂考 试、第一次课后作业、第二次课后作业、第三次课后作业,期末考试卷面成绩。点

软件工程实验指导书71436

软件工程实验指导书 南昌航空大学信工学院 2010年01月

目录 实验1 用PowerDesigner建模工具绘制数据流图 (3) 1 实验环境 (3) 2 实验目的 (3) 3 实验内容 (3) 4 实验要求 (3) 5 实验步骤 (3) 实验2 用PowerDesigner建模工具设计数据库 (5) 1 实验环境 (5) 3 实验内容 (5) 4 实验要求 (6) 5 实验步骤 (6) 实验3 用Microsoft Visio工具设计用户界面 (10) 1 实验环境 (10) 2 实验目的 (10) 3 实验内容 (10) 4 实验要求 (10) 5 实验步骤 (10) 实验4 用Rational Rose绘制用例图 (14) 1 实验环境 (14) 2 实验目的 (14) 3 实验内容 (14) 4 实验要求 (14) 5 实验步骤 (15) 实验5 用Rational Rose工具绘制类图 (18) 1 实验环境 (18) 2 实验目的 (18) 3 实验内容 (18) 4 实验要求 (18) 5 实验步骤 (18)

实验1 用PowerDesigner建模工具绘制数据 流图 1 实验环境 Windows 2000、Sybase公司的Power Designer应用软件 2 实验目的 1)了解Power Designer工具软件的组成及功能 2)掌握Power Designer中的Process Analyst(PA)模块的建 模方法及其工具的使用方法 3 实验内容 1)设计数据流图(DFD) 2)利用外部实体、过程处理、数据流及数据存储绘制数据流图。 4 实验要求 建立一个PAM(Process Analyst Model)的应用实例。 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位,身份证号码、旅行时间、施行目的地等)输入该系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭取票通知单和帐单交款取票,系统校对无误即印出机票给旅客。 绘制该机票预定系统的数据流图。注意:功能分解的细化程度视具体情况而定。该实验中分解到第三层止。 5 实验步骤 数据流图是系统处理模型的主要组成部分。其中心问题是把功能逐层分解为多个子功能。 1)建立根处理模型 S1:在Windows桌面上双击Process Analyst程序图标,打开Process Analyst应用程序。 S2:建立一个处理过程P1。单击工具栏中的Process工具,在模型工作区内单击会出现一个处理过程的符号,它是建立的第一个处理过程。单击鼠标右键释放Process工具,再双击新建立的处理过程符号,出现特性对话框,对

软件工程实验内容

实验指导(Experiments) 实验题目:在以下范围内任选一道题目或自定一个题目。

题目医院病房监护系统 在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根 据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。

实验内容 实验一软件需求分析 1.实验目的: 1) 根据所选定题目进行需求分析工作; 2) 通过实例掌握结构化数据流分析技术; 3) 进行业务需求分析、用户需求、功能需求、非功能需求分析; 2.实验要求: 要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少与2 个。 3.实验内容: 用结构化数据流分析技术进行软件系统需求分析,得出系统得数据流图和数据字典。 4.实验步骤: 1) 通过相关途径进行需求分析。 2) 综合利用Internet 网和相关书籍整理并完善需求分析。 3) 画出系统数据流图。 4) 得出系统数据字典。 5.实验学时:3学时。 6.实验结果:上交实验报告。 实验二软件设计 1.实验目的: 1) 建立初始结构图; 2) 对初始结构构图进行改进、优化; 2.实验要求: 用面向数据流的软件设计技术,对上一实验的数据流图和数据字典,进行总体设计;要求做到对上一实验的软件需求进行软件结构设计。 3.实验内容: 主要解决实现该系统需求的程序模块设计问题。(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。) 4.实验步骤: 1.首先确定系统总体设计方案。 2.完成系统的模块结构图及模块的功能说明 3.完成系统的接口设计 4.完成系统的数据结构设计 5.实验学时:2 学时。 6.实验结果:上交实验报告。

软件工程测试实验

淮海工学院计算机科学系实验报告书 课程名:《软件工程》 题目:软件测试实验 班级:软件121 学号:2012122722 姓名:朱德坤

软件测试验报告要求 1目的与要求: 1)系统学习和理解结构化软件工程实现阶段的基本概念、原理、技术和方法; 2)掌握软件测试的基本技术和方法,特别是白盒测试与黑盒测试技术和方法; 3)通过实验,要逐步提高白盒测试与黑盒测试技术的实际应用能力; 4)熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5)按照实验题目要求独立完成本次试验任务,严禁拷贝、抄袭他人设计成果; 6)认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试结果分析等),并于5月5日以前提交。 2 实验内容或题目 1.选择结构化详细设计试验中自己设计的某一具有代表性控制结构模块(含有分支和循环结 构),并用C语言实现(提前准备好,每种测试用例分别写在作业本上,上机时带上检查),而后分别完成下述2、3、4各题测试用例设计和测试结果分析; 2.采用白盒测试技术中逻辑覆盖方法(至少包含语句覆盖、判定覆盖、条件覆盖、条件组合 覆盖)设计测试用例,完成测试(测试屏幕截图)和测试结果分析; 3.采用白盒控制结构测试技术的基本路径测试和边界测试方法设计相应测试用例,并完成测 试和测试结果分析; 4.采用黑盒测试技术中的等价类划分方法设计相应测试用例(可重选适合黑盒测试技术的模 块),并完成程序测试和测试结果分析; 3 实验步骤与源程序 程序流程图:

流图:

程序: //拥有超级用户superuser,密码zdk #include #include #include #include #include using namespace std; int PD; //全局判断执行码 void SetPos(int i,int j) //界面光标位置函数{ COORD pos= {i-1,j-1}; HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);

软件工程期末试题(含答案)广东药学院

填空题 1. 定义;开发;维护;问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;维护;维护。 2. 技术;经济;操作;软件项目的可行性/ 3. 一致性;现实性;完整性;有效性;完整性;有效性;原型系统。 4. 模块化;抽象;逐步求精;信息隐藏;局部化;模块独立;结构程序设计;可理解性。 5. 发现错误;黑盒测试;白盒测试;穷尽测试;测试方案。 6. 改正性维护;适应性维护;完善性维护;预防性维护。 一、 1. 软件生命周期可划分为、和3个时期,通常把这3个时期再细分为8个阶段,它们是①、②、③、④、⑤、⑥、⑦和⑧,其中的阶段的工作量是8个阶段中最大的。 2. 可行性研究的任务是从、和等三个方面研究。 3. 至少应该从、、和4个方面验证软件需求的正确性,其中和这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发。 4. 软件总体设计时应遵循、、、、、和等6条基本原则。详细设计通常以技术为逻辑基础,因为从软件工程观点看,是软件最重要的质量标准之一。 5. 软件测试的目的是,通常把测试方法分为和两大类。因为通常不可能做到,所以精心设计是保证达到测试目的所必须的。 6. 软件维护通常包括4类活动,它们分别是、、、。 二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。 1. 在进行需求分析时同时考虑维护问题。() 2. 完成测试后,为缩短源程序长度而删去程序中的注释。() 3. 尽可能在软件开发过程中保证各阶段文档的正确性。() 4. 编码时尽可能使用全局变量。() 5. 选择时间效率和空间效率尽可能高的算法。() 6. 尽可能利用硬件的特点以提高效率。() 7. 重视程序结构的设计,使程序具有较好的层次结构。() 8. 使用维护工具或软件工程环境。() 9. 进行概要设计时尽可能加强模块间的联系。() 10. 提高程序可读性,尽可能使用高级语言编程。() 三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容 给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。程序打印出数组中绝对值最小的元素值Q=W(K,L),及其下标K、L的值。假定数组中仅有一个绝对值最小的元素。 应该完成的程序流程图如下所示

13级软件工程实验指导书最新版

《软件工程》 课程实验指导书 华北水利水电大学 信息工程学院计算机科学与技术专业 2016年5月

《软件工程》课程实验指导书 一、实验选题与要求 自由选择题目,但每个班级的选题按照学号尾数为0、5选第1题,尾数为1、6选第2题,尾数为2、7选第3题,尾数为3、8选第4题,尾数为4、9选第5题。 1、单科学生成绩管理系统 任务:对在校某班学生一门课程的平时成绩与考试成绩进行统一管理。每个学生记录包括学号、姓名、每次习题(按16次计)、测验(按3次计)、考试成绩和总评成绩等信息,以学号为序存放。 要求:(1)一个文件按以班为单位存储学生记录。 (2)将允许的操作分为四种,以A、B、C、D为标志(若设置菜单操作更佳): A:插入一个新的学生记录; B:登记某次成绩(可以是每次习题、测验、考试成绩); C:修改某次成绩(可以是每次习题、测验、考试成绩); D:删除一个学生记录。 (3)计算学生的最终成绩,各项成绩权重为:习题10%、测验20%、考试70%。 (4)按学号排序打印全班成绩表,表格内容包括习题、测验、考试、总评成绩,前三项为百分制,总评成绩为加权计算结果值。 设置教师和学生两种登录系统身份,每个用户应有自己的口令; 教师身份可以完成上述基本要求的功能,学生可以通过输入学号查询个人成绩。 2、飞机航班订票系统 任务:通过此系统可以实现如下功能: (1)录入:录入航班信息(数据可以存储在一个数据文件中) (2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)订票:(订票情况可以存在一个数据文件中) 可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)退票:可退票,退票后修改相关数据文件; 订票的客户信息有姓名,证件号,订票数量及航班,订单要有编号。 (5)修改航班信息:当航班信息改变可以修改航班数据文件。 3、宾馆管理信息系统 任务:入住或预订客房时,用户要对客户管理模块或预订管理模块进行核对审查,并进行登记;客户换房时,要对换房信息进行查询和更新;客户退房时,要进行结算,并对更新客房信息。 主要功能模块: (1)登录模块:对用户身份进行验证,只有合法用户才能进入系统;

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

中南大学软件工程历届试卷

填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。 2. 需求分析的基本任务是(确定用户需要软件做什么)。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(边界值分析法)。 4. 根据程序流程图划分的模块通常是(过程)内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。 6. UML的定义包括UML语义和(UML表示法)两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。 四、测试题(本题16分,每小题8分) 某程序的程序流程图如下图所示,试据此回答下述问题: 1. 计算程序的环形复杂度; 2. 设计测试用例,满足基本路径覆盖。 四.(1)环路复杂性=判断数+1=6+1=7(个) (2)路径1:(0)—①—(13)—(19) 路径2:(0)—②—③—(14)—(19) 路径3:(0)—②—④—⑤—(15)—(19) 路径4:(0)—②—④—⑥—⑦—(16)—(19) 路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19) 路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19) 路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19) 一、填空题(本题30分,每小题1.5分) 1、软件是计算机程序、(描述计算机程序的文档)及(数据)的完整集合,将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项称为(基线),只有通过正式的变化控制过程才能改变它。 2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具)和(过程)。传统方法学采用(结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据)为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。 3、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据

软件工程实验内容

传统软件工程实验内容 项目—1软件项目计划 本项目学习目标 本项目是传统软件工程的计划阶段。通过本项目的学习,使学生理解系统所要解决的问题并给出系统定义,掌握可行性研究的内容和步骤,在掌握系统流程图建立技术的基础上画出系统流程图,在经济可行性分析的基础上培养学生掌握成本/效益分析的能力. 阅读本项目后,应具备如下能力: ●弄清系统所要解决的问题并给出系统定义 ●认识到可行性研究的必要性 ●能准确阐述可行性研究的内容 ●熟练掌握可行性研究的步骤 ●掌握系统流程图建立的技术并能画出系统流程图 ●熟练掌握成本/效益分析的能力 本项目学习要点 ●系统目标及范围的说明 ●可行性研究的内容及步骤 ●成本效益分析 撰写可行性研究报告 任务1 问题定义 需解决的主要问题 ◆你知道软件开发第一个阶段最主要的任务是什么吗?那就是要弄清用户需要计算机解决问题的根本所在,以及项目所需的资源和经费。你知道具体这阶段完成后要生成一个什么样的文档及怎么书写这个文档吗?完成本任务后你自然就知道了。 任务目标 ◆学生能独立撰写系统目标及范围的说明书. 完成任务的途径 实例的系统目标及范围的说明书来阐述这一文档的书写方法。问题定义(Problem Definition)是计划时期的第一个阶段。其目的是弄清用户需要计算机解决的问题根本所在,以及项目所需的资源和经费.该阶段的主要任务是在向用户调查的基础上,编写一个叫做“系统目标及范围的说明”(Statement of Scope and Objectives)的文档。这个说明经用户同意后,就可作为下一步工作——可行性研究的依据。上述说明书中的第2、3两项是密切相关的,只有清楚地了解当前工作中存在的问题,才能深刻理解用户对新系统的目标.多数用户因受到计算机知识的限制,难于准确和恰如其分地提出新系统的目标.为了弥补这一不足,分析员除要认真听取用户代表的介绍外,还应通过阅读资料、现场观察、甚至亲自参加操作等方法,

软件工程实验教学大纲

《软件工程》实验教学大纲 课程代码:0668036 课程名称:软件工程/Software Engineering 开课院(系)实验室:计算机科学系;软件实验室、信息安全实验室 适用专业:计算机科学与技术、信息与计算科学、信息安全 实验指导书名称:《软件工程实验指导书》 一、学时、学分 总学时:64 总学分:4 讲课学时:48 实验学时:16 实验成绩占总成绩20 % 二、课程简介 软件工程是计算机科学与技术等专业开设的一门必修课,是软件开发类的综合性和实践性很强的核心课程。本课程从系统工程的角度介绍软件工程方法,使学生掌握软件工程的基本理论、方法和技术,以及软件开发的完整过程和步骤,掌握软件生命周期中各阶段的知识,并能够使用UML进行软件分析和设计。培养学生初步具有中小型软件项目的需求分析、设计、编码、测试、维护和管理的工程化能力,以及软件开发和项目管理能力,为今后更深入地学习和从事软件开发工作打下良好的基础。 三、实验的地位、作用和目的及学生能力标准 本实验课程是《软件工程》课程教学的重要组成部分。通过本实验课程的教学,使学生加深对面向对象分析与设计的理解,从而掌握如何把统一建模语言UML应用到基本的面向对象分析和设计乃至整个软件开发过程中。 软件工程课程实验的目的是让学生掌握求解软件的基本思想、途径和方法,为从事计算机软件开发、维护和应用奠定良好的基础。学生通过软件工程课程实验,掌握软件分析、设计、实现和测试的基本技术,以及面向对象分析和设计的基本方法。通过该课程实践,实际运用软件工程的技术和方法,掌握软件项目管理和团队开发的工作方法。 经过软件工程课程的实验环节,使学生进一步掌握面向对象的系统设计与开发的方法和技术,树立团队合作精神,培养自主学习能力和创造性的工程设计能力,提高综合分析和解决问题的能力,以及软件项目的管理能力。此外,在实验环节中,还应深入了解面向对象分析和设计的基本概念,UML 在面向对象分析和设计中的作用,UML 的基础知识和应用技术,学会如何使用UML 对系统建模,掌握软件建模工具Rational Rose 的使用。 四、实验方式与基本要求 本实验课程要求学生在教师的指导与帮助下,学习了解UML的基本概念,实践UML对系统进行分析和设计的开发过程。以“网上图书销售系统”为案例,使学生经历软件项目的可行性研究、需求分析,软件设计、实现、测试到维护等各阶段的软件生命过程。 基本要求是:在实验初期,学生要在教师指导下自学Rational Rose软件的安装、使用和操作方法,并能运用Rational Rose完成课程全部实验内容;在每个实验开始之前,要求学生预先针对课堂相关知识进行深入思考、分析、讨论,按实验题目要求给出初步的软件需求分析模型和设计模型;在实验过程中按照实验步骤积极动手进行实验操作,按各个实验的具体要求完成和提交实验成果。 “网上图书销售系统”功能需求: (1)查询图书信息:顾客登录该系统后,可根据书名对所需的图书信息进行查询。

合肥师范学院软件工程期末考试试题·优选.

TEST1 一、选择题:(本大题共10小题,每小题2分,共20分) 1.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。 A.可移植性 B.可重用性 C.容错性 D.可适应性 2.关于计算机软件,下列说法正确的是(A )。 A.计算机系统的组成部分 B.不能作为商品参与交易 C.是在计算机硬件设备生产过程中生产出来的 D.只存在于计算机系统工作时 3.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 (B)。 A.软件投机 B.软件危机 C.软件工程 D.软件产生 4.软件工程中(C )不属于用户文档的内容。 A.功能描述 B.安装手册 C.系统设计 D.使用手册 5.软件概要设计结束后得到( B )。 A.DFD图 B.软件结构图 C.模块详细的算法 D.程序编码 6.软件设计中,可应用于详细设计的工具有( )。 A.程序流程图、PAD图和伪码 B.数据流图、PAD、结构图和伪码 C.业务流程图、N-S图和伪码 D.数据流图、PAD、N-S图和伪码 7.软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是 ( A )产生的副作用。 A.文档 B.数据 C.编码 D.设计 8.瀑布模型本质上是一种(C )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.及早见产品 9.螺旋模型是一种将瀑布模型和(A )结合起来的软件开发模型。 A.增量模型 B.专家系统 C.喷泉模型 D.变换模型 10.面向对象分析是对系统进行(A )的一种方法。 A. 需求建模 B. 程序设计 C. 设计评审 D. 测试验收

二填空题:(本大题共10个空,每空2分,共20分) 1.软件工程三要素是软件工程的( 方法)、( 工具)和(过程)。 2.软件工程学的主要内容是( )和( ) 。 3.实体-关系图(E-R图),用于建立数据模型,其中包含了( 对象)、( 关 系)和( 属性)。 4.详细设计的任务是确定每个模块的内部特性,即模块的( )和( )。 三、判断题:(本大题共10小题,每小题2分,共20分) 1.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达 能力。F 2.可以用CASE环境或程序自动生成工具来自动生成一部分程序。T 3.开发软件就是编写程序。F 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输 出、或设计一些复杂的算法等场合。F 5.面向对象的分析由对象、结构、继承性和基于消息的通信构成。 6.封装是把对象和属性结合在一起,强调独立和封闭。T 7.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。 8.软件工程学只有理论意义,没有实际用途。F 9.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。T 10.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。F 四、简答题:(本大题共4小题,每小题5分,共20分) 1.什么是软件生命周期?软件生命周期都有哪些阶段? 软件从提出设计到被使用和维护直至被舍弃的时间段。 2.以G.Myers的观点,简述软件测试的目的。 为了发现错误而执行的过程;好的方案是极有可能发现错误的方案 3.设计用户界面的过程中,会遇到那四个问题? 4.面向对象的分析通常要建立三个模型,请问三个模型的作用?

2013软件工程实验说明书

1.Experimental Environment IBM Rational Software Development Platform 2.Location Room 529, Building C1 3.Case Description International Students Course Registration System The School of Information and Electronic Engineering is one of biggest schools in Zhejiang University of Science and Technology. As part of teaching administration, staffs and international students use an old system. The Dean is convinced that the current system has been outgrown, as they have been receiving increased complaints from staff and international students, and also because other Universities have released totally revamped and highly functional computer system to their schools. In the current system duplication of data entry and lack of networking are both causing great difficulty. Furthermore they recognize the need for access to the internet. The school has about 110 faculties (located in one building), most of whom require computer access. Meanwhile there are almost 500 international students who live in Hangzhou city. The Dean have awarded you (a consultant from super systems consulting) a contract to specify and design a new computer system. They will be guided by your expertise as to what you consider to be the best solution to their problems. The assignments are considered primarily as a learning experience. Your assignments should demonstrate a complete understanding of the main issues and the ability to apply the underlying principles as insights into practical case studies. The emphasis in this exercise is to highlight the type of information to include in the analysis of an information system. You should make assumptions on any information that has not been included, and which you believe is necessary to specify your system. It is the structure, type and consistency of information you include and how this information is communicated which is critical, the exact detail of your solution is of lesser importance, as there is no one correct solution. Main functions: 1.Students look up the course information. 2.Students enroll in course. 3.Student amends enrolment 4.Student wishes to check enrolments 5.Student submits assignments. 6.Student browses news and message. 7.Student looks up his grade. 8.Staff wishes to check enrolments 9.Staff wishes to publish news and message. 10.Staff input the grade of students. 11.Time to produce grade reports (One day after final grade deadline) 12.Student or Faculty wishes to receive a grade report (Faculty or Student requests grade report). 13.Student placed on honors list (Cumulative GPA reaches 6.0) 14.Time to produce list of op three students in each course (Release of results for semester) Review the case study and answer the following questions with reference to the information in the

相关主题
文本预览
相关文档 最新文档