中南大学软件学院设计模式实验报告-实验3
中南大学软件体系结构实验报二
实验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),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
UML-软件体系结构-实验2-中南大学-软件学院
实验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),商品信息包括商品编号、商品名称、商品单价、商品库存量、商品产地等。
中南大学大一下学期c++程序设计实验报告1.0
中南大学本科生课程设计(实践)任务书、设计报告(C++语言程序设计)题目多功能集成程序系统学生姓名闵杰指导教师罗芳学院材料科学与工程专业班级材料类1003学生学号**********计算机基础教学实验中心2011 年 6 月 30 日《集合简单计算、信息管理、绘图及多媒体系统设计》C++实践报告关键词:C++程序设计MFC[.exe] 面向对象计算信息管理绘图播放器一、引言1.1实践任务:1、计算程序设计。
如:计算器、一元二次方程的求解、华氏温度和摄氏温度之间的转换、求阶乘等。
2、文本编辑程序设计。
3、绘图程序设计。
如:吹泡泡程序、曲线等图形绘制。
4、信息管理程序设计。
能完成信息的添加、删除和修改等功能。
5、多媒体程序设计。
如:音频播放器、flash动画播放器等。
1.2实践目的:当今社会是信息时代,科技的高速发展要求我们能过熟练掌握并运用新的科学技术。
而信息的获取需要我们能够掌握应用程序的深层代码,运用所掌握的计算机程序知识对数据进行管理。
C++是由C发展而来的,与C兼容。
所以它可以用于面向过程的结构化程序设计,但是它又有自己的特点,它也可以用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。
通过本次实践,1、可以加深我们对面向对象的认识,巩固C++的基础知识,了解基于对话框的应用程序、文档/视图应用程序的框架结构和运行机制,初步掌握创建MFC应用程序的方法、过程。
2、掌握常用的控件的重要属性、主要消息、常用成员函数,并熟练地应用这些控件设计应用程序。
3、掌握绘制图形的方法、定时器的使用,鼠标消息处理函数和键盘消息处理函数的编写、对话框使用和菜单设计的技术。
4、培养我们的独立思考、设计综合程序的能力;同时培养自学能力;训练小论文撰写能力。
因此,计算机程序设计是大多数专业的必修课。
随着软件工程技术的不断发展,面向对象的程序设计方法已成为当今软件开发的主流技术,我们肩负着博采众长的使命,运用好该程序将使我们受益匪浅。
基于MPI的并行计算程序的设计测试报告
中南大学CENTRAL SOUTH UNIVERSITY基于MPI的并行计算程序设计测试报告学院:软件学院专业:软件工程学号:姓名:指导教师:20**-**-**基于MPI的并行计算程序设计测试报告一.并行计算概述1.采用并行计算的原因:✧串行程序速度提升缓慢。
从串行程序的发展来讲,一方面,物理速度渐变发展,芯片速度每18个加快一倍,而内存传输率每年加快9%。
另一方面,物理极限无法突破,芯片晶体管接近了原子极限,传输速度不可能超过光速。
✧可以加快速度。
更短的时间内解决相同的问题,相同的时间内解决更多的复杂的问题。
✧可以加大规模。
并行计算可以计算更大规模的问题。
2.并行计算简介并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。
为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。
并行计算的主要目的是快速解决大型且复杂的计算问题。
此外还包括:利用非本地资源,节约成本,使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。
为利用并行计算,通常计算问题表现为以下特征:1.将工作分离成离散部分,有助于同时解决;2.随时并及时地执行多个程序指令;3.多计算资源下解决问题的耗时要少于单个计算资源下的耗时。
对并行处理的需求极大的促进了并行技术的发展,因此许多大规模并行计算机系统相继问世,如PVP、SMP、MPP、DSM等。
但传统的并行系统的高成本性、专用性、系统规模的不可伸缩性等使其难以推广到普通的商业应用和科学计算中。
高性能集群系统因其性能价格比高、高可复用性、强可扩展性、用户编程方便等优点在科学研究中得到了广泛的应用。
并行计算机系统的出现就需要对程序进行并行设计,这种需求使得各种不同的并行编程环境得到了很大发展。
现行高性能计算机系统中使用的并行编程环境主要有两种:PVM(Parallel Virtual Machine)和MPI(Message Passing Interface)。
中南大学软件体系结构实验3-创建型设计模式实验
实验3 创建型设计模式实验实验学时: 2每组人数: 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)在使用该图形库时发现存在如下问题:①由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;②在图形库中增加并使用新的图形时需要修改客户类源代码;③客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。
中南大学软件工程基础实验报告
中南大学软件工程基础实验报告————————————————————————————————作者:————————————————————————————————日期:软件工程基础实验报告软件工程基础实验报告指导老师:王春生姓名:学号:专业班级:完成日期: 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)。
中南大学软件体系结构实验5结构型和行为型设计模式实验
《软件体系结构》实验报告项目名称结构型和行为型设计模式专业班级学号实验成绩:批阅教师:年月日实验5结构型和行为型设计模式实验实验学时:_______ 2每组人数:1实验类型: 3 (1:基础性2:综合性3:设计性 4 :研究性)实验要求: 1(1:必修2:选修3:其它)实验类别: 3(1:基础2:专业基础3:专业4:其它)、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型和行为型设计模式,包括代理模式、职责链模式和命令模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1. 在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法method()调用之前输出“方法method()被调用,调用时间为2014-11-5 10:10:10 ”,调用之后如果没有抛异常则输出“方法method()调用成功”,否则输出“方法method()调用失败”。
在代理类中调用真实业务类的业务方法,使用代理模式设计该日志记录模块的结构,绘制类图并编程模拟实现。
2. 某软件公司承接了某信息咨询公司的收费商务信息查询系统的开发任务,该系统的基本需求如下:(1) 在进行商务信息查询之前用户需要通过身份验证,只有合法用户才能够使用该查询系统;(2) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。
该软件公司开发人员已完成了商务信息查询模块的开发任务,现希望能够以一种松耦合的方式向原有系统增加身份验证和日志记录功能,客户端代码可以无区别地对待原始的商务信息查询模块和增加新功能之后的商务信息查询模块,而且可能在将来还要在该信息查询模块中增加一些新的功能。
试使用代理模式设计并编程模拟实现该收费商务信息查询系统。
【提示:使用保护代理和智能引用代理】3. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。
中南大学软件体系结构实验3-创建型设计模式实验
实验3 创建型设计模式实验实验学时: 2每组人数: 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 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) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。
中南大学计算机实践报告.doc
中南大学计算机实践报告中南大学计算机实践报告中南大学本科生课程设计(实践)任务书、设计报告(计算机程序设计基础FORTRAN)题目线性方程组求解问题学生姓名指导教师学院专业班级学生学号刘卫国土木工程学院土建类班计算机基础教学实验中心202*年6月29日一、实践目的通过本课程设计,培养程序设计能力以及综合解决实际问题的能力。
通过自己分析问题、寻求算法、编写、调试程序的过程,掌握FORTRAN程序设计与调试方法,提高灵活运用所学知识解决问题的能力。
二、设计任务线性病态方程组问题:1/21/31/4x10.951/31/41/5x0.6721/41/51/6x30.52(1)求方程的解。
(2)将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
提示:矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积,即cond(A)AA1。
这样定义的条件数总是大于1的。
条件数越接近于1,矩cond(A)AA1阵的性能越好,反之,矩阵的性能越差。
矩阵A的条件数Amax{aij}1jni1m,其中,aij系矩阵A的元素。
要求:(1)方程的系数矩阵、常数向量均从文件中读入。
(2)定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。
(3)在主程序中调用子程序,并对求解结果进行对比分析。
(4)绘制常数向量修改前后所求得的方程解的数据分布图。
三系统坏境系统开发环境为CONSOLEAPPLICAT三.系统功能及系统详细设计四系统功能及系统详细设计。
系统功能分析针对题目要求,我设计的系统主要为了解决题目中所提出并要求的问题。
子程序则各尽其用,不仅可以作为整体系统的重要部分,还可以使用于通用问题。
如三角分解法,可以解决线性方程组的求解问题。
求范数和矩阵求逆的子程序,可以解决相应的问题。
再如绘图程序,将问题(2)的结果直观化,更直观明显的表现了病态方程的特点与定义。
中南大学软件学院软件体系结构实验报告-实验3汇总
实验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) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。
中南大学java实验报告1
中南大学软件学院实验报告课程名称Java面向对象程序设计SSD3实验项目名称实验1《基本程序设计、选择、循环》学生姓名专业班级学号实验成绩日期实验学时: 2每组人数: 1实验类型: 1 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 2 (1:基础2:专业基础3:专业4:其它)一、实验目的学习Java基本程序编写的方法,熟悉选择、循环等控制结构。
二、实验内容以及代码实现、结果分析1. (P51,2.6)编写程序,读取一个在0和1000之间的整数,并将该整数的各位数字相加。
例如:整数932,各位数字之和为14。
如果输入的整数不在0-1000范围内,弹出GUI 提示对话框,告知用户输入有误。
提示:利用%和/分解数字。
代码实现:package java_shiyan;import java.util.Scanner;public class Jiahe {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("Enter anumber between0 and 1000: ");Scanner input=new Scanner(System.in);int num=input.nextInt();int sum=num/100+(num%100-num%10)/10+num%10;System.out.println("The sum of the digits is "+sum );}}结果截图:结果分析:实验结果满足要求2. (P54, 2.21)编写程序,提示用户输入三角形的三个点(x1, y1),(x2, y2), (x3, y3),然后显示它的面积。
计算三角形面积的公式是:s=(s1+s2+s3)/3;面积=其中s1,s2, s3分别为三角形三边的长度。
软件工程实验报告
中南大学软件工程实验报告院系:信息科学与工程学院专业:计科1204 学号:姓名:实验1 需求分析实验任务书1)阅读“办公自动化烟站管理项目”用户需求说明书以及用户需求规格说明书,理解用户需求说明书和用户需求规格说明书里的内容组织方式以及它们之间的差别。
答:用户需求说明书:用户需求说明书是用户的需求,需要和用户确认的;是根据与现场实际客户进行沟通,把客户的需求进行整理,CMMI中有标准的模板,重点是站在客户的角度讲产品功能。
需求规格说明书:是从业务规则讲起的,细一点偏向于软件的概要设计。
是从开发、测试的角度去讲产品功能,里面要包含原型界面、业务接口、活动图等。
需求规格说明书是系统需求主要是对内的。
2)掌握撰写需求说明书需要的各种技术工具,如:VISIO或MS PowerPoint,MS Project 和Powerdesigner等工具;答:我选择的工具是GUI Design Studio,同时也有VISIO,我通过查阅相关资料自学了GUI Design Studio和VISIO软件。
3)使用VISIO或MS PowerPoint完成部分界面原型设计;答:我选择问卷管理模块“烟站项目问卷调查收集模块”主要针对省公司烟叶处提出的13张调查表(见附件),而进行的个性化开发的软件系统,通过该管理模块,省公司烟叶处可以快速向全省各县下达调查表,并以站(点)为单位,按年度收集调查表中的相关调查的数据,供以后管理分析。
用户界面问卷填写及跟踪事件流图问卷填写提交流程省公司领导省公司领导市公司领导市公司领导县公司问卷收集人员县公司问卷收集人员否没通过通过审批是否通过审批是否通过提交表格按步骤填写问卷调查表开始是否填写完成查看退回记录,并打回给市公司提交表格完成通过查看退回记录,并打回给县公司4)理解“需求跟踪矩阵”并自己可以编辑。
答:需求跟踪矩阵的作用:(1) 在需求变更、设计变更、代码变更、测试用例变更时,需求跟踪矩阵是目前经过实践检验的进行变更波及范围影响分析的最有效的工具,如果不借助RTM ,则发生上述变更时,往往会遗漏某些连锁变化。
中南大学软件工程实验报告
中南大学软件工程实验报告The document was prepared on January 2, 2021CENTRAL SOUTH UNIVERSITY软件工程实验报告学生姓名专业班级学号学院信息科学与工程学院指导教师龙军实验时间 2015年5月课程群实验名: 网上选课系统建模通过实验培养学生综合运用软件工程理论进行系统分析和设计的能力,加深对面向对象技术的认知和理解;较系统地学习Visio等建模工具及UML建模方法。
面向对象技术以其显着的优势成为计算机软件领域的主流技术。
越来越多的软件企业认识到,要在激烈的市场竞争中立于不败之地,采用面向对象技术是势在必行的选择。
软件行业需要大量掌握面向对象方法与技术的人才,这些人才不仅仅是能够使用一种或几种面向对象编程语言来编程,更重要的是能运用面向对象方法进行系统建模,即通过面向对象的分析(OOA)和面向对象的设计(OOD)建立系统的分析模型和设计模型。
网上选课系统介绍传统的纸上方式选课,既浪费人力物力,又浪费时间,还很容易出现错误。
而借助网上选课系统,让学生自己在终端上录入自己的个人选课信息来替代有纸化的手工操作,不仅为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。
网上选课系统的功能性需求包括以下内容:(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。
(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。
接下来我们将通过Visio等工具对此网上选课系统建立模型,从以下三个方面进行:(1)用例建模,进行需求分析,确定系统的参与者。
网上选课系统的参与者包含二种,分别是Student(学生)和SystemManager(系统管理员)然后,我们根据参与者的不同分别画出各个参与者的用例图。
(2)领域建模,由前面的需求分析得到系统主要的类对象:学生类、系统管理员类、课程类等,并创建系统的类图。
中南大学程序设计报告
中南大学本科生课程设计(实践)任务书、设计报告(计算机程序设计基础—FORTRAN)计算机基础教学实验中心2010年7 月 5 日FORTRAN 编程实践设计报告线性病态方程组问题任务内容本次编程实践我的任务是第二道题目,即对线性病态方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1)设计程序求方程的解。
(2)将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A 的条件数并分析结论。
要求:(1)方程的系数矩阵、常数向量均从文件中读入。
(2)定义求解线性方程组Ax=b 的子程序,要求该子程序能求解任意线性方程组。
(3)在主程序中调用子程序,并对求解结果进行对比分析。
(4)绘制常数向量修改前后所求得的方程解的数据分布图。
系统设计开发思想对于这道题目,我的设计思路是:(1)从文件读入系数矩阵和向量矩阵的原始数据,利用高斯消去法求解出线性方程组的解。
(2)从另一组文件中读入对向量矩阵做微小变化后的数据,再利用高斯消去法解出新的线性方程组的解。
(3)设计求范数的子程序和求矩阵的逆矩阵的子程序,从文件中读入系数矩阵数据,调用两个子程序,由条件数等于原矩阵范数乘以原矩阵的逆矩阵范数计算出系数矩阵的条件数。
(4)在QuickWin 系统环境下编写程序绘制向量矩阵变化前后的两组解的直方图。
(5)对比解的变化,结合系数矩阵条件数的大小分析变化的原因。
设计流程图如下:系统功能及系统详细设计我所设计的系统其功能是求解线性病态方程组的解,并计算出系数矩阵的条件数。
对于求解线性病态方程组的部分,我运用高斯消去法设计了一个可以求解任意线性方程组Ax=b的子程序,主程序所需数据由文件读入。
对于不同的线性病态方程组的求解只需从不同的文件中读入相应数据即可。
所以此部分程序对于求解线性病态方程组问题可以通用。
软件工程实验报告1_2
成绩:____实验报告
实验一:熟悉ROSE
专业名称:计算机科学与技术
班级学号:
学生姓名:
指导老师:
一、实验目的:
熟悉UML建模工具ROSE
二、实验步骤:
1、熟悉建用例图
2、熟悉建类图
3、熟悉建状态图
4、熟悉建顺序图
5、熟悉建协作图
6、熟悉建活动图
三、所用软件:
1、ROSE
2、word
四、预习内容:
ROSE工具软件的使用方法。
五、实验结果:
1建立用例图
关闭机器
2建立类图
3建立状态图
在第一层向上移动
do/ 到100r图
向下移动do/ 移动到100r层
空闲
do/ time=0
do/ 增加timer
上楼floor
到达
上楼floor 下楼floor
[ timer=0超时值 ] / 下楼(第一层)
到达4建立顺序图
5建立协作图
: 供货人6建立活动图
六、实验总结
通过这些图的建立,使我们学会了此软件的用法,了解了个元素之间的关系。
中南大学软件体系结构实验五解读
实验5 结构型和行为型设计模式实验实验学时: 2每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型和行为型设计模式,包括代理模式、职责链模式和命令模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1. 在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法method()调用之前输出“方法method()被调用,调用时间为2014-11-5 10:10:10”,调用之后如果没有抛异常则输出“方法method()调用成功”,否则输出“方法method()调用失败”。
在代理类中调用真实业务类的业务方法,使用代理模式设计该日志记录模块的结构,绘制类软图并编程模拟实现。
2. 某软件公司承接了某信息咨询公司的收费商务信息查询系统的开发任务,该系统的基本需求如下:(1) 在进行商务信息查询之前用户需要通过身份验证,只有合法用户才能够使用该查询系统;(2) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。
该软件公司开发人员已完成了商务信息查询模块的开发任务,现希望能够以一种松耦合的方式向原有系统增加身份验证和日志记录功能,客户端代码可以无区别地对待原始的商务信息查询模块和增加新功能之后的商务信息查询模块,而且可能在将来还要在该信息查询模块中增加一些新的功能。
试使用代理模式设计并编程模拟实现该收费商务信息查询系统。
【提示:使用保护代理和智能引用代理】3. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。
4-320213X1《计算机网络原理》实验指导书
4-320213X1《计算机网络原理》实验指导书《计算机网络》课程实验指导书廖志芳编写课程编号 320213X1 总学时 48 实验学时 6 课外学时15中南大学软件学院 2021年11月实验1《Windows Socket编程》实验学时: 2 每组人数: 1实验类型: 2 (1:基础性 2:综合性 3:设计性 4:研究性)实验要求: 2 (1:必修 2:选修 3:其它)实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它)一、实验目的通过实验,使学生熟悉并掌握计算机Windows 编程的基本知识,进一步加深学生对课堂所学基本内容的理解,掌握基本的Windows编程技巧,通过实验使得学生能够进行一些简单的网络程序设计。
二、实验内容1.介绍基本的Windows Socket编程技巧;2.基于Windows Socket编程,设计并实现一个简单的聊天系统,包括客户端及服务器端。
三、实验要求:1.按照实验内容和步骤完成各个实验; 2.在实验报告中要有详细地实验步骤以及结果; 3. 按时上交实验报告。
四、实验步骤1.工程创建在VC6中新建一个新工程,选择:Win32 Console Application,输入工程名。
具体方法:启动VC6.0,单击【File】->【New】,如图1所示;1图1(1)服务器端创建:然后在【新建工程】的对话框中的【Projects】选项卡中选择:Win32 Console Application,输入一个工程名及保存路径,点击【确定】,如图2所示;图2(2)客户端创建:在【新建工程】的对话框中的【Projects】选项卡中选择:MFC AppWizard[exe],输入一个工程名及保存路径,点击【确定】,选择“单文档模式”,完后确定完成,如图3所示,完成后新建一个主界面窗体,如图4所示。
图32图42.Winsock初始化在Windows环境下进行网络程序设计时,所有的Winsock函数都是从ws2_32.dll导出的,我们可以通过#pragma comment(lib, \语句链接到该库文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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) 在进行商务信息查询时系统需要记录查询日志,以便根据查询次数收取查询费用。
该软件公司开发人员已完成了商务信息查询模块的开发任务,现希望能够以一种松耦合的方式向原有系统增加身份验证和日志记录功能,客户端代码可以无区别地对待原始的商务信息查询模块和增加新功能之后的商务信息查询模块,而且可能在将来还要在该信息查询模块中增加一些新的功能。
试使用代理模式设计并编程模拟实现该收费商务信息查询系统。
【提示:使用保护代理和智能引用代理】5. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。
该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。
如下图所示:试使用职责链模式设计并模拟实现该系统。
6. 房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。
7. 某软件公司欲开发一个基于Windows平台的公告板系统。
系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。
菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。
现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。
8. 某实时在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所有股民。
试使用观察者模式设计并实现该系统,要求绘制相应的类图并编程模拟实现。
9. 某公司欲开发一套机房监控系统,如果机房达到某一指定温度,温度传感器(Thermosensor)将自动传递信号给各种响应设备,例如警示灯(CautionLight)将闪烁(flicker())、报警器(Annunciator)将发出警报(alarm())、安全逃生门(SecurityDoor)将自动开启(open())、隔热门(InsulatedDoor)将自动关闭(close())等,每一种响应设备的行为由专门的程序来控制。
为了将来能够方便地引入新类型的响应设备,采用观察者模式和适配器模式设计并模拟实现该系统。
10. 某软件公司为某电影院开发了一套影院售票系统,在该系统中需要为不同类型的用户提供不同的电影票(MovieTicket)打折(Discount)方式,具体打折方案如下:(1) 学生凭学生证可享受票价8折优惠;(2) 年龄在10周岁及以下的儿童可享受每张票减免10元的优惠(原始票价需大于等于20元);(3) 影院VIP用户除享受票价半价优惠外还可进行积分,积分累计到一定额度可换取电影院赠送的奖品。
该系统在将来可能还要根据需要引入新的打折方式。
试使用策略模式设计并编程模拟实现该影院售票系统。
11. 为了实现一些特殊的显示效果,某公司欲开发一款手机数码照片处理软件,在该软件中为照片(Photograph)提供了多种滤镜(Filter)效果,例如黑白滤镜(BlackWhiteFilter)、单色滤镜(MonochromaticFilter)、怀旧滤镜(NostalgicFilter)等,不同的滤镜通过不同的算法对照片进行美化,如下图所示。
该软件可以灵活地增加一些新的滤镜效果。
选择一种合适的设计模式来设计该照片处理软件,结合场景绘制相应的类图并编程模拟实现。
三、实验要求1. 结合实例,正确无误地绘制外观模式、代理模式、职责链模式、命令模式、观察者模式和策略模式的模式结构图;2. 使用任意一种面向对象编程语言实现外观模式、代理模式、职责链模式、命令模式、观察者模式和策略模式实例,代码运行正确无误。
四、实验步骤1. 结合实例,使用PowerDesigner绘制外观模式实例结构图并用面向对象编程语言实现该模式实例;2. 结合实例,使用PowerDesigner绘制代理模式实例结构图并用面向对象编程语言实现该模式实例;3. 结合实例,使用PowerDesigner绘制职责链模式实例结构图并用面向对象编程语言实现该模式实例;4. 结合实例,使用PowerDesigner绘制命令模式实例结构图并用面向对象编程语言实现该模式实例;5. 结合实例,使用PowerDesigner绘制观察者模式实例结构图并用面向对象编程语言实现该模式实例;6. 结合实例,使用PowerDesigner绘制策略模式实例结构图并用面向对象编程语言实现该模式实例。
五、实验结果1. 类图:实现代码:public class CopyFacade{private ContactsManager contacts;private MessageManager message;private PhotoManager photo;private MusicManager music;public class Client{public static void main(String[] args){CopyFacade copyFacade = new CopyFacade();copyFacade.copyToMMC();copyFacade.copyToSD();}}2. 类图:实现代码:package abstractFacade;import java.io.File;public static void main(String []args){AbstractFacade abstractFacade = new XMLFacade();abstractFacade.operateData();}}3. 类图:实现代码:package proxy1;public abstract class Subject{public abstract void method();}public class RealSubject extends Subject{@Overridepublic void method(){System.out.println("方法method()调用成功。
");System.out.println("方法method()调用失败");}}public class Client{public static void main(String[] args){LogProxy test = new LogProxy();test.method();}}4. 类图:实现代码:5. 类图:实现代码:package zhizelian;public class Client{public static void main(String[] args){Leader WangYuan,RoyWang,WangTianlong,Yuanyuan;WangYuan = new Director("王源");RoyWang = new VicePresident("源哥");WangTianlong = new President("王天龙");6. 类图:实现代码:Object obj = c.newInstance();return obj;}catch(Exception e){e.printStackTrace();return null;}}}7. 类图:实现代码:public class BoardScreen{public void open(){System.out.println("打开窗口。
");}public void create(){System.out.println("新建窗口。
");}public void edit(){System.out.println("编辑窗口。