软件构造复习

软件构造

第1章 软件开发概述

1.3.1 瀑布式开发过程

基本活动:

  1. 制定计划
  2. 需求分析
  3. 软件设计
  4. 程序编写
  5. 软件测试
  6. 运行维护

问题:

  1. 阶段划分僵硬,每个阶段不能缺省,而且产生大量文档,增加了工作量;
  2. 开发是线性的,只有等到整个过程的末期才能见到开发成果—可运行软件,不利于快速响应变化的需求;
  3. 早期的错误要等到开发后期的测试阶段才能发现,可能带来严重的后果,增加了开发的风险。

1.4 敏捷开发

1.4.1 敏捷开发的价值观
  1. 个体和互动胜过流程和工具
  2. 工作的软件胜过详尽的文档
  3. 客户合作胜过合同谈判
  4. 响应变化胜过遵循计划

意图导向编程优点

  • 更加内聚(职责单一)
  • 更加可读和清晰
  • 更易于调试
  • 更易于重构和优化
  • 更易于单元测试
  • 更易于维护
  • 创建的方法更容易从一个类移动到另一个类
  • 更容易应用设计模式

1.5 软件构造

软件构造指的是通过编码、验证、单元测试、集成测试和调试的组合,详细地创建可工作的、有意义的软件。

第2章 模块化软件构造

2.5.1 缺陷的相关术语
  • 致命的(Fatal) :致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。
  • 严重的(Critical):严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。
  • 一般的(Major):不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。
  • 微小的(Minor):一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等。

第3章 面向对象的软件构造

3.7.3 面向对象的设计原则
  1. 单一职责原则
  2. 开放封闭原则
  3. 依赖倒转原则
  4. 里氏代换原则
  5. 接口隔离原则

第4章 数据处理的软件构造

4.3.2 使用断言

使用断言的一些建议

  • 对预计出现的条件使用错误处理,对不应当出现的条件使用断言。错误处理用于检查不合理的输入数据;断言则用于检查代码中的错误。
  • 避免在断言中放置可执行的代码。因为关闭断言后,编译器可能会删除这些代码。
  • 用断言来记录和验证前置条件和后置条件。这样,每个模块都和其余的程序形成了契约。它是契约式编程的重要组成。也可以用注释来记录前置条件和后置条件。但是,断言还可以动态检查这些条件是否满足。
  • 对健壮性要求非常高的程序使用断言和错误处理。一般情况下只建议使用其中的一种。
4.7.4 JUnit的断言

断言assertEquals

第5章 用户交互的软件构造

5.4 静态测试

  • 桌面检查
  • 代码走查
  • 正式审查
  • 同行评审
  • 检查表
  • 静态程序分析

第6章 软件重构与交付

6.1.2 代码重构概述
重构的主要原因:
  1. 改进软件设计
  2. 使软件更容易理解
  3. 有助于查找错误

第7章 GUI软件构造

第8章 应用数据库

第9章 基于复用的软件构造

9.3 框架

框架在软件开发中的特点:

  • 应用领域内的软件结构一致性好,便于建立更加开放的系统;
  • 复用代码大大增加,软件生产效率和质量也得到了提高;
  • 软件设计人员要专注于对领域的了解,使需求分析更充分;
  • 存储了经验,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程;
  • 允许采用快速原型技术;
  • 有利于在一个项目内多人协同工作;
  • 大粒度的复用有助于降低开发和维护费用、加快开发速度、提高软件生产效率、提高产品质量,而参数化框架使得适应性、灵活性增强。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值