如何写详细设计

 一些公司用CMMI做软件开发过程管理,对详细设计过程要求很高,需产出Rose设计模型,画出序列图、活动图等等。本意是为了让Rose设计模型对后续的编码有指导意义。但实际实施过程中发现效果不佳, 一是有人不愿意认真写详细设计文档,二是有人不愿意看详细设计文档,问题如下:

 

    1)当详细设计和编码人员实际为同一人时:既然是同一人,自己做事心里有数,整体想清楚了就开始编码,而不愿意写详细设计文档。

    2)当详细设计和编码人员不是同一人时:编码人员根本不愿意看Rose设计模型,一,详细设计要画的很细才有效果,这样一来要读懂别人的序列图、活动图反而不容易;二,如果详细设计做的不够细,那还不如直接看需求文档。

 

    文档有两个功能,一个是指导下游工序进行工作二是作为档案供将来回忆或新人学习之用;由于上面两个原因,Rose设计模型的第一个功能“指导下游工序进行工作”的功能实际是失效了;而第二个功能呢?在与许多从事软件维护工作的开发人员访谈之后,得到的结论是:大多数人更愿意直接看代码,而不是看详细设计文档(因为设计文档要不就是太粗略,要不就是太细、重点不突出,看不懂)。因此Rose设计文档的第二个功能也失效了。这也验证了前人说的一句话:设计文档是一次性的,或者:代码即文档

 

    再谈谈设计的目的。设计分为架构设计、概要设计、详细设计。如果说架构设计是规划房子的地基概要设计则是规划房子的钢筋混凝土框架详细设计就是规划管道、线路、门窗、外表等等(其中以管道、线路为首要)。对应到软件上,概要设计就是要规划出软件的结构 —— 模块、模块之间的关系、模块内部的类(接口)、类(接口)之间的关系。而详细设计就是规划出软件里的管道、线路,可以认为是贯穿全局的算法

   

    那么设计文档该怎么写呢?设计文档不是越细越好,写得细了也没人看,稍微发生变化又要去修改。一个合理的设计文档是结构清晰的、重点突出的,也就是概要设计+关键详细设计。概要设计是对软件结构的描述,包括类的责任、接口的责任;关键详细设计,也就是对贯穿全局算法思路的描述。结构的描述,用类图就可以了。而贯穿全局的算法,用序列图活动图可以,用文字描述也行。说清即可,仅此足矣。那么类里面的属性、方法需要在Rose模型里体现吗?这是不必要的,有时间一个个输入到Rose里,不如在IDE里编码来的直接。

 

    设计文档如何使用?首先在设计评审时,供评委评价。其次,对详细设计和编码有限定作用。而详细设计编码最好就是同一个人来做,可省去不必要的文档交流。在编码完成后,设计文档的使命也就完成了。后续没有必要维护设计编码一致性,就算要维护一致性,因为我们的设计文档是只抓重点的,而重点的都是不容易改变的,因此维护一致性的工作量也不大。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
cmm3 CMM3是项目管理软件。由美国卡内基梅隆大学的软件工程研究所(SEI)创立的CMM(Capability Maturity Model 软件能力成熟度模型)认证评估,在过去的十几年中,对全球的软件产业产生了非常深远的影响。CMM共有五个等级,分别标志着软件企业能力成熟度的五个层次。从低到高,软件开发生产计划精度逐级升高,单位工程生产周期逐级缩短,单位工程成本逐级降低。据SEI统计,通过评估的软件公司对项目的估计与控制能力约提升40%到50%;生产率提高10%到20%,软件产品出错率下降超过1/3。CMM3认证是什么?对一个组织有什么用? CMM3是能力成熟度模型(Capability Maturity Model)的缩,是由CMU/SEI(美国卡内基梅隆大学软件工程研究所)1987年开发成功的,现在普遍使用的是V1.1版本。CMM模型从1-5分为不同的等级,按照软件过程能力将一个组织定位于不同的成熟度等级。其一个重要思想是帮助一个组织通过基于模型的软件过程改进而达到使其软件过程向更高的能力成熟度等级迈进的目标。在这个过程中一个组织必须建立自己的软件过程,并依据CMM模型要求对此过程进行评估,针对评估结果来进一步改进自己的软件过程,再次评估自己的软件过程以期达到更高的成熟度等级或防止自己的过程能力退化。如此循环最终使一个组织的软件过程能力趋于高度的成熟。这样客户在选择其项目的承包商时可以依据一个组织达到CMM的某个等级来判断该组织的软件过程能力以及其是否有能力达到自己对于此项目的时间进度,资金控制,质量标准等方面对承包商的要求,从而决定是否会放心的将自己的项目交给某一个组织去做。也就是说,通过CMM认证的级别越高,其越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值