系统分析与设计复习提纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统分析与设计复习提纲
一、试题类型
●选择题:基本概念, 见复习要点
●填空题:基本概念, 见复习要点
●判断题:基本概念, 见复习要点
●名词解释:见下列复习题
●简答题:见下列复习题
●画图、程序题
二、各章复习要点(完整叙述参见课本或PPT)
OOAD
A分析:做正确的事(对问题需求调查研究)
D设计:正确地做事(概念上的解决方案)
OA面向对象分析:发现描述领域对象
OD面向对象设计: 定义软件对象及如何协作
关键技能:为软件对象分配职责
统一过程UP
核心思想: 短固迭代进化可适应
6个主要科目(工作流):业务建模,需求,设计,实现,测试,部署
4个阶段:初始、细化、构造、移交
敏捷开发
宣言:工、文、合、计
需求
定义:能力,条件
分类:"FURPS+"模型
制品:USGVR
用例
概念:参与者、场景、用例模型作用:捕获用户目标的最好办法;发现定义需求的核心机制;强调了F:功能需求;不是OO,是OOAD关键需求的输入
表示法:摘要、非正式、详述
How:选边界;定主参;定目标;以目标编用例
细化阶段
一句话:构核架,决高险,定需求,预进度
领域模型
What is:"可视化字典"/"概念模型"/"领域对象模型"/"分析对象模型"
How to:寻找策略: 重用修改现有模型(首要); 常见分类列表; 名词短语(从详述用例)
系统顺序图SSD
作用:SSD是OC和OD的输入;SSD中的操作在OC中分析;SSD是协作对象设计的起点;UC文本是它的输入系统事件:特定场景, 跨系统边界的事件
系统操作:对系统事件进行处理的系统行为或功能
操作契约OC
后置条件:三种状态变化:实例创建删除;属性修改;
关联形成清除
逻辑架构LA
LA:软件类宏观组织结构;组织为包、子系统、层等;对立术语:部署架构
包图:描述LA; 能组织如何事物
层:对类、包、子系统粗颗粒度分组;高层可调用低层,反之不然
常见层:UADBTF
交互图
描述对象间消息交互, 比静态图价值更高
种类:顺序图(栅栏式、顺序清晰); 通信图(网格式、空间效用)
UML类图
类属性:2种表示方式: 属性文本(内置属性);关联线(关联属性)。可见性4种(+Public;#Protected;~Package;-Private)
类关系:6种关系(依赖; 关联; 聚合; 组合; 继承; 实现)
GRASP:基于职责对象设计
模式:名称; 问题; 解决方案
创建者
问:谁创建对象?解:B创建A; B含聚A;B记录A;B 近用A;B初始化A
信息专家IE
问:如何分配职责?解:给IE(具有必要信息的类)
低耦合
问:降依赖,升重用?解:低耦合
控制器
问:如何连接UI层与领域层?解:领域层委托模式:门面控制器、用例控制器
高内聚
问:如何保持对象的可管理性?解:相关度和集中度
多态
问:如何处理“随类型不同“?基于类型、可插拔。解:用多态操作
间接性
问:如何避免直接耦合?解:中介对象
纯虚构
问:领域层对象不合适时,谁?解:给纯虚构对象
防止变异问:如何避开变化和不稳定?解:创建稳定接口GoF设计模式
接口型
Adapter(适配器模式)
Facade(门面模式)
Composite(合成模式)
Bridge(桥接模式)
责任型
Singleton(单例模式)
Observer(观察者模式)
Mediator(调停者模式)
Proxy(代理模式)
Chain of Responsibility(责任链模式)
Flyweight(享元模式)
构造型
Builder(建造模式)
Factory Method(工厂方法模式)
Abstract Factory(抽象工厂模式)
Prototype(原型模式)
Memento(备忘录模式)
操作型
Template(模板方法模式)
State(状态模式)
Strategy(策略模式)
Command(命令模式)
Interpreter(解释器模式)
扩展型
Decorator(装饰模式)
Iterator(迭代模式)
Visitor(访问者模式)
对象间可见性设计
动机:为了A向B发消息,B对A须可见。
对象间可见性4种:属性可见性(相对持久);参数可见性(相对暂时);局部可见性(相对临时:新实例赋予局部变量;返回对象赋局部变量);全局可见性( 相对持久:赋予全局变量、单实例类)
测试驱动开发与重构
测试驱动开发TDD:关键点:先写测试,后写代码
重构Refactoring:重写已有代码的结构化方法(每次重构要通过单元测试);
目标:得到优秀代码、矫正坏味代码、清理恶臭代码架构分析
本质:识别影响架构的因素(架构因素),理解这些的可变性和优先级,并且解决这些问题(架构决策)。"架构分析"在UP中既包含架构调查(识别)也包含架构设计(解决)
架构因素被记录在补充规格说明中;架构决策被记录在SAD (软件架构文档)中
架构的文档化
软件架构文档SAD:描述有关架构的总体想法,包含架构分析的关键决策;
架构视图:从指定视角出发的系统架构视图;主要关注结构、模块性、基本构件和主要控制流等方面。
4+1视图模型:4 个视图分别是:逻辑、进程、部署和数据。“ +1 ”视图指的是用例视图。
敏捷项目管理
阶段计划:里程碑日期和目标
迭代计划:当前和下一次跌代中的工作
三、复习题名词解释:
面向对象分析、设计p499 耦合p216
UML p8
统一过程UP p14
迭代p15
需求p40
用例p47
领域模型p100 逻辑架构p146
层p147
模式p499 GRASP p210
开放-封闭原则p315 得墨忒耳定律p312 阶段计划p486
进化点p391
简答题:
1.简述UP的4个阶段和几个主要科目,列出各科目主要制品,各制品的时限(开始时间
及精化时间)。
2.简述需求制品USGVR和需求模型FURPS+
3.简述分层架构中的常见分层:UADBTF。简述领域层与领域模型的区别。
4.简述顺序图和通信图的区别,掌握其相互间转换。
5.简述TDD、重构及其关系。
6.列出GRASP的9种设计原则,各解决了什么问题?
7.举例说明设计原则“针对接口编程,而不是针对实现编程”。
8.列出GoF的23种设计模式名称,解释其中2种你熟悉的设计模式,画出其UML类
图,并说明其中各角色的作用及其间的关系。
9.熟悉各种常见UML图(用例图,类图,交互图,活动图,状态图,包图)的基本要素
10.熟悉何时不了解迭代开发p29,初始阶段p41,细化阶段p96, 迭代计划p489