面向对象分析(实验三)

这篇具有很好参考价值的文章主要介绍了面向对象分析(实验三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

面向对象分析(实验三)

面向对象分析(实验三)

一开始12关,最后一关我是按照要求画的,结果头歌系统一直不给过,最后时间到了,我画过了,和我一开始的是一样的,头歌系统说是效率分然后不给开,最后只有33.3分,对头歌很失望,这个系统有太多问题,无法接受这样的结果

面向对象分析的基本概念

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

类图关系

1.依赖(Dependence)
依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。类上面的图例中:People类依赖于Book类和Food类,Book类和Food类是作为类中方法的参数形式出现在People类中的。

2.关联(Association)
体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的。

3.聚合(Aggregation)
聚合关系是关联关系的一种,耦合度强于关联,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是相互独立的,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。

4.组合(Composition)
相比于聚合,组合是一种耦合度更强的关联关系。存在组合关系的类表示“整体-部分”的关联关系,“整体”负责“部分”的生命周期,他们之间是共生共死的;并且“部分”单独存在时没有任何意义。在下图的例子中,People与Soul、Body之间是组合关系,当人的生命周期开始时,必须同时有灵魂和肉体;当人的生命周期结束时,灵魂肉体随之消亡;无论是灵魂还是肉体,都不能单独存在,他们必须作为人的组成部分存在。

5.继承(Generalization)
继承表示类与类(或者接口与接口)之间的父子关系。在java中,用关键字extends表示继承关系。UML图例中,继承关系用实线+空心箭头表示,箭头指向父类。

6.实现(Implementation)
表示一个类实现一个或多个接口的方法。接口定义好操作的集合,由实现类去完成接口的具体操作。在java中使用implements表示。UML图例中,实现关系用虚线+空心箭头表示,箭头指向接口。

本案例对象分析表

对象 属性 操作
客户 id(String) saveUserInfo,getHotelInfo,cancelOrder,getOrderInfo,submitOrder,assessHotelService
酒店客房 id(String)、hotelId(String)、status(int) addRoom,deleteRoom,updateRoom,getRoom
软件管理员 id(String) updateUserInfo(userId)
酒店工作人员 id(String) updateRoomInfo,carryUserOrder,maintainHotelInfo
软件营销人员 id(String) analysisOrderInfo,cancelOrder
订单 id(String) roomId(String) status(int) addr(String) amount(int) orderPrice(decimal) addOrder, deleteOrder, updateOrder, getOrder
软件营销人员 id(String) analysisOrderInfo,cancelOrder

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

系统显示酒店当前的基本信息,酒店工作人员选择需要修改的项目,酒店工作人员输入当前待修改项目的值,系统显示修改过的酒店基本信息,酒店工作人员重复2~4步,直到所有待修改的项目完成,酒店工作人员提交修改过的酒店基本信息,系统记录新的酒店基本信息。以下是酒店工作人员在维护酒店基本信息时的过程图
 

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

7.泳道:将活动中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动都由一个对象执行。
8.并发:指的是同一时间间隔中,系统内有两个或多个事件一起发生。在并发情况下,不可以对多个事件的发生顺序做预测。
9.分叉节点:是从线性流程进入并发过程的过渡节点,他拥有一个进入控制流和多个离开控制流,分叉节点的所有离开流程是并发关系,分叉节点在活动图中表示为一根粗横线。
10.结合节点:功能上与合并节点相似,但有关键区别。合并节点没有等待和同步,但是结合节点的各个进入控制流有并发关系,他们再系统中同时运行。在各个支流收束时,为了保证数据的统一性,先到达结合节点的控制流必须等待直到所有的流程全部到达这个结合节点后才继续进行,转移到离开控制流所指向的动作。也是用一根粗横线表示。
11.对象流:很少使用!当活动图中描述的过程具有一些对关键对象的属性要求时,通过添加对象流的放发可以在活动图中呈现操作的对象。如果想表现出对象流,必须先绘制泳道,且对象应该作为泳道的负责对象出现,在某些关键动作前后,设计人员可以通过加入对象的状态描述来呈现对象状态,描述文字应该简明扼要。
12.扩展区域:用来表示循环。具体做法:在活动图中围绕一个区域画一个虚线框来表示扩展区域。区域要有输入输出的定义,输入输出的集合表示为数组。如果扩展区域运行时可以并发执行,也有可能多次迭代并发执行,直到迭代工作执行完毕,集合中的每个元素对应的处理成一个输出元素,全部输出元素的集合对应输入时的顺序同样表示为一个数组,然后向下执行。

详细说明

状态依次为进入酒店管理系统主页、酒店业务主页、订房服务、满房(有空房)、处理订单。
开始之后进入网络,画出进入酒店管理系统主页的状态,下一步画出酒店业务状态,之后选择服务,画出订房服务状态,之后出现分支,状态分别为满房和有空房,在分支汇合时,汇合条件为无法预订和提交订房订单,下一步画出处理订单状态,最后结束。

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

类图简单介绍

1.类图分为三部分,依次是类名、属性、方法
2.以<<开头和以>>结尾的为注释信息
3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。
4.带下划线的属性或方法代表是静态的。

类图关系

1.依赖(Dependence)
依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。类上面的图例中:People类依赖于Book类和Food类,Book类和Food类是作为类中方法的参数形式出现在People类中的。

2.关联(Association)
体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的。

3.聚合(Aggregation)
聚合关系是关联关系的一种,耦合度强于关联,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是相互独立的,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。

4.组合(Composition)
相比于聚合,组合是一种耦合度更强的关联关系。存在组合关系的类表示“整体-部分”的关联关系,“整体”负责“部分”的生命周期,他们之间是共生共死的;并且“部分”单独存在时没有任何意义。在下图的例子中,People与Soul、Body之间是组合关系,当人的生命周期开始时,必须同时有灵魂和肉体;当人的生命周期结束时,灵魂肉体随之消亡;无论是灵魂还是肉体,都不能单独存在,他们必须作为人的组成部分存在。

5.继承(Generalization)
继承表示类与类(或者接口与接口)之间的父子关系。在java中,用关键字extends表示继承关系。UML图例中,继承关系用实线+空心箭头表示,箭头指向父类。

6.实现(Implementation)
表示一个类实现一个或多个接口的方法。接口定义好操作的集合,由实现类去完成接口的具体操作。在java中使用implements表示。UML图例中,实现关系用虚线+空心箭头表示,箭头指向接口。

闯关要求

使用starUML工具,请画出客户类及其属性、操作,属性标出id即可(private),操作有维护个人基本信息、获取酒店信息、撤销订单、查看订单信息、提交订单、评价酒店服务(见下表)。

请注意:
若您的文件中有与本次测评无关的类,请在Model Explorer中将本次测评的类置顶(选中此类,右键,点击Move Up)

本案例对象分析表

对象 属性 操作
客户 id(String) saveUserInfo,getHotelInfo,cancelOrder,getOrderInfo,submitOrder,assessHotelService
酒店客房 id(String)、hotelId(String)、status(int) addRoom,deleteRoom,updateRoom,getRoom
软件管理员 id(String) updateUserInfo(userId)
酒店工作人员 id(String) updateRoomInfo,carryUserOrder,maintainHotelInfo
软件营销人员 id(String) analysisOrderInfo,cancelOrder
订单 id(String) roomId(String) status(int) addr(String) amount(int) orderPrice(decimal) addOrder, deleteOrder, updateOrder, getOrder

闯关详细说明

属性为id,private,操作为saveUserInfo,getHotelInfo,cancelOrder,getOrderInfo,submitOrder,assessHotelService.操作均为public。
将画好的模型保存到workspace/myshixun/submit/submit_step1/下,并命名为step1,格式为mdj。

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

 文章来源地址https://www.toymoban.com/news/detail-445525.html

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三) 

面向对象分析(实验三)

 

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

 

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

 面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

 

面向对象分析(实验三)

 面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

 

面向对象分析(实验三)

面向对象分析(实验三)

面向对象分析(实验三)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

到了这里,关于面向对象分析(实验三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java面向对象程序设计实验报告(实验五 接口的练习)

    ✨ 作者:命运之光  ✨ 专栏: Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录:源程序代码(带注释) demo5类 Instrument类 Piano类 play类 Student类 Teacher类 Violin类 work类  实验五 接口的练习 实验

    2024年02月06日
    浏览(45)
  • 从零开始面向对象编程 Java & Day 5,6 (美颜相机 Day 1)

    源代码如下: 使用了数组来存储获取鼠标的位置,并在合适的时间对已获取的点进行重置(很简单,应该都能看懂) 总的来说还是比较简单的,变化不多,只需要稍微注意一下怎么处理多边形的点、边和闭合情况即可(同样的,看不懂可以私信噢!) 因为每天要做的事情稍

    2024年02月22日
    浏览(38)
  • 上机实验3-3 Java面向对象编程(三)

    实验1   中国人、北京人和美国人 一、实验目的 1.了解子类的继承性 2.掌握子类对象的创建过程 3.成员变量的继承与隐藏 4.掌握方法的继承与重写 二、实验内容 编写程序模拟中国人、美国人是人,北京人是中国人。除主类外,程序中还有4个类:People、ChinaPeople、AmericanPeopl

    2023年04月17日
    浏览(54)
  • 2023.5.5 面向对象程序设计实验报告

    实验项目名称:模板 1、熟练掌握函数模板和类模板的定义格式。 2、熟练运用函数模板和类模板解决实际问题。 1、复数类Complex有两个数据成员:a和b, 分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。 要求设计一个

    2024年02月02日
    浏览(117)
  • C#面向对象程序设计课程实验二: 实验名称:Windows 窗体程序

    (1) 掌握控件 Label、Button、TextBox 的常用属性、方法、事件的基本应用; (2) 掌握控件 RadioButton、CheckBox 的常用属性、方法、事件的基本应用通过简单程 序; (3) 掌握框-架类控件 GroupBox、Panel、TabControl 的基本应用; (4) 掌握控件 ListBox、CombBox 、ListView 的常用属性、方法、事件的

    2024年02月04日
    浏览(52)
  • 头歌Educoder实验:C++ 面向对象 - 类的继承与派生

    第1关:公有继承 —— 学生信息类 任务描述 本关任务:采用公有继承设计学生信息类。 相关知识 继承 继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一。简单的说,继承是指一个对象直接使用另一对象的属性和方法。 C++ 中的继承关系就好比现实生

    2024年02月04日
    浏览(136)
  • 面向对象编程 实验三 sduwh 子窗口与控件的基本用法、资源的使用 参考实验报告1

    源自网络收集,仅供参考 实验三收集到两份完整报告,这是其一,另一份见本专栏下一篇文章。 《面向对象程序设计》 实验三 实验题目:子窗口与控件的基本用法、资源的使用 整体目的:理解、窗口之间的消息传送、调用栈;掌握光标、图标、菜单的制作和使用方式;掌

    2024年02月07日
    浏览(40)
  • 面向对象分析和设计

    软件工程学家Coad和Yourdon给出了一个定义: 面向对象(Object-Oriented)=对象(Object)+继承(Inheritance)+通信(Communication) 。如果一个软件系统是使用这样四个概念设计和实现的,则可以认为这个软件系统是面向对象的。一个面向对象的程序每一成分应是对象,计算是通过新对

    2024年02月21日
    浏览(33)
  • 2. 软件需求 & 面向对象分析

    目录 1. 软件需求 1.1 需求分类 1.2 需求获取 1.3 需求分析 2. 面向对象分析(OOA) 2.1 统一建模语言 UML 2.2 用例模型 2.2.1 用例图的元素  2.2.2 识别参与者 2.2.3 合并需求获得用例 2.2.4 细化用例描述 2.3 分析模型 2.3.1 定义概念类 2.3.2 确定类之间的关系 2.3.3 为类添加职责 1. 软件需求

    2024年02月13日
    浏览(34)
  • 面向对象分析与设计_类图

    判断题 类与对象之间的关系,可以理解为模板与具体实例之间的关系   T 类是现实世界中客观存在的事物或实体。 F 类是具有相同属性和服务的一组对象的集合 T 对象的属性都有值,类的属性没有值 T 类的可见性描述了其属性和操作是否对于其他类可见,从而确定是否可以被

    2024年02月07日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包