JAVA软件开发流程Word格式文档下载.docx
- 文档编号:15936565
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:36
- 大小:33.85KB
JAVA软件开发流程Word格式文档下载.docx
《JAVA软件开发流程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA软件开发流程Word格式文档下载.docx(36页珍藏版)》请在冰豆网上搜索。
调用(实线+箭头)
用例与角色:
通知(实线+箭头)
用例说明:
1、用例流程图(活动图)说明
开始
结束
状态
处理
判断
分支
泳道
汇集
2、写用例说明文档,其有六大元素
功能描述:
用例的简要描述
参与者:
角色
前置条件:
前提
后置条件:
结果
基本流:
最正常的情况
扩展流:
可能及出错的情况
2、整体设计(20-30%)
1、分析业务流程:
系统功能及复杂用例的流程
bbs
登陆注册
浏览、发新帖、回复
短消息
用户管理
版块管理
帖子管理
2、根据业务流程设计业务实体及类图(体现ooa思想、数据库设计的思想)
讨论区
(1)版块(0..n)
版块
(1)主帖(0..n)
主帖
(1)回帖(0..n)
用户
(1)帖子(主帖、回帖)(0..n)
用户
(1)消息(0..n)
e-r图的的过程
1、外模型:
根据业务找业务实体,与具体技术无关
2、概念模型:
与具体的技术整全在一起
过程:
找实体
接关系
写属性
三级范式:
有主键
完全依赖于主键
不出现传递依赖
类图:
接口
类
继承:
实线+三角
依赖:
虚心+箭头
实现接口:
虚心+三角
关联:
实线+箭头
聚集:
实线+空心菱
组成:
实线+实心菱
3、确定项目的技术框架
框架设计的原则:
上层依赖于下层,尽量减少下层对上层的
依赖,层与层之间通过接口调用。
模式的目的:
提高代码的可扩展、可维护性
模式的原则:
增加开放,修改关闭,面向接口抽象类编程
常用的模式:
最好画图
simplefactory:
简单工厂,有三个角色
工厂:
产生具体产品返回抽象产品
抽象产品:
一个接口或抽象类
具体产品:
具体的实现
增加一个产品时不用修改客户端,只需修改工厂,
如果用了返回,就不用修改工厂,只需修改配置,spring
用的就是返射,是超级工厂。
单例:
整个虚拟机中只有一个实例。
三大特征:
1、私有所构造子
2、私有的静态属性
3、公有的静态方法,对象为空时产生一个新的,
不为空直接返回
代理:
代理与真实对象实现的是同一接口,将真实对象作为代理的属性
向客户端公开的代理,客户端调用代理的方法时,代理找到真实对
象,调用真实对象方法,在调用之前之后通过装备可以提供事务、
日志、安全等服务。
模板:
父类提供抽象方法及具体方法,具体方法调用抽象方法,
抽象方法由子类实现,向客户端公开的子类,客户端通过
父类的具体方法调用子类实现的抽象方法,为子类
提供服务。
装饰:
有三个角色,通用接口,本原,装饰,将通用接口聚集到装饰中,
装饰可以有很多子类,可以将本原或装饰通过构造子注入到另一
个装饰中,将多个装饰的功能随意组合。
轻量级的框架
jsp&
servlet&
dao&
jdbc:
用的model2,速度是最快的,开发效率不高。
M:
facade&
jdbc
C:
serlvet
V:
jsp
通过jsp将请求发给servlet,servlet通过
FacadeFactory产生具体的Facade返回一个IFacade接口,通过IFacade接口
调用Facade的具体方法。
Facade通过dao的抽象工厂产生具体的工厂,通过具体的工厂产生具体的dao,
返回dao接口给业务层。
Facade执行完后将结果返回给servlet,servlet转发到下一个页面。
Servlet用了模板模式可以提供错误处理、事务、页面跳转的服务。
struts&
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
核心类
核配置文件
spring&
hibernate/ibatis:
这是当前最通用、最快速、藕合度最低的开发方式
但也有一个问题spring一切都是返射,速度慢。
struts/hibenate/ibatis要解析xml文件、要大量用到返射,所以速度慢。
一般适合于中小型系统(并发量<
500),大型系统有些不适合需要调整。
struts已是MVC
spring是一个超级工厂,在spring中配置的都是实现类,在代码中得到都是接口。
hibenate/ibatis是o/rMapping
框架结构:
mvc
请求处理过程
在spring中加入bean标签,配置具体的action,通过set方法将Facade代理
注入到action的IFcade接口中。
Facade
在applicationContext.xml配置具体的Facade类,在配置Facade的Aop服务时,
先配置抽象代理AbstractProxy其类是TransactionProxyFactoryBean,说明装备
TransactionManager,说明连接点TransactionAttributes。
再配置具体的
代理,继承于AbstractProxy,通过target指向真实的对象。
通过set方法注入将具体的Dao注入到Facade的Dao接口属性中。
Dao
dao接口
dao的实现extendsHibernateDaoSupport/SqlMapClientSupport
在applicationContext.xml中配置具体的dao,向Facade返回dao接口。
在applicationContext.xml中配置dataSource、sessionFactory,
通过set方法注入将sessionFactory注入到dao实现类中。
ibatis:
在applicationContext.xml中配置dataSource、sqlMapClient,
通过set方法注入将sqlMapClient注入到dao实现类中。
3、详细设计
对于开发能力比较强的团队,可以不做详细设计。
时序图:
作用:
找类、找方法、验证系统的正确性
元素:
纵轴:
时间、对象的生命周期
横轴:
说明对象与对象的交互
4、编码(25-30%)
5、测试(10%)
uml
ooa与ood的区别?
ooa:
面向对象的分析,根据客户的业务找业务实体,与具体的技术无关,客户可以看懂。
ood:
面向对象的设计,是ooa的全集,与具体的技术框架相结合进行设计。
面向过程与面向对象的区别?
面向过程:
1、现实世界是对象,其在分析过程中是对象,
在设计过程不是对象而是方法与方法之间的调用,
容易与现实脱离,容易出错。
2、因为是方法与方法之间的调用,重用性不高,
无法达到宏观层次上的控制。
3、开发难、维护难、可扩展性、重用性差。
面向对象:
在设计过程还是对象
分析设计与现实接近,降低了开发的难度。
2、继承可以让概念在宏观层次重用,当层与层之间通过
接口或抽象类调用时,他们所依赖的不再是具体的实现
细节,而是宏观商业逻辑即接口、抽象类,具体的实现
是可以随时被替换的。
3、技术在不断的更新,但业务变化较少,
业务实体可以很好的重用。
3、开方方便、好维护、好扩展
什么是模型?
现实的浓缩。
模型的作用?
1、便于分析、认识世界
2、便于存档、沟通
3、便于决策。
模型的原则?
1、模型好坏决写系统的成败。
2、与现实越接近说明模型越正确。
3、模型不止一个,而是多个,它从不同的侧面说明现实的世界。
4、根据不同人的需求,模型有不同的实现细节。
九大图形:
贯穿软件开发的所有过程,从需求到整体到详细到开发到测试,
是uml中最重要的图形,在ooa阶段中找业务实体,在ood阶段中
将业务实体与具体技术结合起来设计操作类及实体类
use-case:
是系统分析员与客户沟通的桥梁
时序:
说明在时间点上类与类之间的交互,主要用于整体及详细设计阶段,
作用是找类、找方法、验证系统的正确性
活动图(流程图):
用于需求阶段说明具体业务的流程
协作图:
说明类与类之间的交互,与时序图功能类似,但没有时间的概念,
通过序号说明交互顺序。
状态:
一个对象在不同方法的操作下状态的改变。
对象
方法
构件:
说明组件与组件或层与层之间的依赖关系。
组件
部署:
说明主机与主机之间的关系,找出系统运行的瓶颈。
主机
对象图:
不般不画
活动图作用及元素?
主要用在需求分析阶段,说明某一个用例的业务流程。
元素如下:
处理(动作)
分支:
一个操作转化为多个操作
汇集:
多个操作转化为一个操作
泳道:
说明不同角色所做的工作
软件开发的过程模型:
1、瀑布模型
前一个阶段结束并审核通过后才可以开始下一个阶段
缺:
不灵活、不适合大型、需求模糊的系统
2、螺旋模型:
迭代式,每一次迭代要将软件开发的流程再走一遍。
优:
灵活、适合大型、需求模糊的系统
太灵活无法保证质量
3、统一软件开发流程(rup):
有四大阶段六大流程,每一个阶段
都会执行六大流程。
每一个阶段所执行流程的侧重点不一样。
四大阶段:
启动:
侧重于需求
精化:
设计
构建:
编码
产品化:
部署
六大流程:
业务建模:
找业务实体及业务实体之间的关系
需求:
分析设计
实施:
测试:
4、极限编程(xp):
侧重点:
1、有效的沟通胜过合同谈判
2、高质量的代码胜过面面俱到的文档
3、成对开发
4、迭代
servlet
1、jdbc中的核心类
Class.forName("
com.microsoft."
);
//注册驱动
DriverManager:
得到连接
Connectioncon=DriverManager.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 软件 开发 流程