信息系统开发方法
1 结构化法
- 特点:
- 用户至上
- 严格区分工作阶段
- 强调系统开发过程的整体性和全局性
- 系统开发过程工程化,文档资料标准化
- 自顶而下,逐步分解
- 缺点:一旦开发,流是不灵活的,改变麻烦
2 原型法
3 面对对象法
- 优点:更好的复用性
- 关键:在于建立一个全面,合理,统一的模型
- 适用:分析,设计,实现三个阶段,阶段不明确
4 面对服务法
- so方法三个主要的抽象级别:操作,服务,业务流程
- SOAD的三个层次:
- 基础设计层(底层服务架构)
- 应用结构层(服务之间的接口和服务级协定)
- 业务组织层(业务流程建模和服务流程编排)
- 服务建模:服务发现,服务规约,服务实现三个阶段
软件开发模型
1 瀑布(SDLC)模型: 结构化开发
流程 : 软件计划->需求分析->软件设计->程序编码->软件测试->运行维护
- 缺点:需求不明确的时候,很容易出错
- 适用:适合需求明确的或者是二次开发
2 演化模型:原型法
- 特点:先做一个简易的系统来给客户,接着不断发展
- 适用:只应用需求的前期阶段
3 增量模型:原型法
4 螺旋模型
- 由多个模型组合,也包含原型模型,引入风险分析(特征)
5 v模型
- 特点:细化测试,需求阶段就开始验收测试和系统测试了能提前发现问题
需求分析->概要设计(做集成测试的计划)->详细计划(做单元测试计划)->编码->单元测试->集成测试->系统测试->验收测试
- 和瀑布模型做对比:瀑布模型只有最后一步才开始做测试
6 喷泉模型 是面向对象模型
7 rad:快速构建系统(快速开发模型)
8 构件组装模型(CBSD) rad就有用到
需求分析和定义->软件架构设计 -> 构件库的建立 -> 应用软件构建 ->测试和发布
- 构件标准:CORBA,COM/DCOM/COM+,EJB
- 构件库:构件管理,构件获取
9 统一过程(uo/rup) 不是一次性产出,多次迭代
- 特点:用例驱动(建立用例),以架构为中心
- 迭代与增量:流程之后会多点功能
- 阶段
- 初始阶段
- 确定项目范围和便捷
- 识别系统的关键用例
- 展示系统的候选架构
- 估计项目费用和时间
- 评估风险
- 细化阶段
- 构建阶段
- 交付阶段
- 制作发布版本
- 进行β测试(用户体验)
- 用户文档定稿
- 确认新系统
- 培训,调整产品
10 敏捷开发方法
- 类型: 自适应开发,水晶方法,特征驱动开发,SCRUM,极限编程
- 四大价值观:沟通,简单,反馈,勇气
- 五大原则:快速反馈,简单性假设,逐步修改,提倡更改,优质工作
- 基本原则:短平快的会议,小型版本发布,较少的文档,合作为主,客户直接参与,自动化测试,适应性计划调整,结对编程,测试驱动开发,持续基础,重构
- 最佳实践:计划游戏,小型发布,隐喻,简单设计,测试先行,重构,结对编程,集体代码所有制,持续集成,现场客户,编码标准,工作40h/周