概要设计和详细设计模板_「软件项目管理入门」(34) 如何做详细设计?

项目经理可以不去参与详细设计,但是他应该了解这个过程,这样便于把控详设的进度和质量。一般的项目组中,都会有2~3个技术专家,或者说是技术骨干。这些技术骨干基本上都是一些经验丰富的高级开发工程师,没有8年以上的编程经验,不敢说自己经验丰富。项目成功的团队,也基本上得由这些技术大拿撑起半边天,否则可能累死项目经理。即使有些项目经理自己也是技术大拿,但是也经不起程序员们反反复复的提问,在设计和编码阶段,问题多如牛毛,没有几个技术高手分担压力,这个项目失败的风险会非常大,即使前期有非常好的方案。

至于项目经理如何施展自己的魅力将技术骨干纳入自己的项目组中,这个不是我这个系列的主题,而且每个人的方法也都不一样,所以这里就略过不提。这里单说详设阶段我们需要注意的几个问题。

1、详设不能等同于概设,这点在概要设计中已经描述,一个是系统架构设计,一个是程序结构设计,如果非要打个比方的话,概设就是做房子的框架,或者说是建筑设计,详设就是做室内装饰,应该叫装修设计。可能这样比喻并不是很恰当,但是大致就是这个意思。

2、详设基于系统的结构,而不是系统的架构。所以经常有人将详设叫做功能设计(不是功能架构),基本上是差不多的意思。详设解决的是系统模块内部的程序逻辑设计、接口设计以及关键接口的实现的算法设计。实际上,详设还有一个重要任务就是完善数据库的结构和SQL语句以及存储过程。

但是,很多项目组很难完成详设的任务,大部分浮于形式,总是将详设推到编码阶段,甚至在项目完成后再追补详设文档。之所以出现这种情况,主要有以下原因:

a. 详细设计时间太短,项目总体计划留给设计的时间非常短,估计不超过一个月,这么短的时间很难做出完美的设计,尤其是详设文档的工作量又非常大;

b. 经验不足,对系统的程序实现缺少整体设计,如果遇到这种情况,一定要借助现成的技术框架,这样可以将精力集中放在程序的逻辑处理上;

c. 对业务的细节不够熟悉,很多人在概要阶段没有吃透业务,从而将麻烦留给了详设阶段,因为业务逻辑夹生,导致无法决定程序逻辑,最后不得不将程序设计推到编码阶段。

3、详设关键要素。函数定义、流程图、输入、输出。有人看到这里,会马上说了,不对啊,概设里已经说到流程图了,怎么这里又要画流程图。不错,概设里的确是画流程图了,但是那里的流程图是业务流程图,而详设里画的是程序流程图,它是描述算法的,所以不是一样的东西。另外,概设里是功能定义,这里是函数定义,也不是一样的东西,一句话,概设里讲述的是基于业务进行描述的,而详设里是基于程序逻辑和接口实现进行描述的,不是一回事。举个例子,概设里就是在画个房子的图纸,至于房子怎么去做,人家是不管的,谁管?工程队或者施工队,他们拿到概设的图纸之后,也会开会讨论,制定详细的施工方案,张三小组打地基,按照什么流程去做,李四小组做现浇,应该按照什么流程去做等等,这个就是详细设计了,虽然施工队包工头不懂得设计,但是实际上他已经在做设计的事情,当然他之所以能够设计,主要还是靠他的经验。

1677b1dda5c78e96d9a16549c96bbad5.png

4、详设的工具很多,主要是画接口关系图、程序流程图,最好在描述函数(我称之为业务函数)的时候,用表格比较清晰一点。如果你有其他更好的方法,也是没有问题的。

5、详设并不要求描述所有的函数,而是主要函数和关键的函数,什么是主要函数?一般是指与业务接口对应的主函数,一个业务函数可能会有很多其他的函数配合实现。什么是关键函数?就是在程序中或者与系统有很大关系的函数,比如某一个加密函数,这个就比较关键。其他的函数可描述也可不描述,当然不嫌麻烦的话,描述总比不描述要好。

6、详设的结果也是有模板的,至于什么样的模板并不重要,重要的是将详设的结果描述出来就可以。

现在有一些软件能将详细设计直接转成代码,这也是个趋势,如何将由自然语言描述的业务转换成程序语言,是需要经历一个漫长的过程,但是目前还不是很成熟,相信将来会实现的。

详设就聊到这里,下一节我们聊聊编码,欢迎大家继续关注我的系列,谢谢!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《概要设计详细设计模板实例 csdn》是一篇介绍软件开发中概要设计详细设计模板实例的文章。本文首先介绍了概要设计详细设计在软件开发中的作用和意义,然后提供了具体的模板实例,以帮助开发人员在实际工作中更好地进行设计和开发。 概要设计是软件开发过程中非常重要的一环,它主要是为了确定需求和系统架构,对软件系统进行整体设计规划,包括系统模块划分、数据结构设计、算法设计等。而详细设计则是对概要设计的进一步展开,进一步明确软件系统的实现细节,包括类的设计、函数的设计等。 本文提供的模板实例包括概要设计详细设计两个模板,这些模板都是以实际项目为基础,适用于不同类型的软件开发。在模板中,详细指出了每一个模块的设计要点、接口设计、数据结构、算法等,使开发人员能够更好地进行开发。 总之,《概要设计详细设计模板实例 csdn》为软件开发人员提供了一份实用的设计模板,可以帮助开发人员更好地进行软件设计和开发,提高软件开发效率和质量。 ### 回答2: 概要设计详细设计是软件开发过程中不可或缺的两个环节,其中概要设计是对整个系统的宏观把握,而详细设计则是对每一个模块或组件的具体实现。下面是CSDN提供的概要设计详细设计模板实例,供大家参考。 概要设计模板实例: 1. 需求分析 描述系统需求,包括功能需求和非功能需求。 2. 架构设计 设计系统架构,包括软硬件环境、模块划分和接口定义等。 3. 数据库设计 设计数据库结构、表结构、字段类型和数据交互逻辑。 4. 系统流程设计 制定系统的整体流程,包括用户操作流程和数据流程等。 5. 性能优化和安全设计 考虑系统性能和安全问题,设计相应的优化和保护措施。 6. 系统测试计划 制定系统测试计划,包括功能测试、性能测试和安全测试等。 详细设计模板实例: 1. 模块说明 详细描述模块的功能、输入输出和逻辑流程等。 2. 模块算法设计 设计模块的算法流程,包括数据处理和算法实现等。 3. 数据结构设计 设计模块所需的数据结构和数据类型,包括数组、链表、树等。 4. 模块接口设计 设计模块与其他模块的接口,包括输入输出参数类型和调用方式等。 5. 异常处理设计 制定模块的异常处理机制,考虑可能出现的异常情况并进行处理。 6. 单元测试计划 编写单元测试用例,测试模块是否按照要求进行编码和实现。 以上就是CSDN提供的概要设计详细设计模板实例,不同的项目和开发团队可能会有不同的实现方法和设计思路,但都应该以这些模板为基础,进行必要的修改和升级。 ### 回答3: 概要设计详细设计是软件开发中的两个重要阶段,它们分别是确定软件系统整体架构和具体实现细节的过程。 通常,概要设计阶段是在需求分析之后进行的,它的目标是以系统的需求为基础,确定系统的总体架构,包括模块划分、接口设计、数据结构和算法的选择等。概要设计的输出是一个系统设计文档,它基于系统需求,描述了整个系统的体系结构,包括功能模块及其之间的交互关系、数据流程、系统结构等。概要设计模板包括了:引言、系统概述、系统需求、概念模型、逻辑模型、系统体系结构等。 而详细设计则是在概要设计之后进行的,它的目标是具体实现概要设计中的各个模块和接口,将系统的设计目标转化为具体的编程任务。详细设计的输出是软件设计文档,它包括了软件设计的全部细节,如类的实现、函数的参数、返回值类型等,以满足系统设计的各项需求。详细设计模板包括了:引言、背景、系统需求、设计方案、类结构设计详细设计、测试计划等。 在CSDN上,我们可以找到不同类型的概要设计详细设计模板实例。这些模板基于不同的开发平台和公司需求,涵盖了各个行业和领域。例如,ASP.NET MVC框架概要设计模板、智慧城市物联网系统详细设计模板、大型数据仓库系统概要设计模板等等。这些模板提供了基础性的建议和指导,帮助开发人员和项目经理们更好地理解系统需求、确定系统结构,并在实现中避免不必要的错误和问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值