⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uml.txt

📁 Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,还有些面试题
💻 TXT
字号:
一、uml中的九大图形及作用特点?
	类图:贯穿整个软件开发的所有过程,在ooa阶段找业务实体,在ood阶段
	     将业务实体与技术框架结合在一起进行设计,是uml最重要一个模型。
	     元素:
	     	接口
	     关系:
	     	操作类:
		     	实现接口:用虚线+三角 HibernateUserDaoImpl实现UserDao接口
		     	继承:实线+三角 InsertAction继承于BaseAction
		     	依赖:虚线+箭头,一方调用另一方,action调用facade接口
	     	实体类:
		     	关联:实线+箭头,通过一方可以找到另一方
		     	聚集:主体消失,从体有价值,用实线+空心菱形表示
		     	组成:主体消失,从体无价值,用实线+实心菱形表示
	use-case图:主要做业务需求,是系统分析人员与客户沟通的桥梁。
		元素:
			用例
			角色
			系统边界:整个系统的功能。
		关系:
			角色与角色:泛化
			用例与用例:
				扩展:可用可不用.---extend-->
				包含:必须调用。 ---include-->
			角色与用例:调用
			用例与角色:通知
	时序:用在整体设计及详细设计阶段,主要是找类、找方法、验证系统的正确性。
		说明在时间的范围内类与类之间的交互。
		元素:
			横轴:对象及对象与对象之间的交互
			纵轴:时间
	活动:在需求分析阶段,说明具体用例的业务流程。
		元素:
			开始
			结束
			状态
			处理
			判断
			汇集
			分支
			泳道:确定某一角色做什么工作。
	协作:类与类之间的交互,与时序图功能类似,但没有时间的概念,
	     通过序号说明交互的先后顺序。
	构件:说明组件与组件或层与层之间的交互。
		
	部署:主要用在分布式系统中,说明各主机之间的关系,
	     找出系统运行的瓶颈。一个主机就是一个节点。
四、use-case图的作用
	是与客房沟通的桥梁,主要是做需求
五、use-case图的元素
	用例
	角色	
六、use-case图的关系
	角色与角色:继承(实线+三角)
	角色与用例:调用(实线+箭头)
	用例与角色:通知(实线+箭头)
	用例与用例:
		包括:必须调用(虚线+箭头   -----include----->)
		扩展:可用可不用(虚线+箭头 ------extend----->)
二、类的分类
	pojo:pure old java object 只继承于Object
	poji:pure old java interface 没有任何父接口
	操作类
		Facade
		HibernateUserDaoImpl
	实体类
		po:persistent Object hibernate中处于持久状态的对象
		vo:
			value Object:值对象,hibernate中处于自由或游离状态的对象
			view object:视图对象,ActionForm
		dto:data translate object 数据传输对象
用例图:
	作用:是客户与系统分析人员之间沟通的桥梁,主要是做需要求。
	元素:
		用例:系统的一个功能
		角色:系统的参与者,参与者可以是一个人,也可以是一个物。
		系统边界:当用例与角色和在一起时就时系统的所有功能。即系统边界
	关系:
		用例与用例:
			1、包含:必须调用,用虚线+箭头表示(---include--->)
			2、扩展:可用可不用,用虚线箭头表示(---extend--->)
		角色与用例:
			1、调用:用实线+箭头表示
		用例与角色:
			2、通知:用实线+箭头表示
		角色与角色:
			泛化(继承):父角具有功能子角色也具体,用实线+三角表示

七、类图中元素及关系,关系的图形符号?
	元素:
		接口
	关系:
		继承:子类继承于父类,具有父类的所有属性及方法,子类可以覆盖父类的方法。
			用(实线+三角)表示
		实现接口:实现类必须实现接口的所有方法。
			用(虚线+三角)表示
		依赖:调用关系,action依赖于facade(老板与员工)
			虚线+箭头表示
		关联:一方可以找到另一方,通过箭头表示,如果没箭头
			代表双向。要想找到另一方,必须将另一方作为当
			前对象的属性。(邻居)
		聚集:意义上比关联更强,代码与关联类似,主体消失从体有价值。
			用(实线+空心菱形)表示(一家人、电脑)
		组成:意义上比聚集更强,代码与关联类似,主体消失从体没有价值。
			用(实线+实心菱形)表示(一家人中一个个体)			
		关联、聚集、组成主要用于业务实体类,一般也就是一个表。		
		实现接口、依赖主要用于框架结构
		通过上面可知一个架构师需要两方面的能力
			1、业务建模:根据业务需求找业务实体
			2、技术框架:确定所用技术框架及模式
类图中的元素:
	接口
类图中的关系:
	实现接口(虚线+三角)表示
		public interface IFacade
		{
			public void insertUsers(Connection con,Users user) throws Exception;
		}
		public class Facade implements IFacade
		{
			public void insertUsers(Connection con,Users user) throws Exception
			{
			
			}
		}
	继承(实现+三角)
		public abstract class BaseServlet extends HttpServlet
		{
			private IFacade facade=null;
			public void doGet(HttpServletRequest request,HttpServletResponse response) throws Exception
			{
				doPost(request,response);
			}
			public void doPost(HttpServletRequest request,HttpServletResponse response) throws Exception
			{
				this.facade=FacadeFactory.getFacade();
				String resultPage=this.process(con,request,response);
				request.getRequestDispatch(resultPage).forward(request,response);
			}			
			public abstract String  process(Connection con,HttpServletRequest request,HttpServletResponse response) throws Exception;		
		}
		public class InsertServlet extends BaseServlet
		{
			public String  process(Connection con,HttpServletRequest request,HttpServletResponse response) throws Exception
			{
				this.getFacade.insert(users);
				return "success.jsp";
			}
		}
	依赖(虚线+箭头)
	    InsertServlet------->IFacade
	关联:一方可以找到另一方,必须将另一方作当为当前方的属性(实线+箭头)相当表邻居
		public class Customer
		{
			private String customerName;
			private String sex;
			private Set<Buy> buies;
			public Set getBuies()
			{
				return this.buies;
			}
			public void setBuies(Set buies)
			{
				this.buies=buies;
			}
		}
		public class Buy
		{
			private int buyID;
			private Customer customer;
			public Customer getCustomer()
			{
				return this.customer;
			}
			public void setCustomer(Customer customer)
			{
				this.customer=customer;
			}
		}
	聚集:代码的实现与关联一样,但主与从的关系更紧密,相当电脑(主机、主版、cpu、键盘)或一家人
	     主体消失,从体有创值,用实现+空心菱形表式
	     public class Customer
		{
			private String customerName;
			private String sex;
			private Set<Buy> buies;
			public Set getBuies()
			{
				return this.buies;
			}
			public void setBuies(Set buies)
			{
				this.buies=buies;
			}
		}
		public class Buy
		{
			private int buyID;
			private Customer customer;
			public Customer getCustomer()
			{
				return this.customer;
			}
			public void setCustomer(Customer customer)
			{
				this.customer=customer;
			}
		}
	组成:代码的实现与关联、聚集一样,但主与从的关系比聚集更紧密,相当于一个人
	     主体消失,从体无创值,用实现+实心菱形表式
	     public class Customer
		{
			private String customerName;
			private String sex;
			private Set<Buy> buies;
			public Set getBuies()
			{
				return this.buies;
			}
			public void setBuies(Set buies)
			{
				this.buies=buies;
			}
		}
		public class Buy
		{
			private int buyID;
			private Customer customer;
			public Customer getCustomer()
			{
				return this.customer;
			}
			public void setCustomer(Customer customer)
			{
				this.customer=customer;
			}
		}
	 
		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -