吉林大学软件工程UML+OOA

news/2024/11/9 16:45:53/
  • 面向对象=对象+类+继承+通过消息进行通信

  • 类建模
    • 类模型:描述系统内部对象的特征、对象之间的相互关系以及对象所属的每个类的属性和操作,捕获系统的静态特征
    • 类图:对类及其关系进行建模。
    • 对象图:显示了单独的对象及其关系。
    • 类图相当于对象图的无限集合。
    • 类写法(类名:每个单词的首字母均大写):
    • 对象写法(与类写法相似,有下划线):
    • 链接(link):是对象间物理上或概念上的连接
    • 关联(association):描述了有共同结构和语义的一组链接
    • 多重性(multiplicity):指定了一个类与关联类的单个实例可能相关的实例数目
    • 对于同一个类的两个对象之间的关联来说,关联终端名是必需的。关联终端名也可以区分同一对类之间的多重关联。
    • 关联类:
    • 限定关联:
    • 泛化和继承
    • 聚合
    • 组合(一个部件至多属于一个装配件; 一个部件一旦被指定给一个装配件,它就与装配件有着共同的生存期。)
    • 依赖关系(留心一下箭头方向,线是虚线)
    • 抽象类:
      • 抽象类(abstract class):是指没有直接的实例的类,但其子孙类有直接的实例。
      • 具体类(concrete class):是指可以实例化的类,可以有直接的实例。
  • 状态建模
    • 状态模型刻画了对象及其关系随着时间的变化,描述响应外部激励而发生的操作序列。
    • 状态模型由多个状态机图组成。
    • 每个类对应一个状态机图。
    • 事件:
      • 信号事件(signal event):信号是指从一个对象到另一个对象的明确的单向信息流动
      • 变更事件(change event):是指由满足布尔表达式而引起的事件。
      • 时间事件(time event):是指在绝对时间上或在某个时间间隔内发生的事情所引起的事件。
    • 迁移(transition)是指从一个状态到另一个状态的瞬时变化。从源状态到目标状态一发生变化,就说触发(fire)了迁移。
      • 当事件发生时,迁移就会触发
    • 警戒条件(guard condition)是指为了让迁移发生而必须为真的布尔表达式。
      • 当事件发生时,警戒条件就会触发,但只有在条件为真的时候才会发生迁移
    • 单触发状态图
      • 有限生存期
      • 发生的时间 [ 需要满足的条件 ] / 产生的效果
      • 嵌套:右面大方框的每个小方框下一步都可以是【取消】
      • 历史状态:代表上次离开复合状态时的最后一个活动子状态
  • 用例图
    • 用例+参与者+关系+边界
      • include(方便复用)
      • extend
      • generalization(父亲的用例可以继承给孩子)
  • 构造型:指在已有的模型元素基础上建立一种新的模型元素。它与现有元素要相差不多,只是多一些特别的语义。
  • 4+1视图(以用例视图为核心)
  • 分析类
    • 实体类:系统要记录和维护的信息;边界类:系统和外部要素间交互的边界;控制类:Use Case中行为的协调 
    • 图形表示
    • 实体类:描述必须存储的信息,以及与这些信息直接相关的操作;实体类与系统外部环境以及特定Use Case的控制逻辑要弱耦合
    • 边界类:注意这是概念层,不是要做具体界面
    • 控制类:把Use Case特有的行为与系统其他部分(实体类、边界类)隔离开来;实体类和边界类有可能跨越多个Use Case


http://www.ppmy.cn/news/1464694.html

相关文章

Java面试题分享-敏感词替换 java 版本

入职啦最近更新了一些后端笔试、面试题目,大家看看能快速实现吗? 关注 入职啦 微信公众号,每日更新有用的知识,Python,Java,Golang,Rust,javascript 等语言都有 不要再用replaceAll做…

MFC工控项目实例一主菜单制作

1、本项目用在WIN10下安装的vc6.0兼容版实现。创建项目名为SEAL_PRESSURE的MFC对话框。在项目res文件下添加相关256色ico格式图片。 2、项目名称:密封压力试验机 主菜单名称: 系统参数 SYS_DATA 系统测试 SYS_TEST 选择型号 TYP_CHOICE 开始试验 TES_STA…

mysql仿照find_in_set写了一个replace_in_set函数,英文逗号拼接字符串指定替换

开发中使用mysql5.7版本数据库,对于英文逗号拼接的字符串,想要替换其中指定的字符串,找不到数据库函数支持,自己写了一个,实测好用! /*类似find_in_set,按英文逗号拆分字段,找出指定的旧字符串,替换成新字…

第十四届蓝桥杯c++研究生组

A 混乘数字 关键思路是求每个十进制数的数字以及怎么在一个数组中让判断所有的数字次数相等。 求每个十进制的数字 while(n!0){int x n%10;//x获取了n的每一个位数字n/10;}扩展:求二进制的每位数字 (注意:进制转换、1的个数、位运算&#…

字母的大小写转换

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,字符串对象提供了lower()方法和upper()方法进行字母的大小写转换,即可用于将大写字母转换为小写字母或者将小写字…

202474读书笔记|《我自我的田渠归来》——愿你拥有向上的力量,一切的好事都应该有权利发生

202474读书笔记|《我自我的田渠归来》——愿你拥有向上的力量 《我自我的田渠归来》作者张晓风,被称为华语散文温柔的一支笔,她的短文很有味道,角度奇特,温柔慈悲而敏锐。 很幸运遇到了这本书,以她的感受重新认识一些事…

解决vue3 vite打包报Root file specified for compilation问题

解决方法: 修改package.json打包命令 把 "build": "vue-tsc --noEmit && vite build" 修改为 "build": "vite build" 就可以了 另外关于allowJs这个问题,在tsconfig.json文件中配置"allowJs&qu…

vb.net,C#强制结束进程,“优雅”的退出方式

在VB.NET中,Application.Exit()和Environment.Exit(0)都用于结束程序,但它们的使用场景和背后的逻辑略有不同。 **Application.Exit()**: Application.Exit()通常用于Windows Forms应用程序中。当调用Application.Exit()时,它会触…