做分析与设计,书不在多,吃透了一本就够,推荐系统分析与设计方法原书第七版。记住,做这个更多的是要求你的思维和灵性,书只是工具。
1、系统分析,是将用户的想法通过任务分解的方式,将用户比较笼统的需求分析成研发能够理解的需求。2、系统设计是根据用户的需求,设计出来需要能够满足需求分析的系统。二者区别: 系统分析师比系统设计师更贴近...
--------------前言-------------- 人事管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提...
系统分析的概念 系统是系统分析的最基础的概念。按照一般系统论的创立者贝塔朗菲 (L· von Bertalanffy )的观点,系统是处于一定的相互关系并与环境发生关 系的各个组成部分 (要素 )的总体 (集 )。我国着名科学家钱学森则主张把“极其 复杂的研究对象称为系统,即相互作用和相互依赖的若干组成部分合成的具有 特定功能的有机整体,而且这个系统本身又是它所从属的一个更大系统的组成 部分。”因此,我们可以一般地将系统界定为是由若干处于相互联系并与环境发 生相互作用的要素或部分所构成的整体。 世界上的一切事物都是作为系统而存在的,是若干要素按一定的结构和层 次组成的,并且具有特定的功能。系统普遍存在于自然界和人类社会之中。它 是要由素所构成的整体,离开要素就无所谓的系统,因而要素是系统存在的基 础;系统的性质一般是由要素所决定的(有什么的要素,就具有什么样的系统 及其功能),但系统又具
系统分析的概念 系统是系统分析的最基础的概念。按照一般系统论的创立者贝塔朗菲( L· von Bertalanffy)的观点,系统是处于一定的相互关系并与环境发生关系的各个组成部分 (要素 ) 的总体 (集 )。我国着名科学家钱学森则主张把“极其复杂的研究对象称为系统,即相互作用 和相互依赖的若干组成部分合成的具有特定功能的有机整体, 而且这个系统本身又是它所从 属的一个更大系统的组成部分。 ”因此,我们可以一般地将系统界定为是由若干处于相互联 系并与环境发生相互作用的要素或部分所构成的整体。 世界上的一切事物都是作为系统而存在的, 是若干要素按一定的结构和层次组成的, 并 且具有特定的功能。 系统普遍存在于自然界和人类社会之中。 它是要由素所构成的整体, 离 开要素就无所谓的系统, 因而要素是系统存在的基础; 系统的性质一般是由要素所决定的 (有 什么的要素,就具有什么样的系统及其功能
《高等院校计算机课程案例教程系列:系统分析与设计方法及实践》分别从传统的结构化开发范型和面向对象开发范型两个方面,把软件分析与设计的概念和理论知识融入实践当中,通过丰富的案例分析与设计,深入地介绍系统分析与设计中各个阶段的技术、方法与典型工具的使用。《高等院校计算机课程案例教程系列:系统分析与设计方法及实践》前三部分为软件分析与设计基础、结构化分析与设计、面向对象分析与设计,最后一部分介绍了软件绘图工具visio、面向对象建模工具rose、数据建模工具powerdesigner3个流行的软件工程工具。
《高等院校计算机课程案例教程系列:系统分析与设计方法及实践》适合作为高等院校软件工程和软件开发课程的教材,既适用于计算机专业的学生,也适用于其他非计算机专业的学生以及从事软件开发、应用及管理的技术人员,同时也适合专业软件开发人员参考。
本书为开发计算机软件提供了一套软件分析与设计的方法,着重讲述结构化软件分析与设计方法、面向对象软件分析与设计方法和软件分析与设计工具三个方面的内容,是指导软件生产的重要的应用实践。
前言
教学建议
第一部分 软件分析与设计基础
第1章 软件分析与设计概述2
1.1 什么是软件2
1.1.1 软件定义与特性2
1.1.2 软件的演化3
1.1.3 软件危机3
1.1.4 软件危机的解决途径3
1.2 什么是软件分析与设计4
1.2.1 基本原理4
1.2.2 基本原则5
1.3 软件系统开发范型6
1.3.1 结构化开发范型6
1.3.2 面向对象开发范型6
1.4 软件生产活动7
1.5 小结8
习题8
第2章 软件分析与设计过程及其模型9
2.1 软件生命周期9
2.2 敏捷软件开发10
2.2.1 敏捷方法与开发原则10
2.2.2 极限编程及其模型11
2.3 结对编程方法12
2.3.1 什么是结对编程12
2.3.2 结对编程分析15
2.3.3 分布式结对编程16
2.4 软件过程模型17
2.4.1 传统软件过程模型17
2.4.2 面向对象过程模型21
2.5 能力成熟度模型CMM24
2.5.1 什么是能力成熟度模型24
2.5.2 CMM的5级模型25
2.6 小结26
习题27
第3章 案例研究28
3.1 案例研究中涵盖的内容28
3.2 案例1:POS机系统28
3.3 案例2:ATM系统28
3.4 案例3:图书馆系统29
3.5 案例4:电子商务系统29
3.6 案例5:胰岛素输送系统29
3.7 案例6:分布式结对编程系统30
3.8 小结30
习题30
第二部分 结构化分析与设计
第4章 需求分析32
4.1 软件系统需求32
4.2 需求分析过程33
4.3 需求分析技术36
4.3.1 会谈技术36
4.3.2 问卷调查技术36
4.3.3 场景分析技术36
4.3.4 用例分析技术37
4.4 小结43
习题44
第5章 结构化分析方法45
5.1 结构化分析45
5.2 结构化分析模型45
5.3 数据实体建模方法46
5.4 数据流建模方法47
5.4.1 数据流建模47
5.4.2 图书馆系统案例分析50
5.5 状态转换建模方法52
5.6 小结52
习题52
第6章 结构化设计基础53
6.1 软件设计过程53
6.1.1 概要设计53
6.1.2 详细设计55
6.2 模块化设计原理56
6.2.1 分解56
6.2.2 抽象57
6.2.3 信息隐蔽57
6.2.4 逐步求精58
6.2.5 模块独立性58
6.3 模块独立性度量58
6.3.1 内聚性58
6.3.2 耦合性59
6.4 软件组成结构59
6.4.1 软件结构图60
6.4.2 结构优化60
6.5 软件体系结构61
6.5.1 系统构成模型61
6.5.2 系统控制模式63
6.6 小结64
习题64
第7章 结构化概要设计方法65
7.1 数据流模型65
7.1.1 变换型数据流65
7.1.2 事务型数据流65
7.1.3 混合型数据流65
7.2 面向数据流的设计方法66
7.2.1 设计过程66
7.2.2 变换流设计67
7.2.3 事务流设计68
7.2.4 混合流设计68
7.3 面向数据的设计方法69
7.3.1 数据结构的表示70
7.3.2 面向数据结构的设计过程70
7.3.3 信用卡记账系统案例分析71
7.4 图书馆系统概要设计73
7.4.1 问题定义和数据流描述73
7.4.2 系统结构图73
7.5 小结75
习题75
第8章 结构化详细设计77
8.1 结构化详细设计的结构和优点77
8.2 结构化详细设计工具78
8.2.1 程序流程图78
8.2.2 N-S盒图78
8.2.3 PAD79
8.2.4 HIPO图81
8.2.5 判定表与判定树83
8.2.6 过程描述语言85
8.3 人机交互界面设计86
8.3.1 交互界面分析86
8.3.2 交互界面设计步骤88
8.3.3 交互界面设计指南89
8.3.4 CAD系统绘图操作案例分析89
8.4 数据库设计90
8.5 编码实现92
8.5.1 编码语言92
8.5.2 编码风格92
8.6 小结93
习题94
第三部分 面向对象分析与设计
第9章 面向对象基础98
9.1 面向对象概念98
9.2 面向对象模型98
9.3 统一建模语言UML101
9.3.1 UML的组成101
9.3.2 UML模型102
9.4 UML与面向对象方法学的关系102
9.5 小结102
习题103
第10章 面向对象分析104
10.1 用例驱动分析104
10.2 领域与业务建模107
10.2.1 识别业务类或分析类108
10.2.2 开发业务类图与交互图109
10.2.3 识别属性和操作111
10.2.4 开发协作图111
10.3 系统行为建模113
10.3.1 建立系统顺序图113
10.3.2 建立操作契约114
10.3.3 开发UML顺序图115
10.4 建立系统状态模型116
10.4.1 建立系统状态图116
10.4.2 POS机案例分析117
10.5 分布式结对编程系统案例分析119
10.6 小结122
习题122
第11章 面向对象设计123
11.1 面向对象设计概述123
11.1.1 系统逻辑架构123
11.1.2 面向对象设计模型123
11.2 构件级设计125
11.2.1 构件125
11.2.2 构件级设计步骤126
11.2.3 基于构件的设计原则127
11.3 确定并发性128
11.4 使用设计模式129
11.4.1 基于职责的对象设计130
11.4.2 常见的设计模式130
11.5 面向对象详细设计134
11.5.1 领域模型精化134
11.5.2 逻辑架构的精化设计138
11.5.3 分层设计139
11.5.4 POS机案例分析142
11.6 类精化设计152
11.7 数据存储与持久性设计154
11.7.1 数据存储154
11.7.2 持久性设计154
11.8 部署与构件图160
11.9 面向对象设计案例分析161
11.9.1 POS机系统161
11.9.2 分布式结对编程系统164
11.10 小结167
习题167
第12章 统一过程与模型168
12.1 概述168
12.1.1 统一过程是用例驱动的过程168
12.1.2 统一过程是迭代、增量的过程168
12.2 用例驱动开发过程169
12.2.1 捕获用例169
12.2.2 ATM系统案例分析170
12.3 软件构架174
12.3.1 什么是软件构架174
12.3.2 构架描述175
12.4 需求捕获工作流176
12.4.1 需求捕获过程177
12.4.2 电子商务交易系统
案例分析178
12.5 分析工作流180
12.5.1 分析过程181
12.5.2 电子商务交易系统
案例分析182
12.6 设计工作流185
12.6.1 设计过程185
12.6.2 设计工作活动与应用186
12.7 实现工作流191
12.7.1 实现模型192
12.7.2 实现活动192
12.8 小结194
习题194
第13章 高要求系统的分析与设计195
13.1 概述195
13.2 高要求系统的特性及其关系196
13.2.1 高要求系统的特性196
13.2.2 可用性和可靠性的关系197
13.2.3 安全性和保密性的关系197
13.3 高要求系统的需求分析198
13.3.1 系统的风险描述199
13.3.2 系统的安全性描述200
13.3.3 系统的保密性描述201
13.3.4 系统的可靠性描述202
13.4 案例分析203
13.4.1 胰岛素输送系统的需求分析203
13.4.2 ATM系统的可靠性需求207
13.5 形式化描述方法207
13.5.1 系统的形式化描述方法207
13.5.2 接口的形式化描述方法208
13.5.3 对象约束语言212
13.5.4 系统行为的形式化描述214
13.5.5 胰岛素输送系统案例分析214
13.6 高要求系统的设计215
13.6.1 系统设计过程215
13.6.2 监控系统216
13.6.3 案例分析216
13.7 高要求系统的开发策略219
13.7.1 可靠的软件过程220
13.7.2 可靠的编程220
13.7.3 容错设计221
13.7.4 容错体系结构222
13.8 系统验证223
13.8.1 可靠性验证223
13.8.2 安全性保证224
13.8.3 信息安全评估225
13.8.4 胰岛素输送系统案例分析226
13.9 小结228
习题229
第四部分 软件分析与设计工具
第14章 结构化分析工具Visio232
14.1 概述232
14.2 Visio的基本使用232
14.2.1 Visio初步233
14.2.2 Visio提供的文件类型234
14.3 数据流模型绘制235
14.3.1 数据流图235
14.3.2 案例分析235
14.4 状态机模型237
14.4.1 状态图237
14.4.2 案例分析238
14.5 JSD模型239
14.5.1 Jackson图239
14.5.2 案例分析240
14.6 实体-关系模型241
14.6.1 实体-关系图241
14.6.2 案例分析242
14.7 小结242
习题242
第15章 面向对象分析与
设计工具Rose244
15.1 概述244
15.2 Rational Rose的基本使用244
15.2.1 Rational Rose主界面244
15.2.2 Rational Rose基本操作246
15.2.3 Rational Rose模型247
15.3 用例模型248
15.3.1 用例图248
15.3.2 案例分析248
15.4 类模型与类图251
15.4.1 类模型252
15.4.2 类图252
15.4.3 案例分析254
15.5 交互模型255
15.5.1 协作图与案例分析255
15.5.2 顺序图与案例分析257
15.5.3 顺序图与协作图的转换258
15.6 部署模型259
15.6.1 部署图259
15.6.2 案例分析259
15.7 小结260
习题260
第16章 面向数据分析与设计工具PowerDesigner261
16.1 概述261
16.2 PowerDesigner基本操作262
16.2.1 PowerDesigner操作步骤262
16.2.2 PowerDesigner模型263
16.3 概念数据模型构建265
16.3.1 概念数据模型的功能265
16.3.2 概念数据视图265
16.3.3 案例分析269
16.4 业务处理模型构建274
16.4.1 业务处理模型图274
16.4.2 案例分析275
16.5 物理数据模型构建279
16.5.1 物理数据模型279
16.5.2 物理数据视图279
16.6 小结287
习题288
参考文献289 2100433B