顶部
收藏

软件设计与体系结构

“十一五”国家规划教材

作者:
齐治昌
定价:
27.00 元
版面字数:
430千字
开本:
16开
装帧形式:
平装
版次:
1
最新版次
印刷时间:
2013年
ISBN:
978-7-04-028408-9
物料号:
28408-00
出版时间:
2010-02-05
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
软件工程专业课程

软件工程强调以工程化思想和方法开发软件,而软件设计作为软件开发过程中的核心活动之一,对开发出满足需要的高质量软件起关键作用。本书对软件设计以及软件体系结构的相关思想、理论与方法进行了系统的介绍,包括软件设计与软件体系结构在软件工程中的地位和作用、软件设计的基本方法与原则、统一建模语言UML 2.0、面向对象的软件设计方法、面向数据流的软件设计方法、人机界面设计、软件体系结构风格与设计模式、基于构件的软件体系结构、软件体系结构评估、软件设计的进化等内容。本书包含了作者多年来在软件开发实践、软件工程教学和科研活动中的认识与体会,并结合了大量的案例分析,力求全书内容与组织结构的系统性、先进性、基础性和实用性。

本书可作为高等院校计算机科学与技术专业、软件工程专业或信息类相关专业的本科生和研究生教材,以培养学生的软件设计思维能力以及方法和技术的运用能力,同时也适用于开发人员和项目管理人员在软件开发实践中参考。

  • 目录
    • 第1章 软件工程与软件设计
      • 1.1 软件工程
        • 1.1.1 软件概述
          • 1.1.2 软件危机
            • 1.1.3 软件工程的概念
              • 1.1.4 软件工程的目标与原则
              • 1.2 软件的生存周期
                • 1.3 软件开发过程模型
                  • 1.3.1 瀑布模型
                    • 1.3.2 快速原型模型
                      • 1.3.3 螺旋模型
                        • 1.3.4 统一软件开发过程
                        • 1.4 软件设计
                          • 1.4.1 软件设计的重要性
                            • 1.4.2 软件设计的特征
                              • 1.4.3 软件设计的要素
                              • 1.5 软件体系结构
                                • 1.5.1 软件体系结构的定义
                                  • 1.5.2 软件体系结构的发展历程
                                    • 1.5.3 软件体系结构的内容
                                    • 1.6 小结
                                      • 习题
                                        • 参考文献
                                        • 第2章 统一建模语言UML
                                          • 2.1 UML概述
                                            • 2.1.1 UML的发展历程
                                              • 2.1.2 UML的特点和用途
                                                • 2.1.3 UML 2.0的建模机制
                                                • 2.2 面向对象开发方法
                                                  • 2.2.1 基本概念
                                                    • 2.2.2 面向对象方法的优势
                                                    • 2.3 UML 2.0结构建模
                                                      • 2.3.1 类图
                                                        • 2.3.2 包图
                                                          • 2.3.3 对象图
                                                            • 2.3.4 构件图
                                                              • 2.3.5 组合结构图
                                                                • 2.3.6 部署图
                                                                • 2.4 UML 2.0行为建模
                                                                  • 2.4.1 活动图
                                                                    • 2.4.2 顺序图
                                                                      • 2.4.3 通信图
                                                                        • 2.4.4 交互概览图
                                                                          • 2.4.5 时序图
                                                                            • 2.4.6 状态图
                                                                              • 2.4.7 用例图
                                                                              • 2.5 小结
                                                                                • 习题
                                                                                  • 参考文献
                                                                                  • 第3章 软件设计基础
                                                                                    • 3.1 软件设计的基本概念
                                                                                      • 3.1.1 抽象与逐步求精
                                                                                        • 3.1.2 模块化与信息隐藏
                                                                                          • 3.1.3 内聚与耦合
                                                                                          • 3.2 软件设计过程
                                                                                            • 3.2.1 软件设计的一般过程
                                                                                              • 3.2.2 软件设计的主要活动
                                                                                              • 3.3 软件设计的质量
                                                                                                • 3.4 软件体系结构设计
                                                                                                  • 3.4.1 软件体系结构设计方法概述
                                                                                                    • 3.4.2 软件体系结构设计的步骤
                                                                                                    • 3.5 高可信软件设计
                                                                                                      • 3.5.1 可信软件的特点
                                                                                                        • 3.5.2 容错设计
                                                                                                          • 3.5.3 软件失效模式和影响分析
                                                                                                            • 3.5.4 软件故障树分析
                                                                                                              • 3.5.5 形式化方法
                                                                                                                • 3.5.6 净室方法
                                                                                                                  • 3.5.7 嵌入式和实时软件设计
                                                                                                                  • 3.6 软件设计规格说明
                                                                                                                    • 3.7 软件设计评审
                                                                                                                      • 3.8 小结
                                                                                                                        • 习题
                                                                                                                          • 参考文献
                                                                                                                          • 第4章 面向对象的软件设计方法
                                                                                                                            • 4.1 基于UML的分析与设计过程
                                                                                                                              • 4.2 用例分析与设计
                                                                                                                                • 4.2.1 确定用例
                                                                                                                                  • 4.2.2 生成用例图
                                                                                                                                    • 4.2.3 用例设计描述
                                                                                                                                    • 4.3 概念模型和顶层架构设计
                                                                                                                                      • 4.3.1 概念模型设计
                                                                                                                                        • 4.3.2 顶层架构设计
                                                                                                                                        • 4.4 用户界面设计
                                                                                                                                          • 4.5 数据模型设计
                                                                                                                                            • 4.6 设计精化
                                                                                                                                              • 4.6.1 精化软件架构
                                                                                                                                                • 4.6.2 调整软件构成类
                                                                                                                                                  • 4.6.3 精化交互模型
                                                                                                                                                    • 4.6.4 精化类之间的关系
                                                                                                                                                    • 4.7 类设计
                                                                                                                                                      • 4.7.1 精化类的属性与操作
                                                                                                                                                        • 4.7.2 类的行为模型设计
                                                                                                                                                        • 4.8 部署模型设计
                                                                                                                                                          • 4.9 小结
                                                                                                                                                            • 习题
                                                                                                                                                              • 参考文献
                                                                                                                                                              • 第5章 面向数据流的软件设计方法
                                                                                                                                                                • 5.1 数据流图与数据字典
                                                                                                                                                                  • 5.2 实体关系图
                                                                                                                                                                    • 5.3 面向数据流的分析过程
                                                                                                                                                                      • 5.3.1 建立数据流模型
                                                                                                                                                                        • 5.3.2 过程规格说明
                                                                                                                                                                        • 5.4 面向数据流的设计过程
                                                                                                                                                                          • 5.4.1 变换流与事务流
                                                                                                                                                                            • 5.4.2 变换分析
                                                                                                                                                                              • 5.4.3 事务分析
                                                                                                                                                                              • 5.5 启发式设计策略
                                                                                                                                                                                • 5.6 小结
                                                                                                                                                                                  • 习题
                                                                                                                                                                                    • 参考文献
                                                                                                                                                                                    • 第6章 用户界面设计
                                                                                                                                                                                      • 6.1 界面设计的基本原则
                                                                                                                                                                                        • 6.2 设计良好界面的主要途径
                                                                                                                                                                                          • 6.2.1 使系统处于用户控制之中
                                                                                                                                                                                            • 6.2.2 减少用户记忆负担
                                                                                                                                                                                              • 6.2.3 保持界面一致性
                                                                                                                                                                                              • 6.3 用户界面的分析与设计过程
                                                                                                                                                                                                • 6.3.1 界面交互方式
                                                                                                                                                                                                  • 6.3.2 界面分析和设计模型
                                                                                                                                                                                                    • 6.3.3 分析与设计过程
                                                                                                                                                                                                    • 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.7 界面设计的评估
                                                                                                                                                                                                                    • 6.8 小结
                                                                                                                                                                                                                      • 习题
                                                                                                                                                                                                                        • 参考文献
                                                                                                                                                                                                                        • 第7章 软件体系结构风格与设计模式
                                                                                                                                                                                                                          • 7.1 基本概念
                                                                                                                                                                                                                            • 7.2 软件体系结构描述语言
                                                                                                                                                                                                                              • 7.2.1 Wright ADL
                                                                                                                                                                                                                                • 7.2.2 图形化体系结构描述语言
                                                                                                                                                                                                                                • 7.3 软件体系结构风格
                                                                                                                                                                                                                                  • 7.3.1 管道/过滤器风格
                                                                                                                                                                                                                                    • 7.3.2 层次风格
                                                                                                                                                                                                                                      • 7.3.3 客户/服务器风格
                                                                                                                                                                                                                                      • 7.4 设计模式
                                                                                                                                                                                                                                        • 7.4.1 Factory Method(工厂方法)
                                                                                                                                                                                                                                          • 7.4.2 Abstract Factory(抽象工厂)
                                                                                                                                                                                                                                            • 7.4.3 Singleton(单件)
                                                                                                                                                                                                                                              • 7.4.4 Composite(组合)
                                                                                                                                                                                                                                                • 7.4.5 Proxy(代理)
                                                                                                                                                                                                                                                  • 7.4.6 Iterator(迭代器)
                                                                                                                                                                                                                                                    • 7.4.7 Observer(观察者)
                                                                                                                                                                                                                                                    • 7.5 小结
                                                                                                                                                                                                                                                      • 习题
                                                                                                                                                                                                                                                        • 参考文献
                                                                                                                                                                                                                                                        • 第8章 基于分布构件的体系结构
                                                                                                                                                                                                                                                          • 8.1 EJB分布构件框架
                                                                                                                                                                                                                                                            • 8.1.1 EJB简介
                                                                                                                                                                                                                                                              • 8.1.2 实例
                                                                                                                                                                                                                                                                • 8.1.3 原理分析
                                                                                                                                                                                                                                                                  • 8.1.4 其他说明
                                                                                                                                                                                                                                                                  • 8.2 DCOM分布构件框架
                                                                                                                                                                                                                                                                    • 8.2.1 DCOM的基本概念
                                                                                                                                                                                                                                                                      • 8.2.2 整体结构
                                                                                                                                                                                                                                                                        • 8.2.3 实例
                                                                                                                                                                                                                                                                          • 8.2.4 对原理的进一步分析
                                                                                                                                                                                                                                                                          • 8.3 CORBA分布构件框架
                                                                                                                                                                                                                                                                            • 8.3.1 基本体系结构
                                                                                                                                                                                                                                                                              • 8.3.2 实例分析
                                                                                                                                                                                                                                                                                • 8.3.3 完整体系结构
                                                                                                                                                                                                                                                                                • 8.4 小结
                                                                                                                                                                                                                                                                                  • 习题
                                                                                                                                                                                                                                                                                    • 参考文献
                                                                                                                                                                                                                                                                                    • 第9章 软件体系结构评估
                                                                                                                                                                                                                                                                                      • 9.1 软件体系结构评估概述
                                                                                                                                                                                                                                                                                        • 9.1.1 评估时机和参与人员
                                                                                                                                                                                                                                                                                          • 9.1.2 评估结果和质量属性
                                                                                                                                                                                                                                                                                            • 9.1.3 评估的益处和代价
                                                                                                                                                                                                                                                                                            • 9.2 软件体系结构评估方法
                                                                                                                                                                                                                                                                                              • 9.2.1 ATAM方法
                                                                                                                                                                                                                                                                                                • 9.2.2 SAAM方法
                                                                                                                                                                                                                                                                                                  • 9.2.3 ARID方法
                                                                                                                                                                                                                                                                                                  • 9.3 实例分析
                                                                                                                                                                                                                                                                                                    • 9.3.1 ATAM方法实例
                                                                                                                                                                                                                                                                                                      • 9.3.2 SAAM方法实例
                                                                                                                                                                                                                                                                                                      • 9.4 小结
                                                                                                                                                                                                                                                                                                        • 习题
                                                                                                                                                                                                                                                                                                          • 参考文献
                                                                                                                                                                                                                                                                                                          • 第10章 软件设计的进化
                                                                                                                                                                                                                                                                                                            • 10.1 遗留系统
                                                                                                                                                                                                                                                                                                              • 10.2 软件的进化策略
                                                                                                                                                                                                                                                                                                                • 10.2.1 进化策略的分类
                                                                                                                                                                                                                                                                                                                  • 10.2.2 进化策略的选择
                                                                                                                                                                                                                                                                                                                  • 10.3 软件再工程
                                                                                                                                                                                                                                                                                                                    • 10.3.1 业务过程重构
                                                                                                                                                                                                                                                                                                                      • 10.3.2 软件再工程的过程模型
                                                                                                                                                                                                                                                                                                                        • 10.3.3 软件再工程中的经济因素
                                                                                                                                                                                                                                                                                                                          • 10.3.4 信息恢复的级别和方法
                                                                                                                                                                                                                                                                                                                          • 10.4 软件体系结构的进化
                                                                                                                                                                                                                                                                                                                            • 10.4.1 软件体系结构进化的过程
                                                                                                                                                                                                                                                                                                                              • 10.4.2 软件体系结构的恢复
                                                                                                                                                                                                                                                                                                                                • 10.4.3 软件体系结构的改善
                                                                                                                                                                                                                                                                                                                                • 10.5 代码重构和数据重构
                                                                                                                                                                                                                                                                                                                                  • 10.6 软件移植
                                                                                                                                                                                                                                                                                                                                    • 10.7 小结
                                                                                                                                                                                                                                                                                                                                      • 习题
                                                                                                                                                                                                                                                                                                                                        • 参考文献

                                                                                                                                                                                                                                                                                                                                      相关图书