快速软件开发——软件开发基本原则

管理原则

  • 项目估算和进程安排。项目开始前需要先制定项目进度表:首先要估算项目规模大小,然后估算实现这些规模要付出的代价,最后基于这种估算制定项目进度计划。
  • 计划编制
    • 项目估算和时间进度
    • 确定项目需要多少人参与、需要什么样的技能、何时加入以及具体人选
    • 确定项目组运作方式
    • 确定项目采用的生命周期模型
    • 管理风险
    • 确定项目策略,例如:如何控制产品的特色,是否需要购买或自建部分产品
  • 跟踪。指定计划后,要时刻跟踪检查它是否在按计划进行,包括对进度、费用和质量等目标的检查
  • 度量。收集团队以往开发基准数据来分析软件质量和生产率。

技术的基本原则

  • 需求管理。正确的把需求摆在首位,比被动地这样做所花的时间要少50~200倍。需求管理的基础:
    • 需求分析方法,包括结构分析、数据结构分析和面向对象分析
    • 系统建模实践,如类图表、数据流图表、实体关系图表、数据字典符号和状态跃变图表
    • 沟通实践,如联合应用开发、用户界面原型、常规会谈实践等
    • 需求管理和其他生命期类型的关系,如渐进原型、阶段交付、螺旋型、瀑布型和编码修正
  • 设计。模块化和信息隐匿的思想是设计的基本原则。体系架构和设计的基本原则包括以下方面:
    • 主要设计风格,如对象设计、结构化设计和数据结构设计
    • 基础设计概念,如信息隐匿、模块化、抽象、封装、聚合、耦合、层次、继承、多态、基本算法和基本数据结构
    • 对具有典型挑战性事件的标准设计,包括异常处理、国际化和本地化、便携性、字串存储、输入/输出、内存管理、数据存储、浮点运算、数据库设计、性能和复用
    • 对特殊领域应用程序设计的独有考虑,特殊领域包括财务应用、科学应用、嵌入式系统、实时系统、安全性要求高的软件等
    • 架构安排,如子系统组织、分层结构、子系统通信方式和典型的系统架构
    • 设计工具的使用
  • 构建。当开始构建时,项目成功与否大多就已经注定了。拙略的构建会给你带来细微的错误,让你花费几天或者几星期才能发现和修复他。构建的基本原则:
    • 编码实践(包括变量和函数命名、版面布局和文档)
    • 数据相关概念(包括作用范围、持续和捆绑时间)
    • 特定数据类型的使用方针(包括通用的数字、整数、浮点数、字符、字符串、布尔值、枚举类型、有名常数、数组和指针)
    • 控制相关的概念(包括组织整齐的代码、条件的使用、循环的控制、布尔表达式的使用、复杂度的控制、不寻常的控制结构的使用和递归调用过程)
    • 断言和其他以代码为核心的错误检测实践方法
    • 对例程、模块、类和文件代码打包的规则
    • 单元测试和调试的实践
    • 与所使用的特定编程语言相关的其他事情
    • 使用构建工具(包括编程环境,群组工作支持,如电子邮件和源代码控制,代码库和代码生成器,IDE等)
  • 软件配置(SCM)。使项目在全程中保持一致的状态。SCM包括评估变更、跟踪变更、处理多版本、以及在不同时间保持项目成果的备份等实践。SCM有时以损害项目效率的方式执行着,但如果你想得到最快的开发速度,这是必要的。在大型项目中,缺乏配置管理就是在走一条危险的不归之路。

质量保证的基本原则

当软件产品有太多的错误时,开发人员修补它花费的时间可能比编写它所花的时间还多。远离错误的关键就是从第一天开始就注意实行质量保证的基本原则。在过大的时间压力下发布的产品,其错误率是正常情况下的4倍。质量有问题的项目经常是在艰苦地工作,关注质量被认为有些奢侈,但其结果却是项目大多进展迟缓,并陷入更深的进度问题中。
- 易错模块。如果开发速度很重要,那么需要鉴别出哪些是易错模块并将其优先处理。
- 测试。包括单元测试和系统测试。平衡测试和快速开发的最佳办法是在坏消息出现之前做好计划——设计对坏消息的测试,尽早地发现问题。
- 技术回顾。技术回顾是对测试很有用和重要的补充。未被发现的漏洞存在的时间越长,修复的时间就越长。技术回顾包括:走查、代码阅读和检查(程度越来越正式与严格)。

按照指导来做

迈克尔·乔丹说过:“做事的方法有对错。你可能每天练习8小时投篮,但是如果你的投篮技术动作是错误的,那么,你将成为一个擅长错误动作的投篮人。不论做什么事,掌握好基本功,你的水平就会提高。”开发软件和打篮球是一个道理,就是要掌握“基本功”。如果你给狗窝刷油漆,不按油漆说明书来也没什么,但是如果你在给波音747刷油漆,不看说明书可就严重地多。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值