软件工程—软件设计

来源:互联网 发布:草帽海贼团第十人 知乎 编辑:程序博客网 时间:2024/04/19 22:43

前言

软件分析阶段完成了新系统的逻辑模型设计。软件设计就是根据新系统的逻辑模型模型建立物理模型。软件设计阶段解决软件“怎么干”的问题,可以分为总体设计和详细设计两个阶段,最后形成系统设计说明书。


软件设计的目标是:根据需求进行数据设计,系统结构设计,过程设计。

数据设计:侧重数据结构的定义

系统结构设计:定义软件系统各主要成分之间的关系

过程设计:把结构成分转换成软件的过程性描述




软件设计的任务主要分为概要设计和详细设计两部分:

概要设计:

将软件需求转化为数据结构和软件的系统结构,划分出组成系统的物理结构:程序,数据库,过程,文件,类等



软件设计过程:



软件设计基础


程序结构是程序各个部件(模块)的组织情况,是软件的过程表示,程序结构包括树状结构和网状结构。

 结构图反应程序中模块之间的层次调用关系和联系。


程序的系统结构图



模块独立性

一个模块只具有单一的子功能,而与其他模块之间没有太多的联系

一般采用模块间耦合和模块内聚来度量模块的独立性。



模块聚合性判断



结构化设计方法

模块结构图到底是怎么来的呢?

SD的中心任务是把DFD图标识的系统分析模型方便地转换为软件结构的设计模型,主要是为了确定软件的体系结构和接口,SC图作为描述工具,描述软件的总体结构,有两种策略:以事务为中心的设计策略和以变换为中心的设计策略。

系统结构图中的模块


变换模块:从上级模块取得数据进行处理,转换成其他形式,再传送回上级模块,把低层的数据流图转换成模块结构图





变换型结构图:


事物处理:事物中心模块按照所接受的事物的类型,选择某一个事物处理模块执行,把高层的数据流图转换成结构图,把复杂的系统划分成简单的子系统的过程。



事物分析结构图


DFD-SC的5个步骤:

1.确定输入输出数据逻辑关系
2.确定输入输出关系
3.生成程序结构图
4.列出所有操纵和条件分配到结构图中
5.写伪代码

详细设计:

通过对结构表示进行细化,得到软件详细的数据结构和算法。

详细设计阶段的描述语言:程序流程图,N-S图,PAD图,判定表,伪代码。

程序流程图:太过于注重流程

N-S图


PAD图


对于多逻辑的可以转化成判定表。


菜鸟一枚,有很多需要补充的地方,会随着学习的深入不断完善,需要不断学习,不断努力!




0 0