【软件工程】第四章

简介: 【软件工程】第四章

软件设计的目标和任务

根据用信息域表示的软件需求,以及功能和性能需求进行(数据设计、系统结构设计、过程设计

开发阶段的信息流

软件设计任务

概要设计

详细设计

概要设计和管理设计从管理观点和技术观点划分

软件设计基础

自顶向下,逐步细化

软件结构

程序结构

结构图

模块化

抽象化

信息隐藏

模块的独立性

指软件系统中每个模块只涉及软件要求的具体的子功能

两个准则度量:耦合、内聚

模块间的耦合

耦合是模块之间相互连接的紧密程度的度量。模块之间的连接越紧密,联系越多,耦合性就越高,而且模块独立性就越弱

模块内聚

指同一个模块之间,语句间联系的紧密程度

一个模块内部各个元素之间的联系越紧密,内聚性就越高,相对于其他模块之间的耦合性就会降低,而模块独立性就越强

软件模块结构的改进

模块功能的完善化

1、执行规定的功能的部分

2、出错处理的部分

3、给它的调用者返回一个结束状态标志

消除重复功能,改善软件结构

1、完全相似

2、局部相似

文件设计

1、整理必须的数据元素

2、分析数据间的关系

3、确定文件的逻辑设计

4、理解文件的特性

5、确定文件的组织方式(顺序文件、直接存取文件)

6、确定文件的存储介质

7、确定文件的记录格式

8、估算存取时间和存储容量

结构设计原则

1、显著改进软件结构提高模块独立性

2、模块规模应该适中(150行左右,不超过150行)

3、适当选择深度、宽度、扇出和扇入

4、模块的作用域应该在控制域之内

5、力争降低模块接口的复杂程度

6、设计单入口单出口的模块

7、模块功能应该可以预测

面向数据流的设计方法

程序流程图

5种控制结构

N-S图(盒图)

问题分析图(PAD)


相关文章
|
9月前
|
BI 测试技术 程序员
【软件工程题库】第四章 概要设计
【软件工程题库】第四章 概要设计
1206 1
|
17天前
|
敏捷开发 算法 测试技术
【软件设计师—基础精讲笔记5】第五章 软件工程基础
【软件设计师—基础精讲笔记5】第五章 软件工程基础
41 2
|
9月前
|
数据处理
【软件工程】第三章
【软件工程】第三章
|
11月前
|
敏捷开发 安全 数据可视化
【软件工程题库】第一章 软件工程概述
【软件工程题库】第一章 软件工程概述
759 1
|
6月前
|
算法 安全 测试技术
软件工程基础知识
软件工程是一门关于软件开发过程、方法和工具的学科,它旨在提高软件开发的效率和质量,以满足用户需求和市场需求。软件工程涉及到软件开发的各个方面,包括需求分析、设计、编码、测试、维护等环节。本文将介绍软件工程的基础知识,包括软件开发生命周期、软件过程模型、软件需求工程、软件设计和软件测试等方面。 一、软件开发生命周期 软件开发生命周期是指软件从需求分析到维护的整个过程,它包括以下几个阶段: 1. 需求分析阶段:在这个阶段,软件开发人员与用户沟通,了解用户需求和系统需求,确定软件开发的目标和范围。 2. 设计阶段:在这个阶段,软件开发人员根据需求分析的结果,设计软件的架构、模块、接口等,确定
37 0
|
9月前
|
测试技术 程序员 开发者
【软件工程】第六章
【软件工程】第六章
|
9月前
|
测试技术 数据库管理
【软件工程】第一章
【软件工程】第一章
|
敏捷开发 运维 数据可视化
软件工程基础知识总结
简单来说就是多人参与、有计划有步骤的构造一个符合质量标准的软件产品,这个过程称之为软件工程。我们都知道,参与人越多、产品越复杂、流程越繁琐,最终构造的软件产品就越可能出现问题。
软件工程基础知识总结