软件设计—怎么做

来源:互联网 发布:ubuntu samba配置 编辑:程序博客网 时间:2024/04/28 05:44

在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并通过需求说明书将这些需求描述了出来,这也是目标系统的逻辑模型。进入了设计阶段,要把软件“做什么”的逻辑模型变化为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映到“设计说明书”文档中,所以设计软件是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件设计或结构设计。然后对结构进一步细化,称为详细设计或过程设计。

软件设计中用到的图:

结构图:是软件系统的模块层次结构


HIPO:是美国IBM公司20世纪70年代发展来的表示软件系统结构的工具。它可以描述软件总的模块层次结构—H图(层次图),有可以描述每个模块输入/输出数据,处理功能及模块代用的详细情况——IPO图。HIPO图以模块分解的层次性以及模块内部输入,处理及输出三大基本部分为基础建立的。


两者比较:HIPO图因为图上无过多的符号显得教为清晰易读,作为概要设计的文档比较合适。在反应软件结构的控制关系方面,如重复调用,选择电泳,调用公共模块以及模块之间的信息传递,使用结构图能较好地表达出来,有利于评价系统的软件结构质量。

程序流程图:又称程序框图

描述程序逻辑结构的工具

优点:直观清晰,易于使用,是开发者普遍采用的工具

缺点:

1.可以随心所欲的画控制流程线的流向,容易造成非结构化的程序结构,编码是势必不加限制的使用GOTO语句,导致基本控制块多入口多出口。这样会使软件设计的原则相违背。

2.流程图不能反映逐步求精的过程,旺旺反映的是最后的结果。

3.不易表示数据结构。


PAD:指问题分析图,是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。PAD图的控制流程为自上而下、从左到右地执行。

优点:1.清晰的反映了程序的层次结构。图中竖线为程序的层次线,最左边竖线是程序的主线,气候一层一层展开,层次关系一目了然。

2.支持逐步求精的设计方法,左边层次中的内容可以抽象,然后由左到右逐步细化。

3.易读一些,使用方便。

4.支持结构化的程序设计原理

5.可自动生成 程序。



0 0