《软件工程及应用(实践)》.doc
《《软件工程及应用(实践)》.doc》由会员分享,可在线阅读,更多相关《《软件工程及应用(实践)》.doc(40页珍藏版)》请在冰点文库上搜索。
辽宁省高等教育实践考试软件技术(应用本科)专业
实验报告书
课程名称软件工程及应用(实践)
助学单位
姓名
准考证号
成绩
二O一一 年四月
实验1软件开发文档工具安装
一、实验内容:
1.Visio安装
2.RationalRose安装
3.ERwin安装
二、实验目的:
1.使用Visio可以轻松创建业务和技术图表,以便仔细研究、组织和更好地理解复杂的设想、过程和系统。
使用Visio可完成更复杂的工作,加深人们的理解并提高生产力,从而促进业务的发展。
2.RationalRos把UML集成到面向对象的软件开发过程中,不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,RationalRose都提供了清晰的UML表达方法和完善的工具,以帮助开发者方便建立起相应的软件模型。
3.ERwin为设计、生成、维护高水平的数据库提供了高效率的工作环境。
从描述信息需求和商务规则的逻辑模型,到针对特定目标数据库优化的物理模型,ERwin可以帮助开发人员可视化地确定合理的结构、关键元素并优化数据库。
三、实验步骤:
1.Visio的安装步骤
(1)双击启动Visio的安装程序,进入安装向导界面。
(2)安装向导执行结束后,系统弹出产品密钥输入界面,如图1-2所示。
请按照提示要求输入正版软件的产品序列号,然后单击“下一步”按钮进入用户名信息输入界面,如图1-3所示。
(3)在用户名信息输入界面中,按照提示要求分别输入用户名、缩写以及单位的名称,然后单击“下一步”按钮进入最终用户许可协议提示界面,如图1-4所示。
(4)在图1-4中,系统给出了用户必须遵守的许可协议条款,单击选择“我接受《许可协议》中的条款”复选框,然后单击“下一步”按钮进入安装类型选择界面,如图1-5所示。
图1-2产品密钥输入界面图1-3用户名信息输入界面
图1-4最终用户许可协议提示界面图1-5安装类型选择界面
(5)在图1-5所示的安装类型选择界面中,系统给出了“典型安装”、“完全安装”、“最小安装”和“自定义安装”4种安装类型,同时也给出了安装位置选择功能。
(6)安装完成,系统弹出安装已完成提示界面,如图1-13所示。
单击“完成”按钮,则完成全部安装工作。
图1-10安装方式选择界面图1-11安装摘要提示界面
图1-12系统执行安装过程的提示界面图1-13安装完成提示界面
2.RationalRose的安装步骤
(1)双击启动RationalRose2002的安装程序,进入安装向导界面,如图1-14所示。
图1-14安装向导界面图1-15产品选择界面
(2)单击“下一步”按钮进入产品选择界面,如图1-15所示。
Rational提供了RationalLicenseServer和RationalRoseEnterpriseEdition两种产品,其中RationalLicenseServer可以用来实现license的统一管理和发放,以保证客户端从中获得相应授权和使用;RationalRoseEnterpriseEdition是企业级版本,一般选择此项进行Rose的安装。
(3)完成产品选择后,单击“下一步”按钮,系统给出了用户必须遵守的许可协议条款,即弹出许可协议提示界面,如图1-16所示。
如果选择No,Idon’taccepttheagreement.单选按钮则系统停止进一步安装操作,如果选择Yes,Iaccepttheagreement.单选按钮并单击“下一步”按钮,系统弹出如图1-17所示界面。
图1-16许可协议提示界面图1-17安装路径及安装类型选择界面
(4)选择安装路径和安装类型。
图1-17所示为安装路径和安装类型选择界面。
系统给出默认的安装路径,用户也可根据需求单击Browse按钮对安装位置进行更改。
(5)在图1-17中完成全部选择后,单击“下一步”按钮,弹出安装确认提示界面,如图1-18所示。
单击“下一步”按钮,系统执行安装过程,弹出正在安装提示界面,如图1-19所示。
图1-18安装确认界面图1-19安装过程提示界面
(6)安装完成后,弹出如图1-20所示的安装完成提示界面。
Rose安装完成后必须重新启动计算机才能完成配置并使用,因此在提示界面中选择Restart单选按钮后单击“完成”按钮,系统重新启动。
图1-20安装完成提示界面
3.ERwin的安装步骤
(1)双击启动ERwin4.0的安装程序,进入安装向导界面,如图1-22所示。
图1-22安装向导界面
(2)在图1-22所示的界面中单击Next按钮进入安装提示界面。
(3)在安装提示界面中,单击Next按钮弹出许可协议界面,仔细阅读协议条款后,如果用户同意安装协议,单击IAgree按钮,弹出Readme信息提示界面。
四、设计体会:
软件开发是一项很庞大和复杂的工程,开发软件必须严谨求实,脉络清晰,还需要那么一点点敬业精神,牺牲部分休息娱乐的时间。
运用工程学的思想开发软件,就要跳出原本只注重编程的狭隘圈子,从宏观上把握软件的生命周期,强调整体性与协调性,不能任意妄为。
特别是需求分析、总体设计和详细设计阶段的工作,更要做到细致、准确,为后期工作做好铺垫。
实验2基于Visio的业务流程图和数据流程图绘制
一、实验内容:
1.业务流程调查
2.业务流程图绘制
3.数据流程分析与流程图绘制
二、实验目的:
熟练的掌握业务流程调查,业务流程图绘制,数据流程分析与流程图绘制
三、实验步骤:
1.业务流程的调查
2.业务流程图绘制
业务流程图的绘制主要包括以下三项内容:
理解流程
编制流程图
完善流程图
流程图绘制基础
有明确定义的开端和结束。
有输入必有输出。
在整个企业组织中“流动”。
不局限于单一的功能和部门。
流程/子流程
概述企业活动。
流程图直接阐明组织的主要业务/功能单位(部门级)的关键目标。
流程步骤
描述中级组织单位(部门级)的任何活动。
在一个流程中能得到主要的输入、输出信息。
任务
描述个人能完成的活动。
所有个人应完成的工作组成她的岗位职责。
3.数据流程分析与流程图绘制
业务流程分析形象地表达对企业管理过程中的业务活动,但不能清晰地描绘业务活动中信息的产生、流动及存储。
而管理信息系统需要完成对数据的处理和分析,以达到企业的管理与决策目的。
因此,在系统分析过程中,还需要借助与数据流程分析技术来将数据在企业内部中的流动情况表示出来。
而数据流程分析的主要工具就是数据流程图。
数据流程图(DataFlowDiagram,DFD)以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,所以是一种功能模型。
数据流程图反映系统业务过程中,数据的存储、流动、加工和使用情况。
将各个业务处理联系起来,进行抽象和概况。
数据流程图的基本成分
数据流程图使用四种基本符号代表处理过程、数据流、数据存储和外部实体。
(1)处理过程(Process)。
是对数据进行变换操作,即把流向它的数据进行一定的变换处理,产生出新的数据。
(2)数据流(DataFlow)。
就是一束按特定的方向从源点流到终点的数据,它指明了数据及其流动方向。
(3)数据存储(DataStore)。
数据存储不是指数据保存的物理存储介质,而是指数据存储的逻辑描述。
(4)外部实体(ExternalEntity)。
是指在所研究系统外独立于系统而存在的,但又和系统有联系的实体。
数据流程图的层次
用自顶向下、逐层分解的原则来画数据流程图,就得到了一套分层的数据流程图,分层的数据流程图总是由顶层、中间层和底层组成的。
建立分层的数据流程图,应该注意以下几点:
(1)编号;利用编号反映出层次之间的关系。
(2)父图与子图的关系;在父图、子图中应注意数据流间的平衡。
(3)局部数据存储
(4)分解的程度;分解应自然、合理、清晰,尽量减少层次。
<实例分析:
汽车配件公司信息系统数据流程分析>
顶层数据流程分析
·处理业务展开,第二层数据流程分析
实验3.基于UML的用例模型绘制
一、实验目的
1.使用Visio绘制用例模型,要求达到“基本掌握”层次。
2.使用RationalRose绘制用例模型,要求达到“基本掌握”层次。
二、开发环境与工具
WindowsXP/windows7等操作系统
MicrosoftOfficeVisio2002VB/Delphi或更高版本开发工具
MicrosoftOffice2003或更高版本的PC机
三、UML用例图简介
首先看一下UML用例图的概念,它主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。
用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。
从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。
但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛(generalization)几种关系。
四、Visio画UML用例图步骤:
1.在“文件”菜单上,依次指向“新建”、“软件”,然后单击“UML模型图”。
2.在树视图中,右击要包含用例图的包或子系统,再指向“新建”,然后单击“用例图”。
此时会出现一个空白页,而且“UML用例”模具也会显示在最顶部。
工作区将“用例”显示为水印。
树视图将添加一个表示该图表的图标。
注释如果看不见树视图,请在“UML”菜单中指向“视图”,然后单击“模型资源管理器”。
3.将“系统边界”形状拖到绘图页上。
使用系统边界形状
在用例图中指示系统边界
4.Visio画UML用例图时要从“用例”模具中将“用例”形状拖出并放在系统边界内,然后将“参与者”形状拖到系统边界外。
使用用例形状
使用参与者形状
5.使用“通信”形状指出用例和参与者之间的关系。
使用通信形状
指出参与者和用例之间的关系
6.Visio画UML用例图时需要通过“使用”和“扩展”形状,指出用例之间的关系。
指出两个用例之间的使用关系,指出两个用例之间的扩展关系
7.双击任意形状(“系统边界”形状除外),打开其“UML属性”对话框,您可以在其中添加名称、特性、操作和其他属性。
8.保存该图表。
五、用Visio画UML图基本操作
目的
画UML图有好多种工具,VISIO只是其中一种.VISIO的动作非常轻快.很多人都在用.但是对众多的C++程序员来讲,存在着一个问题,那就是VISIO中的用语都来自面向对向,和C++程序员常用的说法有所不同.这一点令很多C++程序远很困惑.希望本文能为您解决这个问题.在我们将使用下面的例子(UMLSample.zip)来进行说明。
1.启动Visio
画UML图第一步要启动Visio,然后选择[File]-[New]-[Software]-[UMLModelDiagram]就可以进入到UML作图状态了.这时画面至少应该包含3个部分:
形状窗口,模型资源管理器,和作图区域.可以通过选择[View]-[ShapesWindow]来表示和隐藏形状窗口.模型资源管理器比较麻烦,必须通过[UML]-[View]-[ModelExplorer]来进行.
2.创建各种图面
在模型资源管理器中选择[StaticMdel]-[TopPackage],点鼠标右键,从弹出菜单中选择[New]-[StaticStructureDiagram]即可创建用于制作类结构图的图面了,如果从弹出菜单中选择[New]-[SequenceDiagram]即可创建用于制作时序图的的图面.
3.设定对象的属性
设定对象的详细信息的大部分操作是通过属性对话框实现的.可以通过在对象上双击鼠标或单击鼠标右键并选择属性属性来表示属性对话框.
画UML图几种小技巧
◆改变连线的方式
在画UML图的过程中连线是最常见的操作.象下图那样,线有直角连接线和直线连接线和曲线连接线三种.
可以通过,用鼠标右键点击希望改变种类的连接线,在弹出菜单中选择适当的连接线种类.
◆扩大和缩小
我想说的不是当然我们可以通过菜单实现扩大和缩小,而是通过按住Ctrl键,在上滚/下滚鼠标的滚轮来实现扩大和缩小.
◆上下/左右滚动屏幕
除了用鼠标拖动滚动条的方法以外,用鼠标滚轮也可以上下滚动屏幕.那么左右滚动呢,你可能已经猜到了,先按下Shift键就可以了.
◆拷贝已经存在的对象
首先按下Ctrl键,用鼠标脱动对象,最后释放Ctrl键就可以了.需要注意的Ctrl键释放的时机一定要在鼠标释放之后.
◆画水平线/垂直线
按下Shift键,在拖动鼠标画线,就可以很简单的画出水平线和垂直线.其实还可以画45度的斜线.
六、使用RationalRose绘制用例模型
RationalRose2003中提供的用例图的建模符号以及对符号的相关描述如图2-26所示。
用例模型可以建立在不同的层次上,具有不同的粒度。
顶层用例图比较概要地描述系统的结构和功能,底层用例图对顶层用例图中的用例进行细化。
下面我们以创建网上书店系统的顶层用例模型为例,介绍如何运用RationalRose2003创建用例模型。
(1)创建一个名为"网上书店系统.mdl"的Rose模型文件。
(2)在用例视图下,创建一个用例图。
右击"UseCaseView",选择"UseCaseDiagram",如图2-27所示。
将用例图命名为"顶层用例图",然后在浏览区中双击"顶层用例图",打开编辑区中对应的框图。
图2-26 用例图的建模符号
(点击查看大图)图2-27 创建用例图
(3)在编辑区添加用例模型的操作者。
在网上书店系统中,操作者有游客、会员和管理员。
单击工具栏上的操作者图标,然后将鼠标移动到用例图窗口上的合适位置,单击即可。
同时,为操作者命名,如图2-28所示。
(点击查看大图)
(4)如果想对操作者做详细的说明或定义,可以在编辑区中,右击相应的操作者图符,然后选择"OpenSpecification",然后在图2-29所示的窗口中为该操作者添加详细的说明信息。
(5)添加操作者之间的关系。
部分操作者之间可能会存在着"泛化"的关系。
所谓泛化,可以理解为类之间的继承。
在网上书店系统中,"会员"是对"游客"的泛化。
添加泛化关系时,可以点击工具栏中的泛化关系图标,然后在编辑区中的操作者之间划一条线。
双击这条线,可以在打开的窗口中对"泛化"关系进行详细定义。
至此,我们得到了用例模型的操作者视图,如图2-30所示。
图2-29 对操作者的详细说明
图2-30 用例模型中的操作者
(6)添加用例。
单击工具栏中的用例图符,然后在用例图的合适位置单击鼠标,得到一个用例图符,然后对该用例进行编辑,添加它的名称,如图2-31所示。
如果想对用例做详细描述,可以在编辑区中,右击相应的用例,然后选择"OpenSpecification",在打开的窗口中,添加相应的信息即可。
(7)添加操作员与各用例之间的关系。
点击工具栏中的单向连接线图标,然后在编辑区中从操作者到相关用例划一条线即可。
绘好单向连线后的用例图如图2-32所示。
(8)添加用例之间的关系。
添加用例之间的关系时,可以点击工具栏中的依赖或实例化图标,然后在有关联的用例间划一条线。
选中该线,右击选择OpenSpecification,得到如图2-33所示的对话框。
在Stereotype栏里选择相应的关系即可。
(点击查看大图)图2-31 添加用例
图2-32 添加单向连接线后的用例图
图2-33 设置用例间的关系
七、UML学习心得
有一些方法可以帮助提高UML序列图的质量和效力。
它们包括:
1、和主题问题专家一起验证决策
2、使解决方案尽量简单
3、为绘制消息和返回值选择一种一致而有效的风格
4、将序列图分层
5、遵循一致的逻辑风格
6、牢记序列图是动态的
实验4基于UML的状态模型绘制
一、实验目的
1.使用Visio绘制状态模型,要求达到“基本掌握”层次。
2.使用RationalRose绘制状态模型,要求达到“基本掌握”层次。
二、开发环境与工具
WindowsXP/windows7等操作系统
MicrosoftOfficeVisio2002VB/Delphi或更高版本开发工具
MicrosoftOffice2003或更高版本的PC机
三、创建UML状态图
1.打开包含类或用例的UML模型,类或用例中含有要在状态图中表示的行为。
2.在“文件”菜单上,依次指向“新建”、“软件”,然后单击“UML模型图”。
3.在树视图(树视图:
显示于UML导航器窗口中的一种层次结构,其中的各个UML元素或视图(图表)都用图标表示。
UML模板自动创建模型的树视图。
)中,右击表示类(类:
在静态结构图中,具有类似的结构、行为和关系的对象集。
类在类(静态结构)图中声明,代表所建模的系统中的概念。
)或用例(用例:
在用例图中,当主角使用系统来完成某一进程时所发生的一组事件的表示方式。
通常,用例是相当大的进程,而不是单个步骤或事务。
)(其中含有要在状态图(状态图:
状态机的表示方式,它附加于类或方法,描述该类对外部激励的响应。
)中表示的行为)的图标。
指向“新建”并单击“状态图”。
此时会出现一个空白页,且“UML状态图”模具将成为最顶部的模具。
工作区将“状态图”显示为水印。
树视图中将添加一个表示该图表的图标。
如果看不到树视图,请在“UML”菜单上指向“视图”,然后单击“模型资源管理器”。
4.将“状态”形状拖到绘图页上,以表示某个对象所经过的状态序列。
在UML状态图和活动图中使用状态形状
5.将“复合状态”形状拖到该页上,以表示并发、互斥或嵌套子状态。
在UML状态图中使用复合状态形状。
6.使用“转换”形状将状态连接到其他状态,以表示一个状态中的对象将响应某事件而进入第二个状态。
在UML状态图和活动图中使用转换形状使用弧形“转换”形状,指示某对象为响应某事件而保留在同一状态中。
将转换的两端连接到同一状态形状的连接点。
7.将“转换”形状连接到“转换(连接)”和“转换(分叉)”形状,以指示一个状态分叉为多个状态或多个状态同步为一个状态。
8.使用“简略历史”或“详细历史”形状,以指示对象恢复为其上次在某区域中所处的状态,在UML状态图中使用复合状态形状。
9.双击任一形状以打开其“UML属性”对话框,并添加名称、动作、活动、事件以及其他属性,保存该图。
四、状态图示例
初始状态(状态:
主角表现出特定行为的时间段。
)是图表中的任何事件在对对象执行动作之前对象的状态。
状态表示对象(对象:
表示目录服务类的视图。
对象表示特定的网络资源并具有为其属性指派的值。
)生命周期中的某个瞬间。
双击“状态”形状,可添加名称并列出其内部动作和活动。
转换(转换:
从一种状态转换成另一种状态的允许途径。
)转换指示在响应事件的过程中,对象将从一种状态转换为另一种状态并执行动作。
触发转换的事件(事件:
在状态图或活动图中,触发转换的事件。
在正处于给定的状态或动作状态时,对象会等待事件进入其他状态。
)以转换字符串命名。
双击某转换,可以使用字符串对其进行标记,其中除了事件签名外,还可以包括临界条件(临界:
在状态图或活动图中,指定事件何时发生的条件。
无论其事件何时引发,都只对临界计算一次。
)、动作表达式等。
五、使用RationalRose绘制状态模型
要在RationalRose里开始创建XML模型,你就需要了解一些基本的概念。
首先,你文档里的每个节点都会成为一个类。
你可以使用的XML类一共有四种类型:
元素、实体、组和符号。
在本文里,我们只会用到元素和组。
元素是具有某些特性的基本类,它们由你在RationalRose所指定的类型来定义。
对于元素而言,你可以选择ANY(任意)、ContentModel(内容模型)、PCDATA(PC数据)或者EMPTY(空)。
EMPTY元素显然是空的,而PCDATA类型是一个字符数据容器。
对于模式复杂的类型,你要使用内容模型。
内容模型和组
对于包含有字符数据的简单元素,你要使用PCDATA类型。
但是,你的很多元素都会包含一个或者多个子元素。
对于这样的复杂元素,你必须使用内容模型类型。
为了向RationalRose指明元素之间的关系,你还要使用组类型。
从本质上讲,每个内容模型元素都会拥有一个相关联的组元素。
该组元素应该被作为RationalRose里的一个嵌套类被创建。
内容模型元素的每个子元素都会通过将其与内容模型元素的组元素相关联而被定义。
状态图
状态图状态机用于对模型元素的动态行为进行建模,更具体地说,就是对系统行为中受事件驱动的方面进行建模。
状态机专门用于定义依赖于状态的行为(即根据模型元素所处的状态而有所变化的行为)。
其行为不会随着其元素状态发生变化的模型元素不需要用状态机来描述其行为(这些元素通常是主要负载管理数据的被动类)。
状态机由状态组成,各状态由转移链接在一起。
状态是对象执行某项活动或等待某个事件时的条件。
转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或评估并导致特定的结束状态。
图1描绘了状态机的各种元素。
六、创建状态图
点击工具条上的类(Class)图标,再点击图表创建一个新的类。
将这类命名为Order。
双击Order类,并选择DTDElement框。
在