实习生笔记-计算机专业毕设知识学习之面向对象建模(1)

灵感来源

今天毕业设计指导老师找我们一组人开会,给我们安排毕设的相关工作。他说假期不要闲着,在前期把时间抓紧,后面可以自由一些;毕设可以第一个月写完,但是不要在最后一个月写完,不然可能会来不及,毕竟这15分的学分对毕业也是很关键的。

我做的是基于SpringBoot的餐厅管理系统。目前写了一篇文档,记录了一些内容:功能架构、技术选型、模块划分等,还使用Powerdesigner建立了数据表。

老师安排了20号之前完成需求分析,这个月内完成系统设计。对此工作安排,我最先要学习的就是面向对象建模,相关知识在软件工程这门课中学习过,时过境迁,已经把知识遗忘了许多了,而且软件工程那门课在讲授面向对象相关知识并没有深入讲解。不得不说面向对象建模对我们专业的毕设很有帮助。我也没有特意选修过面向对象建模这门课,对此我也并不遗憾,因为事先没有锚定决心学好的话,就会花在课堂上的时间多且效果差,还不如自己集中精力,花一部分时间去学习然后去实践,这个效果肯定会比没有目的性的学习要好。趁着做毕设的机会,要再学习,尤其是用例图、类图、活动图等,且能动手实现。

正文开始。

面向对象建模的概念及重要性

面向对象建模(Object-Oriented Modeling,简称OOM)是一种软件开发过程中的系统分析与设计方法。它以对象为核心,将现实世界中的事务抽象为对象,通过对象之间的交互来实现系统的功能。面向对象建模的主要概念包括类、对象、继承、封装、多态等。

面向对象建模的重要性主要体现在:

1、提高代码重用性。创建可重用的类和对象,提高开发效率。

2、降低维护成本。良好的面向对象设计使得软件结构更加清晰,易于理解和维护。当需求发生变化时,可以更容易对系统进行修改和拓展。

3、增强系统可扩展性。面向对象建模支持模块化和组件化的设计,使得系统更容易进行功能扩展和性能优化。

4、提高代码质量。面向对象建模鼓励开发者遵循一定的设计原则和模式,从而提高代码的可读性、可维护性和可测试性。

5、更好地反映现实世界。面向对象建模以对象为核心,更贴近现实世界中的事物和关系,有助于开发出更符合需求的软件产品。

为什么选择学习面向对象建模?

直接原因,是毕设需要。

不直接的原因,处理以上列出的重要性外,还有:

1、这项技术广泛应用,掌握了能增加在就业市场的竞争力。

2、有助于提高编程能力。通过理解类、对象、继承、封装等概念,可以更好地组织代码,编写出更加优雅、高效的程序。

面向对象建模的基本概念

类(Class):定义对象结构和行为

对象(Object):类的实例,具有特定的属性和行为

封装(Encapsulation):隐藏对象的内部细节,只暴露必要的接口

继承(Inheritance):子类继承父类的属性和方法,实现代码重用

多态(Polymorphism):不同对象对同一方法的不同实现

关联(Association):描述对象之间的结构关系

聚合(Aggregation):描述整体与部分的关系

组合(Composition):特殊的聚合关系,部分与整体的生命周期相同

UML图

统一建模语言(unified modeling language,UML )是用来设计软件的可视化建模语言,它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。

UML从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。

用例图概述及其作用

用例图(Use Case Diagram)是一种在面向对象分析和设计中用于描述系统功能需求和用户与系统之间交互的图形化表示方法。它通过展示参与者(Actor)、用例(Use Case)以及它们之间的关系,帮助开发者更好地理解系统的功能需求和业务流程。

可以使用VisioOn这个在线网站进行绘制。

用例图的主要概念包括
  1. 参与者(Actor):代表系统所涉及的人或者用户在本系统中的角色。参与者可以是人、用户在本系统中的角色或者其他系统。

  2. 用例(Use Case):代表系统中的一个功能需求,用于描述参与者与系统之间的交互过程。用例通常以动词短语命名,如“查询订单”、“添加商品”等。

  3. 关系:用例图中的关系主要包括关联(Association)、包含(Include)和扩展(Extend)。关联表示参与者与用例之间的通信关系;包含表示一个用例包含了另一个用例;扩展表示一个用例可以在另一个用例的基础上进行扩展。

    关系类型说明表示符号
    关联参与者与用例之间的关系实线箭头
    泛化参与者之间或用例之间的关系实线三角箭头
    包含用例之间的关系虚线箭头
    扩展用例之间的关系虚线箭头
  • 关联

表示参与者与用例之间的通信,任何一方都可以发送或接受消息。箭头指向:指向消息接收方。

  • 泛化

可以理解成继承。箭头指向:指向父用例。

  • 包含

功能拆解。箭头指向:指向分解出来的功能实例

  • 扩展

用例功能的延伸。箭头指向:指向基础用例。

用例图的主要作用如下
  1. 确定功能需求:用例图清晰地展示了系统的功能需求,有助于开发者和客户就需求达成共识,确保项目顺利进行。

  2. 描述参与者与系统的交互:用例图展示了参与者与系统之间的交互过程,有助于分析人员理解系统的使用场景和业务流程。

  3. 指导系统设计和实现:用例图为系统设计和实现提供了详细的指导,有助于开发者按照需求进行模块化和组件化的设计。

  4. 便于沟通和协作:用例图作为一种通用的建模语言,可以方便地在不同的团队成员之间进行沟通和协作,提高整个开发过程的效率。

接下来我去画我的系统用例图了。再会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视线归处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值