【复习笔记】软件工程概论复习(0)

【复习笔记】软件工程概论复习(0)

本文大多数论述引自《软件工程 实践者的研究方法》

软件

软件是产品。
软件显示了由计算机硬件体现的计算能力。
软件是指令、数据结构、软件描述信息(文档)的集合

软件特性

软件不会磨损
软件是开发(develop)的
软件是根据需求定制的
软件是复杂的

软件退化

软件面临变更,每次变更都可能引入新的错误,使得软件失效率陡然上升。不断地变更就是软件退化的原因。

软件危机

  1. 第一次软件危机(1945-1968)
    表现:软件生产效率低下,成本高,质量差,难以维护
    原因:手工作坊模式code and fix,软件理论体系和开发管理不完善。
    结果:软件工程理论体系形成
  2. 第二次软件危机(1968-2001)
    表现:产品有错,低质量,延迟,效率低,违约现象严重
    原因:认为需求可以在软件编写前充分了解,软件开发黑盒模式
    结果:软件开发白盒模式出现,允许项目变更
  3. 第三次软件危机(2001-now)
    表现:变更/演化/重用。知识产权问题。软件安全问题。
    根源:遗产系统的重用。开源软件/代码的使用。动态的需求。
    结果:软件智能化。自主软件(浑源/开源/闭源)标准。

软件工程

软件工程是(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护;(2)对(1)中所述方法的研究。

四个层次(左低右高):质量关注点->过程->方法->工具

软件过程

软件过程是软件工程的基础
软件过程是工作产品构建是所执行的一些列活动、动作和任务的集合。
活动(activity)是指实现宽泛的目标,例如完成需求
动作(action)是指包含了主要工作产品的生产过程。例如用例建模
任务(task)关注小而明确的目标。如单元测试。

过程框架

  1. 通用框架活动(fragment activities)
    • 沟通
    • 策划
    • 建模
    • 构建
    • 部署
  2. 普适性活动(unbrella activities)
    • 软件项目跟踪
    • 风险管理
    • 软件质量保证
    • 技术评审
    • 测量
    • 软件配置管理
    • 复用管理
    • 工作产品的准备和生产

软件生存周期

软件生存周期(SDLC,Systems Development Life Cycle)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段

软件过程模型

  • 瀑布模型
  • V模型
  • 增量模型
  • 演化模型
  • 螺旋模型
  • 喷泉模型
  • UP模型

每个模型的详细解释就不写了

敏捷开发

敏捷开发宣言:

  • 个体和交互 胜过 过程和工具
  • 可以工作的软件 胜过 面面俱到的文档
  • 客户合作 胜过 合同谈判
  • 响应变化 胜过 遵循计划
    虽然右项也有价值,但是我们认为左项具有更大的价值

极限编程 XP

极限是敏捷过程中最常见的模型

  • 策划 策划产生一系列"用户故事"(user stories),XP团队成员评估每一个故事并给出成本
  • 设计 设计严格遵守KIP原则(keep it simple) CRC卡作为XP过程的唯一工作产品,建立spike sulutions,鼓励重构
  • 编码 先开发一系列用于检测本次增量发布实验的所有故事的单元测试,再针对单元测试进行编码,鼓励结对编程。
  • 测试 单元测试纳入日常活动,推行客户验收测试

重构

重构是指不改变代码外部行为而改进其内部结构的过程

转载于:https://www.cnblogs.com/QEStack/p/8168394.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值