导图社区 系统分析与设计
系统架构师教程第八章系统分析与设计讲述了定义问题与归结模型、需求分析与软件设计等内容,希望梳理的内容对你有所帮助!
系统架构师教程第八章系统分析与设计,内容有面向对象设计与分析、用户界面设计、工作流设计、简单分布式系统设计、系统过度计划等。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
系统分析与设计
1. 定义问题与归结模型
明确需求:理解真实世界中的问题和用户需求,并给出解决方案
问题分析
对问题定义达成共识
有效将开发的理解与用户需求达成一致
问题概述:理解的问题本质写出来
影响:该问题将会对哪些项目干系人产生影响
结果:对项目干系人和商业活动产生什么样的影响
优点:概要提出解决方案,并列出主要优点
理解问题的本质:根本原因分析法
因果鱼骨图
帕累托图
确定项目干系人和用户
定义系统边界
系统边界中信息以输入和输出形式流入;系统通过接口与外界进行交互系统的边界
上下文范围图:面向过程分析
用例模型:面向对象分析
确定系统的约束
进度、成本、环境、政策、已有软件等等
问题定义
目标:构建系统的原因,描述目标应考虑:优势、度量(可量化)、合理性、可行性、
功能需求
系统必须做的事
来源于业务需求,只与问题域相关,与解决方案无关
应由业务人员验证
非功能需求
系统必须具备的属性
感官需求;易用性需求;性能需求;安全;高可用等等
2.需求分析与软件设计
需求分析
目标
功能与非功能:深入描述软件的功能和非功能需求
界面:同其他系统元素的接口细节
数据:细化软件要处理的数据域
过程
分析
面向数据流的结构化分析方法
面向数据结构的Jackson方法
面向对象的分析方法
编制需求分析文档
评审
需求工程
需求开发
需求捕获
编写规格说明书
需求验证
需求管理
需求基线
需求变更
需求跟踪
系统设计
妥协:在众多可能存在矛盾的系统目标中寻找平衡点
选择:参考多个与目标系统相类似的系统,从中进行甄选、取舍和补充进行新系统的设计
概要设计:划分模块;模块的功能及模块之间的调用
详细设计: 详细的数据结构与算法
3.结构化分析与设计
结构化分析
思想:自顶向下逐层分解,依赖数据流图的自顶向下建模方法
方法:把系统看做一个过程的集合体
面向过程,而面向对象则把系统看成一个相互影响的对象集
工具:数据流图、数据字典、判定数
物理模型:描述真实世界的自然数据流,有效理解业务环境,数据和处理应对应真实业务元素,而非IT系统命名
对应需求说明书
逻辑模型:抽象出等价于系统的逻辑数据流图:如将现实世界中的“送往总经理办公室”改为“报送报表”
划分系统边界:逻辑模型中哪些自动化完成,哪些仍然保留手工处理
数据流图
构成:过程、外部实体、数据存储、数据流、实时连接
层次:自顶向下逐层分解,最高层是系统上下文范围关系图(Context)
结构化设计
方法:面向数据流自顶向下模块化设计过程
概要设计:设计软件的结构,确定系统有哪些模块及每个模块之间的关系
详细设计:具体实现。程序流程图、表、接口
模块设计:实现信息隐藏和模块独立(高内聚低耦合);适当模块大小,减少调用深度
内聚性等级:功能内聚、顺序内聚、通信内聚、过程内聚、瞬时内聚、逻辑内聚、偶然内聚
耦合性等级:非直接耦合、数据耦合、标记、控制、外部、公共、内容
4.面向对象分析与设计
以客观世界中的对象为中心,分析和设计的结构与客观世界比较接近
基本概念
三种类:实体类、边界类和控制类
实体类:保持需要存储在永久存储体重的信息,通常采用业务领域术语命名
控制类:控制用例工作的类,动宾短语命名,将用例的特有行为进行封装
边界类:封装用例内外数据流。例如:接口、通信协议、终端等
面向对象分析
OOA/OOD方法:模型中包括主题、对象类、结构、属性和服务5个层次
设计问题域部件
设计人机交互部件
设计任务管理部件
设计数据管理部件
Booch方法
逻辑模型
静态模型:类图、对象图
动态模型:时序图、状态转换图、协作图
物理模型
静态模型:模块图、进程图
OMT方法
OOSE方法:提出了“用例”的概念
统一为UML