软件工程
- 信息系统的生命周期
- 立项阶段:做还是不做,企业全局,形成概念,需求分析
- 开发阶段:
- 运维阶段
- 消亡阶段
- 系统规划:系统设计任务书
- 系统分析:系统需求规格说明书,软件需求规格说明书,确认测试计划,系统测试计划,初步的用户手册
- 系统设计:架构设计文档,概要设计说明书,详细设计说明书
- 系统实施:单元测试
- 系统验收:确认报告
- 软件开发模型:
- 瀑布模型:需求明确
- 演化模型:
- 增量模型:一块一块增加,先做核心
- 螺旋模型:原型为基础,瀑布原理,风险分析
- 快速原型:需求不明确,可以只有界面,可以用来了解用户需求,需求分析阶段,抛弃型原型
- 喷泉模型:面向对象的模型
- V模型:偏向测试的模型,测试贯穿始终
- 迭代模型:
- 统一过程:大型系统开发,用例驱动,以架构为中心,迭代和增量
- 初始阶段:确定项目范围和边界 识别系统关键用例
- 细化阶段:建立软件架构基础
- 构建阶段:开发剩余的构件 构件组装与测试
- 交付阶段:进行β测试 制作发布版本
- 快速应用开发:基于构建开发和瀑布模型的结合体
- 构建组装模型:
- 敏捷方法:
- 自适应开发
- 水晶方法:最少的纪律约束
- 特性驱动开发
- 极限编程:
- 4大价值观:沟通,简单,反馈,勇气
- 5大原则:快速反馈,简单性假设,逐步修改,提倡更改,优质工作
- 12大最佳实践:计划游戏 小型发布 隐喻 简单设计 测试先行 重构 结对编程 集体代码所有制 持续集成 每周工作40小时 现场客户 编码标准
- 逆向工程:最终成果反推设计需求
- 净室软件工程:
- 净室:无尘
- 使用盒结构规约(形式化方法)