第五章 软件系统分析与设计

一、结构化分析与设计

1、结构化分析的对象包括:体对象属性和关系对信加工和

2、数据流图DFD面向数据流建模的工

3、进行结构化分析的步骤:

  1. 确定系统边界,绘制系统环境图。
  2. 绘制各层数据流图,自上而下。
  3. 定义数据字典。
  4. 定义处理说明。
  5. 将图、字典以及加工组成分析模型。

4、系统总体设计模型反映模块间的调用关系、可采用层次图、HIPO图和机构图表达。

5、数据流图分为变换型数据流图和事务型数据流图,事务型流程的处理为条件判断式、根据不同输入数据的类型对应不同处理动作。

6、详细设计可以采用程序流程图、N-S图和PDL语言等工具表达。

7、结构化分析的最终结果:数据流图、数据字典和加工处理说明。

二、数据库分析与设计

数据库设计的步骤

1、数据库应用的生命周期分为6个阶段: 数据库规划、需求描述与分析、数据库设计与应用程序设计、实现、测试、运行维护。其中:

  1. 需求描述与分析是以用户的角度。
  2. 应用程序设计包括事务设计和用户界面设计。
  3. DDL(数据定义语言)用于建立数据库。

2、数据库设计的4个主要阶段: 用户需求分析、概念设计、逻辑设计、物理设计。

需求分析

1、需求调研过程中,需要获得用户对系统的要求包括:信息要求(保存那些数据)、处理要求(实现什么功能)、系统要求(安全要求等)。

2、数据字典是各类数据描述的集合,描述的是元数据(描述数据的数据),而不是数据本身。

数据字典构成                         描述
数据项                

数据项名,数据项含义说明,别名、数据类型、长度、取值范围、取值含义、与其他数据项的逻辑关系

数据结构                       

数据结构名、含义说明、组成:数据项或数据结构

数据流
数据存储 数据存储名、说明、编 、流入的数据流、流出的数据流、组成:数据结构、数据量、存取方式。
处理过程 处理过程名、说明、输入数据流、输出数据流、处理:简要说明。

3、 需求分析阶段的成果是系统需求说明书。

概念结构设计

1、概念设计中概念模型的理想工具是E-R图,由实体、属性及实体间联系三要素组成。

2、概念结构设计的目标是产生反映系统信息需求的数据库概念结构,即概念模型。

3、概念结构设计的策略通常有以下4种: 自顶而下、自底向上、逐步扩张和混合策略。

4、概念结构设计工作步骤。

5、E-R图合并时,各分E-R图之间的冲突主要包括:属性冲突、命名冲突和结构冲突。

6、分E-R图的合并优化方式包括:实体类型合并、冗余属性消除和冗余联系消除。

逻辑结构设计

1、逻辑设计包括模式初始设计、子模式设计、应用程序设计、模式评价、模式求精。

2、逻辑结构设计即是在概念结构设计的基础上进行数据模型设计,可是层次模型、 状模型和关系模型。

3、逻辑结构设计工作步骤。

4、E-R 图的三种联系: 一对一、一对多、多对多。

5、关系模型规范化的步骤: 确定依赖关系、确定范式、关系模型分解、关系模型的评价及修正。

数据库的物理设计

1、数据库的物理设计工作步骤

2、物理设计包括确定数据分布、存储结构和访问方式。

3、综合考虑提高数据的访问速度,本阶段需要确定数据库文件的索引字段和索引类型。

4、数据库物理结构主要由存储记录格式、记录在物理设备上的安排及访问路径构成。

5、建立聚簇索引的原则。

(1)聚簇码值相对稳定 (2)表主要用于查询,且主要用于聚簇码的访问和连接 (3)对应每个聚簇码值的平均元组既不能太多也能太少 6、确定索引的一般顺序: (1)确定关系的存储结构:无序或有序(聚簇)存放 (2)确定不宜建立索引的属性或表 (3)确定宜建立索引的属性

数据库实施与维护

1、数据库实施阶段的工作步骤。

2、在 Oracle 系统中,数据库逻辑结果的描述包括表空间、段、范围和数据块。 3、数据的完整性,指有效性、正确性和一致性。 4、系统可对用户的数据操作进行两方面的控制:用户授权(身份认证)、不同用户不同权限。 5、数据加载前,须对数据进行整理,建立校验规范和程序,排除不合格数据。 6、数据库维护工作的主要内容包括对数据库的监测和性能改善、故障恢复、数据库的重组(不 改变数据库逻辑和物理结构,类似于碎片整理,清理指针及废弃空间)和重构(谨慎执行)。

 

面向对象的分析与设计

1、面向对象分析包括三个活动:建模系统功能、定义领域模型、定义交互行为和状态、定义设计类图。

2、通过用例建模系统功能的步骤

  1. 确定参与者
  2. 确定需求用例
  3. 构造用例模型
  4. 记录需求用例描述

3、建模对象状态

  建模状态图应遵循的指导原则

  1. 状态名称简单但具有描述性
  2. 避免黑洞(有进无出)
  3. 避免奇迹(有出无进)
  4. 符合状态需对子状态集进行建模
  5. 为复杂的实体创建分层的状态图

4、建模序列图

    系统序列图描述决策和系统在用例场景下的交互。

算法分析与设计

算法设计的主要步骤

算法问题类型

问题 要点
查找 没有一种算法对任何情况都适用。
排序 排序的一个主要目的是为了进行快速查找。
图          

TSP问题、独立集问题、图着色问题、哈密尔顿回路问题、顶点覆盖问题和最长路径问题

组合 一般是最优化问题。
几何

最近点对问题、凸包问题。

 

 

 现代优化计算方法

算法      要点
禁忌搜索算法    全局逐步寻优算法
模拟退火算法 全局最优算法
遗传算法    

选择、较差和搬移构成了遗传算法的基本操作。

蚁群优化算法

分布式的智能模拟算法、间接异步互联。

人工神经 络

主要用于 络连接拓扑结构、神经元的特征和学习规则,模型包括:前向 络、反馈 络(无向)。

面向过程的程序设计与实现

  1. 变量的本质上是程序中用来存放数据的一段存储空间,通常其对应的存储空间为内存区域。
  2. 变量具有类型、值、地址、作用域和生存期等属性。
  3. 存储变量地址的变量称为指针变量。
  4. 当一个指针变量指向仍为指针变量时,称为多级变量,级数越多数据访问效率越低。

面向过程的程序设计与实现

当23中设计模型运用时,需要注意以下几点:

(1)能够根据设计模式的名称画出其对应的类图 (2)理解类图中每一个类的作用于功能 (3)能够将现实问题中所描述的各种职责映射到类图中具体的类 (4)能够使用一种面向对象语言实现设计 文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210415 人正在系统学习中

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

上一篇 2021年10月2日
下一篇 2021年10月2日

相关推荐