面向对象软件开发教程

合集下载

PHP 面向对象教程(强力推荐)

PHP 面向对象教程(强力推荐)
LAMP 大讲堂 PHP 面向对象技术(全面讲解)
LAMP 大讲堂
PHP 面向对象技术(全面讲解)
作者:高洛峰
本部分一共包括以下一些技术点: 1.面向对象的概念 2.什么是类,什么是对象,类和对象之间的关系 3.什么是面向对象编程呢? 4.如何抽象出一个类? 5.如何实例化对象? 6.如何去使用对象中的成员? 7.特殊的引用“$this”的使用 8.构造方法与析构方法 9.封装性 10.__set()、 __get()、 __isset()、 __unset()四个方法的应用 11.类的继承 12.多态的应用 13.重载新的方法 14.访问类型 15.静态成员的使用 16.final 关键字的应用 17.__toString()方法 18.克隆对象 19.__call 处理调用错误 20.自动加载类 21.把对象串行化 22.抽象方法和抽象类 23.php5 接口技术
3.什么是面向对象编程呢?
就不说他的概念,如果你想建立一个电脑教室,首先要有一个房间, 房间里面要有 N 台电脑, 有 N 张桌子, N 把椅子, 白板, 投影机等等,这些是什么,刚才咱们说了,这就是对象,能看 到的一个个的实体,可以说这个电脑教室的单位就是这一个个的实体对象, 它们共同组成了这个 电脑教室,那么我们是做程序,这和面向对象有什么关系呢?开发一个系统程序和建一个电脑教室 类似,你把每个独立的功能模块抽象成类,形成对象,由多个对象组成这个系统,这些对象之间都 能够接收信息、处理数据和向其它对象发送信息等等相互作用。就构成了面向对象的程序。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是 类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。
上面大概就是它们的定义吧,也许你是刚接触面向对象的朋友, 不要被概念的东西搞晕了,给 你举个例子吧,如果你去中关村想买几台组装的 PC 机,到了那里你第一步要干什么,是不是装机 的工程师和你坐在一起,按你提供的信息和你一起完成一个装机的配置单呀,这个配置单就可以想 象成是类,它就是一张纸,但是它上面记录了你要买的 PC 机的信息,如果用这个配置单买 10 台机 器,那么这 10 台机子,都是按这个配置单组成的,所以说这 10 台机子是一个类型的,也可以说是 一类的。那么什么是对象呢,类的实例化结果就是对象,用这个配置单配置出来(实例化出来)的 机子就是对象,是我们可以操作的实体,10 台机子,10 个对象。每台机子都是独立的,只能说明 他们是同一类的,对其中一个机做任何动作都不会影响其它 9 台机器,但是我对类修改,也就是在 这个配置单上加一个或少一个配件,那么装出来的 9 个机子都改变了,这是类和对象的关系(类的 实例化结果就是对象)。

UML教程

UML教程

适大所应数涉5人量、及的的规硬工工模件作作较的方等大式 )生的、命提软周供件期更系。好统(的的硬方件生便环、命境提周不供期断更一变多般化种,都类软和超件更过也
应适应)
制作 龙鹏飞
面向对象技术-UML
【控制软件复杂性的基本方法】
1、分解

大2、问抽题象分解为子问题,功能分解;大实体分解为子部分,
级 软 件 工
制作 龙鹏飞
面向对象技术-UML
【面向对象的基本概念】
3、封装
高 封装(encapsulation)就是把对象的属性和方法结合成

一个独立的系统单位,并尽可能地隐蔽对象的内部细节。 封装使一个对象形成两个部分:接口部分和实现部分。
软 对于用户来说,接口部分是可见的,而实现部分是不可
件 见的。

封装提供了两种保护。首先封装可以保护对象,防止用 户直接存取对象的内部细节,其次封装也保护了客户端,
级 Jacobson(雅 森),在各自方法的基础上,汲取

其他面向对象方法的优点,广泛征求意见,几经修 改完成的一种建模语言。

工 UML是一种定义良好、易于表达、功能强大且 程 适用于各种应用领域的建模语言,已被OMG采纳为
标准,目前UML已成为面向对象技术领域内占主导 地位的标准建模语。掌握UML语言,不仅有助于理
解面向对象的分析与设计方法,也有助于对软件开
发全过程的理解。
制作 龙鹏飞
面向对象技术-UML
【软件危机】
上世纪60年代中期开始爆发的软件危机,产生于大中型
高 软件。

大中型软件与小型软件有本质的区别:大型软件系统的 开发周期长、开发费用昂贵、开发出来的软件质量难以保

2024年C++面向对象程序设计教案(含多款)

2024年C++面向对象程序设计教案(含多款)

C++面向对象程序设计教案(含多款)C++面向对象程序设计教案一、教学目标1.理解面向对象程序设计的基本概念,包括类、对象、继承、多态等。

2.掌握C++面向对象程序设计的基本语法和编程技巧。

3.能够运用面向对象的思想进行程序设计,解决实际问题。

二、教学内容1.面向对象程序设计的基本概念(1)类与对象类是对具有相同属性和行为的一组对象的抽象描述。

对象是类的实例,具有类定义的属性和行为。

(2)继承继承是面向对象程序设计的一个重要特性,用于表示类之间的层次关系。

子类可以继承父类的属性和行为,并在此基础上添加新的属性和行为。

(3)多态多态是指同一个操作作用于不同的对象时,可以有不同的解释和行为。

多态分为编译时多态和运行时多态。

2.C++面向对象程序设计的基本语法(1)类的定义与实现类定义包括类名、属性(成员变量)和方法(成员函数)。

类实现包括成员函数的定义。

(2)构造函数与析构函数构造函数用于创建对象时初始化成员变量,析构函数用于对象销毁时释放资源。

(3)继承与派生继承使用关键字class和public、protected、private访问限定符。

派生类可以添加新的成员变量和方法,也可以重写父类的方法。

(4)多态的实现多态可以通过虚函数、抽象类和接口实现。

虚函数使用关键字virtual声明,抽象类包含至少一个纯虚函数,接口是一种特殊的抽象类,只包含纯虚函数。

3.面向对象程序设计实例(1)设计一个简单的银行账户管理系统,包括账户类、储蓄账户类和信用卡账户类。

(2)设计一个图形类库,包括点、线、矩形和圆形等基本图形类。

三、教学方法1.讲授法:讲解面向对象程序设计的基本概念、语法和编程技巧。

2.案例分析法:通过分析实际案例,让学生理解面向对象程序设计的应用。

3.实践法:让学生动手编写代码,加深对面向对象程序设计的理解。

4.讨论法:组织学生讨论面向对象程序设计在实际项目中的应用。

四、教学评价1.课后作业:布置课后作业,检查学生对课堂知识的掌握程度。

面向对象的软件开发方法简介

面向对象的软件开发方法简介

1面向对象的软件开发方法简介面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。

面向对象的开发方法具有以下优点。

●把软件系统看成是各种对象的集合,这更接近人类的思维方式。

●软件需求的变动往往是功能的变动,而功能的执行者——对象一般不会有大的变换。

这使得按照对象设计出来的系统结构比较稳定。

●对象包括属性(数据)和行为(方法),对象把数据和方法的具体实现方式一起封装起来,这使得方法和与之相关的数据不再分离,提高了每个子系统的相对独立性,从而提高了软件的可维护性。

●支持封装,抽象,继承和多态,提高了软件的可重用性,可维护性和可扩展性。

1.1 对象模型在面向对象的分析和设计阶段,致力于建立模拟问题领域的对象模型。

建立对象模型既包括自底向上的抽象过程,也包括自顶向下的分解过程。

1.自底向上的抽象建立对象模型的第一步是从问题领域的陈述入手。

分析需求的过程与对象模型的形成过程一致,开发人员与用户交谈是从用户熟悉的问题领域中的事物(具体实例)开始的,这就使用户和开发人员之间有了共同语言,使得开发人员能够彻底搞清用户需求,然后再建立正确的对象模型。

开发人员需要进行以下自底向上的抽象思维。

●把问题领域中的事物抽象为具有特定属性和行为的对象。

●把具有相同属性和行为的对象抽象为类。

●若多个类之间存在一些共性(具有相同属性和行为),把这些共性抽象到父类中。

再自底向上的抽象过程中,为了使子类能更好的继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。

由于这类体系的构造是从具体到抽象,再从抽象到具体,符合人们的思维规律,因此能够更快,更方便的完成任务。

2.自顶向下的分解再建立对象模型的过程中,也包括自顶向下的分解。

例如对于计算机系统,首先识别出主机对象,显示器对象,键盘对象和打印机对象等。

接着对这些对象再进一步分解,例如主机对象有处理器对象,内存对象,硬盘对象和主板对象组成。

软件工程课本讲解面向对象的OMT方法

软件工程课本讲解面向对象的OMT方法
装成模块。 最终得到:对象设计文档 = 细化旳对象模型 + 细
化旳动态模型 + 细化旳功能模型。
16
第11章 面向对象的OMT方法
对象模型化技术OMT 对象模型化技术把分析时搜集旳信息构造在三类
模型中,即对象模型、功能模型和动态模型。
这个模型化旳过程是一种迭代过程。
17
第11章 面向对象的OMT方法
图11.4 三元关联 29
第11章 面向对象的OMT方法
角色为关联旳端点,阐明类在关联中旳作用和角 色。不同类旳关联角色可有可无,同类旳关联角色不 能省。角色旳表达如图11.5所示。
教师
讲授
课程
主讲
内容
图11.5 关联旳角色旳表达
30
第11章 面向对象的OMT方法
2) 受限关联
受限关联由两个类及一种限定词构成,限定词是 一种特定旳属性,用来有效地降低关联旳重数,限定 词在关联旳终端对象集中阐明。
技术之上旳,OMT措施旳基础是开发系统旳3个模型,再 细化这3种模型,并优化以构成设计。对象模型由系统中 旳对象及其关系构成,动态模型描述系统中对象对事件旳响应及对 象间旳相互作用,功能模型则拟定对象值上旳多种变换及变换上旳
约束。
6
第11章 面向对象的OMT方法
11.1.2 系统分析
分析旳目旳是拟定一种系统“干什么”旳模型,该模型经过 使用对象、关联、动态控制流和功能变换等来描述。分析过程是 一种不断获取需求及不断与顾客磋商旳过程。
8
第11章 面向对象的OMT方法
3. 构造动态模型
构造动态模型旳环节如下: (1) 准备经典交互序列旳脚本。 (2) 拟定对象间旳事件并为各脚本安排事件跟踪。 (3) 准备系统旳事件流图。 (4) 开发具有主要动态行为旳各个类旳状态图。 (5) 检验状态图中共享事件旳一致性和完整性。 最终得到:动态模型 = 状态图 + 全局事件流图。

第7章面向对象软件开发过程-UP介绍

第7章面向对象软件开发过程-UP介绍
10
§7a.2 UP的阶段(细化阶段,elaboration)
细化阶段的产出:
–用例模型(完成至少80%)……所有用例均 被识别,大多数用例描述被开发; –补充捕获非功能性要求和未关联于特定用例 要求的需求(补充规范) –软件体系结构描述 –可执行的软件原型 –经修订过的技术风险清单和商业案例 –总体项目的开发计划,包括粗粒度的项目计 划,显示迭代过程和对应的审核标准; –用户手册的初始版本(可选)
–进行β测试以期达到最终用户的需要; –β测试版本和旧系统的并轨; –转换功能数据库; –对最终用户和产品支持人员的培训; –提交给市场和产品销售部门; –和具体部署相关的工程活动; –协调bug修订、改进性能和可用性(usability)等工 作; –基于完整的构想和产品验收标准对最终部署做出评估; –达到用户要求的满意度; –达成各风险承担人对产品部署基线已经完成的共识; –达成各风险承担人对产品部署符合构想中标准的共识
23
§7a.4 核心工作流 –工作流是产生具有可观察结果的活动序列
24
§7a.4 核心工作流
25
§7a.4 核心工作流(商业建模)
商业建模
–大多数商业工程化的主要问题是软件工程人 员和商业工程人员之间不能正确地交流,这 导致了商业工程的产出没有作为软件开发输 入而正确地被使用,反之亦然。 –在商业建模中使用商业用例来文档化商业过 程,从而确保了组织中所有商业过程人员达 到共识。 –商业用例被分析以理解商业过程如何被业务 支持,而这些在商业对象模型中被核实。 –许多项目可能不进行商业建模。
26
§7a.4 核心工作流(需求)
需求
–是描述系统应“做什么”,并允许开发人员 和用户就该描述达成共识。
创建构想 建立用例模型

《VisualFoxPro9.0项目开发案例教程》第02章

《VisualFoxPro9.0项目开发案例教程》第02章

报表生成
1
报表设计器
VisualFoxPro9.0提供了强大的报表设
查询与过滤
2
计器,支持多种样式和布局类型、不 同的数据源和多个页类型等。
报表生成的核心在于数据的准确性,
用户可以基于SQL语句进行数据筛选
和排序,进而生成相应的报表。
Байду номын сангаас
3
导出与打印
报表生成后,用户可以选择将其导出 为不同的格式,如Word、Excel和 PDF等。也可以直接打印到打印机或 PDF文件中。
语法基础
1
变量类型
VisualFoxPro9.0支持不同的变量类
运算符
2
型,包括字符型、数值型、日期型和 逻辑型等。每种类型对应的取值范围
VisualFoxPro9.0提供了丰富的运算
和运算规则都不同。
符支持,例如算数运算符、关系运算
符、逻辑运算符和位运算符等。还可
以通过自定义函数扩展运算。
3
控制语句
常见问题解答
常见错误解决
VisualFoxPro9.0常见错误解决是解决常见的维 护问题,解决后将为您的工作效率提升一个层 次。
速度优化
VisualFoxPro9.0运行速度对于处理大数据的应 用有很大的影响,快速运行速度可以节约大量 的时间,提高开发效率。
实际案例
企业员工管理系统
该系统基于VisualFoxPro9.0教程,结合企业管理流程需要进行开发,收到了广泛应用。
未来发展前景
VisualFoxPro9.0以面向对象和精细化的开发思 路,赢得了越来越多的用户的青睐和认可。在 未来,随着应用范围的不断扩大, VisualFoxPro9.0也会越来越受到关注和创新。

面向对象程序设计(Java)课程教学大纲(软件工程)

面向对象程序设计(Java)课程教学大纲(软件工程)

面向对象程序设计(Java)教学大纲一、说明(一)课程性质本课程是计算机科学与技术(软件工程)专业的专业必修课,是软件开发类的主要基础课程。

(二)教学目的本课程通过讲授Java语言的基础知识、最新技术和Java程序的设计开发方法,使学生理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作,熟悉Java平台的基本框架及体系结构,能独立、比较熟练地用Java技术和主流IDE进行中小规模的程序设计和开发,为后续课程及大中型应用软件的研究、设计打下基础。

(三)教学内容知识方面:了解Java语言程序设计基础知识,Java语言的产生背景及其主要特点,掌握Java 语言的数据类型、常量、变量、表达式,掌握Java语言的程序控制结构、以及字符串、数组等,理解Java面向对象编程的基本思想及其特征,掌握图形编程、事件处理、Swing用户界面设计;掌握部署应用程序和Applet、异常处理与调试技巧;了解泛型程序设计、集合框架;掌握多线程编程知识,Java输入输出流,了解网络编程和数据库开发知识。

技能方面:会独立编写简单的Java应用程序;会独立编写简单的Java小应用程序(Java Applet);能应用AWT和Swing常用组件设计图形化用户界面;掌握Java异常处理机制的简单应用;能编写简单的多线程程序;掌握使用Java输入输出流,能实现对文件的处理。

掌握JDBC,能够对数据库进行处理。

(四)教学时数108学时(课堂授课:36学时;实验:72学时)/ 4学分。

(五)教学方式多媒体教学、上机试验。

二、本文理论部分第1章Java程序设计概述与环境教学要点:了解Java语言的发展历程;掌握Java语言的基本特点;了解Java虚拟机和Java运行系统;了解Java程序编写规范等;了解Java开发环境及常用编辑软件。

教学时数:2学时。

教学内容:1.1 Java的发展及其特点(0.5学时)Java程序设计平台、Java“白皮书”的关键术语、Java发展简史、以及关于Java的常见误解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件是在代码之外发生的一切事情。

如何继续学习过程你将从本章学到什么?两千年后(P2K)的软件环境是什么样的?P2K软件环境中的技术和技能是什么?有关P2K技能和技术有哪些概述性的资源?软件专家在面向对象项目中充当什么角色/职位?如何继续面向对象的学习过程?为什么需要阅读本章?你的技能,以及如何使用它们,是能否成为成功的软件专家的重要决定性因素。

通过阅读本书,你会获得学习对象技术和技巧所需的基本知识,本章也给你提供了继续进一步学习过程的建议。

至此,你已经了解了面向对象的全部内容,现在你已经是一名准备开发大型、关键性任务软件的对象专家。

好吧,现在你还不全是。

实际上,你已经掌握了一些有用的概念和技能,也明白了它们如何一起使用,在浏览复习题以及案例学习的过程中,你已经使用了它们。

目前你正处在有利地位,可以继续你的学习过程,这个过程将很可能贯穿你的整个职业生涯。

本章给出了对软件业目前的状况以及将来的发展方向的见解,在接下来的几年中将会需要什么样的技能,要如何才能获得这些技能。

11.1 P2K 环境在你的整个职业生涯中一直要学习新的技能。

软件业在20世纪90年代后半期被Y2K危机严重影响了,新的开发被耽搁下来或者干脆取消,以转移资源解决Y2K危机,结果,许多企业都推迟了对采用新的技术和技能的投资。

现在Y2K危机已经过去了,我们正面对着两千年后(P2K)的软件环境,一个使用本书中描述的技术支配的环境。

在P2K环境中,你将会应用新的方法,例如面向对象的和基于组件的方法,采用迭代和增量方法的新的开发过程,像Java和CORBA这样新的技术,以及像用况建模这样新的技术。

本书概述了对象开发技术,本节也总结了用于P2K环境的关键技术和技能。

要理解P2K环境,必需考虑下面几项内容:新的软件策略。

使能技术。

领先的开发技术。

现代软件过程。

对象编程语言。

如何获得P2K技能。

11.1.1 新的软件策略21世纪初期将会由两项关键的软件策略来统治:企业应用集成(EAI )和电子商务。

EAI 把全异的软件应用集成为一个整体以支持新的和复杂的业务过程。

中间件和组件技术,例如下面这节里描述的CORBA和兼容COM+的工具也用于支持EAI。

了解EAI的一个好去处是,也可以参考《Enterprise Application Integration » (Linthicum,2000)一书。

包装技术是《Building Object Applications That Work » (Ambler ,1998a)一书详细讲述的主题,对于EAI的开发者来说它也是一项重要的技能。

电子商务也称为基于In ternet的商务,它关注于使用电子技术支持产品销售和服务。

电子商务成功的机构有,戴尔公司()一一个计算机软硬件零售商;亚马逊()一一个销售书、录像带、音乐CD的零售商;Ebay网()一一个在线拍卖网站。

电子商务最好的资源是杂志《The Industry Standar» (),它以报纸和在线两种形式出版发行。

11.1.2 使能技术除了11.1.5节描述的对象编程语言外,还有好几个使能技术也是P2K环境中占主导地位的技术。

这些技术有:CORBACOM+EJB (企业Java组件模型)XML持久层/框架1. CORBA (公共对象请求代理体系结构)。

CORBA是一种由对象管理组(OMG )制定的支持和维护分布式对象的一种标准结构,在20世纪80年代晚期引入。

在20世纪90年代早期,CORBA承诺要成为最好的面向对象开发的标准环境,实际上,业已证明CORBA是21世纪初中间件竞技中的一支重要力量。

学习CORBA的一个好地方是beginners.html。

2 . COM+。

这是微软组件对象模型(COM )的最新体现。

COM是微软的对象链接和嵌入(OLE)以及ActiveX技术的演化,后来COM变成分布式COM (DCOM ),现在变成了COM+。

COM+是一项专有方法,用于微软平台的分布式组件开发。

访问com可以得到一系列基于COM 技术的白皮书、演示文稿以及案例学习的链接。

3 . EJB。

EJB是一种组件结构,用于开发和部署基于组件的分布式业务应用。

遵照EJB结构编写的应用程序是可升级的、可进行事务处理的并且是多用户安全的。

这些应用程序可以编写一次,然后就部署到任意支持EJB标准的服务器平台上。

EJB让开发人员获得并使用企业类服务来创建关键任务应用。

开始学习EJB最好的地方是在线/products/ejb以及《Mastering Enterprise JavaBeans » (Roman, 1999)一书。

4 •可扩展标记语言(XML )。

进行数据共享的一种工业标准方法,对于EAI和电子商务来说这是一种重要的使能技术。

网站是开始学习XML最好的地方。

5•持久层。

持久层(也称做持久框架),通过映射元数据使得从永久存储(例如关系数据库)中存储、检索和删除对象得以自动化。

如果关系数据库用来存储对象,那么映射元数据会把对象的一条属性与存储对象的数据库表列联系起来。

持久层向对象隐藏了数据模式,这会大量减少持久对象所需编写的代码数量,从而增强软件的健壮性并增加开发生产力。

在《BuildingObject Applications That Work》(Ambler , 1998a)—书中我详细讨论了持久层,这本书是本系列的第二本书。

你可能想下载描述持久层设计的白皮书,我已经把它放在网站/persiste nceLayer.html 上了。

11.1.3 领先的开发技术作为工作在P2K环境中的开发人员,你很可能会用到下面大多数或所有的开发技术:基于组件的开发(CBD )。

增量开发。

迭代开发。

面向对象。

模式。

统一建模语言(UML )。

以应用为中心的设计。

用况建模。

1 •基于组件的开发(CBD )。

一种开发方法,其中软件可以作为系列交互组件来部署,每个组件都封装一套预定义的行为。

包括面向对象和结构化语言在内的任何一种技术都可能用来实现组件。

常见的组件方法包括OMG的CORBA组件模型(CCM),Sun公司的EJB和微软的COM+ 。

开始学习CBD 的最好的地方是《Component Software:Beyond Object-Oriented Programming》(Szyperski,1998)—书和网站。

2 •增量开发。

一种软件开发方法,它把项目组织成几个小的发布版本,而不是以一次“大爆炸”版本发行。

这使你能较早地把软件交付给用户,并通过用户对最初版本的反馈来减小项目风险。

增量开发已经在第10章中详细讨论过了。

3 •迭代开发。

这是软件开发中的一种非顺序方法。

换句话说,可以做一点儿需求工程,一点建模,一点实现,一点测试,再一点建模,再一点实现,再一点需求工程,等等。

使用迭代开发方法,执行活动的顺序并不是一成不变的。

通过把技术用到项目当中它们最起作用的地方,迭代开发减少了项目风险和开发时间。

迭代开发已经在第10章中详细讨论过了。

4 .面向对象。

软件范型基于下面的概念:软件应该从表示状态(数据)和行为(过程)的对象上创建。

面向对象的概念在20世纪60年代后期引入;在20世纪80年代,使用Smalltalk 和C++这样的语言后面向对象开始流行;到20世纪90年代,C++和Java已经变成了事实上的开发标准。

对于对象开发人员来说,网上最有价值的资源是Cetus中对象和组件的链接,。

下一步,我推荐阅读《Applying UML and Patterns》(Larman, 1998),它关注于面向对象分析和设计, 这些内容分别是本书第6章和第7章的内容,如果想要了解得更详细一点,请参考《BuildingObject Applications That Work》(Ambler , 1998a)一书,这本书从对象开发人员的角度详细讲述了一系列面向对象的专题。

5 •模式。

模式是考虑到相关因素的通用问题的解决方案,支持复用经过验证的其他开发人员的技术和方法。

模式有许多不同的类型,包括设计模式、分析模式、过程模式、结构模式、组织模式、编程习语甚至还有反模式(经过验证不能起作用的那些方法)。

分析模式在第6章中已经讨论过,设计和结构模式在第7章中也讨论过,编程习语在第8章中讨论过,过程模式在第10章中讨论过了。

在对象建模世界中,模式组成了建模人员间通用语言的基础。

例如,听到“那是Singleton”或“这是一种策略实现”这样的话,你要明白他们所说的Singleton和“策略”设计模式是很常见的。

你可以在网站中找到一系列有用的并与模式相关的资源,包括概述和高级主题。

6 .统一建模语言(UML )。

UML是一种工业标准建模语言,它定义了面向对象建模的符号和语义。

《UML Distilled》(Fowler和Scott, 1997)是一本极好的对UML技术进行介绍的书,如果对UML有兴趣的话,它也是你在读完本书之后需要阅读的一本书。

在《Building Object Applications That Work » (Ambler, 1998a)和《Process Patterns》(Ambler, 1998b)这两本书里,我概述了这些技术以及它们如何配合使用,这与本书中每一个建模章节(第3、6、7章)中我给出的概述概念上相似。

如果需要更详细的信息,请访问。

我也维护着一个网页,在它上面有一些重要资源的网络链接。

7 •以应用为中心的设计。

一种流线型的系统化的方法,用于设计真正紧密适应用户需求的软件,这些软件不仅更有用也更易使用,并且也更简单更容易创建。

本质用况和本质用户界面原型(实物模型)在第3章中讲述过,它们是以应用为中心的设计技术的一些例子,学习这些技术最好的开始是《Software for Use》(Constantine 和Lockwood,1999) 一书。

8 •用况建模。

用况建模是一种需求工程技术,在20世纪90年代早期开始在面向对象开发团体内部流行。

正如在第三章中所见,用况模型由用况图和一系列用况组成,用以归档系统需求行为。

我所读过的关于用况的最好的书籍是《Applying Use Cases》(Schneider和Winters, 1998) ;我强烈推荐阅读本书。

11.1.4 现代软件过程P2K环境的技术和技能很复杂,正如在第10章中所见,要想有效地使用它们,开发人员就需要能够反映这种复杂性的现代软件过程。

这些过程包括:极限编程(XP )。

面向对象软件过程(OOSP)。

OPEN过程。

统一过程。

1 •极限编程。

一种周密计划的软件开发方法,强调沟通、简化、反馈和自信。

XP关注于与用户一起工作、简单但一流的开发以及测试等。

相关文档
最新文档