注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

IPD流程文档规范  

2013-08-15 15:00:09|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1. 产品需求定义

产品需求定义的目标是:“清楚地描述要做的产品是什么样的?不涉及具体实现方法。”,其定义过程如下图所示。

 

 此产品需求定义包括:软件+硬件

 

2. 结构化设计方法的基本思路

    按照需求,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。模块的概念,和编程语言中的子程序或函数是对应的。

 

3. 架构设计/概要设计

       架构设计或概要设计的目标是:“为系统需求或产品需求提供解决方案”。

       概要设计:把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口。通常输出的为:“软件结构图”。 

       在架构设计或概要设计,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。主要集中于:

       (1)划分模块

       (2)分配任务

       (3)定义调用关系

        模块间的接口与传参在这个阶段要定得十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。概要设计一般不是一次就能做到位,而是反复地进行结构调整。典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。

        概要设计文档最重要的部分是:

        (1)分层数据流图

        (2)结构图

        (3)数据字典

        (4)相应的文字说明

        以概要设计文档为依据,各个模块的详细设计就可以并行展开了。

4.详细设计

       详细设计的目标是:“提供编码的依据(数据结构+流程)”。

       详细设计:依据概要设计阶段的分解,设计每个模块内的算法、流程等。通常采用“流程图”进行描述。 

       在详细设计阶段,各个模块可以分给不同的人去并行设计。在详细设计阶段,设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的以下内容:

        (1)算法

        (2)流程

        (3)状态转换(状态机)

        注意:如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。

        详细设计文档最重要的部分是模块的以下内容:

        (1)流程图

        (2)状态图

        (3)局部变量及相应的文字说明。

        一个模块一篇详细设计文档。

       概要设计文档相当于机械设计中的装配图,而详细设计文档相当于机械设计中的零件图。概要设计中较顶层的部分便是所谓的方案。方案文档的作用是在宏观的角度上保持设计的合理性。

        有的项目采用面向对象的分析、设计方法。可能在概要设计、详细设计的分工上疑问更多。其实,面向对象的分析、设计方法并没有强调结构化方法那样的阶段性,因此一般不引入概要、详细设计的概念。如果按照公司的文档体系,非要有这种分工的话,可以将包的划分、类及对象间的关系、类的对外属性、方法及协作设计看做概要设计;类属性、方法的内部实现看做详细设计。

  

5. 需要分析&概要设计&详细设计 

   1)需求分析:产生软件功能规格说明书,需要确定用户对软件的需求,要作到明确、无歧义。不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作(概要设计)。


   2)概要设计:产生软件概要设计说明书,说明系统模块划分、选择的技术路线等,整体说明软件的实现思路。并且需要指出关键技术难点等。  


   3)详细设计:产生软件详细设计说明书,对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。理论上要求可以照此编码。

6. 瀑布模型

瀑布模型如下图所示:

 

1)可靠性研究与计划:做还是不做

2)需求分析:都有什么功能

3)概要设计:共有多少子功能

4)详细设计:子功能怎么实现

5)编码:子功能实现了吗?

6)测试:功能完备吗?

7)部署:需要多少设备和软件的支持

8)维护:软件运动得正常吗?

  评论这张
 
阅读(349)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016