【设计模式】预备

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41035588/article/details/83473124

一、软件建模概述

什么是建模

任何事情都应该先想清楚了才能做,软件开发亦是如此,不能一上来就写代码,应该知道:要做什么?要做成什么样?怎样去做?
软件设计:把软件开发想清楚的过程
软件工程:对软件开发全过程进行建模与管理
模型:对问题的书面上的无歧义文字图片的描述,简言之,模型就是对实现的简化,通过模型,们可以了解所研究事物的本质。
最杰出的模型:地图
UML:统一建模语言,就是描述模型的语言

建模原则

1.选择建立什么样的模型对于发现和解决问题具有重要影响,正确的建模有助于提高开发者的洞察力(例如盖狗窝加避雷针,毫无意义)
2.每个模型有多种表达的方式,使用者的身份和使用的原因是评判模型好坏的关键。
3.最好的模型总能切合实际,模型是现实 的简化,必须保证简化过程不会掩盖任何重要的细节(在地图找珠穆朗玛峰)

建模的实现过程

1.软件
在这里插入图片描述

UML(工具:StarUML)

1.UML:统一建模语言,是一种基于面向对象的建模语言
2.UML采用一组形象化的图形(类图)符号作为建模语言,使用这些符号可以形象的描述系统的各个方面
3.UML通过建立图形之间的各种关系(如类与类之间的关系)来描述模型

UML中一共有十种图(红得重点)

在这里插入图片描述

【用例图】:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 练习
    在这里插入图片描述
    在这里插入图片描述
【类图】

1.类图是面向对象系统建模中最常用的图,是定义其他图的基础
2.类图主要是用来显示系统中的类,接口以及他们之间的关系
3.类图包含的主要元素有类,接口,和关系,其中关系有泛化(继承),关联,依赖,和实现,在类图中也可以包含注释和约束。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类的实现关系如下图用虚线
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;

class Car
{
public:
	void run()
	{
		cout <<"Car 启动!"<< endl;
	}
};

//如果说张三类有一个成员方法,将Car类当作一个形参或返回值来传递,并且zhangsan没有Car成员,就说zhangsan类依赖于Car,zhangsan类--------->Car类

class Zhangsan
{
public:
	void goWork(Car* car)
	{
		car->run;

	}
	//或者
	Car* fie()
	{}
};
int main()
{
	return 0;
}

在这里插入图片描述
在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;

class Car
{
public:
	void run()
	{
		cout <<"Car 启动!"<< endl;
	}
};
//李四类在gowork() 中用到了另外一个Car方法,并且李四类还有Car成员,就说li4类关联Car类,关联比依赖 更紧密(一个亲儿子,一个假儿子)
class li4
{
public:
	void gowork()
	{
		car.run();
	}
private:
	Car car;
};
int main()
{
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引擎可以是自己的,也可以是别人的
在这里插入图片描述

均是自己的
在这里插入图片描述
在这里插入图片描述

对象图不常用
在这里插入图片描述

【时序图】

在这里插入图片描述
在这里插入图片描述

ATM用户登陆时序图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

泳道
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

协作图,可读性差,同顺序图,可以用顺序图代替

包图主要是java有包

运维要搞部署图如下

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41035588/article/details/83473124