实验指导书软件工程基础公选课1110Word格式文档下载.docx
《实验指导书软件工程基础公选课1110Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验指导书软件工程基础公选课1110Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
学生姓名:
实验时间:
3、实验报告内容
见各具体实验项目的要求。
基本实验方法
本实验要求熟悉软件系统分析、设计、编码、测试和管理等环节相关CASE工具的使用,参照国家标准GB/T8567-2006《计算机软件产品开发文件编制指南》编制相关文档。
实验环境
MicrosoftVisio2003、WinRunner8.2(可选)、MicrosoftProject2003、RationalRose2003、PowerDesigner12(可选)。
结构化分析方法
一、实验目的
掌握用Visio完成软件结构化分析方法中相关文档的编制和图表绘制。
二、预习要求
实验前准备好系统的需求分析图表和文档,完成系统业务流程图、数据流图的绘制和数据字典的定义。
三、实验内容:
1.研读国家标准GB/T8567-2006,掌握软件文档编制的规范。
2.熟练应用Visio绘制软件开发图形的基本操作,完成绘制业务流程图、数据流图。
四、实验方法和步骤:
(一)研读GB/T8567-2006,了解软件需求规格文档的编制规范。
(二)利用Visio绘制业务流程图。
1.对业务详细调查确定业务流程图,示例如图所示:
图车辆业务购置流程
2.制作业务流程图图元
业务流程图5种基本图元(主体、单证、业务处理、数据存储和业务流程流转方向)可直接利用Visio提供的基本图形对象绘制,也可利用多个对象组合形成。
可选择“文件”->
“形状”->
“框图”->
“基本形状”绘制主体(圆形)、单证(文档)和业务处理(矩形);
选择“文件”->
“软件”->
“Gane-Sarson”选项,打开Gane-Sarson图形对象集绘制数据存储;
“其他Visio方案”->
“连接线”选项,选择“有向线1”,选择“无线端”绘制业务处理。
图业务流程图基本图元
3.绘制业务流程图
双击图元添加文字,了解绘制业务流程图的方法。
(三)利用Visio绘制数据流图。
1.制作数据流图图元
数据流图4种基本图元(外部项、处理功能、数据流和数据存储)中,外部项也需要利用“直线”和“正方形”对象组合形成,其他图元类似前面方法绘制。
图定货系统的数据流图
图销售处理的数据流图
2.绘制完整的数据流图。
五、思考题:
使用Visio可以完成哪些类型图形的绘制?
六、实验报告要求:
实验目的:
掌握用Visio、Word完成软件结构化分析方法中相关文档的编制和图表绘制。
实验内容:
熟练应用Visio绘制各种图形模型,了解国家标准GB/T8567-2006。
完成情况(如何用Visio完成相关图表的绘制)。
实验结果:
给出绘制的图形模型。
问题及解决:
首先写出遇到的问题或系统报告的错误信息,然后分析错误原因,并给出解决办法。
回答思考题提出的问题。
实验总结:
心得体会,建议等。
结构化设计方法
一、实验目的:
掌握用Visio完成软件结构化设计方法中相关文档的编制和图表绘制。
二、预习要求:
实验前准备好系统的总体设计和详细设计图表和文档,完成系统软件结构图、功能结构图的绘制和模块详细设计的主要模型的绘制。
1.利用Visio绘制软件结构图、高层功能模块图,掌握国家标准GB/T8567-2006编制系统设计说明书的方法。
2.利用Visio绘制程序流程图、程序界面,掌握详细设计和界面设计工具的使用。
参照实验一中给出的使用Visio的方法,将实验内容中所要求的项目依次绘制。
图高层功能模块的设计
图销售子系统软件结构图
图采购子系统软件结构图
图“车辆购置申请信息”模块界面
(一)绘制系统高层功能模块图
(二)绘制销售或采购子系统模块软件结构图
可以使用“连接线”中的“流导向符1”或“流导向符2”来描述模块之间调用时传递的不同类型参数关系。
(三)如图“车辆购置申请信息”模块界面图所示,完成示例中“车辆购置申请信息”模块界面设计。
“窗口和对话框”选项、“公共控件”选项、选择“工具栏和菜单”选项进行界面设计。
(四)研读国家标准GB/T8567-2006,了解编制概要设计说明书和详细设计说明书的方法。
如何利用程序流程图和Visio绘制盒图?
熟练应用Visio绘制软件结构图、高层功能模块图等图表,掌握界面设计方法,掌握依据国家标准GB/T8567-2006编制概要设计说明书和详细设计说明书的方法。
完成情况:
(如何完成相关图表的绘制)。
参考GB/T8567-2006,给出实验内容中要求的相关设计文档。
回答思考题提出的问题,
面向对象的分析设计方法
学习用Rose或Together等工具绘制UML图,通过实际绘制UML图加深理解UML,了解利用UML进行面向对象的分析、建模和面向对象系统设计的方法。
实验前复习利用UML进行分析设计并构造系统模型的方法。
利用Rose绘制给定的用例图、包图、活动图、序列图、协作图。
(一)Rose绘图环境的使用
i.Rose的启动
按如下图所示的步骤启动rose:
ii.RationalRose的建模环境
RationalRose是菜单驱动的应用程序,支持八种不同类型的UML框图:
UserCase框图、Activity框图、Sequence框图、Collaboration框图、Class框图、Statechart框图、Component框图和Deployment框图。
RationalRose界面分为五部分,分别是浏览区、文档窗口、工具栏、图形窗口和日志,如下图所示。
●浏览区:
用于模型之间的快速启动和切换。
●文档窗口:
用于快速访问或更新模型元素的文档。
●工具栏:
分为标准工具栏和图形工具栏,用于快速访问常用命令。
●图形窗口:
用于显示和编辑一个或多个UML框图。
●日志:
用于查看错误消息和报告各个命令的结果。
(二)人事档案管理系统的面向对象分析
首先明确问题域和系统责任,目标系统的主要功能是:
人事信息的变动管理(增、删、查、改、打),人事信息查询检索、分类汇总、统计报表,用户管理、登录,下属部门数据的维护、数据备份与恢复。
根据系统的这些总体信息,可以确定系统的参与者(角色)和用例。
(1)确定系统的参与者
该系统的参与者(系统用户)是进行日常人事档案信息管理的操作员和进行基础数据维护与数据备份(恢复)的管理员。
(2)确定系统用例
可将系统分为如下用例:
人事档案信息管理用例、系统账户管理用例、部门数据维护用例、系统维护用例。
①人事档案信息管理用例:
该用例的参与者是一般的操作员,需要经过系统登录后才能正式进入系统,完成人事档案信息的变动管理、分类汇总统计、报表打印等功能。
②系统账户管理用例:
完成系统用户的增、删、查、改、打功能。
③部门数据维护用例:
完成部门信息的增、删、查、改、打功能。
④系统维护用例:
完成系统数据的备份和恢复功能。
(3)识别系统中的类
可从类的表现形式或分类来识别类,类的表现形式有:
外部实体、事物、事件、角色、组织单元、场地、结构。
类又分为实体类、边界类和控制类。
①参与者相关的类。
本系统的参与者是系统用户,包含的属性有登录名、密码、类别(操作员或管理员)、操作权限等。
②其他外部实体(数据库)类。
●员工人事档案信息类,包含的属性有员工编号、姓名、所在部门、性别、年龄等。
●部门信息类,包含的属性有部门编号、部门名称等。
③边界类。
●系统用户登录窗口、系统主界面窗口、用户信息管理窗口。
●员工人事档案信息管理窗口、人事信息查询显示窗口、分类统计窗口、人事信息报表打印窗口。
●管理员部门信息管理窗口、管理员系统备份与恢复窗口。
④控制类的识别一般在面向对象设计时进行。
(4)确定系统的包
根据系统的主要功能,将系统分成三个一级包:
人事档案信息管理、账户管理、系统数据管理。
人事档案信息管理的下级包为:
人事信息编辑、分类汇总统计、报表打印。
系统数据管理的下级包为:
部门数据维护、数据备份与恢复。
(5)绘制用例图
启动Rose,不选任何模型,进入Rose的主界面。
在对一个项目首次进入Rose时,模型的名称为untitled,选择File菜单下的Save或SaveAs,选择合适的目录,在保存对话框的文件名栏中输入:
人事档案管理系统,单击【保存】按钮,将当前的模型保存为“人事档案管理系统.mdl”。
Rose主界面中的untitled将改变为“人事档案管理系统”。
对该模型操作的有关数据都将保存到文件:
人事档案管理系统.mdl。
在浏览区展开UseCaseView,双击Main,打开主UseCase,注意窗体的标题为:
RationalRose-人事档案管理系统.mdl-[UseCaseDiagram:
UseCaseView/Main]。
①将鼠标移到UseCaseView,单击右键弹出快捷菜单,选择New|Package,取名为“账户管理”。
②用鼠标右键单击“账户管理”,从弹出的快捷菜单中选择New|UseCaseDiagram,取名为“Main”。
从编辑区工具栏中选取“Actor”,在编辑区添加三个角色,分别命名为:
系统用户、操作员、管理员,这些对象的说明及其作用范围可以在其属性对话框的“Documentation”中添加,如图所示。
本例中的角色是使用系统的人员。
系统用户角色又可分为操作员和管理员,分别对应不同管理权限的人事档案管理部门的工作人员。
③从编辑区工具栏中选取
“Generalization”,单击“操作员”后再单击“系统用户”,同样在“管理员”和“系统用户”间连线,表明两个角色之间的关系。
④单击角色“管理员”,在主菜单中单击【复制】,在工作区其他位置“粘贴”该角色。
从编辑区工具栏中选取
“UseCase”,在复制的“管理员”角色右边添加若干个用例,分别取名为“增加新用户”、“修改用户信息”、“删除用户”、“显示所有用户的信息”,在角色“管理员”到这些用例间添加通信关系。
在编辑区工具栏选取“Generalization”,连接“修改用户信息”和“显示所有用户的信息”,双击该关系,从“Stereotype”下拉列表处选择“使用”,单击OK。
在“删除用户”与“显示所有用户的信息”之间进行类似的操作,这样在“修改用户信息”、“删除用户”与“显示所有用户的信息”用例之间存在使用关系。
经过步骤①到④绘制的账户管理用例图如图所示。
(7)活动图
本系统中有明确活动的角色是一般操作员和管理员,可分别建立活动图。
操作员的活动是进行人事档案信息管理的有关操作,根据其子功能划分为三项活动;
管理员的活动则包括部门数据维护、数据备份与恢复和用户管理。
以用户登录用例的活动为例来说明活动图的绘制。
①用鼠标右键单击浏览区内“账户管理”中的“登录”,从快捷菜单中选择New|ActivityDiagram,取名为“身份验证”。
②双击“身份验证”,编辑区及其工具栏将改变为活动图编辑窗口和对应的工具栏,在该窗口下进行身份验证活动图的绘制。
初步绘制的活动图如下图所示,考虑到活动可以进一步划分为若干组,因此还可以进一步用泳道来划分活动。
③用右键单击浏览区内的“身份验证”,从快捷菜单中选择New|Swimlane,重复三次并分别取名为“用户接口”、“业务逻辑接口”和“数据库接口”。
④分别单击这三个泳道,将单击的泳道拖到编辑区。
⑤在编辑区内拖动有关的对象,并进行合适的增加和位置调整,例如将“验证用户信息是否正确”进一步细化为数据库查询、比较验证两步,放在不同的泳道内。
最后形成的身份验证的活动图如下图所示。
也可以先确定编辑区内的泳道,然后再绘制活动图。
可类似地绘制出其他用例的活动图。
(8)序列图
对本系统的用户登录的行为顺序,可以绘制登录序列图表示。
从活动图中可以看到登录事件流涉及的角色为系统用户和数据库,对象有用户信息输入界面、用户信息对象,对象、角色之间交互的消息主要有发出界面生成消息、界面对象检查用户信息、向数据库发出查询用户消息、检查用户、设置用户权限。
根据以上分析绘制用户登录用例的序列图。
①用右键单击浏览区内“账户管理”中的“登录”用例,从快捷菜单中选择New|SequenceDiagram,取名为“登录序列图”。
②双击“登录序列图”,编辑区及其工具栏将改变为序列图编辑窗口和对应的工具栏,在该窗口下进行序列图的绘制。
③将浏览区内“账户管理”中的“系统用户”拖到编辑区。
④在编辑区工具栏选取“Object”,放在编辑区,重复三次并将这三个“Object”分别取名为“用户信息界面”、“用户的信息”和“数据库”。
⑤在编辑区工具栏选取“ObjectMessage”,按照有关次序在编辑区的对象之间添加消息,并取合适的名称:
发出界面生成消息CreateLoginForm(),检查用户信息CheckAccount(),向数据库发出查询用户消息SearchUserAccount,检查用户VarifyAccount(),设置用户权限SetRight()。
绘制的用户登录的序列图下如图所示,其他用例的序列图可类似绘制。
(9)协作图
与时序图不同,协作图是基于结构的一种表示方法,主要用于描述对象间的交互关系。
Rose提供了在两种图之间进行切换的功能,切换的菜单是Rose主菜单中Browse下的GoToSequenceDiagram或者GoToCollaborationDiagram,切换的快捷键是F5。
例如“用户登录系统序列图”切换后的“用户登录系统协作图”如图下所示。
1.分析讨论Visio对需求分析有何帮助。
2.请说明结构化分析与面向对象分析的主要差别。
完成情况(说明如何完成实验内容)。
给出Rose绘制的UML图形。
回答思考题提出的问题
CASE工具的使用
掌握项目管理等常用CASE工具的使用。
实验前复习讲授过的有关软件项目管理等知识,准备项目管理的人员、进度因素等计划安排。
三、实验内容
熟悉项目管理软件MicrosoftProject的操作界面和基本操作。
了解项目管理软件VSS、测试软件Junit的使用。
(选作)
1.Project范围管理
在使用Project之前,必须先决定项目的范围。
首先,用项目名称和开始日期来创建一个新的项目文件,然后开始确定项目范围,逐步形成实施项目所需要的任务列表,也就是工作分解结构(WBS)。
如果想跟踪一个项目的真实信息及相应的原始计划,还需要设立一个基准线。
●首先将Windows的系统时间改为2004年2月1日星期日。
(1)创建一个新项目文件
为创建一个新的项目文件,可按以下步骤执行:
步骤1:
进入Project系统。
从“文件”菜单中单击“新建”命令,屏幕显示空白项目操作界面。
步骤2:
从“项目”菜单中单击“项目信息”命令,弹出“项目信息”对话框。
步骤3:
在“开始日期”的文本框中输入或选择日期。
步骤4:
从“文件”菜单中单击“属性”命令,在“项目属性”的“摘要”对话框中输入项目标题、主题、作者、经理、单位等:
在“标题”文本框中输入“项目跟踪数据库项目”,在“作者”文本框中输入你的姓名等,单击“确定”。
步骤5:
从“文件”菜单中单击“保存”命令。
在文件名框中输入dbscope,在预先设置好的文件夹中保存dbscope文件。
(2)创建工作分解结构(WBS)
可以将项目任务输入Project,从而形成一个工作分解结构(WBS)。
在使用Proiect之前应先创建WBS,这样可以更容易地将任务输入到Project的工作表格中。
利用下表中的信息来为“项目跟踪数据库”项目创建WBS图,操作步骤如下:
打开“项目跟踪数据库”项目文件dbscope。
从第一行开始,在工作表格的“任务名称”栏中,按下表中的内容顺序输入30个任务的名字。
如果偶然跳过了一项任务,可以选择“插入”菜单中的“新任务”命令,得到空白行并输入内容。
调整任务名称栏的大小,显示任务栏内全部内容。
这种WBS分离任务是以项目启动、计划、执行、控制和收尾这样的项目过程为基础的。
WBS应该包括项目要求的所有工作,而不是仅仅包括那些需要执行的任务。
表:
项目跟踪数据库的任务
序号
任务
1
项目启动
16
同项目干系人一起检查计划
2
启动任务
17
执行任务
3
与项目发起人的启动会议
18
分析任务
4
研究类似项目
19
设计任务
5
草拟项目要求
20
6
向发起人和其他项目干系人一起检查项目要求
21
控制任务
7
制订项目章程
22
状态报告(作为循环任务输入)
8
签署合同
23
输入项目实际信息
9
编制任务计划
24
浏览报告
10
创建WBS
25
如果有必要,调整计划
11
估算工期
26
结束任务
12
分配资源
27
准备最后项目报告
13
决定任务关系
28
向项目干系人提交最后项目
14
输入成本信息
29
总结项目经验和教训
15
预览干特图和PERT图
30
项目结束
(3)创建摘要任务
WBS任务输入之后,第二步是创建摘要任务。
本例中的摘要任务就是表中的任务2(启动任务)、9(计划任务)、17(执行任务)、21(控制任务)和26(结束任务)。
可以用突出的显示方式来创建摘要任务,同时相应的子任务呈现缩排形式。
创建摘要任务的操作步骤是:
缩排任务3至任务8,将它们标识为子任务。
从任务3的文本开始,按住鼠标左键并拖动至任务8的文本,选中这6行任务文本。
在格式工具栏上单击“降级”按钮,子任务(任务3至任务8)就被缩排了,注意此时任务2自动变为黑体,标志它是一项摘要任务,同时甘特图中的摘要任务符号也由蓝线变为带箭头的黑线,表示任务开始和结束日期。
接着,按相同步骤,为任务9、17、2l和26创建子任务和摘要任务。
即缩排任务10到16;
缩排任务18到20;
缩排任务27到29。
也可以对一项任务使用“升级”按钮,把它从子任务改变为摘要任务。
可以使用Tab键和.Alt+Tab键来对任务进行降级和升级。
在完成任务输入,创建摘要任务和子任务之后,项目文件如下图所示。
图显示所有任务、区分摘要任务和子任务的项目文件
2.Project时间管理
使用项目时间管理功能的第一步,是输入任务工期或者任务开始的特定日期。
输入的工期和特定日期将会自动更新甘特图。
如果要做关键路径分析,还必须设置任务之间的依赖关系。
在输入任务工期和依赖关系之后,就能看到PERT图和关键路径信息。
(1)输入任务工期
每输入一个任务,Proiect会自动分配一个默认的工期“l天”。
要想改变默认工期,可在“工期”栏目中输入任务估计工期。
工期长度单位符号包括:
d=天w=星期m:
分钟h=小时
输入时间估计和工期必须遵守下列规则:
1)不要为摘要任务输入工期,摘要任务工期是基于子任务工期自动计算的。
2)要把一个任务标记为里程碑,可对其输入零工期。
3)对于周期性任务,例如每周的会议,每月的状态报告等,可从“插入”菜单中选择“周期性任务”命令,输入任务名称和工期。
Project将会根据项目工期和要求发生的周期性任务的数量自动插入于任务的恰当位置。
4)可以输入一项活动的开始日期和结束日期来代替输入工期。
接着,在“项目跟踪数据库”项目中设置任务日期,创建一个周期性任务和输入日期。
首先将任务22的“状态报告”作为周期性任务。
其次,为其他任务输入工期。
将任务22(状态报告)设置为周期性任务的操作步骤是:
在“任务名称”栏中单击“状态报告”,选择任务22。
单击“插入”菜单中的“周期性任务”命令,弹出“周期性任务信息”对话框。
在“任务名称”文本框中输入“状态报告”,在“工期”文本框中输入l小时,在“重复发生方式”组中选择每周,从每周下拉列表中选择“每一”,在日期选项中选择“周三”,在“重复范围”框中输入从“2004年1月31日”到“2004年5月28日”。
单击“确定”。
Project在“任务名称”这一栏中插入了一个新的“状态报告”子任务。
注意这一新的子任务是粗体,且在任务名称左边有一个加号和提示标记。
右键单击第二个状态报告子任务的序号(任务40)并选择“删除”命令,删除原来的状态报告任务,这样就只有一个状态报告子任务,即循环任务。
如图所示,可以注意到循环任务在甘特图上显示出相应的日期。
可扩展和折叠时间刻度,来查看循环任务。
图设置了循环任务的项目文件
根据下表给出的信息,录入其他任务的工期。
因为已经录入了循环任务的工期,循环任务自动地往各周项目状态报告里增加了几行(23行到39行)。
单击表格中“工期”列的相应行,可键入任务工期。
表项目跟踪数据库任务的工期
工期(天)
前置任务