赞
踩
软件工程产生之前的软件开发——作坊式的个人创作:聚焦于编写代码;依靠个体技能,缺乏合作;关注时空利用,精雕细琢;程序规模小且功能单一;无系统性方法和标准流程
瀑布模型的局限性:
软件需求具有易变多变的特点,而瀑布模型需求确定,过于理想化,缺乏变通,难应对变化;软件开发处于动荡之中;需等到所有功能实现后,才能得到可运行软件
瀑布模型的适用场景:
瀑布模型的各个过程介绍:
改进的瀑布模型:带反馈和回溯
增量模型的局限性:
增量模型应用举例:(理解:每个增量对应一个新的软件功能)
增量模型的适用范围:
迭代模型的特点:
迭代模型的局限性:
原型模型的特点:(理解:感觉相比瀑布模型,就是事先多了一个样品可供客户参考)
原型模型的优缺点:
螺旋模型不仅是针对需求难以确定的应用,同时也是重点关注了开发的风险
具有原型特性的模型有:原型模型、迭代模型、螺旋模型
传统软件过程模型指哪些:以文档为中心的重型软件开发方法,非常笨重
敏捷开发方法产生的背景:
敏捷开发方法的特点:适应而非预测
敏捷开发方法的定义:
敏捷开发方法的基本观点:
敏捷开发方法体现的思想:
敏捷准则:
对敏捷的常见误解:
敏捷软件开发对技术提出的要求
12条核心准则:
- 如何理解重构?
传统软件工程的一个基本原则是应该在设计中考虑未来的变更,因为这会减少未来变化带来的成本。极限编程(XP)摒弃这一原则,认为无法可靠地预测变化,XP主张持续的代码改进(重构)以使得变化更容易实现- 什么是重构?
重构是对软件内部结构的一种调整,目的是在不改变外部行为的前提下,提高其可理解性,降低其修改成本。- 重构技巧
- 重新组织你的函数
- 在对象之间搬移特性
- 重新组织数据
- 简化条件表达式
- 简化函数调用
- 处理概括关系
- 何时重构?
- 添加新功能时一并重构:为了增加一个新的功能,程序员需要首先读懂现有的代码。
- 修补错误时一并重构:为了修复一个Bug, 程序员需要读懂现有的代码。
- 代码评审时一并重构
- 何时不该重构?
- 代码太混乱,设计完全错误。与其重构,不如重写。
- 明天是DeadLine:永远不要做 Last-Minute-Change
- 重构的工作量显著影响最后期限:推迟重构,作为新任务或下次迭代中完成
测试是XP的核心,XP 测试的特性:
基本思想:先编写测试,再进行开发
过程:
特点:
基本思想:
流程:
Scrum方法的组成:
理解:个人智慧+工程管理
基于团队软件开发方法的特点:(理解:这个应该不属于群体化开发方法,是与群体化开发方法对立的)
支持群体化开发的互联网平台:Github(国际)和Gitee(国内)
互联网平台提供的群体化开发支持:提出需求创意、发现软件缺陷、提交程序代码、标注开发任务、讨论软件需求、评审代码质量等等
群体化软件开发方法的特点:
有哪些是轻量级的软件开发方法:敏捷开发方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。