【软工】软件设计—面向过程的软件设计方法
【摘要】
目录
前言正文软件设计过程设计基础模块独立性模块的属性度量模块独立性的属性
任务系统结构设计数据设计过程设计
感谢阅读~
前言
软件设计是软件工程中的第...
前言
软件设计是软件工程中的第三个步骤。
软件设计方法有面向过程、面向数据流、面向数据结构和面向对象,这次主要讲面向过程的软件设计方法。
正文
软件设计过程
- 制定规范
- 软件系统结构的总体设计
- 处理方式设计
- 数据结构设计
- 可靠性设计
- 编写概要设计阶段的文档
- 概要设计评审
设计基础
- 自顶向下,逐步细化—将软件的体系结构,按自玲向下的方式,对各个层次的细节和过程进行详细描述。
- 软件结构—软件结构包括两个部分模块结构和数据结构。
- 程序结构—程序结构主要分为数状结构和网状结构,详情见下图。
- 结构图—结构图反映程序中模块间的调用关系。
- 模块化—大而复杂的程序划分为单纯的模块。
- 抽象化—模块设计可以有不同的抽象层次,逐层抽象细化。
- 信息隐蔽—不允许同时被调用。
模块独立性
模块的属性
- 功能—实现的功能
- 逻辑—模块内部如何实现
- 状态—使用的环境和条件
度量模块独立性的属性
耦合和内聚:表示模块内部语句间彼此结合的紧密程度。
模块间耦合
模块间内聚
任务
软件设计从管理角度来看,分为详细设计和概要设计。从技术角度来看,分为系统结构设计,过程设计和数据设计。
其中概要设计主要是系统结构设计,软件设计包括数据设计和过程设计。
系统结构设计
系统结构图中的模块
传入模块
传出模块
变换模块
协调模块
结构化设计方法
- 研究分析数据流图
- 由数据流图确定问题类型,变换型还是事务型。
- 不同类型进行分析处理
变换型系统结构图
变换分析的方法:
- 重画数据流图
- 区分有效输入,有效输出和中心变换部分
- 进行一级分解设计,上一层模块
- 进行二级分解,设计输入输出和中心变换部分的中下层模块。
事务型系统结构图
事务分析的过程:
- 识别事务源
- 规定事务型结构
- 识别事务和定义的操作
- 利用公用模块
- 对联系密切的事物,建立事务处理模块
- 规定全部下层操作模块
- 操作模块规定全部细节模块
数据设计
设计原则
- 软件的系统化方法同样适用于数据。
- 确定数据结构及其基本操作。
- 建立数据字典。
- 第层数据设计的角色应推迟到后期设计。
- 信息隐蔽,模块独立性。
- 建立一个存放有效数据结构及其操作的数据库。
- 语言支持抽象数据类型的定义和实现。
过程设计
在进行程序编写之前,需要对所采用算法的逻辑进行详细的分析,设计出全部必要的过程细节。
实现算法使用的工具有图形工具,表格工具和语言工具。
- 程序流程图
五种基本控制结构
顺序结构,选择结构,循环结构和case语言选择。
程序流程图的标准符号
- N-S图
五种基本控制结构
嵌套定义形式
- PAD图—问题分析图
允许递归使用。
有利于结构化描述程序。
五种基本结构
- 判定表
用来表述程序的静态逻辑。
建立判定表的过程
- 列出与具体过程有关的所有处理。
- 列出所有条件或判断。
- 特定条件匹配消除不可能的组合。
- 每一列规定为一个处理规则。
- PDL
描述功能模块的算法设计和加工细节的语言,称为程序设计用语言。
具有严格的关键字外部语法。
感谢阅读~
文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/Laura__zhang/article/details/104463511
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)