logo资料库

软件架构设计的思想与模式.pdf

第1页 / 共217页
第2页 / 共217页
第3页 / 共217页
第4页 / 共217页
第5页 / 共217页
第6页 / 共217页
第7页 / 共217页
第8页 / 共217页
资料共217页,剩余部分请下载后查看
软件构架设计的思想与模式
第一章 软件构架色痕迹思想与体系创建
1.1软件构架师的角色和应掌握的知识体系
1.1.1软件构架的定义与问题
1.1.2软件复用和系统构架
1.1.3软件构架师的角色
1.2经典软件开发生命周期与过程
1.2.1经典项目阶段
1.2.2软件开发生命周期增量模型
1.2.3现代软件开发管理原理
1.3在信息技术战略规划(ITSP)中的软件构架
第二章 需求抽取与业务建模
2.1系统分析
2.1.1从软件缺陷的产生看需求的重要性
2.1.2需求的主要内容
2.1.3需求演进
2.2需求的过程定义
2.3项目的启动
2.3.1调查研究技术
2.3.2范围定义
2.3.3问题分析
2.3.4项目陈述
2.4网罗需求
2.4.1引出需求方法论问题
2.4.2找出工作的本质
2.4.3解决正确的问题
2.4.4业务重组与创新的产品
2.4.5为需求制作模型
2.4.6面谈
2.4.7需求框架
2.4.8业务用例研讨会
2.4.9创造性研讨会
2.4.10头脑风暴会
2.4.11确定产品应该是怎样的
2.5业务事件和业务用例
2.5.1业务需求分析阶段
2.5.2做学徒是获取业务用例的好方法
2.5.3业务的上下文范围与图
2.5.4过程分解
2.5.5业务事件
2.5.6为什么业务事件和业务用例是好想法
2.5.7发现业务事件
第三章 产品用例与关注点捕获
3.1产品用例的分析与场景
3.1.1用例图对产品功能的表达
3.2用例的场景
3.2.1用例事件流所应包含的内容
3.2.2场景描述文档的基本要求
3.3用例场景描述与结构
3.3.1用事件流及其描述
3.3.2用例结构化
3.3.3用例扩展关系
3.3.4用例包含关系
3.3.5用例泛化
3.4捕获涉众关注点
3.4.1理解涉众关注点
3.5功能性与非共功能性需求
3.5.1发现功能性需求
3.5.2发现非功能性需求
3.5.3用例与非功能性需求
3.5.4非功能性需求类型与软件质量模型
3.6验收标准
3.6.1验收需要标准的原因
3.6.2测量的尺度
3.6.3理由
3.6.4非功能需求的验收标准
3.6.5功能性需求的验收标准
3.7编写完整的规格说明
3.8质量关
3.9复查规格说明
3.10风险分析和优先级的考虑
3.11模式与需求复用
3.11.1什么是复用需求
3.11.2需求模式
3.11.3业务事件模式
3.11.4通过抽象形成模式
3.11.5邻域分析
3.11.6复用的趋势
第四章 从需求开发到构架设计
4.1从需求开发向设计规划的转化
4.1.1需求和进度安排
4.1.2需求和预估
4.1.3从需求到设计和编码
4.2构造弹性软件构架
4.2.1好的构架的特点
4.2.2建立构架基线的步骤
4.3系统设计的应用构架策略
4.3.1企业应用构架策略
4.3.2战术应用构架策略
4.4模块化构架设计策略
4.4.1模块化设计的概念
4.4.2实现模块化的手段
4.5面向构件的方法
4.5.1面向构架的方法简述
4.5.2面向构件软件模式
4.5.3开放式系统技术
4.6高层设计中的构架分析
4.6.1构架分析
4.6.2识别和分析构架因素
4.6.3构架因素的解析
4.7高层构架设计中的层模式
4.7.1层模式的问题与机会
4.7.2层模式的设计原则
4.8面向服务构架(SOA)
4.8.1SOA的优点
4.8.2SOA的特性
4.8.3构建SOA构架时应注意的问题
4.8.4服务粒度的控制
第五章 用例驱动与基于方面的构架设计
5.1用例驱动的分析模型
5.1.1分析建模
5.1.2分析建模的简单例子
5.1.3分析类的识别
5.1.4分析模型的属性
5.1.5分析模型的关联
5.1.6分析模型的泛化建模
5.2设计和实现模型
5.2.1从分析模型到设计模型
5.2.2用例模型横切与模型
5.3使用方面技术解决关注点分离问题
5.3.1使关注点相互分离
5.3.2使用方面技术解决关注点分离问题
5.3.3通过叠加用例切片来构建系统
5.3.4使用对等用例保持分离
5.3.5使用扩展用例保持分离
5.4基于用例切片使对等用例保持分离
5.4.1实现对等用例
5.4.2使用特定部分保持分离
5.5使用Pointcut使扩展保持分离
5.5.1实现扩展用例
5.5.2使扩展用例的实现保持模块化与扩展
第六章 基于质量属性的构架设计
6.1质量度量模型与质量属性场景
6.1.1三层次软件质量轻度模型
6.1.2软件构架质量属性的场景
6.2可靠性质量解决方案
6.2.1可靠性质量属性场景
6.2.2健康监测
6.2.3错误恢复
6.2.4错误预防
6.3基于高可靠性的构架设计
6.3.1进程间提升可靠性的方法
6.3.2保证可靠性的分成结构
6.4可维护性解决方案
6.4.1可维护性质量属性场景
6.4.2局部化修改
6.4.3防止连锁反应
6.4.4推迟绑定时间
6.5基于高可维护性的构架设计
6.5.1问题的陈述
6.5.2高层结构
6.6基于高可集成性的构架设计
6.6.1问题的陈述
6.6.2构架解决方案
6.6.3结构化模型的构架模式
6.6.4子系统管理部分的模块
6.6.5子系统应用模块
6.6.6系统设计中需要关注的问题
6.7软件产品线的应用
6.7.1确定范围
6.7.2确定变化点
6.7.3支持变化点
6.8基于产品线的构架设计
6.8.1开发产品线的动因
6.8.2组织结构的变更
6.8.3构架解决方案
6.8.4产品线构架的应用
6.8.5产品线构架的障碍
6.8.6复用成熟度模型(RMM)
6.9构架决策
6.9.1ATAM的参与人员
6.9.2ATAM的结果
6.9.3ATAM的阶段
6.10关于构架的重要结论
第七章 设计模式与小粒度构架设计
7.1软件重构技术
7.1.1为什么要研究重构技术
7.1.2重构的定义
7.1.3重构的原则
7.1.4重构的目标和本质
7.1.5重构的组成与步骤
7.1.6重构的优点与风险
7.1.7重构的不足和风险
7.2设计模式
7.3封装变化与面向接口编程
7.4封装变化的三种方式及评价
7.4.1纵向处理:模板方法(Template Method)
7.4.2简单工厂(Simpleness Factory)模式
7.4.3横向处理:桥接模式(Bridge)
7.4.4核心和外围:装饰器模式(Decorator)
7.5应用观察者模式延长构架的生命周期
7.6利用策略与工厂模式实现通用的构架
7.6.1应用策略模式提升层的通用性
7.6.2示例:利用反射实现通用框架
7.7单件模式的应用问题
7.8代理模式的应用
7.8.1代理模式简述
7.8.2案例:在团队并行开发中使用代理模式
7.9树状结构和链型结构的对象组织
7.9.1树状结构:组合模式
7.9.2链型结构:职责链模式
7.10代码机构的质量度量
7.10.1控制流结构及模型
7.10.2软件复杂性及度量原则
7.10.3层次化度量
7.10.4McCabe圈复杂性度量
7.12软件构架挖掘
7.12.1构架挖掘过程
7.12.2构架挖掘的方法学问题
7.12.3职责驱动的开发
7.12.4构架的可追踪性
第八章 软件经济学与构架设计
8.1软件经济学
8.2软件规模预告
8.2.1代码行规模度量
8.2.3功能点度量
8.3成本估计
8.3.1软件成本估计的建议
8.3.2自底向上或自顶向下的估计
8.3.3评价估计的准确性
8.3.4工作量和成本模型
8.3.5基于回归技术的模型
8.3.6CoCoMo模型
8.4改进的软件经济学
8.5变更管理和预期管理
8.5.1变更管理
8.5.2预期管理
结束语:时代呼唤优秀的软件构架师
分享到:
收藏