一、关于软件工程
1.软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件学科。
软件工程 = 技术+管理
2.软件过程为一个为建造高质量软件所需完成的任务的框架,即形成软件产品的一些列步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。
软件工程三要素 = 过程+方法+工具
软件工程是目标,软件过程是步骤,方法和工具是辅助。
3.软件过程常用模型:瀑布模型、RUP、Scrum敏捷开发、ICONIX
4.瀑布模型:
优点:为项目提供了按阶段划分的检查点;当前一阶段完成后,只需关注后续阶段。
缺点:各个阶段之间极少反馈;只有在项目生命周期的后期才能看到结果;通过过多的强制完成日期和里程碑来跟踪各个项目阶段;不适应用户需求变化
5.(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
二、敏捷开发
1.敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
2.敏捷开发特点:适应性(非预设性)、面向人(非面向过程) “以人为核心”
3.敏捷宣言:
个人和互动高于流程和工具
工作软件高于理解文档
客户协作高于合同协商
变化响应高于计划遵循
4.Scrum活动:Sprint计划会议、每日例会、Sprint评审会议、Sprint回顾会议