大学计算机优秀教材系列:面向对象分析与设计(第2版)

大学计算机优秀教材系列:面向对象分析与设计(第2版) pdf epub mobi txt 电子书 下载 2025

麻志毅 著
图书标签:
  • 面向对象
  • 分析与设计
  • UML
  • 软件工程
  • 计算机教材
  • 大学教材
  • 第2版
  • 计算机科学
  • 软件开发
  • 建模
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111407515
版次:2
商品编码:11206431
品牌:机工出版
包装:平装
丛书名: 大学计算机优秀教材系列
开本:16开
出版时间:2013-03-01
用纸:胶版纸
页数:225
正文语种:中文

具体描述

编辑推荐

  面向对象技术以其显著的优势已经成为计算机软件领域的主流技术。《大学计算机优秀教材系列:面向对象分析与设计(第2版)》是一本适合应用型人才培养的关于面向对象分析与设计的教材。
  进行面向对象分析与设计需要一套概念与表示法。《大学计算机优秀教材系列:面向对象分析与设计(第2版)》所采用的概念和表示法与UML2.4保持一致,但并不是全盘采用。本书提倡充分运用面向对象方法的基本概念,限制扩充概念的引入,通过加强过程指导而保持建模概念的简练。
  进行面向对象分析与设计需要一套过程指导。本书所采用的开发过程,是在借鉴了较为流行的多种面向对象开发方法的基础上,根据青鸟工程的成果和作者参与的科研及工程实践的经验总结出来的,该过程指导具有实用性和广泛的适应性。
  与第1版相比,新版有如下改进:
  ·对面向对象概念的定义更为准确,对概念的解释也更加丰富和深入,对建模指导方面的内容进行了充实。
  ·内容上更加与时俱进,本书第1版中的建模语言采用的是UML2.0,本版写作时OMG发布了UML2.4,其中模型图的种类、图元素的表示法以及一些解释都发生了变化,本版的建模语言遵循了UML2.4。
  ·作者和热心的读者在第1版的使用中发现了一些问题,本次再版对这些问题进行了修正。
  ·本版给出了更多的应用实例,帮助读者加强对分析与设计建模策略和技巧的理解。

内容简介

  《大学计算机优秀教材系列:面向对象分析与设计(第2版)》是一本关于面向对象分析与设计的教材,讲述了面向对象的基本思想、主要概念以及相应的表示法,并给出了详细的建模过程指导。《大学计算机优秀教材系列:面向对象分析与设计(第2版)》注重理论与实践相结合,通过给出大量的例题、内容较为详尽的案例分析以及对建模概念的详细剖析,阐明了如何进行面向对象的分析与设计。
  《大学计算机优秀教材系列:面向对象分析与设计(第2版)》适合作为高等院校计算机学院(或信息学院等)和软件学院的软件工程专业、计算机专业和相关专业的高年级本科生、工程硕士的教材,也可作为培训班师生以及从事软件开发的工程技术人员的参考书。

作者简介

  麻志毅,博士,任教于北京大学信息科学技术学院计算机系,目前还担任国家软件行业协会软件工程分会秘书长。长期从事软件工程方面的教学与科研工作。在国内外学报或会议上发表学术论文100余篇,主持或参加国家高技术研究发展计划(863)、国家重大基础研究(973)、国家科技支撑计划和国家自然科学基金等20余项国家科研项目,出版著(译)作11部。主要研究领域为软件工程支撑环境、面向对象技术和面向服务计算技术等。曾获国家科技进步二等奖和国家科技攻关优秀成果奖等国家部委奖励多项。

内页插图

目录

前言
教学建议
第一部分 概述
第1章 面向对象方法概论
1.1 传统软件开发方法中存在的问题
1.2 面向对象的基本思想
1.3 面向对象的基本原则
1.4 面向对象方法的主要优点
1.5 面向对象方法的发展史及现状简介
1.6 关于统一建模语言UML
习题

第二部分 面向对象分析
第2章 什么是面向对象分析
2.1 分析面临的主要问题
2.2 面向对象分析综述
习题
第3章 建立需求模型——用况图
3.1 系统边界
3.2 参与者
3.2.1 概念与表示法
3.2.2 识别参与者
3.3 用况
3.3.1 概念与表示法
3.3.2 用况与参与者之间的关系
3.3.3 用况之间的关系
3.3.4 捕获用况
3.3.5 用况模板
3.4 用况图
3.5 检查与调整
3.6 用况模型与OOA模型
3.7 例题
习题
第4章 建立基本模型——类图
4.1 对象与类
4.1.1 概念与表示法
4.1.2 识别对象与类
4.1.3 审查与筛选
4.1.4 抽象出类并进行调整
4.1.5 认识对象的主动行为并识别主动对象
4.1.6 类的命名
4.1.7 建立类图的对象层
4.2 属性与操作
4.2.1 属性
4.2.2 操作
4.3 关系
4.3.1 继承
4.3.2 关联
4.3.3 聚合
4.3.4 依赖
4.4 接口
习题
第5章 建立辅助模型
5.1 顺序图
5.1.1 概念与表示法
5.1.2 顺序图中的结构化控制
5.1.3 建立顺序图
5.2 通信图
5.2.1 概念与表示法
5.2.2 建立通信图
5.3 活动图
5.3.1 概念与表示法
5.3.2 建立活动图
5.4 状态机图
5.4.1 概念与表示法
5.4.2 建立状态机图
5.5 包图
5.5.1 概念与表示法
5.5.2 如何划分与组织包
习题

第三部分 面向对象设计
第6章 什么是面向对象设计
6.1 OOA与OOD的关系
6.2 面向对象设计模型和过程
习题
第7章 问题域部分 的设计
7.1 复用类
7.2 增加一般类以建立共同协议
7.3 提高性能
7.4 按编程语言调整继承
7.5 转化复杂关联并决定关联的实现方式
7.6 调整与完善属性
7.7 构造及优化算法
7.8 决定对象间的可访问性
7.9 定义对象实例
7.10 其他
习题
第8章 人机交互部分 的设计
8.1 什么是人机交互部分
8.2 如何分析人机交互部分
8.3 如何设计人机交互部分
8.3.1 设计输入与输出
8.3.2 命令的组织
8.3.3 用OO概念表达所有的界面成分
8.3.4 衔接界面模型和问题域模型
8.4 人机交互部分 的设计准则
习题
第9章 控制驱动部分 的设计
9.1 什么是控制驱动部分
9.2 控制流
9.3 如何设计控制驱动部分
9.3.1 识别控制流
9.3.2 审查
9.3.3 定义控制流
9.3.4 进程间和线程间的通信
9.3.5 控制流间的同步
习题
第10章 数据管理部分 的设计
10.1 什么是数据管理部分
10.2 数据库和数据库管理系统
10.2.1 关系数据库
10.2.2 面向对象数据库
10.3 如何设计数据管理部分
10.3.1 针对关系数据库系统的数据存取设计
10.3.2 针对面向对象数据库系统的数据存取设计
10.3.3 针对文件系统的数据存取设计
习题
第11章 构件及部署部分 的设计
11.1 构件设计
11.1.1 概念与表示法
11.1.2 构件的内部结构
11.1.3 对构件的行为建模
11.1.4 对构件的实现建模
11.2 部署设计
11.2.1 概念与表示法
11.2.2 对系统的部署建模
习题
第12章 若干典型的设计模式
12.1 引言
12.2 外观模式
……

第四部分 系统与模型
第五部分 建模实例
附录A 面向对象的软件建模工具
附录B 文档编制指南
参考文献

精彩书摘

  以往在操作系统和编程语言的支持下,或再加上图形包,进行图形方式的人机界面开发,工作量是很大的。现在,可以使用窗口系统、图形用户界面(GUI)和可视化编程环境这样的级别越来越高的界面支持系统进行人机界面开发。特别是可视化编程环境可以按所见即所得的方式,定制所需的人机界面,如此定义的界面对象可由编程环境提供的工具自动地转化为程序代码,这使得人机界面的设计工作大大简化。然而,仍有一些设计工作要做,其中的很多内容对各种设计方法都是相同的,也有一些是采用OO方法所必须要考虑的。例如,可视化编程环境一般都带有内容丰富的界面类库,界面类库中对大部分常用的界面对象都给出了类的源代码,在进行OOD时要充分地复用这些类。
  8.3.1 设计输入与输出
  根据前面从用况中提取出来的对人机交互的描述,设计输入与输出。首先要选择界面支持系统,如窗口系统、GUI或可视化编程环境,然后进行输入与输出设计。输入与输出技术正在不断地发展,这里仅就目前常见的输入与输出方式进行阐述。
  1.设计输入
  在设计输入时,要进行如下的工作。
  (1)确定输入设备
  常见的输入设备有键盘、鼠标、磁卡阅读器、条码阅读器、光电字符识别阅读器、扫描仪、触摸屏、电子笔和书写板等。键盘和鼠标属于标准的计算机设备,不考虑在内。对于一些非标准的计算机外部设备的接口程序,可以把它们放在相应的类中。如果要从外系统进行输入,可以把外系统的接口程序放在相应的类中。如果要隔离外部设备或外系统的变化对本系统的影响,可以针对外部设备或外系统的接口程序单设立类。对于某些复杂的情况,可能还需要考虑同步机制。
  (2)设计输入界面
  在用户的输入界面中,主要的界面元素有窗口、菜单、对话盒、图符、滚动条和按钮等。下面以菜单和对话盒为例,说明如何设计其内容。
  菜单是提供给用户的一系列对应着用户动作的条目列表。大部分系统都具有通常形式的菜单,如文件、视图、工具、窗口和帮助等,但也都具有自己的特有部分。在设计特有部分时,要保证术语的一致性与简洁性,并按逻辑对条目进行分组。菜单要设计成面向不同用户的,最好可以进行重组。
  ……

前言/序言

  在20世纪90年代,面向对象技术以其显著的优势成为计算机软件领域的主流技术,随后该技术在大多数发达国家的软件开发中得到了相当广泛的运用。在我国的软件产业界,面向对象技术的学习与应用热潮出现于20世纪90年代后期,如今面向对象分析与设计技术也已经得到了广泛的应用。
  当前,产业界需要大量掌握面向对象分析与设计技术的高级应用型开发人才。很多计算机学院和软件学院在软件工程教学中开设了相应的课程,旨在使学生不仅会使用一种或者几种面向对象编程语言来编程,更重要的是能运用面向对象方法进行系统建模,即通过面向对象分析(Object- Oriented Analysis,OOA)和面向对象设计(Object-Oriented De-sign,OOD)建立系统的分析模型和设计模型。
  邵维忠教授和杨芙清院土合著的两本著作在广泛借鉴国际上各种OOA与OOD方法的同时,根据作者长期的研究与实践形成了自己的方法特色。其中最主要的特色有三条;一是提倡充分运用面向对象方法的基本概念,限制扩充概念的引入,通过加强过程指导而保持建模概念的简练;二是对UML(Unified Modeling Language,统一建模语言)所采用的与面向对象有关的概念进行了深入的解析,给出了自己的见解;三是其OOD部分比以往的著作内容更为详细,并且更强调用OO概念表达各种全局性的设计决策。这两部学术专著作为教材适合于理论性强的研究生教学。
探寻软件构建的精妙艺术:一本深入理解面向对象思维的指南 本书并非一本罗列技术细节或语法规则的工具手册,而是一次关于软件生命中至关重要的“如何思考”的深度探索。它旨在引导读者超越单纯的代码编写,抵达软件设计与构建的艺术殿堂,领略面向对象方法论的强大力量与优雅之处。如果你渴望写出结构清晰、易于维护、可扩展性强的优秀软件,如果你希望在软件开发的道路上走得更远、更稳,那么,请允许我们为你揭开这扇通往优秀设计的大门。 在这个日新月异的技术时代,软件已渗透到我们生活的方方面面。从掌上的便捷应用到支撑庞大企业运作的系统,软件的质量直接影响着用户体验、企业效率乃至社会发展。然而,优秀的软件并非凭空而来,它源于精心的设计,而面向对象分析与设计(OOAD)正是孕育优秀软件的基石。本书将带领你踏上一段引人入胜的学习旅程,让你深刻理解面向对象的核心理念,并掌握将其应用于实际软件开发中的方法与技巧。 摆脱零散的碎片化认知,构建全面的面向对象视野 许多开发者在初涉软件编程时,往往被各种编程语言的语法细节和特定的技术框架所吸引,容易陷入“只见树木,不见森林”的困境。本书的核心价值在于,它提供了一个宏观的视角,帮助你从更高层次理解软件的构建逻辑。我们将深入剖析“对象”的本质,它不仅仅是数据的集合,更是行为的载体,是现实世界模型在软件中的映射。通过理解封装、继承、多态这三大面向对象的核心特性,你将学会如何将复杂的问题分解为更易于管理、相互协作的独立单元。 封装: 我们将探讨如何通过封装来隐藏对象的内部实现细节,仅对外暴露必要的接口。这不仅能保护数据的完整性,更能提高代码的可维护性和可复用性,让你在修改对象内部实现时,不必担心影响到其他部分的代码。 继承: 学习如何利用继承机制,让新的类能够重用现有类的属性和行为,并在此基础上进行扩展。这将显著减少重复代码的编写,提高开发效率,并促进代码的结构化。 多态: 掌握多态的强大威力,理解同一个接口如何可以根据不同的对象类型,表现出不同的行为。这将极大地增强代码的灵活性和可扩展性,让你能够轻松地应对需求的变化。 从抽象到具体:循序渐进的分析与设计流程 本书并非停留在理论层面,而是将大量的篇幅用于讲解如何将面向对象的思想应用于实际的软件分析与设计过程中。我们将为你梳理一套清晰、系统的工作流程,帮助你从模糊的需求出发,一步步提炼出高质量的设计方案。 第一阶段:需求分析——理解“什么”是关键 在任何软件项目开始之前,准确理解用户需求是至关重要的。本书将指导你如何有效地进行需求分析,包括: 用户故事与用例: 学习如何通过用户故事和用例来捕捉用户期望的功能和行为。我们将讲解如何编写清晰、完整的用例描述,以及如何识别出潜在的边界情况和异常流程。 领域建模: 探索如何识别出问题域中的关键概念(实体、属性、关系),并将其转化为面向对象的模型。我们将重点讲解如何识别“类”和“对象”,以及它们之间的协作关系。 识别关键实体与行为: 学习从自然语言的需求描述中,敏锐地捕捉出名词(潜在的类)和动词(潜在的方法),并建立初步的对象模型。 第二阶段:设计——构思“如何”实现 有了清晰的需求理解,接下来的任务就是将这些需求转化为具体的软件设计。本书将带你走进设计的核心领域: 类图与序列图: 深入理解UML(统一建模语言)在面向对象设计中的应用。我们将重点讲解类图如何描述类之间的静态关系(继承、关联、聚合、组合),以及序列图如何展示对象之间动态交互的过程。通过这些可视化工具,你可以清晰地描绘出软件的结构和行为。 设计原则与模式: 这是本书的精华所在。我们将系统地介绍一系列被实践证明行之有效的面向对象设计原则,如SOLID原则(单一职责、开闭、里氏替换、接口隔离、依赖倒置)等。这些原则如同软件开发的“道”,能帮助你构建出更健壮、更灵活、更易于维护的设计。 单一职责原则 (SRP): 确保每个类只有一个引起其变化的原因。 开闭原则 (OCP): 软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。 里氏替换原则 (LSP): 子类型必须能够替换掉它们的基类型。 接口隔离原则 (ISP): 客户端不应该被强制依赖它们不使用的方法。 依赖倒置原则 (DIP): 高层模块不应该依赖低层模块,两者都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。 常见设计模式的解析与应用: 我们将精选并深入解析一系列经典的设计模式,如工厂模式、单例模式、观察者模式、策略模式、装饰者模式等。这些模式并非僵化的代码模板,而是解决特定设计问题的“套路”和“智慧”。本书将详细阐述每种模式的适用场景、解决的问题、结构以及优缺点,并结合实例讲解如何将其巧妙地融入到你的设计中,从而提升代码的可读性、可维护性和可扩展性。 第三阶段:实现与演进——将设计转化为现实 有了扎实的设计基础,本书还将为你指明如何将设计转化为可执行的代码,并在此过程中持续演进: 从模型到代码的转化: 讲解如何将UML图和设计原则转化为实际的编程语言代码。 重构的艺术: 软件开发并非一蹴而就,随着需求的不断变化和理解的深入,代码往往需要进行重构。本书将介绍何时以及如何进行有效的重构,以不断优化代码结构,提升软件质量,而不会破坏现有功能。 测试驱动开发(TDD)与面向对象: 探讨测试驱动开发与面向对象设计之间的协同作用,如何通过编写测试用例来指导设计,从而确保代码的正确性和鲁棒性。 不仅仅是技术,更是思维方式的转变 本书的价值远远超过了单纯的技术传授。它旨在引导你形成一种全新的、更具前瞻性的思维方式。通过深入理解面向对象的本质,你将学会如何: 以更清晰的逻辑思考: 将复杂系统分解为可管理、可复用的组件。 拥抱变化,而非畏惧变化: 构建易于修改和扩展的软件,以应对不断变化的需求。 团队协作的效率提升: 遵循统一的设计原则和模式,使团队成员能够更高效地沟通和协作。 编写更具“美感”的代码: 追求代码的简洁、优雅和高效,而不仅仅是功能的实现。 本书适合谁? 计算机科学与技术专业的学生: 无论是在校本科生还是研究生,本书都将为你提供坚实的理论基础和实践指导,助你在学习过程中建立起对软件设计的高度认知。 初入软件开发的程序员: 如果你已经掌握了一门编程语言,但感觉在软件设计方面缺乏系统性的指导,本书将是你迈向专业开发者的重要一步。 有一定开发经验但希望提升设计能力的开发者: 即使你已经开发了一段时间,但如果在代码的可维护性、可扩展性方面遇到了瓶颈,本书将为你提供宝贵的洞见和实践方法。 软件项目经理、架构师: 理解面向对象分析与设计是构建高质量软件、领导高效开发团队的关键。 告别“写完就扔”的模式,拥抱“长久生命力”的软件。 本书不追求罗列市面上所有的设计模式或技术细节,而是聚焦于那些最核心、最通用、最能带来长远价值的理念与实践。我们相信,掌握了这些精髓,你将能够举一反三,自信地应对各种软件设计挑战。 拿起这本书,你将获得的不只是知识,更是一种能力——一种将模糊的想法转化为清晰、健壮、优雅的软件的能力。这是一种关于工程的智慧,一种关于创新的艺术。让我们一起,用面向对象的方式,构建更美好的数字世界。

用户评价

评分

这是一本让我爱不释手的书,它的内容涵盖了面向对象分析与设计的方方面面,从基础概念到高级技巧,都讲解得非常透彻。我特别欣赏书中对设计模式的讲解,虽然之前也接触过一些设计模式,但总觉得碎片化,不成体系。这本书把常用的设计模式进行了分类和梳理,并且用清晰的例子来解释它们的适用场景和实现方式,让我对设计模式有了全新的认识。书中关于“SOLID”原则的阐述也给我留下了深刻的印象,这些原则虽然听起来简单,但在实际设计中却至关重要,能够帮助我们写出高质量、可扩展的代码。我还发现书中提供了一些代码示例,这些示例都非常精炼,能够很好地Illustrate书中讲解的概念,让我能够边学边练,巩固所学知识。总的来说,这本书为我构建了一个完整的面向对象设计知识体系。

评分

对于我这个初学者来说,这本书简直是入门的福音。它没有一开始就抛出晦涩难懂的概念,而是从最基本的面向对象思想讲起,循序渐进,让我能够逐步理解抽象、封装、继承、多态等核心概念。书中的图示非常丰富,各种框图、流程图都恰到好处地帮助我理解抽象的概念,让我不再感到迷茫。我特别喜欢书中关于“用例分析”的那一部分,它教会我如何从用户的角度出发,挖掘和理解需求,并将其转化为面向对象的模型。书中还提供了很多练习题,这些题目难度适中,能够很好地检验我的学习成果,也帮助我巩固了书中的知识点。我感觉这本书的设计思路非常清晰,就像一位经验丰富的老师,耐心地引导我一步步掌握面向对象分析与设计的精髓。

评分

这本书给我带来了很多启发,它不仅仅是一本技术书籍,更像是一本思维方式的指南。在阅读过程中,我逐渐认识到面向对象分析与设计的重要性,它能够帮助我们更好地理解和管理复杂的软件系统。书中对“领域驱动设计”的讲解尤其令我印象深刻,它提供了一种全新的视角来思考软件设计,将业务逻辑置于核心地位,从而构建出更贴近现实世界的软件模型。我对书中关于“架构风格”和“设计原则”的讨论也产生了浓厚的兴趣,这些内容让我意识到,软件设计不仅仅是关于如何写代码,更是关于如何构建一个健壮、可维护、可扩展的系统。这本书的语言风格严谨而不失生动,逻辑清晰,阅读起来非常有条理,让我在不知不觉中吸收了大量的知识。

评分

拿到这本书,我最先注意到的是它的排版设计,字体大小、行距以及章节划分都显得很合理,阅读起来不会感到疲劳。封面设计虽然简洁,但“面向对象分析与设计”这几个字却透露出一种专业性和实用性。我一直对软件工程的流程和方法论比较好奇,尤其是在软件开发过程中,如何有效地进行需求分析,如何将模糊的需求转化为清晰的设计,一直是我的一个痛点。我相信这本书能够提供一套系统性的解决方案,帮助我理清思路,掌握面向对象分析与设计的核心原则和技术。我尤其关心书中关于“模型驱动设计”的内容,因为这个概念听起来非常高屋建瓴,如果能理解并掌握它,应该能极大地提升我设计软件的能力。另外,对于书中提到的“重构”技巧,我也非常期待,因为在实际开发中,代码的维护和优化是必不可少的,了解有效的重构方法可以帮助我写出更健壮、更易于维护的代码。

评分

这本书的书名给我一种扎实、严谨的感觉,"大学计算机优秀教材系列"这几个字就暗示了它内容的深度和权威性,而"面向对象分析与设计(第2版)"则精准地指出了它的核心主题,并且“第2版”意味着它已经经过了市场的检验和内容的更新迭代,理论上应该更加成熟和完善。我之前对面向对象编程有一些基础的了解,也接触过一些相关的概念,但总觉得不够系统,理解不够深入,尤其是在分析和设计层面,总觉得缺乏一种清晰的思路和方法论。我希望这本书能够帮我填补这方面的空白,让我能够更自信地应对实际的软件开发项目。我对书中关于UML图的应用和讲解尤其感兴趣,因为我经常在看别人画的UML图时感到困惑,希望这本书能用清晰易懂的方式来解释各种图的含义和用法,以及它们如何贯穿于整个分析和设计过程。此外,我也期待书中能提供一些实际案例分析,通过真实的项目来展示面向对象思想在解决复杂问题时的优势,这样能让我更好地将理论知识转化为实践能力。

评分

发票上的金额跟京东价怎么不一样?

评分

很好 满意

评分

我学了,还考试了,参考家常话,不错的。

评分

一直选择这个,值得信赖

评分

评分

挺满意的,考试通过,哈哈

评分

这个还可以这个还可以这个还可以

评分

教材,买来看看!肯定能用到的

评分

物流速度快,服务态度好!

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有