代码大全2第一章 打好基础

一个理想的软件项目在进行构建之前,都要经过谨慎的需求分析和架构设计。在构建完成之后,也要经历全面的、统计意义上受控制的系统测试。然而现实中不那么完美的软件项目,往往跳过了需求和设计的阶段直接跃入构建环节,之后又因为有太多的错误要修正而时间又不够,导致测试环节被抛到一边。但是构建活动又是唯一一项不可或缺的环节,所以对构建活动进行改进,是改进软件开发过程的一种有效途径。

把开发过程与其他自己熟悉的活动联系,可以帮助你更好的理解,这就是隐喻,也是面向对象思想中的对象抽象,相对于不善于运用隐喻的人来说,那些使用隐喻来照亮自己的软件开发过程的人,他对编程的理解会更好,也能更快的写出更好的代码。但是不恰当的隐喻,也可能会让你误入歧途。

需求的重要性,如果在一个大型项目中,在架构阶段检测到需求错误,要修复它的成本通常是“在需求阶段检测并修复该错误”的成本的三倍,如果是编码阶段检测到需求错误,修复成本是5-10倍,在系统测试阶段,成本是10倍,在发布之后,成本也是10-100倍。充分详细的需求,是项目成功的关键,甚至可能比有限的构建技术更重要,如果没有好的需求,你可能对问题的总体有把握,但却没有击中问题的特定方面。

软件架构,是软件设计的高层部分,用于支撑更细节的设计的框架。架构的质量决定了系统的“概念完整性”,“概念完整性”又决定了系统的最终质量。好的软件架构使得构建活动变得更容易,糟糕的架构使得构建活动几乎寸步难行。架构变更如同需求变更,看起来很小的改动,影响也许是非常深远的。
架构的经典组成部分:

  • 程序组织
  • 主要的类
  • 数据设计
  • 业务规则
  • 用户界面设计
  • 资源管理
  • 安全性
  • 性能
  • 可伸缩性
  • 交互性
  • 国际化/本地化
  • 输入输出
  • 错误处理
  • 容错性
  • 架构的可行性
  • 过渡工程
  • 关于“买”还是“造”的决策
  • 关于复用的决策
  • 变更策略
  • 架构的总体质量

架构和需求分析,问题定义等都属于构建活动的前期准备工作,其根本目的在于降低风险,要确定你的准备活动是在降低风险,而不是增加风险。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值