软考-软件设计师 - 第12章 软件系统分析与设计【附补充常考知识点】

12.1 结构化分析与设计

DFD:数据流图
在这里插入图片描述

12.1 .1 需求说明

12.1.2 结构化分析

最终结果:数据流图、数据字典和加工说明。

12.1.3 总体设计

给出数据流图中各个处理转换为模块后模块与模块之间的调用关系。

12.1.4 详细设计

每个模块的详细流程图

12.2 数据库分析与设计

12.2.1 数据库设计的策略和步骤

1、策略:自顶向下和自底向上
2、设计步骤:
(1)用户需求分析
(2)概念设计
(3)逻辑设计
(4)物理设计

12.2.2 需求分析

1、需求分析的任务、目标以及方法
2、需求分析阶段的文档
需求分析阶段产物:数据流图、数据字典、需求说明书。

12.2.3 概念结构设计

1、概念结构设计策略与方法
策略:自顶向下、自底向上、逐步扩张和混合策略。
方法:实体-联系图(E-R图)

2、用E-R方法建立概念模型

E-R图中的冲突

在这里插入图片描述

12.2.4 逻辑结构设计

1、E-R图关系模式的转换

E-R 图转关系模式原则
1、每个实体型转换为一个关系模式
2、联系转关系模式:
(1)一对一联系的转换有两种方式。
独立的关系模式:并入两端主键及联系自身属性。(主键:任一端主键) 归并(任意一端):并入另一端主键及联系自身属性。(主键:保持不变)
(2)一对多联系的转换有两种方式。 独立的关系模式:并入两端主键及联系自身属性。(主键:多端主键)
归并(多端):并入另一端主键及联系自身属性。(主键:保持不变)
(3)多对多联系的转换只有一种方式
独立的关系模式:并入两端主键及联系自身属性。(主键:两端主键的组合键)

2、关系模式的规范化
(1)确定数据依赖
(2)确定范式
(3)关系模式分解
(4)关系模式的评价以及修正

3、确定完整性约束

实体完整性:规定其主属性不能去空值。
参照完整性(也称为引用完整性):规定其外键为参照表的主键值或为空值。
用户自定义完整性:指用户针对某一具体的关系数据库的约束条件,反映某一具
体应用所涉及的数据必须满足的予以要求,由应用的环境决定,如年龄定义为 0~150
正整数。
触发器:一种复杂的完整性约束。

4、用户视图的确定

12.2.5 数据库的物理设计

1、确定数据分布
2、确定数据存储结构
3、确定数据的访问方式

12.2.6 数据库的实施与维护

1、数据库的实施
1)建立实际的数据库结构
结构、数据库模式、完整性描述、安全性描述、物理存储参数描述

2)数据的加载
手工输入、使用数据转换工具

3)数据库的试运行和评价

2、数据库的维护
(1)性能监测和改善
(2)数据库备份和故障恢复
(3)数据库重组和重构

12.3 面向对象分析与设计

12.3.1 面向对象分析与设计的步骤

(1)建模系统功能
(2)定义领域模型
(3)定义交互、行为和状态
(4)定义设计类图

12.3.2 需求说明

12.3.3 建模用例

12.3.4 建模活动

使用用例图:
在这里插入图片描述
用例之间的关系:
包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。
扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。
泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。

12.3.5 设计类图

类图(class diagram):类图描述一组类、接口、协作和它们之间的关系。在
OO 系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。

12.3.6 建模对象状态

对象状态表示对象在其生命中某一点所处的条件,修过修改属性的一个或多个值的事件引起对象状态改变。

状态图(state diagram)。状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
在这里插入图片描述

12.3.7 建模交互

顺序图(sequence diagram,序列图)。顺序图是一种交互图(interaction
diagram),交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
在这里插入图片描述

12.4 算法分析与设计

12.4.1 C程序设计语言与实现

【这个模块笔记没有啥意思,还是得在代码当中学习。】
1、指针类型
2、指针与数据结构

12.4.2 算法设计与实现

在这里插入图片描述
常见的对算法执行所需时间的度量
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)

排序算法

在这里插入图片描述

12.5 面向对象的程序设计与实现

这个知识点一般会下午考题的最后一题,根据设计模式给填写代码,注意前后文关系,语法等,一般有一些代码基础的人都没有太大问题。
答题方式可参考我的文章:案例分析 做题技巧

猜你喜欢

转载自blog.csdn.net/weixin_44934104/article/details/125910806