教育>本科研究生>管理科学与工程类
面向对象系统分析与设计(UML)

面向对象系统分析与设计(UML)"

作者:张戈
ISBN:9787121426377
定价:¥58.0
字数:384千字
页数:256
出版时间:2021-12
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书在系统地介绍面向对象开发方法的基本概念和思想的基础上,重点介绍UML及其建模技术在面向对象分析与设计中的应用,以及得到业界广泛认同的软件设计模式、数据建模的相关知识与应用,并以结合综合案例进行介绍。全书共分8章,第1章从传统开发方法存在的问题入手,重点介绍面向对象方法基本思想,从方法论方面让学生对面向对象方法有一个整体的认识。第2章概括介绍UML以及UML与面向对象的统一开发过程。第3章重点围绕需求分析介绍用例建模和活动图建模。第4章为系统分析与静态结构建模,主要包括识别对象与类,定义类的属性和操作以及类之间的关系。第5章为重点围绕顺序图建模、通信图建模以及状态机图建模进行系统动态结构建模。第6章围绕包图建模、构件图建模和部署图建模等进行系统体系结构建模。第7章为面向对象设计,首重点介绍问题域部分设计、人机交互设计以及数据管理部分设计的方法与应用。第8章专门介绍设计模式,对几种经典的设计模式做了简要介绍,并对设计模式的动机、适用场景等做了分析。全书提供了大量应用实例,每章后均附有习题。

前言

面向对象技术以其显著的优势成为计算机信息领域的主流技术。IT产业界需要大量掌握面向对象方法和技术的人才,这些人才不仅能够使用面向对象语言进行编程,更重要的是能运用面向对象方法进行系统建模。融合各种面向对象方法的优点,被学术界和产业界不断完善的统一建模语言(Unified Modeling Language,UML),是一种定义良好、易于表达、功能强大、随时代发展且适用于各种应用领域的面向对象建模语言,已经被OMG(Object Management Group)采纳为标准。目前,UML已经成为面向对象技术领域内占主导地位的标准建模语言。掌握UML语言,不仅有助于理解面向对象的分析与设计方法,也有助于对信息系统开发全过程的理解。 本书的编写理念和建设思路是在系统地介绍面向对象开发方法的基本概念和思想的基础上,重点介绍UML及其建模技术、方法与应用,以及得到业界广泛认同的软件设计模式、软件开发的过程、规程与实践,并以一个丰富的案例贯穿始终。 本书的主要内容由8章组成,系统、全面地阐述基于UML的面向对象分析与设计方法。 第1章为面向对象方法概论,从传统开发方法及存在的问题入手,引出面向对象方法在信息系统开发中的应用,并重点介绍面向对象方法基本思想、基本概念以及主要有点,从方法论方面让学生对面向对象方法有一个整体的认识。 第2章概括介绍UML及其开发过程,简要介绍UML的核心元素以及UML与面向对象的系统开发统一过程。 第3章从需求分析的重要性和过程为切入点,重点介绍用例建模和活动图建模,并结合案例进行需求分析。 第4章为系统分析与静态结构建模,首先对问题域和系统责任进行分析与理解,引导学生找出描述问题域和系统责任所需要的对象与类,定义对象(类)的属性、操作以及对象(类)之间的关系,进而建立一个符合问题域、满足用户需求的对象静态模型。 第5章为系统设计与动态结构建模,从系统设计为切入点,重点围绕顺序图建模、通信图建模以及状态机图建模进行系统动态结构建模,并辅以相关案例。 第6章为系统体系结构建模,以信息系统体系结构为切入点,重点围绕包图建模、构件图建模和部署图建模等进行系统体系结构建模。 第7章为面向对象设计,首先介绍面向对象设计的概念和发展史,然后介绍问题域、问题域设计以及数据管理部分设计的方法和技巧。 ·IV .第8章专门介绍设计模式,主要介绍设计模式的基本概念、使用模式的原因、正确地理解和使用设计模式的方式。本章还对几种经典的设计模式做了简要介绍,对设计模式的动机、适用场景等做了分析。 本书是几位编写人员多年来进行信息系统开发实践和教学的经验总结,突出特点是教材中的诸多实际问题和应用案例,都取材于软件系统开发的实践,并按照教学的要求进行了模型简化与规范。显然,这些源于实践的工程问题,对提高软件系统分析与设计的教学的实践性和实用性,将具有很好的示范效应。 本书第1章、第4章由张戈、李高勇编写,第2章由马良编写,第3章由刘伟华编写,第5章由奚宁编写,第6章由杨成伟编写,第7章、第8章由王小斌编写,梁乙凯、于晓为本书案例提供了大量素材,杜丙崑和姚全明两位同学完成的毕业设计为本书案例提供了素材。全书由张戈统一筹划和统稿。 本教材的建设将有助于持续提升“管理科学与工程”山东省一流学科的影响力,并满足“信息管理与信息系统”国家一流本科专业、山东省高水平应用型专业(群)、山东省新旧动能转换教育对接产业项目的建设需求,同时也是省级精品课程《信息系统设计与实践》和校级精品在线开放课程《面对对象的系统分析与设计》的建设成果。 在本书的编写过程中,参阅了大量的资料,尤其是参考文献中所列出的资料。在此对所有资料的编著者表示衷心的感谢。另外,在本书编写过程中,浪潮集团、中创软件的部分软件工程师多次参与讨论,为本书也提供了非常有价值的建议,在此一并表示感谢。由于本书内容涉及面较广,加之作者的水平所限,疏漏之处在所难免,敬请广大读者和同行批评指正。 编者 2021年12月

目录

第1章 面向对象方法概述············································································1 引导案例:四大发明之活字印刷—面向对象思想的胜利·······························1 1.1 信息系统分析与设计概述···································································2 1.1.1 信息系统··············································································2 1.1.2 信息系统分析与设计·······························································3 1.2 信息系统开发方法的演变···································································3 1.2.1 系统开发生命周期模型····························································4 1.2.2 结构化开发方法·····································································4 1.2.3 原型法·················································································6 1.2.4 面向对象方法········································································7 1.3 面向对象方法的基本概念·································································10 1.3.1 对象··················································································10 1.3.2 类·····················································································11 1.3.3 抽象··················································································11 1.3.4 封装··················································································12 1.3.5 继承··················································································12 1.3.6 多态性···············································································14 1.3.7 消息机制············································································15 1.4 面向对象方法的主要优点·································································15 1.4.1 从认识论的角度来看,面向对象方法改变了开发软件的方式··········15 1.4.2 面向对象语言使客观世界到计算机世界的语言鸿沟变窄················16 1.4.3 面向对象使分析与设计之间的鸿沟变窄·····································17 1.4.4 面向对象有助于软件的维护与复用···········································19 本章小结····························································································20 本章习题····························································································20 第2章 UML概述·····················································································23 引导案例:面向对象方法的困难······························································23 2.1 UML介绍····················································································23 2.1.1 建模的原因·········································································23 2.1.2什么是UML··············································································25 2.1.3 UML的发展历程··································································25 2.1.4 UML的特点········································································26 2.2 UML的核心元素···········································································27 2.2.1 UML视图···········································································27 2.2.2 UML图··············································································29 2.2.3 事物··················································································31 2.2.4 关系··················································································32 2.2.5 通用机制············································································35 2.3 UML与面向对象的系统开发统一过程················································36 2.3.1 RUP核心工作流···································································36 2.3.2 UML支持迭代、渐增式的开发过程··········································38 2.3.3 UML建模过程产生的模型与文档·············································39 2.3.4 用例驱动的UML系统分析与设计············································40 本章小结····························································································42 本章习题····························································································43 第3章 需求分析与用例建模·······································································45 引导案例:自动取款机(ATM)的需求·····················································45 3.1 需求分析······················································································45 3.1.1 需求分析的重要性································································45 3.1.2 需求分析的过程···································································47 3.2 用例建模······················································································48 3.2.1 用例图···············································································48 3.2.2 系统边界············································································49 3.2.3 参与者···············································································51 3.2.4 用例··················································································54 3.2.5 用例图中的关系···································································56 3.2.6 用例描述············································································60 3.2.7 用例描述中经常出现的问题····················································63 3.3 活动图建模···················································································67 3.3.1 活动图的定义······································································67 3.3.2 活动图的类型······································································68 3.3.3 基本组成元素······································································68 3.3.4 活动图建模步骤···································································74 3.4 需求分析实例················································································74 3.4.1 选题背景············································································74 3.4.2 需求规格说明······································································75 3.4.3 用例建模············································································76 3.4.4 活动图建模·········································································86 本章小结····························································································87 本章习题····························································································88 第4章 系统分析与静态结构建模·································································90 4.1 面向对象的系统分析·······································································90 4.1.1 问题域和系统责任································································90 4.1.2 对系统开发人员的要求··························································91 4.1.3 面向对象系统分析的任务·······················································91 4.2 对象与类······················································································93 4.2.1 对象与类的概念···································································93 4.2.2 识别对象与类······································································95 4.2.3 审查与筛选·········································································99 4.2.4 抽象出类并进行调整····························································100 4.2.5 类的命名···········································································101 4.3 属性与操作··················································································101 4.3.1 定义类的属性·····································································101 4.3.2 定义类的操作·····································································105 4.4 类之间的关系···············································································107 4.4.1 继承(泛化)关系·······························································108 4.4.2 关联关系···········································································112 4.4.3 聚合关系与组合关系····························································116 4.4.4 依赖关系···········································································119 4.5 抽象类与接口···············································································120 4.5.1 抽象类··············································································120 4.5.2 接口·················································································122 4.5.3 类版型··············································································125 4.6 静态结构建模实例·········································································127 4.6.1 识别对象和类·····································································127 4.6.2 识别属性与操作··································································127 4.6.3 识别关系···········································································127 本章小结···························································································128 本章习题···························································································129 第5章 系统分析与动态行为建模································································132 引导案例:赤壁之战与系统建模·····························································132 5.1 动态行为建模···············································································134 5.1.1 交互模型···········································································134 5.1.2 状态模型···········································································135 5.1.3 活动模型···········································································135 5.2 顺序图建模··················································································135 5.2.1 顺序图概述········································································136 5.2.2 顺序图的组成·····································································138 5.2.3 顺序图中的结构化控制·························································142 5.2.4 构造顺序图模型··································································143 5.3 通信图建模··················································································144 5.3.1 通信图的基本概念·······························································144 5.3.2 通信图的组成·····································································146 5.3.3 通信图与顺序图··································································147 5.3.4 构造通信图模型··································································148 5.4 状态机图建模···············································································149 5.4.1 状态机图的基本概念····························································149 5.4.2 状态机图的组成··································································151 5.4.3 构造状态机图模型·······························································159 5.5 动态行为建模实例·········································································160 5.5.1 顺序图建模实例··································································160 5.5.2 状态机图建模实例·······························································165 本章小结···························································································166 本章习题···························································································166 第6章 系统体系结构与其他辅助模型··························································171 6.1 信息系统体系结构·········································································171 6.1.1 体系结构的概念··································································171 6.1.2 信息系统体系结构的概念······················································171 6.1.3 分层架构···········································································172 6.1.4 C/S体系结构和B/S体系结构·················································173 6.1.5 微服务架构········································································174 6.2 包图建模·····················································································175 6.2.1 包图概念···········································································175 6.2.2 包之间的关系·····································································177 6.2.3 包图的作用········································································177 6.3 构件图建模··················································································177 6.3.1 概念·················································································177 6.3.2 构件·················································································178 6.3.3 接口·················································································180 6.3.4 外部接口—端口·······························································180 6.3.5 连接器—连接件·······························································181 6.3.6 依赖关系···········································································181 6.4 部署图建模··················································································182 6.4.1 概念·················································································182 6.4.2 部署图的组成·····································································183 6.4.3 绘制部署图········································································185 6.5 体系结构建模实例·········································································186 6.5.1 系统部署图········································································186 6.5.2 系统体系结构·····································································186 本章小结···························································································187 本章习题···························································································187 第7章 面向对象系统设计·········································································189 7.1 面向对象设计的概念······································································189 7.1.1 面向对象设计·····································································189 7.1.2 面向对象设计的发展历史······················································189 7.1.3 面向对象分析与面向对象设计的关系·······································191 7.2 问题域设计··················································································192 7.2.1 问题域部分········································································192 7.2.2 进行问题域部分的设计的原因················································192 7.2.3 如何进行问题域的设计·························································192 7.2.4 问题域设计的内容·······························································192 7.3 数据管理部分设计·········································································196 7.3.1 数据库和数据库管理系统······················································197 7.3.2 如何设计数据管理部分·························································197 7.3.3 数据库设计实例··································································200 7.4 界面设计·····················································································203 7.4.1 人机界面的概念··································································205 7.4.2 人机界面分类·····································································205 7.4.3 人机界面设计·····································································207 7.4.4 界面设计实例·····································································211 本章小结···························································································212 本章习题···························································································212 第8章 设计模式·····················································································214 8.1 设计模式的定义与起源···································································214 8.1.1 模式与设计模式··································································214 8.1.2 模式的起源········································································214 8.1.3 设计模式的基本要素····························································215 8.2 使用设计模式的原因······································································216 8.2.1 设计模式的作用··································································216 8.2.2 如何正确使用设计模式·························································217 8.3 设计模式的分类············································································218 8.3.1 GOF设计模式·····································································219 8.3.2 设计模式的优点··································································220 8.4 设计模式遵循的原则······································································221 8.5 典型设计模式···············································································223 8.5.1 简单工厂模式·····································································223 8.5.2 工厂方法模式·····································································226 8.5.3 抽象工厂模式·····································································233 8.5.4 适配器模式········································································239 8.4.5 策略模式···········································································241 本章小结···························································································245 本章习题···························································································245

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个