中南大学软件体系结构实验二
软件体系结构实验报告

一、实验目的1. 理解软件体系结构的基本概念和原理。
2. 掌握两种常见的软件体系结构风格:顺序批处理和管道-过滤器。
3. 通过实际操作,加深对软件体系结构设计方法和实践的理解。
二、实验内容1. 实验题目:软件体系结构实验2. 实验目的:(1)理解软件体系结构的基本概念和原理。
(2)掌握顺序批处理和管道-过滤器两种软件体系结构风格。
(3)通过实际操作,加深对软件体系结构设计方法和实践的理解。
3. 实验要求:(1)熟悉Java编程语言。
(2)了解面向对象编程思想。
(3)掌握软件体系结构设计的基本原则和方法。
4. 实验器材:(1)计算机一台。
(2)Java开发环境。
(3)实验指导书。
三、实验步骤1. 创建实验项目,并设置项目属性。
2. 设计顺序批处理风格的软件体系结构。
(1)创建一个数据流问题,例如计算10000个数的平均值。
(2)将数据流问题分解为多个处理步骤,如读取数据、计算平均值、输出结果等。
(3)为每个处理步骤创建相应的类,实现具体功能。
(4)编写主程序,将数据流问题传递给各个处理步骤,实现整个数据流处理过程。
3. 设计管道-过滤器风格的软件体系结构。
(1)创建一个数据流问题,例如过滤并输出指定范围内的偶数。
(2)将数据流问题分解为多个处理步骤,如读取数据、过滤数据、输出结果等。
(3)为每个处理步骤创建相应的类,实现具体功能。
(4)通过接口连接各个处理步骤,实现数据流的传递和处理。
4. 编写实验报告,总结实验过程和心得体会。
四、实验结果分析1. 批处理风格与管道-过滤器风格的比较:(1)批处理风格:数据以整体的形式传输,数据总量有限;处理过程之间互不调用。
(2)管道-过滤器风格:数据以数据流的形式传输,数据量可以无限制;处理过程之间通过接口连接,实现数据流的传递和处理。
2. 实验过程中遇到的问题及解决方法:(1)问题:如何设计合理的处理步骤?解决方法:根据数据流问题,将问题分解为多个处理步骤,并确保每个步骤的功能单一、易于实现。
软件体系结构实验报告

软件体系结构实验报告实验指导书实验一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。
软件体系结构实验指导书

金陵科技学院信息技术学院《软件体系结构》实验指导书实验1 多层C/S结构应用设计一、实验目的设计并实现一个基于多层C/S结构的数据库应用,熟悉多层C/S体系结构及其基本处理流程,了解多层结构表现层、业务逻辑层(功能层)、数据访问层所完成的功能,掌握多层C/S结构的数据库应用设计方法,对这三层进行明确分割,并在逻辑上使其独立。
学生通过本实验的训练能够熟练掌握对小型数据库应用系统三层结构层次划分方法及系统实现技术。
二、实验要求(1)记录系统分析及层次结构设计的过程,调试程序要记录调试过程中出现的问题及解决办法;(2)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(3)做完实验后给出本实验的实验报告。
三、实验设备、环境奔腾以上计算机,Windows XP 、Visual Studio 2005、SQL Server 2005四、实验步骤及内容分别采用二层C/S结构和多层C/S结构实现个人通讯录系统。
该系统的设计目标是能够轻松地管理个人的联系人信息,包括添加、修改和删除操作。
联系人信息包括姓名、住址、电话。
整个系统的功能图如下图所示:分析系统需求,完成软件体系结构设计及模块划分、数据库设计,采用Visual C#实现系统功能。
五、讨论、思考题与二层C/S体系结构比较,三层(多层)体系结构有什么有点?采用三层体系结构在系统设计时应该注意哪些问题?金陵科技学院信息技术学院实验2 B/S结构应用设计一、实验目的设计并实现一个基于B/S结构的数据库应用,熟悉B/S体系结构及其基本处理流程,了解B/S结构系统各部分所完成的功能,掌握B/S结构的数据库应用设计方法。
学生通过本实验的训练能够熟练掌握对小型数据库应用系统B/S结构设计及系统实现技术。
二、实验要求(1)记录系统分析及结构设计的过程,调试程序要记录调试过程中出现的问题及解决办法;(2)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(3)做完实验后给出本实验的实验报告。
中南大学 计算机体系结构实验报告

计算机体系结构课程设计学院:信息科学与工程学院专业班级:指导老师:学号:姓名:目录实验 1 对指令操作码进行霍夫曼编码 (3)一、实验目的 (3)二、实验内容 (3)三、设计思路 (4)四、关键代码 (4)五、实验截图 (5)六、源代码 (5)实验 2 使用LRU 方法更新Cache (8)一、实验目的 (8)二、实验内容 (8)三、设计思路 (9)四、程序截图 (9)五、实验代码 (9)实验总结 (16)参考文献 (16)实验1 对指令操作码进行霍夫曼编码一、实验目的了解和掌握指令编码的基本要求和基本原理二、实验内容1. 使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对指令码的长度进行评价。
与扩展操作码和等长编码进行比较。
2. 问题描述以及问题分析举例说明此问题,例如:P1P2P3P4P5P6P70.450.300.150.050.030.010.01下表所示:对此组指令进行HUFFMAN 编码正如下图所示:最后得到的HUFFMAN 编码如下表所示:P1P2P3P4P5P6P7 010110111011110111110111111最短编码长度为: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的工作环境-------------------------------------------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)。
中南大学软件体系结构UML实验

实验1 UML实验实验学时: 4每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1. 学会安装和使用建模工具PowerDesigner,熟练使用PowerDesigner绘制常用的UML 图形,熟悉常用的UML符号;2. 构建用例模型来描述软件需求,包括绘制用例图,撰写用例文档并制作用例检查矩阵;3. 学习使用状态图描述对象的状态及转换;4. 学习使用活动图为业务流程建模;5. 学习使用顺序图描述对象之间的交互;6. 学习类图的绘制;7. 学习从系统需求中识别类,并构建相应的面向对象模型;8. 学习使用PowerDesigner实现正向工程和逆向工程。
二、实验内容1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
《软件体系结构》实验指导书(程细柱)
《软件体系结构》实验指导书主讲教师:程细柱韶关学院计算机应用教研室前言软件体系结构课程是计算机科学与技术本科专业的一门重要的专业课.通过本课程的学习,使学生在已有的计算机软硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握面向对象系统分析与设计的基本方法和技术,并具有针对特定环境下的应用问题进行信息系统开发(包括系统分析,设计与实现)的能力。
通过学习本课程学生可以理解和掌握软件体系结构的分析和设计方法,掌握面向对象系统分析和设计的建模标准UML语言,能够利用Rational Rose(或Microsoft Viso)软件以某一信息系统为例进行系统分析和设计。
本课程主要介绍系统原理的基本概念、系统开发过程RUP、对面向对象分析和面向对象设计的方法、对面向对象分析和设计的建模标准UML等内容。
通过本课程的学习,学生掌握的知识、内容及掌握的程度要求为:1. 使学生理解面向对象的信息系统的开发过程、系统分析和设计的原则和方法;2. 使学生掌握UML语言的基础知识,以及UML在面向对象的软件系统分析和设计中的应用,并能使用UML工具建立系统模型;3. 使学生掌握在UML系统模型下应用高级语言建立应用系统的方法;4. 通过案例教学和实验,提高学生在应用面向对象技术开发软件方面的动手能力和解决问题的能力,并鼓励创新。
本实验所要求的建模工具为Rational Rose 2003。
实验要求计算机软件建模技术现在越来越广泛的应用于软件工程、软件体系结构中。
本课程实验的目的是为了使学生在课程理论学习的同时,通过在一个实践的环境下,实际学习软件统一建模语言,对软件建模技术有一个初步的了解及认识。
通过本指导书中的各个实验,学习掌握对一般面向对象系统建模的方法与技术。
总之,通过上述实验环节,使学生加深了解和更好地掌握《软件体系结构》课程教学大纲要求的内容。
在《软件体系结构》的课程实验过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前作出思考和分析。
中南大学软件学院软件体系结构实验1-UML实验-参考答案
《UML实验》参考答案1. 某酒店订房系统描述如下:(1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订;(2) 前台服务员可以利用系统直接在前台预订房间;(3) 不管采用哪种预订方式,都需要在预订时支付相应订金;(4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付;(5) 利用信用卡进行支付时需要和信用卡系统进行通信;(6) 客房部经理可以随时查看客房预订情况和每日收款情况。
绘制该酒店订房系统的用例图。
参考答案:顾客在线预订房间前台预订房间前台服务员客房部经理通过现金支付订金通过信用卡支付订金查看客房预订情况查看每日收款情况信用卡系统2. 根据以下场景绘制用例图:某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。
该系统功能描述如下:(1) 企业的任何员工都可以查看菜单和今日特价;(2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证;(3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;(4) 菜单管理员是餐厅员工的一种,可以管理菜单;(5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
参考答案:<<include>>查看菜单查看今日特价在线订餐注册工资支付修改订餐信息删除订餐信息工资系统备餐生成付费请求请求送餐管理菜单打印送餐说明记录送餐信息记录收费注册登录3. 根据以下场景绘制用例图:某公司需开发一个反馈处理系统作为其CRM 的一部分。
中南大学 计算机体系结构实验报告
计算机体系结构课程设计学院:信息科学与工程学院专业班级:指导老师:学号:姓名:.目录实验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 的操作。
中南大学软件体系结构设计模式实验二
实验3 设计模式实验二实验学时: 4每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的行为型设计模式,包括职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。
该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。
如下图所示:采购人员主任副董事长董事长董事会金额<5万元5万元≤金额<10万元10万元≤金额<50万元金额≥50万元试使用职责链模式设计并模拟实现该系统。
2. 房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。
3. 某软件公司欲开发一个基于Windows平台的公告板系统。
系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。
菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
3. 某基于C/S的即时聊天系统的注册和登录模块功能描述如下:
(1) 注册功能:用户通过注册界面(RegisterForm)输入新帐号,系统检测该帐号是否已存在,如果不存在则可注册成功,否则提示“帐号已存在”,用户再次输入帐号;用户输入其他个人信息;系统保存用户个人信息;用户个人信息包括帐号、密码、姓名、性别、年龄、电话、电子邮箱等。
(2) 登录功能:用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较,验证用户输入是否正确,如果输入正确则进入主界面(MainForm),否则提示“输入错误”。
现对这两个模块进行设计,要求如下:
(1) 根据以上描述绘制类图,要求分析出每个类中的主要方法;
(2) 需要提供独立的业务逻辑类和数据访问类,考虑到数据库的移植性,需提供抽象的数据访问接口;
(3) 尽量使用数据传输对象(DTO)来传递参数,减少方法中参数的个数。
4. 某运输公司决定为新的售票机开发车票销售的控制软件,下图给出了售票机的面板示意图以及相关的控制部件。
售票机相关部件的作用如下所述:
(1) 目的地键盘用来输入行程目的地的代码(例如,200表示总站)。
(2) 乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。
(3) 继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。
(4) 显示屏显示所有的系统输出和用户提示信息。
(5) 插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。
(6) 打印机用于输出车票。
(7) 所有部件均可实现自检并恢复到初始状态。
现采用面向对象方法开发该系统,使用UML进行建模,绘制该系统的核心类图并尽量分析出每一个类所包含的方法。
5. 根据如下描述绘制顺序图:
在某在线订房系统中,顾客输入房间套数、房间类型、入住时间、入住天数等信息,系统显示符合要求的房间号;顾客确定预订的房间,系统显示预付订金信息;顾客输入信用卡账号和密码,系统请求银行信用卡系统提供支付服务;银行信用卡系统验证用户信息并返回验证通过和支付成功消息;顾客请求系统打印预订单和收据,系统打印相关资料;预订结束。
7. 根据以下描述绘制某订餐系统中顾客订餐过程的活动图(要求绘制泳道):
(1) 顾客请求查看菜单;
(2) 系统显示菜单和今日特价;
(3) 顾客选菜;
(4) 系统显示订单和价格;
(5) 顾客确认订单;
(6) 系统显示可送餐时间;
(7) 顾客指定送餐时间、地点和支付方式;
(8) 系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。
三、实验要求
1. 熟练使用PowerDesigner绘制类图、顺序图和活动图;
2. 熟练使用PowerDesigner实现正向工程和逆向工程;
3. 使用UML2.X中的标准图符绘制图形,对于一些较为复杂的图形,适当增加文字注释来进行说明;
4. 所绘制图形必须正确、完整,需具有较好的可读性,注意图形中图符和文字大小及布局。
四、实验步骤
1. 根据描述绘制类图并正向工程生成源代码;
2. 分析商场会员管理系统中实体类之间的关系,绘制相应的类图;
3. 分析某基于C/S的即时聊天系统的注册和登录模块的功能,绘制对应的类图;
4. 分析车票销售控制系统,绘制该系统的核心类图;
5. 分析在线订房系统中顾客与系统之间的交互过程,绘制相应的顺序图;
6. 根据源代码绘制相应的顺序图;
7. 分析订餐系统中顾客订餐过程的流程,绘制相应的活动图。
五、实验结果
1. 类图:
源代码:
2. 商场会员管理系统类图:
3. 即时聊天系统类图:
4. 车票销售控制系统类图:
5. 在线订房系统顺序图:
6. 顺序图:
7. 订餐系统活动图:
六、实验小结
这次试验过程中遇到了以下的问题:
1.类之间的关系不是十分的熟悉
2.类的属性和函数设计接触较少,写起来很吃力
3.顺序图中调用消息和发送消息的区别在课堂上充分把握
解决方法:
1.复习相关PPT
2.在网上查找相关知识的博客
3.和同学讨论交流
11。