新書推薦:
《
中国古代北方民族史丛书——东胡史
》
售價:NT$
576.0
《
巨人传(插图珍藏本)
》
售價:NT$
3289.0
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:NT$
332.0
《
偿还:债务与财富的阴暗面
》
售價:NT$
347.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
408.0
《
封建社会农民战争问题导论(光启文库)
》
售價:NT$
296.0
《
虚弱的反攻:开禧北伐
》
售價:NT$
429.0
《
泰山:一种中国信仰专论(法国汉学经典译丛)
》
售價:NT$
380.0
|
內容簡介: |
《UML面向对象需求分析与建模教程》主要介绍基于UML2.5 标准的系统建模基本理论?软件分析与设计方法,《UML面向对象需求分析与建模教程》加强了软件案例的UML 示例说明,以提高学生的软件分析与设计水平,进一步拓展学生分析问题?解决问题的能力,达到培养“厚基础?宽口径?会应用?能发展”的卓越人才培养宗旨?
《UML面向对象需求分析与建模教程》共13章,内容包括绪论,面向对象方法?统一建模语言?RUP 统一过程?工具?UML 更多细节,系统的需求获取?分析?设计?实现和测试?UML高级课题,案例介绍等?每章均有工程实践中的相关案例说明及实践应用的创意思考和提示,书的*后一章重点描述一个完整的UML 建模课程设计案例?
|
目錄:
|
目录
第1章 绪论 1
1.1 UML的发展史 1
1.2 日常生活中的应用 2
1.3 本课程学习中需要注意的问题 3
**部分 建模理论概述
第2章 面向对象方法 6
2.1 了解面向对象产生的原因 6
2.2 面向对象方法基本概念与特征 8
2.2.1 面向对象的概念 8
2.2.2 面向对象的特征 9
2.2.3 面向对象的要素 10
2.3 面向对象方法学开发过程 11
2.4 面向对象下一步发展方向 12
第3章 统一建模语言 14
3.1 建模语言三个类别 14
3.2 UML特点 15
3.3 网络教学系统案例UML简单图示 17
3.3.1 系统功能 17
3.3.2 系统的UML建模 18
第4章 RUP统一过程 26
4.1 RUP产生 26
4.2 基于统一过程的UML系统建模 28
4.3 二维开发模型 29
4.4 RUP开发过程 30
4.4.1 初始阶段 30
4.4.2 细化阶段 30
4.4.3 构造阶段 31
4.4.4 交付阶段 31
4.5 RUP核心工作流 31
4.5.1 商业建模 31
4.5.2 需求 31
4.5.3 分析与设计 31
4.5.4 实现 32
4.5.5 测试 32
4.5.6 部署 32
4.5.7 配置和变更管理 32
4.5.8 项目管理 32
4.5.9 环境 32
4.6 RUP的要素和经验 32
4.6.1 RUP十大要素 32
4.6.2 RUP六大经验 35
4.6.3 RUP的优势不足 35
第5章 Rational Rose建模工具 37
5.1 常用的UML建模工具概述 37
5.1.1 Rational Rose 38
5.1.2 RSA 38
5.1.3 PowerDesingner 39
5.1.4 Visio 39
5.2 Rational Rose说明 39
5.2.1 基本操作步骤 39
5.2.2 具体操作说明 40
第6章 UML的进一步讨论 46
6.1 UML更多细节 46
6.1.1 用例图细节 46
6.1.2 类图细节 48
6.1.3 对象图细节 52
6.1.4 状态图细节 53
6.1.5 活动图细节 55
6.1.6 顺序图细节 56
6.1.7 协作图细节 56
6.1.8 组件图细节 57
6.2 UML 2.0概述 58
6.3 相关行业标准协会OMG 59
第二部分 UML系统建模的过程
第7章 需求获取 62
7.1 需求流概述 62
7.2 需求获取的困难 63
7.2.1 软件需求获取面临的困难 63
7.2.2 软件需求获取困难的原因 64
7.2.3 需求工程过程 64
7.3 需求获取的方法 65
7.4 复杂系统的复杂网络需求获取方法 66
7.5 需求路线图 70
7.6 需求案例 71
7.6.1 人事管理系统功能需求描述 71
7.6.2 系统的UML表示 73
第8章 需求分析 75
8.1 确定客户需要什么 75
8.2 需求分析方法 77
8.2.1 面向对象分析方法 77
8.2.2 面向对象分析 78
8.2.3 建立逻辑模型 78
8.2.4 以银行网络系统为例寻找类并建立类模型 79
8.2.5 建立过程模型 82
8.3 路线图 84
8.4 分析人事管理系统案例 84
第9章 设计 88
9.1 设计介绍 88
9.2 面向对象设计 89
9.3 路线图 91
9.4 设计案例 92
9.4.1 系统结构设计 92
9.4.2 核心用例的组件图 92
9.4.3 系统数据库设计 93
第10章 实现 95
10.1 对象实现 95
10.1.1 程序设计语言 95
10.1.2 类的实现 96
10.1.3 应用系统的实现 96
10.2 实现人理管理系统案例 96
10.2.1 系统登录界面 96
10.2.2 员工信息界面 98
10.2.3 假条信息界面 100
10.2.4 工资信息界面 100
10.2.5 用户权限登录 102
第11章 测试 105
11.1 测试流 105
11.2 面向对象测试模型 106
11.3 测试人事管理系统案例 110
第三部分 高级课题
第12章 UML的形式化* 114
12.1 形式化方法介绍 114
12.2 UML与形式化方法的结合 115
12.2.1 直接对UML模型进行形式化语义定义 115
12.2.2 UML到形式化方法的转换 116
12.3 形式化方法 116
12.3.1 形式化方法介绍 116
12.3.2 B方法 117
12.3.3 需求获取形式化语言的表示 119
12.4 形式化的案例 119
12.4.1 免疫系统 120
12.4.2 免疫系统建模 120
12.4.3 系统模拟及结果分析 133
第四部分 实验案例
第13章 综合案例 136
13.1 通讯录安卓版需求分析 136
13.1.1 基本功能需求 136
13.1.2 系统用例分析 136
13.2 总体设计方案 138
13.2.1 系统类图 138
13.2.2 状态图 139
13.2.3 顺序图 141
13.3 详细设计 142
13.3.1 开发环境 142
13.3.2 系统界面设计 142
13.3.3 程序设计 144
13.4 系统测试 147
13.4.1 系统测试的意义及目的 147
13.4.2 测试步骤 147
13.4.3 测试数据 147
参考文献 149
中英文技术词汇对照表 151
|
內容試閱:
|
第1章 绪论
“UML系统建模”是一门与软件开发密切相关的建模课程。1968年软件工程产生后,软件分析与设计的技术在20世纪80年代末至90年代中期出现了一个发展高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的建模表示方法,而且使其有了进一步的发展,并*终统一为大众所接受的标准建模语言(unified modeling language,UML)。
1.1 UML的发展史
工程师为什么要建造模型?航天工程师为什么要建造航天器的模型?桥梁工程师为什么要建造桥梁模型?建造这些模型的目的是什么?
工程师建造模型来查明他们的设计是否可以正常工作。航天工程师建造好了航天器的模型,然后把它们放入风洞中了解这些航天器是否可以飞行。桥梁工程师建造桥梁模型来了解桥是否稳固。建筑工程师建造建筑模型可以了解客户是否喜欢这种建筑样式。通过建立模型来验证建造事物的可行性。
UML系统建模是一种与面向对象软件开发密切相关的建模方法。各种面向对象的分析与设计方法都为面向对象理论与技术的发展作出了贡献。这些方法各有自己的优点和缺点,同时在各自不同范围内拥有自己的用户群。各种方法的主导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。这些差异所带来的问题是,不利于面向对象方法向一致的方向发展,也给用户的选择带来了一些困惑。为此,Rational公司的Booch和Rumbaugh决定将他们各自的方法结合起来成为一种方法,并于1995年10月发布了第1个版本,称为“统一方法”(Unified Method 0.8)。此时OOSE的作者Jacobson也加入了Rational公司,于是也加入了统一行动。1996年6月发布了第2个版本UML 0.9。鉴于统一行动的产物只是一种建模语言,而不是一种建模方法(因为不包含过程指导),所以自UML 0.9起,改称“统一建模语言”。在此过程中,由Rational公司发起成立了UML伙伴组织。开始时有12家公司加入,共同推出了UML 1.0版,并于1997年1月提交到对象管理组织(OMG)申请作为一种标准建模语言。此后,又把其他几家向OMG提交建模语言提案的公司扩大到UML伙伴组织中,并汲取意见对UML进一步作了修改,产生了UML 1.1版。该版本于1997年11月4日被OMG采纳。此后UML还在继续改进,目前**的版本是UML 2.5(www.UML.org)。
OMG提交给国际标准化组织(ISO)的UML 1.4已经通过审核成为国际标准(ISOIEC 19501:2005)。UML早期发展过程如图1-1所示。
图1-1 UML的发展史
1.2 日常生活中的应用
模型是用某种工具对某个系统的表达方式。模型从某一个建模观点出发,抓住事物*重要的方面而简化或忽略其他方面。工程、建筑和其他许多需要创造性思想的领域中都使用模型。
表达模型的工具要便于使用。建筑模型可以是图纸上所绘的建筑图,也可以是用厚纸板制作的三维模型,还可以用存于计算机中的方程来表示。一个建筑物的结构模型不仅能够展示这个建筑物的外观,还可以进行工程设计和成本核算。
软件系统的模型用建模语言来表达,如UML。模型包含语义信息和表示法,可以采取图形和文字等多种不同形式。
雾霾的研究可以建造模型吗?建造模型的好处有哪些?
UML的目标是以面向对象各种相关图的方式来描述任何类型的系统。*常用的是建立软件系统的模型,但UML也可用来描述其他非计算机软件的系统或者商业机构或过程,以下是UML常见的应用。
信息系统:向用户提供信息的存储、检索、转换和提交处理存放在关系或对象数据库中大量具有复杂关系的数据。
技术系统:处理和控制技术设备,如电信设备、军事系统或工业过程,它们必须处理设计的特殊接口,标准软件很少,技术系统通常是实时系统。
嵌入式实时系统:在嵌入其他设备(如移动电话、汽车、家电)的硬件上执行的系统通常是通过低级程序设计进行的,需要实时支持。
分布式系统:分布在一组机器上运行的系统,数据很容易从一台机器传送到另一台机器,需要同步通信机制来确保数据完整性,通常是建立在对象机制上的,如CORBA、COMDCOM或Java BeansRMI上。
系统软件:定义了其他软件使用的技术基础设施,操作系统、数据库和在硬件上完成底层操作的用户接口等,同时提供一般接口供其他软件使用。
商业系统:描述目标、资源、人、计算机规则、法规、商业策略、政策等,以及商业中的实际工作、商业过程。商业系统是面向对象建模应用的一个重要的领域,引起了人们极大的兴趣,面向对象建模非常适合为公司的商业过程建模,运用全质量管理等技术,可以对公司的商业过程进行分析、改进和实现,使用面向对象建模语言为过程建模和编制文档,使过程更易于使用。
UML具有描述以上这些类型系统的能力。
1.3 本课程学习中需要注意的问题
建模是计算机学科所特有的吗?其他领域是否需要建模?设想造一幢摩天大厦,如果没有图纸将会是怎样的结果?
教师可按照章节进行一步步的理论教学,实践性的案例贯穿在相关章节中,有兴趣的学生可主动按照案例进行模仿建模,探索学习,主动学习,理论联系实际学习效果将更好。
(1)简单的案例描述在第3章讲述,主要引导学生观察了解UML常用的9种图的画法及作用,图形简单易用,便于学习,可立即上手模仿实践。
(2)中型案例在全书的第二部分按章节详细讲述,按照统一过程的各过程流在第二部分的每章结尾处展开说明。
图1-2是按软件RUP过程设置建模的知识点概况。
图1-2 建模的知识点框图
学期开始,学生可在老师的协助指导下明确一个感兴趣的软件案例作为学期学习目标,教师讲理论的同时学生自己动手一步步完成案例。教师课上讲解的时候,学生也可举一反三,并结合自己所做案例思考自己的经验和教训。图1-3是软件人才的发展途径。
图1-3 软件工程师发展途径
(3)复杂的大型案例在第三部分高级课题中讲述,大型软件可能是涉及人身财产安全的系统,还有一些大型系统的需求很难说清或抽取,第12章用案例详细讲述了这种系统建模过程中的复杂网络需求获取方法和形式化方法技术的补充作用。
**部分
建模理论概述
本部分介绍面向对象方法的产生、UML的发展、RUP统一过程的模型、Rose工具及UML的更多技术细节。
第2章 面向对象方法
软件工程从1968年产生以来,经历了传统软件工程阶段并发展到现在的高级软件工程阶段,面向对象的方法(简称00方法)在传统软件工程方法的基础上产生,因其一些显著特点解决了一些软件问题,是目前主流的软件开发方法。有了面向对象的思想才产生了后面所要介绍的UML。
请回忆传统软件工程课上完成软件案例作业的过程,完成情况如何?该过程中存在哪些问题?
本章知识要点
(1)面向对象产生的原因。
(2)面向对象的思考方式。
兴趣实践
现实生活中哪些软件基于面向对象方法开发?试举一例。
探索思考
计算机硬件有摩尔定律,为什么软件没有呢?
预习准备
复习传统的结构化软件工程方法的知识及面向对象程序语言相关的三个特性。
2.1 了解面向对象产生的原因
俗话说:天下大势,分久必合,合久必分。计算机软件技术的发展也是一个“分久必合,合久必分”的过程。
从1946年2月14日**台计算机诞生之日起,软件应运而生。
起初软件是手工作坊的生产方式,没有标准化的过程、工具和技术,从而导致大量软件错误。之后计算机专家提出了各种语言和方法,但还是不能避免错误的发生。小型软件(5000行代码以下的软件)基本能正确地生产出来,但大中型软件(5万行代码以上的软件是大型软件,其间的为中型软件)项目就很难保证。到目前为止约13的软件项目是失败的。
20世纪60年代起随着计算机硬件性能的不断提高和价格的不断下降,其应用领域也在不断扩大。人们在越来越多的领域把更多、更难的问题交给计算机解决。这使得计算机软件的规模和复杂性与日俱增,从而使软件技术不断受到新的挑战。60年代软件危机的出现就是因为系统的复杂性超出了人们在当时的技术条件下所能解决的程度。此后在软件领域,从学术界到工业界,人们一直在为寻求更先进的软件方法与技
|
|