项目系列08-软件概要设计
2014-02-19 12:40
211 查看
提问: 概要设计需要解决哪些问题?设计详细到何种程度为止? 尝试回答: 概要设计是软件文档中无法省略的一个。它的主要职责是将需求规格说明书中问题 域的需求限制,使用计算机能够方便实现的一些实体加以实现。实体可以是子系统,或 者模块。需求的映射,不仅仅在于各个实体的外部接口上,而且也表现在接口与接口之 间的关联上。 概要设计可以认为,就是接口设计。它使用接口定义了一个个实体的外部功能描述 。 在进行概要设计时,很容易忽略掉的一个非常重要的部分,就是用户接口设计。也 即UI设计。在某些公司,为了和用户讨论问题的方便。UI设计会隶属于需求规格文档中 。但是这里的UI设计侧重的是另一个方面。 对于UI这一层而言,它实际上是一层膜。对外显现为各种用户可操作的界面元素, 及其功能描述。对内,在概要设计这一层,就表现为对之前表述的那些已经定义好的实 体的外部接口的调用。用这种调用关系和逻辑来支持UI的用户接口。 UI对于概要设计而言,位置位于顶层。类似系统总装模块。如果在文档中忽视这一 模块,在实际构建代码时,就会做一些无用功,或者作出一些需要经过很多修改才能使 用的模块和子系统。 对于概要设计而言,另一个需要注意的因素是,需要为整个系统安排出几个里程碑 设置。系统不可能持续N个月后,一次性拿出一个成品。相对粗糙,实现有限功能的原 型系统需要尽快创建,提交给需求分析师,供他们与用户一起进行评析。以防止出现因 为理解问题出现的偏差。用户本身的需求可能也并不完备,这些原型系统也可以供他们 进一步提炼、精化需求用。(当然他们的意见此时都必须经过系统变更程序,才能影响 到软件设计师,继而影响到项目实际的实施人员) 数据库设计,重要的算法设计,也需要在这个阶段完成。不过形如: IModule_XXX { Fun_xxx(param1, param......); Fun_xxx(param1, param......); Fun_xxx(param1, param......); Fun_xxx(param1, param......); }; 这样的接口说明文档,是概要设计说明书中,最重要的部分。 阐发: 如果不做软件的外包处理,系统实施至概要设计阶段结束,已经可以进入编码阶段 了。当然,必不可少地,编码人员会对既有设计提出改进意见。有些地方甚至要做很大 的调整。 在编码阶段需要修改概要设计时,建议每一次修改,都需要创建“文档变更”任务 并在任务中详细描述原因和修改动作概述。这些资料汇集起来,就可以为今后的概要设 计师设计新的系统,提供第一手资料。 所有的工作,都是一个不断尝试,获得反馈,然后修正错误继续迭代的过程。我很 怀疑,如果一个人足够用心地记录各种失误,不断总结教训,尝试改进的办法,并积极 实验,即使不借助任何外在的输入,设计师也可以达到自我完善的境地。这可能就是所 谓的“经验”吧。 相关资料,仍然可以查阅需求规格中提到的那份军标。如果没有记错的话,对应的 核心文档应该是SDD.
相关文章推荐
- 软件项目“概要设计”
- 软件概要设计做什么,怎么做
- 实战CRM系统项目:2.概要设计,数据库设计
- [转]软件项目管理总体流程设计
- 轨迹系列——记某真实项目中轨迹展示查询效率优化方案一(初步设计)
- 软件测试系列之原型设计(六)
- SCL项目:在Red Hat系列系统上安装同一软件的不同版本
- 如何独立设计完成一个软件项目
- 我的传智播客毕业设计项目概要设计文档三
- 用Qt写软件系列六:博客园客户端的设计与实现(用Fiddler抓包,用CURL提交数据,用htmlcxx解析HTML)
- 敏捷外包工程系列之一:序言(敏捷外包工程,敏捷开发,CMMI,软件外包,政府项目,银行项目,电信项目)
- java QQ项目详细设计设计系列 之 ——组操作模块
- 项目设计绘图软件
- 软件概要设计的基本任务
- OO系统设计师之路--设计模型系列(1)--软件架构和软件框架[从老博客搬家至此]
- [软件制造工程]招投标项目之合同签订模块 课程设计
- 软件项目管理系统:项目资料模块权限分配设计文档
- 软件概要设计与详细设计的区别
- 软件开发平台概要设计
- 软件项目设计和开发评审指南