《系统分析与设计方法及实践》一导读

image

前 言

软件分析与设计是软件系统开发的重要组成部分,它包含了一系列原理、方法和实践,指导人们进行正确的软件开发。软件开发强调从工程化的原理出发,按照标准化规程和软件开发实践来引导软件开发人员进行软件开发,并进行过程改进,促进软件企业向标准化和成熟化发展。软件分析与设计是一门理论与实践相结合的课程,注重通过实践来理解理论、原理与方法。为此,本书结合作者多年的软件工程教学和项目开发经验,通过6个案例和3个工具软件,从不同的角度和范型循序渐进地介绍软件开发过程中所涉及的原理、方法与技术。
全书分为4部分:

第一部分:软件分析与设计基础。这一部分共安排了3章内容,初步介绍软件工程的基本概念、软件过程生命周期及其模型,以及本教材的案例与要求。
第二部分:结构化分析与设计。这一部分共安排了5章内容,介绍结构化分析与设计的基本概念、分析与设计过程、分析与设计模型,以及相关技术与方法,包括需求分析、结构化分析方法、结构化设计概念、结构化概要设计和结构化详细设计的内容。本部分用案例进一步深化结构化分析与设计的原理、方法及过程。
第三部分:面向对象分析与设计。这一部分共安排了5章内容,介绍面向对象分析与设计的基本概念、用例分析模型与设计过程、面向对象分析与设计模型,以及相关技术与方法,包括用例需求分析、面向对象分析方法、面向对象设计、统一开发过程和高要求的系统分析与设计等内容。
第四部分:软件分析与设计工具。这一部分共安排了3章内容,介绍软件分析与设计中常见的建模工具的使用和案例开发模型,包括结构化分析工具Visio、面向对象分析与设计工具Rose和面向数据分析与设计工具PowerDesigner。

编写思想

  • 将传统结构化分析与设计和面向对象分析与设计进行对比介绍,有利于学生理解软件开发的不同范型的特点和适用情况,适合作为教材使用。
  • 注重介绍软件分析与设计的思想,通过案例分析让学生理解这些思想和原理。
  • 通过工具的介绍进一步理解软件开发的过程和实施技术,同时理解企业的主流开发工具与做法。
    内容特点
  • 分为软件分析与设计基础、结构化分析与设计、面向对象分析与设计和软件分析与设计工具四个方面。对于每一个方面分别介绍软件分析和设计的过程、原理、方法和案例,以及工具支持。
  • 将结构化软件分析与设计和面向对象软件分析与设计分开来讲述,并通过不同的案例来帮助读者理解两种范型的特点和适用对象。
  • 结构化软件分析与设计部分介绍结构化开发的过程、原理、思想,这些都可以推广到面向对象的分析与设计过程中。此外,通过一个需求稳定的案例介绍传统结构化开发的基本方法和做法。
  • 面向对象软件分析与设计部分注重面向对象分析模型和设计模型的构建,强调它们之间的关系,抓住面向对象模型开发的要点,通过UML来描述分析和设计过程。书中还介绍了高要求系统的分析与设计过程以及建模要点,进一步加深读者对面向对象模型开发本质及其适用情况的理解。统一开发过程的描述帮助读者深入理解当今流行的软件开发过程和具体做法,并通过复杂的系统案例分析理解面向对象分析与设计的思想。
  • 案例研究注重分析与思考实现过程,通过三个软件工具Visio、Rose和PowerDesigner介绍如何应用这些工具快速、准确地开发系统。
  • 采用由结构化到面向对象再到工具的路线,便于学生逐步接受软件开发的思想和本质,尤其适合没有任何开发概念(未接触软件工程概念)的学生阅读。

本书内容翔实,有典型案例支持,便于读者学习和深入体会软件分析与设计的原理和方法。

本书第1~8章由窦万峰编写,第9~10章由窦万峰和彭涛编写,第11~12章由窦万峰和洪奎编写,第13章由窦万峰和赵菁编写,第14~15章由宋效东编写,第16章由史玉梅和李东振编写。全书由窦万峰统稿、校对。
本书适合作为高等院校软件工程和软件分析与设计课程的教材,既适用于计算机专业的学生,也适用于其他非计算机专业的学生和从事软件开发、应用及管理的技术人员。
由于作者水平有限,书中难免有疏漏之处,恳请各位读者指正。尤其是案例的详细程度和方案的多样性,请读者给予意见,以便以后改进和完善。

目 录

第一部分 软件分析与设计基础
第1章 软件分析与设计概述
1.1 什么是软件
1.2 什么是软件分析与设计
1.3 软件系统开发范型
1.4 软件生产活动
1.5 小结
习题
第2章 软件分析与设计过程及其模型
2.1 软件生命周期
2.2 敏捷软件开发
2.3 结对编程方法
2.4 软件过程模型
2.5 能力成熟度模型CMM
2.6 小结
习题
第3章 案例研究
3.1 案例研究中涵盖的内容
3.2 案例1:POS机系统
3.3 案例2:ATM系统
3.4 案例3:图书馆系统
3.5 案例4:电子商务系统
3.6 案例5:胰岛素输送系统
3.7 案例6:分布式结对编程系统
3.8 小结
习题
第4章 需求分析
4.1 软件系统需求
4.2 需求分析过程
4.3 需求分析技术
4.3.1 会谈技术
4.3.2 问卷调查技术
4.3.3 场景分析技术
4.3.4 用例分析技术
4.4 小结
习题
第5章 结构化分析方法
5.1 结构化分析
5.2 结构化分析模型
5.3 数据实体建模方法
5.4 数据流建模方法
5.4.1 数据流建模
5.4.2 图书馆系统案例分析
5.5 状态转换建模方法
5.6 小结
习题
第6章 结构化设计基础
6.1 软件设计过程
6.1.1 概要设计
6.1.2 详细设计
6.2 模块化设计原理
6.2.1 分解
6.2.2 抽象
6.2.3 信息隐蔽
6.2.4 逐步求精
6.2.5 模块独立性
6.3 模块独立性度量
6.3.1 内聚性
6.3.2 耦合性
6.4 软件组成结构
6.4.1 软件结构图
6.4.2 结构优化
6.5 软件体系结构
6.5.1 系统构成模型
6.5.2 系统控制模式
6.6 小结
习题
第7章 结构化概要设计方法
7.1 数据流模型
7.1.1 变换型数据流
7.1.2 事务型数据流
7.1.3 混合型数据流
7.2 面向数据流的设计方法
7.2.1 设计过程
7.2.2 变换流设计
7.2.3 事务流设计
7.2.4 混合流设计
7.3 面向数据的设计方法
7.3.1 数据结构的表示
7.3.2 面向数据结构的设计过程
7.3.3 信用卡记账系统案例分析
7.4 图书馆系统概要设计
7.4.1 问题定义和数据流描述
7.4.2 系统结构图
7.5 小结
习题
第8章 结构化详细设计
8.1 结构化详细设计的结构和优点
8.2 结构化详细设计工具
8.2.1 程序流程图
8.2.2 N-S盒图
8.2.3 PAD
8.2.4 HIPO图
8.2.5 判定表与判定树
8.2.6 过程描述语言
8.3 人机交互界面设计
8.3.1 交互界面分析
8.3.2 交互界面设计步骤
8.3.3 交互界面设计指南
8.3.4 CAD系统绘图操作案例分析
8.4 数据库设计
8.5 编码实现
8.5.1 编码语言
8.5.2 编码风格
8.6 小结
习题
第三部分 面向对象分析与设计
第9章 面向对象基础
9.1 面向对象概念
9.2 面向对象模型
9.3 统一建模语言UML
9.3.1 UML的组成
9.3.2 UML模型
9.4 UML与面向对象方法学的关系
9.5 小结
习题
第10章 面向对象分析
10.1 用例驱动分析
10.2 领域与业务建模
10.2.1 识别业务类或分析类
10.2.2 开发业务类图与交互图
10.2.3 识别属性和操作
10.2.4 开发协作图
10.3 系统行为建模
10.3.1 建立系统顺序图
10.3.2 建立操作契约
10.3.3 开发UML顺序图
10.4 建立系统状态模型
10.4.1 建立系统状态图
10.4.2 POS机案例分析
10.5 分布式结对编程系统案例分析
10.6 小结
习题
第11章 面向对象设计
11.1 面向对象设计概述
11.1.1 系统逻辑架构
11.1.2 面向对象设计模型
11.2 构件级设计
11.2.1 构件
11.2.2 构件级设计步骤
11.2.3 基于构件的设计原则
11.3 确定并发性
11.4 使用设计模式
11.4.1 基于职责的对象设计
11.4.2 常见的设计模式
11.5 面向对象详细设计
11.5.1 领域模型精化
11.5.2 逻辑架构的精化设计
11.5.3 分层设计
11.5.4 POS机案例分析
11.6 类精化设计
11.7 数据存储与持久性设计
11.7.1 数据存储
11.7.2 持久性设计
11.8 部署与构件图
11.9 面向对象设计案例分析
11.9.1 POS机系统
11.9.2 分布式结对编程系统
11.10 小结
习题
第12章 统一过程与模型
12.1 概述
12.1.1 统一过程是用例驱动的过程
12.1.2 统一过程是迭代、增量的过程
12.2 用例驱动开发过程
12.2.1 捕获用例
12.2.2 ATM系统案例分析
12.3 软件构架
12.3.1 什么是软件构架
12.3.2 构架描述
12.4 需求捕获工作流
12.4.1 需求捕获过程
12.4.2 电子商务交易系统
案例分析
12.5 分析工作流
12.5.1 分析过程
12.5.2 电子商务交易系统
案例分析
12.6 设计工作流
12.6.1 设计过程
12.6.2 设计工作活动与应用
12.7 实现工作流
12.7.1 实现模型
12.7.2 实现活动
12.8 小结
习题
第13章 高要求系统的分析与设计
13.1 概述
13.2 高要求系统的特性及其关系
13.2.1 高要求系统的特性
13.2.2 可用性和可靠性的关系
13.2.3 安全性和保密性的关系
13.3 高要求系统的需求分析
13.3.1 系统的风险描述
13.3.2 系统的安全性描述
13.3.3 系统的保密性描述
13.3.4 系统的可靠性描述
13.4 案例分析
13.4.1 胰岛素输送系统的需求分析
13.4.2 ATM系统的可靠性需求
13.5 形式化描述方法
13.5.1 系统的形式化描述方法
13.5.2 接口的形式化描述方法
13.5.3 对象约束语言
13.5.4 系统行为的形式化描述
13.5.5 胰岛素输送系统案例分析
13.6 高要求系统的设计
13.6.1 系统设计过程
13.6.2 监控系统
13.6.3 案例分析
13.7 高要求系统的开发策略
13.7.1 可靠的软件过程
13.7.2 可靠的编程
13.7.3 容错设计
13.7.4 容错体系结构
13.8 系统验证
13.8.1 可靠性验证
13.8.2 安全性保证
13.8.3 信息安全评估
13.8.4 胰岛素输送系统案例分析
13.9 小结
习题
第四部分 软件分析与设计工具
第14章 结构化分析工具Visio
14.1 概述
14.2 Visio的基本使用
14.2.1 Visio初步
14.2.2 Visio提供的文件类型
14.3 数据流模型绘制
14.3.1 数据流图
14.3.2 案例分析
14.4 状态机模型
14.4.1 状态图
14.4.2 案例分析
14.5 JSD模型
14.5.1 Jackson图
14.5.2 案例分析
14.6 实体-关系模型
14.6.1 实体-关系图
14.6.2 案例分析
14.7 小结
习题
第15章 面向对象分析与
设计工具Rose
15.1 概述
15.2 Rational Rose的基本使用
15.2.1 Rational Rose主界面
15.2.2 Rational Rose基本操作
15.2.3 Rational Rose模型
15.3 用例模型
15.3.1 用例图
15.3.2 案例分析
15.4 类模型与类图
15.4.1 类模型
15.4.2 类图
15.4.3 案例分析
15.5 交互模型
15.5.1 协作图与案例分析
15.5.2 顺序图与案例分析
15.5.3 顺序图与协作图的转换
15.6 部署模型
15.6.1 部署图
15.6.2 案例分析
15.7 小结
习题
第16章 面向数据分析与设计工具PowerDesigner
16.1 概述
16.2 PowerDesigner基本操作
16.2.1 PowerDesigner操作步骤
16.2.2 PowerDesigner模型
16.3 概念数据模型构建
16.3.1 概念数据模型的功能
16.3.2 概念数据视图
16.3.3 案例分析
16.4 业务处理模型构建
16.4.1 业务处理模型图
16.4.2 案例分析
16.5 物理数据模型构建
16.5.1 物理数据模型
16.5.2 物理数据视图
16.6 小结
习题
参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值