导图社区 系统分析师1
这是一篇关于系统分析师1的思维导图,主要内容有需求工程、信息安全、系统设计、软件工程、数据库系统。
编辑于2022-07-10 10:44:40系统分析师
需求工程
UML
结构
构造块
UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。
规则
是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。
公共机制
指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制四种。规格说明是事物语义的细节描述,它是模型真正的核心;UML为每个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息;UML包括两组公共分类,分别是类与对象(类表示概念,而对象表示具体的实体)、接口与实现(接口用来定义契约,而实现就是具体的内容);扩展机制包括约束(扩展了UML构造块的语义,允许增加新的规则或修改现有的规则)、构造型(扩展UML的词汇,用于定义新的构造块)和标记值(扩展了UML构造块的特性,允许创建新的特殊信息来扩展事物的规格说明)。
关系
包含关系
扩展
依赖
一个事物变化影响另一个
关联
一组对象之间连接的结构关系
泛化
实现
是类之间的语义关系,一个类指定由另一个类保证执行的契约
包括
类图
对象图
构件图
描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。
组合结构图
描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。
用例图
顺序图 属于交互图
通信图 属于交互图
定时图 属于交互图
状态图
活动图
部署图
制品图
包图
描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
交互概览图
信息安全
加密
对称
DES
3DES 使用2个DES的密钥加密,密钥长度是乘以2!!!
AES
RC-5 常用于明文加密
IDEA
子主题
非对称
RSA 效率低
Elgamal
ECC
背包算法、Rabin、D-H
信息摘要
MD5 128位
SHA 160位
防火墙
应用级防火墙
从应用程序来进行接入控制,通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许WWW应用,而阻止FTP应用。
网络级防火墙
防止整个网络出现外来非法的入侵。例如,分组过滤和授权服务器
系统设计
主要内容
概要设计(系统总体结构设计)
是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。
详细设计
根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。
人机交互设计 黄金三原则
置于用户控制之下
减少用户的记忆负担
保持界面的一致性
结构化设计
模块结构
四个要素
输入和输出
处理功能
内部数据
程序代码
耦合类型 从低到到高
非直接耦合
两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
数据
一组模块借助参数表传递简单数据
标记
一组模块通过参数表传递记录信息(数据结构)
控制
模块之间传递的信息中包含用于控制模块内部逻辑的信息。
外部
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息
公共
多个模块都访问同一个公共数据环境,公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等
内容
一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口。
内聚类型 从高到低
功能内聚
顺序
处理元素相关,而且必须顺序执行
通信
过程
瞬时(时间内聚)
所包含的任务必须在同一时间间隔内执行
逻辑
偶然
系统结构
面向对象设计原则
类的类型
实体类
控制类
控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。
边界类
边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通信协议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来处理。
JAVA体系下,持久化技术框架
CMP Container-Managed Persistence,容器管理持久化
在J2EE架构中,CMP是由EJB容器来管理实体EJB 的持久化,EJB容器封装了对象/关系的映射和数据访问细节。CMP 和ORM的相似之处在于,两者都提供对象/关系映射服务,都将对象持久化的任务从业务逻辑中分离出来。区别在于CMP负责持久化实体EJB组件,而ORM负责持久化 POJO(Plain Ordinary Java Object,简单的Java对象),它是普通的基于 Java Bean 形式的实体域对象。
JDO Java Data Object,Java数据对象
JDO 是 SUN 公司制定的描述对象持久化语义的标准API,它是Java对象持久化的新规范。JDO提供了透明的对象存储,对开发人员来说,存储数据对象完全不需要额外的代码(例如,JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。
Hibernate 和 iBatis 都是ORM解决方案
软件工程
结构化方法
基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统维护等阶段。 结构化方法的开发过程一般是先把系统功能视为一个大的模块,再根据系统分析与设计的要求对其进行进一步的模块分解或组合。
OMT方法
使用了建模的思想,讨论如何建立一个实际的应用模型,包括对象模型、动态模型和功能模型。对象模型描述系统中对象的静态结构、对象之间的关系、属性和操作,主要用对象图来实现;动态模型描述与时间和操作顺序有关的系统特征,例如,激发事件、事件序列、确定事件先后关系的状态等,主要用状态图来实现动态模型;功能模型描述一个计算如何从输入值得到输出值,它不考虑计算的次序,主要用DFD来实现功能模型。简单地说,功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。
开发模型
敏捷开发
极限编程
自适应软件开发
水晶
SCRUM
功能驱动开发方法 FDD
ASD
瀑布模型
严格定义计划、分析、设计、编码、测试、运行维护
演化模型
针对不能完整定义需求的软件开发
螺旋模型
瀑布和演化结合,增量发布,多次迭代
喷泉模型
开发过程自下而上,用户需求为动力,以对象为模型,用于描述面向对象的软件开发过程
变换模型
对形式化的软件规格进行一系列自动和半自动的程序变换,最后映射为计算机能接受的软件系统
智能模型
基于知识
V模型
软件成熟度
初始级
是未加定义的随意过程
可重复级
是规则化和纪律化的过程,软件过程已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。
已定义级
是标准的和一致的过程,用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
已管理级
是可预测的过程,软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。
优化级
是持续改进的过程,通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续性地对过程进行改进。
数据库系统
数据库设计
规划
需求分析
概念设计
按特定方法抽象为一个不依赖于任何DBMS的数据模型(ER图建模) 步骤:抽象数据 -> 设计局部视图 -> 合并取消冲突 -> 修改重构消除冗余(优化)
逻辑设计
物理设计
数据库模式
分布式数据库
数据独立性
集中与自治共享结合的控制结构
各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时, 系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
适当增加数据冗余度
全局一致性、可串行性和可恢复性
E-R 图
转关系模式
子主题
1:1
最少2个关系模式
1:n
最少2个
m:n
最少3个
规范化理论
求候选键
找入度为0的,且能遍历整个图
无入度为0,就找既有入又有出的节点
求主属性
范式
关系模式推理规则
自反律(Reflexivity):若Y⊆X⊆U,则X →Y成立。
增广律(Augmentation):若Z⊆U且X→Y,则XZ→YZ成立。
传递律(Transitivity):若X→Y且Y→Z,则X→Z成立。
数据仓库
ETL 抽取转换加载
负责将分布的、异构数据源中的数据抽取到临时中间层进行清洗、转换和继承,最后加载到数据仓库或数据集市中,成为OLAP和数据挖掘的基础
技术
联机事物处理 OLTP
二维表组织数据
OLAP
多维数据分析
数据挖掘
用于挖掘数据之间的联系,得到未知的数据规律