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

📄 项目.txt

📁 Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,还有些面试题
💻 TXT
字号:
项目:
	1、软件开发的过程:在面试时说明自己参与了某个项目的某个模块从需求到
			  设计到开发的所有过程。
		1、需求分析(25-30%):一定客户签字认可,在合同要说明验收时以需求说明书的内容为准,
			  若有改动,需与商务另行商议。
			成果:
				需求说明书,具体内容如下:
					demo(界面原型):需求的可视化
					需求特征列表:简要的说明系统的功能,确定优先级及风险度
					用例图:说明系统整体的功能
					用例说明:
						1、用流程图(活动图)说明
						2、写用例说明文档,其有六大元素
							功能描述
							参与者
							前置条件
							后置条件
							基本流
							扩展流									
		2、整体设计(20-30%)
			1、分析业务流程
				bbs
					登陆注册
					浏览、发新帖、回复
					短消息
					用户管理
					版块管理
					帖子管理
			2、根据业务设计业务实体
				讨论区(1)	版块(0..n)
				版块(1)		主帖(0..n)
				主帖(1)		回帖(0..n)
				用户(1)		帖子(主帖、回帖)(0..n)
				用户(1)		消息(0..n)				
			3、确定项目的技术框架
				框架设计的原则:上层依赖于下层,尽量减少下层对上层的
					依赖,层与层之间通过接口调用。
				轻量级的框架
					jsp&servlet&dao&jdbc:用的model2,速度是最快的,开发效率不高。
						M:
							facade&dao&jdbc
						C:
							serlvet
						V:
							jsp
						通过jsp将请求发给servlet,servlet通过
						FacadeFactory产生具体的Facade返回一个IFacade接口,通过IFacade接口
						调用Facade的具体方法。
						Facade通过dao的抽象工厂产生具体的工厂,通过具体的工厂产生具体的dao,
						返回dao接口给业务层。
						Facade执行完后将结果返回给servlet,servlet转发到下一个页面。
						Servlet用了模板模式可以提供错误处理、事务、页面跳转的服务。
					struts&dao&hibernate:速度较快,因为我们要自己实现工厂,但并不是所有的一切
						都是返射,相对spring来说速度更快一些。
						struts:
							mvc,请求处理过程
							用一个模块模式提供通用错误、事务、跳转服务。
							将IFacade接口作业其属性,通过FacadeFactory工厂产生具体的Facade
								返回一个Facade接口。
						facade
							IFacade接口
							Facade实现类
							FacadeFactory:facade工厂
							dao接口作为Facade的属性,通过AbstractFactory调用具体的DaoFactory
							产生具体的dao实例,返回dao接口。
						dao:
							dao
							daoImpl
							DaoFactory:产生daoImpl实例,返回dao接口
							AbstractFactory:通过返射、工厂、单例产生具体的DaoFactory,返回
								AbstractFactroy
						hibernate
							核心类
							核配置文件
					struts&spring&hibernate/ibatis:这是当前最通用、最快速、藕合度最低的开发方式
						但也有一个问题spring一切都是返射,速度慢。
						struts/hibenate/ibatis要解析xml文件、要大量用到返射,所以速度慢。
						一般适合于中小型系统(500),大型系统有些不适合需要调整。
						struts已是MVC
						spring是一个超级工厂,在spring中配置的都是实现类,在代码中得到都是接口。						
						hibenate/ibatis是o/r Mapping
						框架结构:
						struts:
							mvc
							请求处理过程
							在spring中加入bean标签,配置具体的action,通过set方法将Facade代理
							注入到action的IFcade接口中。
						Facade
							IFacade接口
							Facade实现类
							在applicationContext.xml配置具体的Facade类,在配置Facade的Aop服务时,
							先配置抽象代理AbstractProxy其是TransactionProxyFactoryBean,说明装备
							TransactionManager,说明连接点TransactionAttributes。再配置具体的
							代理,继承于AbstractProxy,指向真实的对象。通过set方法注入将具体的
							Dao注入到Facade的Dao接口属性中。						
						Dao
							dao接口
							dao的实现 extends HibernateDaoSupport/SqlMapClientSupport
							在applicationContext.xml中配置具体的dao,向Facade返回dao接口。
						hibernate
							在applicationContext.xml中配置dataSource、sessionFactory,
							通过set方法注入将sessionFactory注入到dao实现类中。
						ibatis:		
							在applicationContext.xml中配置dataSource、sqlMapClient,
							通过set方法注入将sqlMapClient注入到dao实现类中。
		3、详细设计
			对于开发能力比较强的团队,可以不做详细设计。
		4、编码(25-30%)			
		5、测试(10%)
	2、ooa与ood的区别
		ooa:面向对象的分析,根据客户的业务找业务实体,与具体的技术无关,客户可以看懂。
		ood:面向对象的设计,是ooa的全集,与具体的技术框架相结合进行设计。
	3、面向过程与面向对象的区别
		面向过程:
			1、现实世界是对象,其在分析过程中是对象,
			   在设计过程不是对象而是方法与方法之间的调用,
			   容易与现实脱离,容易出错。
			2、因为是方法与方法之间的调用,重用性不高,
			   无法达到宏观层次上的控制。
			3、开发难、维护难、可扩展性差。
		面向对象:			
			1、现实世界是对象,其在分析过程中是对象,
			   在设计过程还是对象
			   分析设计与现实接近,降低了开发的难度。
			2、继承可以让概念在宏观层次重用,当层与层之间通过
			   接口或抽象类调用时,他们所依赖的不再是具体的实现
			   细节,而是宏观商业逻辑即接口、抽象类,具体的实现
			   是可以随时被替换的。
			3、开方方便、好维护、好扩展
	4、什么是模型
		现实的浓缩。
	5、模型的作用
		1、便于分析、认识世界
		2、便于存档、沟通
		3、便于决策。
	6、模型的原则
		1、模型好坏决写系统的成败。
		2、与现实越接近说明模型越正确。
		3、模型不止一个,而是多个,它从不同的侧面说明现实的世界。
		4、根据不同人的需求,模型有不同的实现细节。
	7、活动图:
		主要用在需求分析阶段,说明某一个用例的业务流程。
		元素如下:
			开始
			结束
			状态
			处理(动作)
			判断
			分支
			汇集
			泳道:说明不同角色所做的工作。
	8、类图
	9、use-case图
	10、时序图:在给定的时间内,对象与对象的之间交互
		   应用在详细设计阶段,通过类与类之间的交互
		   找类、找方法、验证系统的正确性。
		元素:
			横轴:
				类与类之间的交互
			纵轴:
				时间
	

⌨️ 快捷键说明

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