软件开发流程

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)维护:软件运动得正常吗?


 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值