人月神话-未雨绸缪和干将莫邪

1.未雨绸缪
人月神话-未雨绸缪和干将莫邪_第1张图片

  • 不变只是愿望,变化才是永恒。-  SWIFT
  • 普遍的做法是,选择一种方法,试试看;如果失败了,没关系,再试试别的。不管怎么样,重要的是先去尝试。 - 富兰克林 D. 罗斯福
  • 为之于未有,始之于未然。 -《道德经》 
未雨绸缪这章我开始还原来一直记成了是讲风险,但是仔细阅读后发现主要讲如何快速适应变化。在敏捷软件开放中我们强调通过迭代和快速交互等各种方法来适应变化。在大型软件工程中我们看到仍然需要考虑如何适应变化,很多时候对于大型的软件和系统,我们一开始往往很难设计的很清楚,所以只有先假设一种方案,然后对其开发原型进行验证,只有通过验证后才能开始后续的计划,否则就必须提出新的假设。

一切事物皆无常,都处于动态的发展变化中,唯一不变的就是变化本身。不但目标上的变化不可避免,而且设计策略和技术上的变化也不可避免。抛弃原型概念本身就是对事实的接受——随着学习的过程更改设计。所以以此为展开分别开始谈软件开发生命周期的各个阶段都必须要适应变化。
  • 为变更而计划并不是要求我们范围不明确,而是计划过程应该是迭代式的渐进细化过程。
  • 为变更而设计组织结构,如外科手术团队,要求最小化团队成员接口并最方便系统修改和扩展。
  • 为变更而发布讲如何提高软件产品可维护性,如何解决Bug的修复会引入新的Bug的问题。
2.干将莫邪

工欲善其事,必先利其器。

在CMMI能力成熟度模型里面始终强调了三要素的集成,三个要素缺一不可,就是人,方法工具技术和过程。人是企业的核心资产,过程可以让我们积累和固化已有的经验和最佳实践,而真正能够提高我们效率的则必须是工具和技术。在互联网经济时代,我们必须要考虑如何提高效率和加速度,只有效率提高了才可能留出更多的时间进行思考。工具本身不是万能的,但是没有工具却万万不能。

在软件项目团队中涉及到计划,沟通和变更的往往是一些通用的整个团队都必须要使用的工具。但是随着团队的专业化分工,还有涉及到各个岗位&角色的专业化工具,比如开发编程人员需要属性各种IDE开发环境,系统分析员需要熟悉UML建模工具,测试人员需要熟悉相应的测试工具等。因此项目经理在项目计划阶段必须要考虑到在整个软件生命周期的过程管理,产品开发,质量管理等各个环节需要用的各种工具。

在这里书上分目标机器和辅助机器来谈工具和技术,在这里结合软件开发生命周期阶段来谈工具技术:
  • 需求阶段工具
需求阶段主要分为需求收集,需求开发和需求管理三个方面的内容。需求收集主要是如何捕获和描述清楚用户需求,可以用Excel来完成需求的收集;需求开发对于面向对象一般采用使用ROSE工具采用UML用例建模的方式进行,用例建模一般又分为用例建模,行为建模和界面建模三个层次的内容。需求管理一般采用RP工具进行需求的追踪,采用CQ等工具进行需求变更的控制。
  • 设计开发阶段工具
设计开发阶段工具主要是前台应用和架构的设计以及后台数据库的设计。数据库设计一般采用PowerDesigner或ERWin进行数据库的建模,采用Rose,Together或XDE等工具进行架构和功能模块的设计。采用相关高效的IDE环境进行编码,或者引入一些第三方的组件或应用程序开发框架提高开发效率。同时项目也可以使用Nunit,Nant,NLog等开源项目借鉴其相关的架构和模式。
  • 测试工具
对于测试管理一般可以用TestManager进行,对于性能测试一般采用LoadRunner或WinRunner,WAS等进行。而对于系统测试一定要注意边界和异常条件的测试,相关业务流程分支的分析和覆盖。开发人员可以用Nunit进行单元测试,可以采用PureCoverage检验自己的测试代码覆盖率情况。(简略)
  • 辅助工具
项目还要配置管理,变更管理,知识库,即时通讯,MindManager,CMMI过程控制和管理等相关工具进行辅助。保证流程的规范性和可控性。

你可能感兴趣的:(数据库,测试,工具,UML,loadrunner,测试工具)