软件工程考研笔记整理(三小时速成)(3)

大家好,跟着软工考研软姐!学习软工无死角!

第四章 形式化说明技术

1按照形式化的程度划分:

1.非形式化:自然语言描述

2.半形式化:数据流图或实体-联系图

3.形式化:基于数学技术描述

2形式化方法,是描述系统性质的基于数学的技术

软件工程考研扣裙::三七九一六4458

3非形式化方法的缺点:

1.矛盾

2.二义性

3..含糊性

4.不完整性

5.抽象层次混乱

4应用形式化方法的准则:

1.选择合适的形式化方法

2.应该形式化,但不要过分形式

3.应该估量成本

4.应该有形式化方法咨询顾问随时提供咨询

5.不应该放弃传统的开发方法

6.应该建立详细的文档

7.不应该放弃质量标准

8.不应该过分依赖形式化方法

9.应该测试、测试再测试

10.应该重用

5有穷状态机:

1.状态集

2.输入集

3.转换函数

4.初始态

5.终态集

6 Petri :解决定时问题

1.一组位置

2.一组转换

3.输入函数

4.输出函数

7 Z语言:

1.给定的集合、数据类型及常数

2.状态定义

3.初始状态

4.操作

第五章 总体设计

1总体设计的基本目的就是回答“概要地说,系统应该如何实现”,这个问题。

总体设计又称概要设计或初步设计。

2总体设计阶段的任务:

1.通过这个阶段的工作将划分出组成系统的物理元素–程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将再以后仔细设计。

2.另一个重要任务是设计软件的结构,也就是要确定系统每个程序是由哪些模块组成的,以及这些模块之间的关系。

3总体设计的必要性:

答:可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统

4总体设计过程通过由两个阶段组成

1.系统设计阶段:确定系统的具体实现方案

2.结构设计阶段:确定软件结构

5总体设计过程的九个步骤

1.设想供选择的方案

2.选取合理的方案

3.推荐最佳方案

4.功能分解

5.设计软件结构

6.设计数据库

7.制定测试方案

8.书写文档

9.审查和复审

6程序的设计分为两个阶段:

1.结构设计:结构设计是总体设计阶段的任务。结构设计确定程序由哪些模块组成,以及这些模块之间的关系。

2.过程设计:过程设计是详细设计阶段的任务。过程设计确定每个模块的处理过程。软件工程考研扣裙::三七九一六4458

7设计原理

1.模块化

2.抽象

3.逐步求精

4.信息隐蔽和局部化

5.模块独立

8模块化:

1.模块是由边界元素限定的相邻程序元素的序列,且有一个总体标识符代表它。

2.模块化就是把程序划分称若干模块,每个模块完成一个子功能,把这些模块集中起来完成组成一个整体,可以完成指定功能,满足问题的要求。

9抽象就是抽出事务的本质特性而暂时不考虑它们的细节

10模块独立

1.模块独立的概念是模块化、抽象、信息屏蔽和局部化概念的直接结果。

2.模块独立性的重要性:有效的模块化的软件容易开发出来;独立的模块比较容易测试和维护。

3.模块的独立程度可以由两个定性标准度量,这两个标准分别称为耦合和内聚,耦合用来衡量不同模块彼此间互相依赖的紧密程度;内聚用来衡量一个模块内部各个元素间彼此结合的紧密程度。

11耦合是对一个软件结构内不同模块之间的互连程度的度量。

1.耦合的七种类型:

非直接耦合(无直接)

数据耦合

标记耦合

控制耦合

外部耦合

公共耦合

内容耦合

2.耦合性不断增强,模块独立性不断减弱。

12内聚标志着一个模块内各个元素彼此结合的紧密程度。

1.七种内聚:

巧合(偶然)内聚

逻辑内聚

时间内聚

过程内聚

通信内聚

(顺序)信息内聚

功能内聚

2.内聚性从低到高,独立性从低到高

低内聚:巧合内聚、逻辑内聚、时间内聚

中内聚:过程内聚、通信内聚

高内聚:信息内聚、功能内聚

13启发规则:(独归扇入接作功)

1.改进软件结构提高模块独立性

2.模块规模应该适中

3.深度(层数)、宽度(跨度)、扇入和扇出都应适当

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

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

6.设计单入口单出口模块

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

14深度代表软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。

15宽度是软件结构内同一个层次上的模块总数的最大值。

16对宽度影响最大的因素是模块的扇出,对重用影响最大的是扇入。

17扇出是一个模块直接控制(调用)的模块数量

18扇入表明有多少个模块调用它

19描绘软件结构的工具:

1.层次图:用来描绘软件的层次结构

2.HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写

3.结构图:Yourdon提出的结构图是进行软件结构设计的另一个有力工具

20面向数据流的设计方法

1.结构化设计方法(简称SD方法),也就是基于数据流的设计方法

2.面向数据流的设计方法的目标是给出设计软件结构的一个系统化途径

21信息流

1.变换流:信息沿输入通路进入系统,同时由外部形式转换为内部形式,进入系统的信息通过变换中心,经加工处理之后沿输出通路转换为外部形式离开软件系统,当数据流图的数据流具有这些特性时,这种信息流就叫做变换流。(线性顺序)

2.事务流:当数据流图的数据流是“以事务为中心的”,也就是说,数据沿输入通路到达一个处理T,这个处理根据数据的类型在若干动作序列中选出一个来执行,这类数据流就被称为事务流。(活动通路)

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成32802 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月6日
下一篇 2022年7月6日

相关推荐