软件的生命周期
1) 需求分析(需求分析师)
原始需求- > 抽取业务模型 功能分析-> 功能流转-> 美工设计
2) 需求设计(系统分析师/架构师/资深开发人员)
概要设计:
1 设计实体 抽取实体:业务模型 -> 实体模型(java 类、 c++类)
2 设计数据库 业务模型/实体模型 -> 数据模型
详细设计: 类详细,属性和方法
3 设计涉及的接口
DAO接口(数据访问对象):实体对象的CRUD方法。项目原则: 通常一个实体对象就会对应一个DAO接口和一个DAO实现类
4 设计项目的目录结构
3) 编码实现(软件开发工程师)
开发顺序:设计数据库-> 实体 -> DAO接口-> DAO实现-> Servlet+html页面
4) 功能测试(测试工程师)
5) 性能测试(测试工程师)
6) 部署上线(实施工程师)
7) 维护阶段(实施工程师)
螺旋开发模式:
适合于项目前期部分需求不确定的情况, 对于每一个模块一个个开发:分析、设计、编码、测试、上线;
好处: 降低软件风险! (做出的产品要尽量满足客户需求!)
瀑布模式:
先进行所有模块的需求分析,当分析结束后,才进入项目下一个阶段, 即设计、编码、测试、上线;
好处: 更容易进行项目把控,即项目质量控制!
JavaBean
JavaBean(咖啡豆), JavaBean是一种开发规范,可以说是一种技术
一个普通的java类只有符合以下规定才能称之为javabean:
- 必须提供无参数的构造方法
- 类中属性都必须私有化(private)
- 该类提供公开的getter 和 setter方法。(注意:setter方法要传入参数。boolean类型的get方法名称叫 isXXX()方法!)
作用: 用于封装数据,保存数据。访问javabean只能使用getter和setter方法
JavaBean的使用场景:
- 项目中用到实体对象(entity)符合javabean规范
- EL表达式访问对象属性。${student.name} 调用getName()方法,符合javabean规范。
- jsp标签中的属性赋值。 setNum(Integer num)。符合javabean规范。
- jsp页面中使用javabean。符合javabean规范
MVC开发模式+三层结构
在web项目中涉及到的逻辑:
- 接收参数
- 处理业务逻辑,返回结果
- 显示数据到浏览器
- 跳转到其他页面
三层结构:
数据访问层(DAL)dao层:和数据访问相关的操作(CURD方法 )
业务逻辑层(BLL)service层: 和业务逻辑相关的操作(处理逻辑+调用CURD方法 )
表现层(UI)web层: 展现给用户的界面,和用户直接交互相关的操作(传接参数,跳转页面)
MVC开发模式:
Model - JavaBean实现。用于封装业务数据
View - Jsp实现。用于显示数据
Controller- servlet实现。用于控制model和view(接受参数,调用业务逻辑,跳转视图)
区别联系:
MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。
三层是基于业务逻辑来分的,而MVC是基于页面来分的
web开发模式
一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean(MVC)模式
servlet+jsp模式:
servlet:
- 接收参数
- 处理业务逻辑
- 把结果保存到域对象中
- 跳转到jsp页面
Jsp:
- 从域对象取出数据
- 把数据显示到浏览器
servlet的数据 -> jsp页面:List<Contact> 使用域对象共享数据
MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。