UML-软件体系结构-实验1-中南大学-软件学院
- 格式:docx
- 大小:103.40 KB
- 文档页数:12
实验2 UML实验(2)实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1. 学习类图的绘制;2. 学习从系统需求中识别类,并构建相应的面向对象模型;3. 学习使用顺序图描述对象之间的交互;4. 学习使用活动图为业务流程建模;5. 学习使用PowerDesigner实现正向工程和逆向工程。
二、实验内容1. 根据以下描述绘制类图,再正向工程生成Java源代码(也可生成其他面向对象语言的源代码,如C++或C#等):图形(Shape)可分为圆形(Circle)、矩形(Rectangle)、椭圆形(Ellipse)等具体图形,在Shape 类中提供了一个抽象的draw()方法用于绘制图形,而在具体的图形类中实现该抽象draw()方法。
提供一个图形工厂类(ShapeFactory),该类提供一个静态方法createShape(char type),其返回类型为Shape,参数type为所需绘制图形对应的代码,例如“c”表示圆形,“r”表示矩形,“e”表示椭圆形等,在createShape()方法中,可以使用条件语句来判断所需绘制图形的类型,并根据参数的不同返回不同的具体形状对象。
【注:“创建关系”是一种特殊的“依赖关系”】2. 根据以下描述绘制类图:某商场会员管理系统包含一个会员类(Member),会员的基本信息包括会员编号、会员姓名、联系电话、电子邮箱、地址等,会员可分为金卡会员(GoldMember)和银卡会员(SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有一个或多个订单(Order),每一个订单又可以包含至少一条商品销售信息(ProductItem),商品销售信息包括订单编号、商品编号、商品数量、商品单价和折扣等;每一条商品销售信息对应一类商品(Product),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
第一章软件体系结构概述(5分)一、软件体系结构的定义●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。
●软件体系结构= 构件+ 连接件+ 约束二、软件体系结构的优势●容易理解●重用●控制成本●可分析性第二章软件体系结构风格(10分)一、软件体系结构风格定义●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
An architectural style defines a family of systems in terms of a pattern ofstructural organization.●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
An architectural style defines a vocabulary of components and connectortypes, and a set of constraints on how they can be combined.二、常见的体系结构风格●管道和过滤器➢每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
➢过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
●数据抽象和面向对象组织➢数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。
➢这种风格的构件是对象或者说是抽象数据类型的实例。
➢对象通过函数和过程的调用来进行交互。
●基于事件的隐式调用➢构件不直接调用一个过程,而是触发或广播一个或多个事件。
➢事件的触发者并不知道哪些构件会被这些事件影响。
●分层系统➢组织成一个层次结构。
➢每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。
●仓库系统➢构件:中心数据结构(仓库)和一些独立构件的集合。
软件体系结构实验报告实验指导书实验一1、实验项目:软件体系结构设计(一)某系统C/S风格客户端软件体系结构设计2、实验目的:熟悉C/S风格的工作机制3、实验内容:针对某个应用系统,选用C/S风格作为这个系统的软件体系结构风格。
熟悉C/S风格的工作机制,对所考察的系统进行C/S风格客户端软件体系结构设计。
(针对不同的特定应用系统具体表述)实验二1、实验项目:软件体系结构设计(二)某系统C/S风格服务器软件体系结构设计2、实验目的:熟悉C/S风格的工作机制3、实验内容:针对某个应用系统,选用C/S风格作为这个系统的软件体系结构风格。
熟悉C/S风格的工作机制,对所考察的系统进行C/S风格服务器软件体系结构设计。
(针对不同的特定应用系统具体表述)实验三1、实验项目:UML建模某系统UML建模2、实验目的:深入理解UML建模的思想,熟悉UML建模方法3、实验内容:作为实际应用前的一种演练,深入理解UML建模的思想,熟悉UML建模方法,锻炼和培养分析问题、解决问题的能力。
针对某个选定的应用系统,对其进行用例建模、对象类建模和状态图建模。
实验四1、实验项目:某系统详细设计2、实验目的:细化前期设计的有关结果,做出软件的详细规格说明3、实验内容:详细设计(也叫过程设计)是软件设计的具体模块设计阶段,是在作为软件开发前期设计的体系结构设计和总体设计的基础上进行的。
目的是要细化前期设计的有关结果,做出软件的详细规格说明。
要求具体地设计目标系统给个模块的实现过程。
实验五1、实验项目:系统集成2、实验目的:系统集成与总结3、实验内容:综合考察前八次实验的内容,通盘考虑软件设计的整个过程,深入理解软件体系结构的构建过程教务管理系统序号名称基本属性1 教师教师号,姓名,性别,职称,出生日期,政治面貌,所属系部,身份证号,档案编号2 系部系部号,系部名称,办公地点,电话3 专业专业代号,专业名称,所属系部4 教室教室号,类型(语音室,实验室,多媒体教室,普通教室等),规格,管理员,备注5 课程课程号,课程名称,开课系部,课程简介6 学生学号,姓名,性别,班级,出生日期,籍贯,民族,政治面貌,身份证号,高考成绩,档案编号7 班级班级号,班级名称,专业,人数8 成绩学号,课程号,成绩,备注(缓考,补考,重修等)9 考试安排课程号,教程号,学生,时间10 评教/评学班级,教师,课程,评教分数,评学分数11 选课学号,课程号,教师号12 排课课程号,教师号,教室号,时间13 开课计划序号,专业代号,课程号,学期,学时,学分,课程性质(选修,必修),教学方式(普通教学,多媒体教学,户外教学等)要求:1.建立教务系统的需求分析模型,并声称需求分析报告;2.建立教务系统的业务流程模型;3.建立教务系统的概念数据模型;4.建立教务系统的物理数据模型(创建数据库,生成数据库);5.通过教务系统的物理数据模型生成面向对象模型(OOM),生成对应的JA V A或者C#代码;实验一里面可以用Adobe Dreamweaver或者VisualStudio2008或者以上版本描述相关的前台界面;实验二: 用以上的工具构建相关的后台界面;实验三: 用PowerDesigner设计该系统的需求分析和业务业务流程模型(BPM)实验四: 用PowerDesigner设计该系统的CDM和PDM实验五: 用PowerDesigner 设计该系统的OOM和对应的JA V A 或C#代码.附录1:实验报告模板实验一软件体系结构设计(一)某系统C/S风格客户端软件体系结构设计实验课程名:软件体系结构专业班级:学号:姓名:实验时间:实验地点:指导教师:说明:1.验证性实验报告填写好后,以学生的学号+实验项目名作为该word文件名保存,例如某学生学号为20080001,姓名为某某,本次实验名称是:实验1 线性表的实验,则本次实验报告的保存文件名为:01某某实验1.doc。
第一章软件体系结构概述(5分)一、软件体系结构的定义●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。
●软件体系结构= 构件+ 连接件+ 约束二、软件体系结构的优势●容易理解●重用●控制成本●可分析性第二章软件体系结构风格(10分)一、软件体系结构风格定义●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
An architectural style defines a family of systems in terms of a pattern of structuralorganization.●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
An architectural style defines a vocabulary of components and connector types, and aset of constraints on how they can be combined.二、常见的体系结构风格●管道和过滤器➢每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
➢过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
●数据抽象和面向对象组织➢数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。
➢这种风格的构件是对象或者说是抽象数据类型的实例。
➢对象通过函数和过程的调用来进行交互。
●基于事件的隐式调用➢构件不直接调用一个过程,而是触发或广播一个或多个事件。
➢事件的触发者并不知道哪些构件会被这些事件影响。
●分层系统➢组织成一个层次结构。
➢每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。
●仓库系统➢构件:中心数据结构(仓库)和一些独立构件的集合。
《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
参考答案:顾客在线预订房间前台预订房间通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM的一部分。
系统基本功能描述如下:(1) 客户可通过系统发布反馈信息;(2) 公司客户关系(CR)部门员工也可以在系统中记录反馈信息;(3) 业务部门的主管和员工均能看到本部门的反馈信息,但只有CR部门员工拥有修改与删除反馈的权限;(4) 对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息,业务部门主管有权通过系统安排本部门员工调查及处理该反馈;(5) 反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况;(6) 公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表;(7) 所有人员进入本系统需先登录。
中南大学软件工程基础实验报告————————————————————————————————作者:————————————————————————————————日期:软件工程基础实验报告软件工程基础实验报告指导老师:王春生姓名:学号:专业班级:完成日期: 2015.6.11 学院:信息科学与工程目录实验一熟悉Visio的工作环境-------------------------------------------3实验二运用Visio建模工具进行功能分析和建模-----------------8实验三完成用例图、uml类图、数据流图(DFD)------------13实验一熟悉Visio的工作环境一、实验目的1.了解visio 工具软件的功能特色、工作环境和基本操作等各方面知识2.掌握应用Visio工具绘制软件开发图形的基本操作,了解系统开发模板和建模方法二、实验内容1、了解Visio的工作环境2、了解Visio软件的菜单、工具、绘图等操作3、按照实验步骤绘制图形,完成用例图、ER图、数据流图4、了解类图和状态图在visio下的基本绘图操作5、(选做)绘制状态图*三、实验步骤1.绘制用例图用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图。
用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
2.绘制ER图(实体关系图)E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n 或m:n)。
CENTRAL SOUTH UNIVERSITY软件工程实验报告学生姓名专业班级学号学院信息科学与工程学院指导教师龙军实验时间2015年5月课程群实验名:网上选课系统建模通过实验培养学生综合运用软件工程理论进行系统分析和设计的能力,加深对面向对象技术的认知和理解;较系统地学习Visio等建模工具及UML建模方法。
面向对象技术以其显著的优势成为计算机软件领域的主流技术。
越来越多的软件企业认识到,要在激烈的市场竞争中立于不败之地,采用面向对象技术是势在必行的选择。
软件行业需要大量掌握面向对象方法与技术的人才,这些人才不仅仅是能够使用一种或几种面向对象编程语言来编程,更重要的是能运用面向对象方法进行系统建模,即通过面向对象的分析(OOA)和面向对象的设计(OOD)建立系统的分析模型和设计模型。
网上选课系统介绍传统的纸上方式选课,既浪费人力物力,又浪费时间,还很容易出现错误。
而借助网上选课系统,让学生自己在终端上录入自己的个人选课信息来替代有纸化的手工操作,不仅为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。
网上选课系统的功能性需求包括以下内容:(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删1除和修改,对学生基本信息的添加、修改、查询和删除。
(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。
接下来我们将通过Visio等工具对此网上选课系统建立模型,从以下三个方面进行:(1)用例建模,进行需求分析,确定系统的参与者。
网上选课系统的参与者包含二种,分别是Student(学生)和SystemManager(系统管理员)然后,我们根据参与者的不同分别画出各个参与者的用例图。
(2)领域建模,由前面的需求分析得到系统主要的类对象:学生类、系统管理员类、课程类等,并创建系统的类图。
(3)业务流建模,使用状态图和活动图来描述创建系统动态模型。
CENTRAL SOUTH UNIVERSITY软件体系结构实验报告学生姓名周建权班级学号 0909121915指导教师穆帅设计时间2014年11月实验一系统的用例模型一、实验目的1.熟悉用例图的基本功能和使用方法。
2.锻炼结合给定题目,进行有效需求分析的能力。
3.掌握如何使用建模工具绘制用例图的方法。
二、实验器材1.计算机一台。
2.UML建模工具,比如软件Rational Rose 或StarUML。
三、实验内容在理解用例图的基本功能和使用方法的基础上,结合具体问题,完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程。
用Rational Rose或StarUML工具软件绘制系统的用例图.下文以Rational Rose为例讲解基本步骤。
四、实验步骤1.结合实际给定题目,完成系统的需求建模。
2.针对每个用例进行业务分析。
以图书管理系统中“删除读者信息"用例为例来说明实验具体步骤。
(1)分析:在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。
(2)根据分析结果,书写业务流程,一般包含以下信息:①管理员在录入界面,输入待删除的读者名;②“业务逻辑”组件在数据库中,查找待删除的读者名;③如果不存在,则显示出错信息,返回步骤①,如果存在则继续;④“业务逻辑”组件判断“待删除的读者”是否可以删除;⑤如果不可以,则显示出错信息,返回步骤⑧,如果可以则继续;⑥在数据库中,删除相关信息;⑦显示删除成功信息;⑧结束。
3.根据分析结果,绘制用例图.以图书管理系统中“删除读者信息"用例为例说明具体绘图步骤:(1)在用例图上双击main,出现如图1。
第一章软件体系结构概述(5分)一、软件体系结构的定义●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。
●软件体系结构= 构件+ 连接件+ 约束二、软件体系结构的优势●容易理解●重用●控制成本●可分析性第二章软件体系结构风格(10分)一、软件体系结构风格定义●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
An architectural style defines a family of systems in terms of a pattern of structuralorganization.●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
An architectural style defines a vocabulary of components and connector types, and aset of constraints on how they can be combined.二、常见的体系结构风格●管道和过滤器每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
●数据抽象和面向对象组织数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。
这种风格的构件是对象或者说是抽象数据类型的实例。
对象通过函数和过程的调用来进行交互。
●基于事件的隐式调用构件不直接调用一个过程,而是触发或广播一个或多个事件。
事件的触发者并不知道哪些构件会被这些事件影响。
●分层系统组织成一个层次结构。
每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。
●仓库系统构件:中心数据结构(仓库)和一些独立构件的集合。
中南民族大学管理学院学生实验报告课程名称:UML面向对象分析与设计教程年级:专业:信息管理与信息系统学号:姓名:指导教师:实验地点:管理学院综合实验室2013 学年至 2014 学年度第 2 学期目录实验一 UML建模基础实验二用例图实验三 UML类图实验四对象图实验五包图实验六动态模型图实验(一) UML建模基础实验时间:实验目的1.熟悉UML建模工具Rational Rose的基本菜单及操作。
2.掌握UML的三大组成部分及各部分作用。
3.掌握UML的可见性规则和构造型的作用。
实验内容1.练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。
2.认识各种UML关系及可见性符号,并用工具表示出来。
答:各种UML关系如下:分析与讨论1.总结UML在软件工程中的作用以及使用UML建模的必要性。
答:统一建模语言(UML)是用来对软件密集系统进行可视化建模的一种语言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制文档的一种语言。
UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。
当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。
UML可以贯穿软件开发周期中的每一个阶段,最适于数据建模、业务建模、对象建模、组件建模。
UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次方面已经被验证有效。
UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型,从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。
指导教师批阅:实验(二)用例图实验时间:实验目的1.掌握用例的概念、UML用例图的组成、作用以及使用场合。
2.掌握用例与用例之间的各种关系。
3.用Rational Rose工具练习教材中的用例图。
《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
参考答案:顾客在线预订房间前台预订房间通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM的一部分。
系统基本功能描述如下:(1) 客户可通过系统发布反馈信息;(2) 公司客户关系(CR)部门员工也可以在系统中记录反馈信息;(3) 业务部门的主管和员工均能看到本部门的反馈信息,但只有CR部门员工拥有修改与删除反馈的权限;(4) 对于部分需要调查以便验证其真实性并需要做相关处理的反馈信息,业务部门主管有权通过系统安排本部门员工调查及处理该反馈;(5) 反馈调查与处理完毕后,负责调查的员工可通过系统输入反馈的详细情况;(6) 公司高层可查看未决反馈统计报表和各业务部门的反馈统计报表;(7) 所有人员进入本系统需先登录。
《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
参考答案:顾客在线预订房间前台预订房间前台服务员客房部经理通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况信用卡系统2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM 的一部分。
实验1 UML实验(1)实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1.学会安装和使用建模工具PowerDesigner,熟练使用PowerDesigner绘制常用的UML 图形,熟悉常用的UML符号;2.构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩阵;3. 绘制状态图描述对象的状态及转换。
二、实验内容1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
实验3 设计模式实验二实验学时: 4每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型设计模式和行为型设计模式,包括外观模式、代理模式、职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1. 某软件公司为新开发的智能手机控制与管理软件提供了一键备份功能,通过该功能可以将原本存储在手机中的通信录、短信、照片、歌曲等资料一次性全部拷贝到移动存储介质(例如MMC卡或SD卡)中。
在实现过程中需要与多个已有的类进行交互,例如通讯录管理类、短信管理类等,为了降低系统的耦合度,试使用外观模式来设计并编程模拟实现该一键备份功能。
2. 某信息系统需要提供一个数据处理和报表显示模块,该模块可以读取不同类型的文件中的数据并将数据转换成XML格式,然后对数据进行统计分析,最后以报表方式来显示数据。
由于该过程需要涉及到多个类,试使用外观模式设计该数据处理和报表显示模块。
考虑到有些文件本身已经是XML格式,无须进行格式转换,为了让系统具有更好的扩展性,在系统设计中可以引入抽象外观类。
3. 在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法method()调用之前输出“方法method()被调用,调用时间为2016-11-5 10:10:10”,调用之后如果没有抛异常则输出“方法method()调用成功”,否则输出“方法method()调用失败”。
在代理类中调用真实业务类的业务方法,使用代理模式设计该日志记录模块的结构,绘制类图并编程模拟实现。
4. 某软件公司承接了某信息咨询公司的收费商务信息查询系统的开发任务,该系统的基本需求如下:(1) 在进行商务信息查询之前用户需要通过身份验证,只有合法用户才能够使用该查询系统;(2) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。
计算机体系结构课程设计学院:信息科学与工程学院专业班级:指导老师:学号:姓名:.目录实验1 对指令操作码进行霍夫曼编码 (3)一、实验目的 (3)二、实验内容 (3)三、设计思路 (4)四、关键代码 (4)五、实验截图 (5)六、源代码 (5)实验2 使用LRU 方法更新Cache (8)一、实验目的 (8)二、实验内容 (8)三、设计思路 (9)四、程序截图 (9)五、实验代码 (9)实验总结 (16)参考文献 (16).实验1 对指令操作码进行霍夫曼编码一、实验目的了解和掌握指令编码的基本要求和基本原理二、实验内容1. 使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。
与扩展操作码和等长编码进行比较。
2. 问题描述以及问题分析举例说明此问题,例如:P1 P2 P3 P4 P5 P6 P70.45 0.30 0.15 0.05 0.03 0.01 0.01下表所示:对此组指令进行 HUFFMAN 编码正如下图所示:最后得到的HUFFMAN 编码如下表所示:最短编码长度为:H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95.要对指令的操作码进行 HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行 HUFFAM 编码。
此过程的难点构造 HUFFMAN 树,进行 HUFFAM 编码只要对你所生成的 HUFFMAN 树进行中序遍历即可完成编码工作。
三、设计思路观察上图,不难看出构造 HUFFMAN 树所要做的工作:1、先对各指令操作码的出现概率进行排序,构造一个有序链表。
2、再取出两个最小的概率节点相加,生成一个生的节点加入到链表中,同时从两表中删除此两个节点。
3、在对链表进行排序,链表是否只有一个节点,是则 HUFFAN 树构造完毕,否则继续做 2 的操作。
中南大学软件工程基础实验报告软件工程基础实验报告软件工程基础实验报告指导老师:王春生姓名:学号:专业班级:完成日期: 2015.6.11 学院:信息科学与工程实验一熟悉Visio的工作环境一、实验目的1.了解visio 工具软件的功能特色、工作环境和基本操作等各方面知识2.掌握应用Visio工具绘制软件开发图形的基本操作,了解系统开发模板和建模方法二、实验内容1、了解Visio的工作环境2、了解Visio软件的菜单、工具、绘图等操作3、按照实验步骤绘制图形,完成用例图、ER图、数据流图4、了解类图和状态图在visio下的基本绘图操作5、(选做)绘制状态图*三、实验步骤1.绘制用例图用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图。
用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
2.绘制ER图(实体关系图)E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。
由于Visio 默认的绘图模板并没有E-R图这一项,但是画E-R图必须的基本图形Visio还是有的,所以我们就得先把必要的图形添加到“我的模板”。
以添加椭圆和矩形为例,打开Visio,在主界面的选择绘图类型下选择“框图”,然后选择“基本框图”。
完成下面ER图:3.绘制数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
南京邮电大学《软件体系结构》实验报告实验题目用UML描述体系结构姓名xxxx学号xxxx院系计算机、软件学院指导老师周国强2013年12月16日一、实验目的和要求实验目的:理解“4+1视图”建模思想,熟悉体系结构生命周期模型,掌握基于UML的软件体系结构建模方法。
实验要求:实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等内容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等内容;每人一台PC机,需软件Win2003/XP、UML工具(EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0等。
实验课后完成实验报告的心得体会内容,并及时提交实验报告。
二、实验课时:2三、实验内容及操作步骤实验内容:基于UML1和“4+1”视图进行KWIC(关键词索引系统)系统建模,完成KWIC系统的逻辑视图、过程视图、物理视图、开发视图和场景视图。
操作步骤:基于“4+1”视图,利用UML工具对KWIC(关键词索引系统)系统进行视图建模:逻辑视图:当采用面向对象的设计方法时,逻辑视图即是对象视图。
过程视图:描述系统的并发和同步方面的设计。
物理视图:描述软件到硬件之间的映射关系,反映系统在分布方面的设计。
开发视图:描述软件在开发环境下的静态组织。
对体系结果进行的描述是围绕着以上4个视图展开的。
然后,通过选择出的一些用例对体系结构加以说明。
这些用例被称作场景(scenarios),它们构成了第5个视图。
1.建立KWIC的逻辑视图采用面向对象的设计方法时,逻辑视图即是对象模型。
2.建立KWIC的过程视图描述系统的并发和同步方面的设计。
3.建立KWIC的物理视图描述软件到硬件之间的映射关系,反映系统在分布方面的设计。
4.建立KWIC的开发视图描述软件在开发环境下的静态组织。
5.建立KWIC的场景视图描述软件体系结构的用例。
四、实验环境(实验设备)Windows 7Microsoft Office visio 2007五.实验小结对于一个项目不可能在一张视图中直观化、明确化构建和文档化系统,因而对于软件需要不同软件结构的视图每一个针对于组织中不同的成员,用于捕获所有构成系统的策略上的设计决定。
实验2 设计模式实验一实验学时: 4每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1.熟练使用面向对象设计原则对系统进行重构;2.熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的创建型设计模式和结构型设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式和组合模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1.在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:Circle+ + + + +init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidTriangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidRectangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidClient在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形,setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。
客户类(Client)在使用该图形库时发现存在如下问题:①由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;②在图形库中增加并使用新的图形时需要修改客户类源代码;③客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。
软件体系结构实验报告一、实验目的本实验旨在通过实际操作,了解软件体系结构的概念、特点和原则,掌握软件体系结构的设计和实现方法。
二、实验内容1.搭建软件体系结构实验环境2.使用UML绘制软件体系结构图3.设计并实现一个简单的软件体系结构模型4.分析软件体系结构模型的优缺点以及适用场景三、实验步骤1.搭建软件体系结构实验环境2.使用UML绘制软件体系结构图我们使用UML(统一建模语言)来绘制软件体系结构图。
UML提供了一系列符号和规范,可以方便地描述软件系统的结构和行为。
我们首先需创建一个新的UML项目,并在此项目中绘制软件体系结构图。
3.设计并实现一个简单的软件体系结构模型我们选择一个简单的图书馆管理系统作为示例,用于展示软件体系结构的设计和实现。
首先,我们需要定义系统的各个模块及其功能,并在UML图中表示出来。
然后,我们使用Java语言来实现这些模块。
在实际编码过程中,我们需要注意模块之间的耦合度,以及模块之间的通信方式,这些都是影响软件体系结构的关键因素。
4.分析软件体系结构模型的优缺点以及适用场景在实现完软件体系结构模型后,我们需要对其进行评估。
我们可以从以下几个方面来评估软件体系结构模型的优劣:可维护性、可扩展性、性能、安全性等。
根据评估结果,我们可以得出软件体系结构模型是否满足我们的设计要求,以及是否适用于特定的场景。
四、实验结果通过本次实验,我们成功搭建了软件体系结构实验环境,并使用UML绘制了软件体系结构图。
在设计并实现一个简单的软件体系结构模型时,我们注意到模块之间的耦合度较高,需要进一步优化。
通过分析和评估软件体系结构模型,我们发现其具有较好的可维护性和可扩展性,适用于中小型图书馆管理系统。
五、实验总结通过本次实验,我们了解了软件体系结构的概念、特点和设计原则,并掌握了软件体系结构的设计和实现方法。
我们深入了解了UML的应用,能够使用UML绘制软件体系结构图。
通过设计和实现一个简单的软件体系结构模型,我们对软件体系结构的各个方面有了更深入的理解。
实验1 UML实验(1)实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1.学会安装和使用建模工具PowerDesigner,熟练使用PowerDesigner绘制常用的UML 图形,熟悉常用的UML符号;2.构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩阵;3. 绘制状态图描述对象的状态及转换。
二、实验内容1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
3. Draw a use case diagram for the following library system:The library stores various items that can be borrowed, including books and journals. Books can be borrowed by both staff and students, but only staff members can borrow journals. When a user borrows a book, their loan details are checked to ensure that they have no overdue books on loan, and have not already borrowed the maximum permitted number of books.Users can check their own loan details at any time. Librarians are permitted to check the loan details of any user.Library users can reserve books that are currently out on loan. If three reservations have already been made for a given book, and a further reservation is made, a new copy will be ordered by the librarian.4. 某棋牌馆管理系统的基本功能描述如下:客户可以通过Internet预订座位,如果暂时没有合适的座位则允许客户进入“等候队列”,当有人退订或结账之后将及时通知客户。
此外,该系统还需要为总台服务员提供座位安排以及结账的功能,要求能够支持现金和银行卡两种结账方式。
根据以上功能描述绘制相应的用例图。
5. 某银行准备开发一个网上信用卡管理系统CCMS,该系统的基本功能为:(1) 信用卡申请。
非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS登录。
如果信用卡申请被银行接受,客户会收到银行的确认函,并告知用户信用卡的有效期及信贷限额;否则银行会发送一封拒绝函给该客户。
客户收到确认函后,需再次登录CCMS,用信用卡号和密码激活该信用卡。
激活操作结束后,CCMS 将激活通知发送给客户,告知客户其信用卡是否被成功地激活。
(2) 月报表生成。
在每个月第一天的零点,CCMS为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。
信用卡客户可以登录CCMS查看月报表,也可以要求CCMS提供打印出的月报表。
(3) 信用卡客户信息管理。
信用卡客户的个人信息可以在CCMS 中进行在线的管理。
每个信用卡客户可以在线查询其个人信息。
(4) 信用卡交易记录。
信用卡客户使用信息卡进行的每一笔交易都会记录在CCMS中。
(5) 交易信息查询。
信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易额。
构造该系统的用例模型,要求绘制用例图,编写相应的用例文档,还需提供用例追踪矩阵。
6. 根据以下描述绘制状态图:某销售信息管理系统中销售部员工可以提交订单,刚提交的订单为“初始”状态;系统管理员可以处理订单,如果订单无误,则修改订单为“备货”状态,否则将订单退还给提交订单的销售部员工修改,员工此时可以取消订单;仓库管理员备货完毕后可将订单状态改为“发货”状态;销售部员工在确认客户已经收到货物后,可将订单改为“关闭”状态。
三、实验要求1. 正确安装PowerDesigner;2. 熟练使用PowerDesigner绘制用例图和状态图;3. 需按照用例建模的流程,提供用例图、用例文档和用例追踪矩阵;4. 使用UML2.X中的标准图符绘制图形,对于一些较为复杂的图形,适当增加文字注释来进行说明;5. 所绘制图形必须正确、完整,需具有较好的可读性,注意图形中图符和文字大小及布局。
四、实验步骤1. 安装PowerDesigner15.X;2. 熟悉PowerDesigner15.X的常用功能;3. 分析实例场景,识别执行者;4. 识别用例及用例之间的关系;5. 使用PowerDesigner15.X绘制用例图;6. 撰写用例文档;7. 创建用例追踪矩阵;8. 使用PowerDesigner15.X绘制状态图。
五、实验报告要求1. 绘制并提交酒店订房系统用例图;2. 绘制并提交订餐系统用例图;3. 绘制并提交图书馆系统(Library System)用例图;4. 绘制并提交棋牌馆管理系统用例图;5. 构造网上信用卡管理系统CCMS的用例模型,提交用例图、用例文档和用例追踪矩阵;6. 绘制并提交销售信息管理系统订单类的状态图;7. 注意调整图中文字的字体及字号,注意图的整体布局和图的大小,避免使用交叉线。
六、实验结果1. 酒店订房系统用例图:2. 订餐系统用例图:<<include>><<include>><<extend>>顾客在线预订在前台预订房间以现金订金支付以信用卡订金支付查看客房预订情况查看收款情况查看菜单查看今日特价在线订餐注册工资支付修改订单信息删除订单信息登陆管理菜单打印送餐说明记录收费记录送餐信息身份验证生成付费请求备餐生成送餐请求记录备餐信息处理付费请求3. 图书馆系统(Library System)用例图:4. 棋牌馆管理系统用例图:5. 网上信用卡管理系统CCMS 的需求模型: (1) 用例图:<<include>><<include>>borrow booksborrow journalscheck users' load detailscheck their own loan detailsreserve brorrowed bookslibrarianorder a new copycheckall users' loan details<<include>>预订座位进入等候通知客户退订结账座位安排现金结账银行卡结账验证(2) 用例描述文档:<<extend>><<include>><<include>><<include>><<include>><<include>>非信用卡用户信用卡申请激活信用卡银行登录查看月报表打印月报表查询个人信息查询交易信息信用卡用户(3) 用例追踪矩阵:6. 销售信息管理系统订单类的状态图:初态do / 处理订单exit / 取消订单...备货do / 备货...发货do / 用户收货...关闭七、实验总结本次实验主要是加强对UML画图的了解,特别是用例图,以及状态图。
其中在画用例图时,对扩展,泛化,包含的理解有比较大的疑惑,经过百度,理解了其中的区别。