StartUML下载http://staruml.io/



软件的基本使用:创建模型


wKioL1gZ-p2C_PSbAAG-7-7pMmA178.png

wKiom1gZ-p7SJWVKAAJ6pEMI-mU058.png



种类:

wKioL1gZ-p-CQTS5AAIfhdKJ-7o525.png






1,用例图:

wKiom1gZ-qChGsigAAEyO6Qts30459.png

wKioL1gZ-qDQYI_TAAFlwSrc6YM908.png

wKiom1gZ-qGQzVcBAAF5dvGKznk913.png

wKiom1gZ-qKi5ZWZAAGEhRBtSw4948.png

wKioL1gZ-qKgTlFdAAFsSSdE-oo833.png





保存模型:


wKiom1gZ-qOxG9m6AAI1enqHJDk901.png


把保存的文件直接拖到StartUML,可以直接打开该项目



wKioL1gZ-qSzhVugAAHGEGlDMyw862.png



保存为图片:

wKiom1gZ-qXS93czAAI6zpEdfnc689.png

wKioL1gZ-qWD5hMEAADtEzBu2Tk282.png





2,泛化关系图:

wKiom1gZ-t_y-59-AAFYVcaJ6Xg142.png



包含   与    扩展:

wKioL1gZ-xrCOwtOAAFx7Z2t5X8163.png


练习:人事管理系统图:

wKioL1gZ-zTjTofRAAHKITyjKyE716.png


3.对象图:

wKiom1guvQ7SPbfXAANEmekLW8I691.png

wKioL1guvQ-jmsM3AACol3xC5WM527.png

wKioL1guvRDxQ-tuAAOpk-odG9I079.png

wKiom1guvRGhHv71AAGbusrboF4949.png



4,时序图

wKioL1guvS_ye0CNAAEGW33jbZI583.png

wKiom1guvTDRRHNiAAHxzFaOw-k793.png





5,活动图

wKioL1guvUPiSNc1AACMSA4WWdM149.png

wKioL1guvUTycJVTAACZo4Uclew268.png

wKiom1guvUWxeMF-AAHp9J5ftzY601.png

wKiom1guvUXwj5QzAABrHOz1moE283.png




6,状态图



wKioL1guvVbwyM0aAAGraZDy7ps531.png

wKioL1guvViD03ViAAKJD_OoB3Y716.png



7协助图

wKiom1guvWiwU8KfAADWPMbXthU063.png

wKiom1guvWnDJZrhAAF-YqKojwY349.png




类的关联

wKioL1guvXeBHUxeAAEs9fQ8kgA553.png




类的聚合

wKioL1guvYfTI8SRAAGIjao6JEA329.png



类的依赖

chunli@linux:~$ cat main.cpp 
//类的依赖,不需要Car类的成员
//需要Car类型的参数

#include<iostream>

class Car
{
public:
	Car()
	{
	}
	void run()
	{
		std::cout<<"car run ....... "<<std::endl;
	}		
};

class People
{
public:
	People()
	{
	}
	void work(Car *car)
	{
		std::cout<<"开车上班了"<<std::endl;
		car->run();
	}
};

int main()
{
	People	*p1 = new People;
	Car 	*car = new Car;
	p1->work(car);	
	return 0;
}
chunli@linux:~$ g++ main.cpp -Wall && ./a.out 
开车上班了
car run ....... 
chunli@linux:~$



chunli@linux:~$ cat main.cpp 
//类的关联关系

#include<iostream>

class Car
{
public:
	Car()
	{
	}
	void run()
	{
		std::cout<<"car run ....... "<<std::endl;
	}		
};

class People
{
public:
	People()
	{
	}
	void work()
	{
		std::cout<<"开车上班了"<<std::endl;
		this->car.run();
	}
public:
	Car car;
};

int main()
{
	People	*p1 = new People;
	p1->work();	
	return 0;
}
chunli@linux:~$ g++ main.cpp -Wall && ./a.out 
开车上班了
car run ....... 
chunli@linux:~$


类的组合

wKiom1guvc2yy_TfAAGE9tgq72I466.png




练习题:汽车的聚合

wKioL1guvd2SlsqLAAFoa0nuqmk455.png



部署图:

wKioL1guvm7hC8kEAAMAkIokfis034.png