oo design
InDesign的图形和图像操作

ook. t boo net 图2
图3
图4
ne k. 使用“铅笔工具”可以将两条独立的路径合并起来。其步骤如下:
k. oo (1)使用“直接选择工具” ,同时选中两条独立的路径(选中一条路径后,按住 Shift 键再
o b 选中另一条路径)。如图 5 所示。
bo cn (2)选择“铅笔工具”,将光标放置于其中一条路径的端点,同时按住 Ctrl 键,从该端点向另
n k 个矩形。如图 25 所示。 k. oo (3)单击鼠标,会打开如图 26 所示的“矩形”对话框,在此对话框中,可以精确地设置矩形
oo nb 的宽度和高度。
.cnb www.c 图25
图 26
oo nb 2. 椭圆工具
nb .c “椭圆工具”用于在页面中绘制椭圆。其使用步骤如下:
book InDesign 的图形和图像操作 t w net 内容提要:本文介绍了 InDesign CS2 的图形绘制与图像的操作。其中图形绘制是指在出版物中 e . 绘制图形。在 InDesign CS2 中提供了多种绘图工具“铅笔工具”、“钢笔工具”和“矩形工具”等, .n ok 为绘制图形提供了便利。但这些工具不一定能满足所有需要。Photoshop 等软件能制作出更专业的图 ok bo 像,所以 InDesign CS2 虽然提供了图像操作,但只是将外部现成的图像导入到当前出版物。这种操 o cn 作为利用第三方资源提供了便利。 . 关键字:图形、图像 ww 引言:InDesign CS2 提供强大的图形绘制工具,对于较为简单的图形绘制,依靠这些工具就可 w t 以直接完成。另外,InDesign CS2 还提供了易用的导入现有图像,并做各种编辑美化的功能。 e 正文: net k.n 1 InDesign 的图形绘制 ok. boo 本节将介绍各种绘图工具的基本操作方法,及使用各种绘图工具绘制基本图形的一般方式,这 o n 些是 InDesign 图形操作的基本知识。 cnb w.c 1.1 基本概念 . ww InDesign CS2 排版过程中,经常会使用到图形,但在学习图形绘制之前,应该对常用的基本概 et 念有所了解。 t n 1. 路径 ne k. 路径是指基于贝塞尔曲线建立的矢量线条,用于勾勒图像的轮廓。对于最终用户,这条曲线是 k. oo 虚拟的,但此路径可以通过描边和填色变为可见的线条。路径具有方向,在对路径进行与方向有关 oo nb 的处理过程中,方向有可能影响其处理结果。 b c 2. 形 cn w. 在 InDesign CS2 中,形是指不包含文本或图形的线框或色块。在形中添加文本或图像之后,就 w. ww 可以转为框架。 w 3. 框架 w 框架指的是包含文本或图像的框。在 InDesign CS2 中,用户在创建框架时不必指定所创建的是 net k. 什么类型的框架。用文本填充时,该框架就自动确定为文本框;用图像置入时,该框架就自动确定 . o 为图像框。用户可以把这两种框架进行自动置换。 ook nbo 1.2 铅笔工具 nb .c 工具箱中提供了三种“铅笔工具”:“铅笔工具”、“平滑工具”和“抹除工具”。调出这些工具的 .c ww 方法是:按住工具箱上的 按钮,直至出现如图 1 所示的工具菜单。
系统分析与设计

22
5
RMO 案例中的事件 p.5-14
與顧客有關的重要外部事件
顧客想要檢查商品能否供貨、顧客下訂單、顧客變 更或取消訂單, 參考圖5-13
事件表格(event table)中與每個事件相關的資訊 :
每個使用案例的型錄資訊 (圖 5-15)
5
涉及部門的其他外部事件
寄送已完成的訂單、行銷部門想要寄送促銷內容給 顧客、商品部門更新型錄
事件分解技術 CRUD 分析技術 (建立, 讀取, 更新, 刪除)
Systems Analysis and Design in a Changing World, 4th Edition
11
Systems Analysis and Design in a Changing World, 4th Edition
10
5
5
在設計階段建立的模型 (圖 5-5)
3. 事件、活動與使用案例
使用案例 (use case)
Use case~activity
系統為回應使用者的要求所執行的活動 「案例」 是參與者使用系統的地方 辨識使用案例的技術 辨識使用者目標
Elementary Business Processes
基本企業流程 (EBP) 層次的目標就是使用案例 (參考圖5-6) EBP – 由一名工作人員、在一個場所執行的一項任務,目的是要回應 某個企業事件。它能夠增加可測量的企業價值,並讓系統與資料維持 一致的狀態
事件的類型
外部事件 (External event)
發生在系統之外 由外部的代理人(e.g.顧客)或參與者所啟動 , 圖5-8 事件命名: 外部代理人+動作名稱 (customer pays)
chapter01_基础知识

(2)里氏代换原则 ) 或者LSP) (Liskov Substitution Principle, 或者 )
很严格的原则,规则是“子类必须能够替换基类, 否则不应当设计为其子类。” 也就是说,子类只能去扩展基类,而不是隐藏或覆 盖基类。 LSP是继承复用的基石。只有当子类可以替换掉基 类,软件单位的功能不会受到影响时,基类才能真 正被复用,而子类也才能够在基类的基础上增加新 的行为。
例子: 例子:玉帝招安美猴王
当年大闹天宫便是美猴王对玉帝的新挑战。美猴王说:"'皇 帝轮流做,明年到我家。'只教他搬出去,将天宫让于我!" 对于这项挑战,太白金星给玉皇大帝提出的建议是:"降一 道招安圣旨,宣上界来…,一则不劳师动众,二则收仙有 道也。" 换而言之,不劳师动众、不破坏天规便是"闭",收仙有道 便是"开"。招安之道便是玉帝天庭的"开放-封闭"原则。 招安之法的关键便是不允许更改现有的天庭秩序,但允许 将妖猴纳入现有秩序中,从而扩展了这一秩序。用面向对 象的语言来讲,不允许更改的是系统的抽象层,而允许更 改的是系统的实现层。
(7)纯虚构 (Pure Farication) ) )
提倡把那些非问题领域的职责分配给那些人工生成的或 者容易此类职责的概念类(Domain Class)。 Domain Class:设计对象的时候应该尽量保持与现实 : 世界里的对象一致。这种与现实世界里的对象保持一致 的从业务分析中抽象出来的类叫做“Domain Class”。 比如一个简单的用例:用户注册。用户就是一个 “Domain Class”,它是现实世界里的业务对象。 用户注册需要操作数据库,[数据库操作]是系统功能实 现的一个必需功能,它不是现实世界里存在的业务对象 ,它是一个非Domain Class。如果把[数据库操作]看作 一个行为职责,它就相当于这里所说的“非问题领域里 的职责”。 一般来说,Domain Class与非Domain Class的功能如 果聚集在一个类里,就破坏了“高内聚”原则。
GRASP基于职责设计对象ppt课件

B包含了A对象; B组成聚集了A; B记录了A; B紧密地使用A; B具有A的初始化数据
10
问题:由谁创建Square对象精选版课件ppt
图17-3 Monopoly迭代1的领域模型
5
职责和交互图
精选版课件ppt
在UML制品(artifacts)中,通常是在建立交互图的 语境来考虑对象的职责分配,通过方法来实现职责。
: Sale
makePayment(cashTendered)
create(cashTendered)
: Payment
抽象,表示Sale对象具有创建Payment
11
精选版课件ppt
在动态和静态模型中应用创建者模式
图17-4 在动态模型中运用创建者模式
图17-5 在设计模型的DCD中,Board 与Square具有组成聚合关联。我们在 静态模型中应用了创建者
12
精选版课件ppt
信息专家(Information Expert)
模式名:信息专家(或专家) 问题:给对象分配职责的基本原则是什么? 解决方案(建议):将职责分配给具有完成该职责所 需信息的那个类
19
精选版课件ppt
问题:谁首先来处理playGame系统操作
图17-8 Monopoly游戏的SSD。注意playGame操作
20
精选版课件ppt
根据模型与视图分离原则,UI对象不应当包括业务逻辑,应 该把请求委派给领域层的对象。
图17-9 谁是用于playGame系统操作的控制器
21
精选版课件ppt
软件系统设计说明书模板

XX Software System Design Specification(OO)XX 软件系统设计说明书 (OO)版权所有不得复制Copyright © BroadenGate Technologies, Co., Ltd.. All Rights ReservedRevision Record 修订记录Catalog目录1Introduction 简介 (6)1.1Purpose 目的 (6)1.2Scope 范围 (6)1.2.1Name 软件名称 (6)1.2.2Functions 软件功能 (6)1.2.3Applications软件应用 (6)2Level 0 Design Description第0层设计描述 (6)2.1Software System Context Definition 软件系统上下文定义 (6)2.2Design Considerations (Optional)设计思路(可选) (6)2.2.1Design Alternatives 设计可选方案 (6)2.2.2Design Constraints 设计约束 (7)2.2.3Other Design Considerations 其他 (7)3Level 1 Design Description第一层设计描述 (7)3.1System Architecture系统结构 (7)3.1.1Description of the Architecture系统结构描述 (7)3.1.2Representation of the Business Flow业务流程说明 (7)3.2Decomposition Description分解描述 (8)3.2.1Module/Subsystem 1 Description模块1/子系统1描述 (8)3.2.2Module/Subsystem 2 Description模块2/子系统2描述 (8)3.3Dependency Description依赖性描述 (8)3.4Interface Description接口描述 (8)3.4.1Module/Subsystem 1 Interface Description模块1/子系统1的接口描述 (8)3.4.2Module/Subsystem 2 Interface Description模块2/子系统2的接口描述 (8)4Level 2 Design Description第二层设计描述 (8)4.1Module Name (1) 模块1名称 (9)4.1.1Design Description模块设计描述 (9)4.1.2Function Illustration功能实现说明 (10)4.2Module Name (2) 模块2名称 (10)4.2.1Design Description模块设计描述 (10)4.2.2Function Illustration功能实现说明 (10)5Database Design数据库设计 (10)5.1Entities Definition实体定义 (10)5.1.1Decomposition Description分解描述 (10)5.1.2Internal Dependency Description内部依赖性描述 (10)5.2Behaviors Definition行为定义 (11)5.2.1Decomposition Description分解描述 (11)5.2.2External Dependency Description外部依赖性描述 (11)5.2.3Internal Dependency Description内部依赖性描述 (11)6Detailed Design of Module 模块详细设计 (11)6.1Class1 CLASS的设计 (11)6.1.1Overview简介 (11)6.1.2Class Diagram类图 (11)6.1.3Status Design状态设计 (11)6.1.4Attributes属性 (12)6.1.5Methods方法 (12)6.2Class2 CLASS的设计 (12)7Detailed Design of the Database数据库详细设计 (12)7.1Stored Procedure1 #/Trigger1# 存储过程1#/触发器1#的名称 (13)7.2Stored Procedure 2#/Trigger2# 存储过程2#/触发器2#的名称 (13)Keywords 关键词:Abstract 摘要:List of abbreviations 缩略语清单:<对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释。
unit02-oop基本概念

34
对象和类
类是什么?
类的通用结构
{数据,…} 私有的 公有的
{方法,…}
类的通用结构
35
对象和类
类是什么?
类定义的实例
Student类 String name String studentId Date birthDate String address … registerForCourse dropCourse chooseMajor …
• • • • • •
• • • •
课程编号 课程名称 课程所需的学时 讲授该课程的教师名单
32
对象和类
对象是什么?
对象的行为/操作/ 对象的行为/操作/方法
学生对象的行为/操作 课程对象的行为/操作 每一个操作都涉及到学 生的一个或多个属性
• • • •
注册一门课程 取消一门课程 选定一个专业 选择一个导师
28
对象和类
对象是什么? 类是什么? 实例化对象
29
对象和类
对象是什么?
实际的对象
可以被感官感知的实物 思想、感觉或行为所及的概念或物理上的东西 上课的学生 教学生的教师 上课的教室 教室里的多媒体设备 教室所在的建筑物 学生用的课本 学生所上的课程 教师所在的系别 学生获得的学位
30
对象和类
OOPLs的分类 OOPLs的分类
纯面向对象语言(Smalltalk,Java) 纯面向对象语言(Smalltalk,Java) 混合性面向对象语言 (C++)
17
面向对象程序设计语言(OOPLs) 面向对象程序设计语言(OOPLs)
C++和Java对OOP的支持 C++和Java对OOP的支持
OO方法——精选推荐
OO⽅法OO⽅法(Object-Oriented Method,⾯向对象⽅法,⾯向对象的⽅法)是⼀种把⾯向对象的思想应⽤于软件开发过程中,指导开发活动的系统⽅法,简称OO (Object-Oriented)⽅法,是建⽴在“对象”概念基础上的⽅法学。
对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,⼀个对象类定义了具有相似性质的⼀组对象。
⽽每继承性是对具有层次关系的类的属性和操作进⾏共享的⼀种⽅式。
所谓⾯向对象就是基于对象概念,以对象为中⼼,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
⾯向对象⽅法作为⼀种新型的独具优越性的新⽅法正引起全世界越来越⼴泛的关注和⾼度的重视,它被誉为"研究⾼技术的好⽅法",更是当前计算机界关⼼的重点。
⼗多年来,在对OO⽅法如⽕如荼的研究热潮中,许多专家和学者预⾔:正象70年代结构化⽅法对计算机技术应⽤所产⽣的巨⼤影响和促进那样,90年代OO⽅法会强烈地影响、推动和促进⼀系列⾼技术的发展和多学科的综合。
⼀、⾯向对象⽅法的由来与发展 回顾历史可激励现在,以规划将来。
OO⽅法起源于⾯向对象的编程语⾔(简称为OOPL)。
50年代后期,在⽤FORTRAN语⾔编写⼤型程序时,常出现变量名在程序不同部分发⽣冲突的问题。
鉴于此,ALGOL语⾔的设计者在ALGOL60中采⽤了以"Begin……End"为标识的程序块,使块内变量名是局部的,以避免它们与程序中块外的同名变量相冲突。
这是编程语⾔中⾸次提供封装(保护)的尝试。
此后程序块结构⼴泛⽤于⾼级语⾔如Pascal 、Ada、C之中。
60年代中后期,Simula语⾔在ALGOL基础上研制开发,它将ALGOL的块结构概念向前发展⼀步,提出了对象的概念,并使⽤了类,也⽀持类继承。
70年代,Smalltalk语⾔诞⽣,它取Simula的类为核⼼概念,它的很多内容借鉴于Lisp语⾔。
领域模型
为什么要创建领域模型?
降低与OO建模之间的表示差异 在后期UP设计模型中,面向对象开发者在创 建软件类时受到真实世界领域的启发,因此, 涉众所设想的领域与其在软件的表示之间的表 示差异被降低
UP Domain Model Stakeholder's view of the noteworthy concepts in the domain. A Payment in the Domain Model is a concept, but a Payment in the Design Model is a software class. They are not the same thing, but the former inspired the naming and definition of the latter. This reduces the representational gap. This is one of the big ideas in object technology. Payment amount: Money getBalance(): Money 1 Pays-for 1 date: Date startTime: Time getTotal(): Money ... Payment amount inspires objects and names in Sale Sale 1 Pays-for 1 date time
UP Design Model The object-oriented developer has taken inspiration from the real world domain in creating software classes. Therefore, the representational gap between how stakeholders conceive the domain, and its representation in software, has been lowered.
设计 单词
设计单词“design”一、单词释义1. 作动词时,有“设计;构思;计划;制订;制造;意欲”等意思。
例如,He designed a new building for the city.(他为这个城市设计了一座新建筑。
)2. 作名词时,意为“设计;布局;安排;设计艺术;构思;设计图样;图案”等。
比如,The design of the dress is very fashionable.(这件连衣裙的设计非常时尚。
)二、单词用法1. 作动词时,可直接跟名词作宾语,如design a product(设计一个产品)。
2. 常用于被动语态,be designed for / to do sth.,表示“为……而设计;被用于做某事”。
例如,This software is designed for beginners.(这个软件是为初学者设计的。
)3. 作名词时,常与介词搭配,如in design(在设计方面)。
三、近义词1. plan:更侧重于表示计划、规划,强调对事情的预先安排。
例如,I plan to go on a trip next month.(我计划下个月去旅行。
)而design更多涉及到创意和构思方面的设计。
2. create:着重于创造出全新的东西,有创新、创作的意味。
比如,He creates amazing artworks.(他创作令人惊叹的艺术作品。
)design在创造的基础上更注重功能和美观的规划。
3. devise:有想出、设计(方法、计划等)的意思,通常指发明或策划出一种特殊的东西。
例如,They devised a new way to solve the problem.(他们想出了一个解决问题的新方法。
)四、短语搭配1. by design:故意地。
例如,I think he did it by design.(我觉得他是故意这么做的。
)2. design for:为……设计。
面向对象的OOA_OOD软件开发技术分析
第25卷 第5期2009年10月 忻州师范学院学报JOURNAL OF X I N ZHOU TE ACHERS UN I V ERSI TY Vol.25 No.5 Oct.2009 面向对象的OOA、OOD软件开发技术分析任胜兰(太原师范学院,山西太原030012)摘 要:面向对象是当前计算机界关心的重点,是上个世纪90年代软件发展的主流,实际上,面向对象的概念和应用已经超越程序设计和软件开发,而且已经渗透到了系统模拟、数据库、多媒体、图形技术、网络管理系统、CAD技术、人工智能等多个领域。
文章主要讨论面向对象的开发方法OOA和OOD,并且对面向过程与面向对象加以比较,阐述了面向对象的OOA、OOD之不足及适用范围,同时也分析了发展中存在的争论问题。
关键词:面向对象;OOA;OOD;软件开发中图分类号:TP311 文献标识码:A 文章编号:1671-1491(2009)05-0039-04 面向对象(Object-O riented,简称OO)技术是一种以对象为中心的分析和解决问题的新方法,它克服了传统方法中对象与行为之间联系松散的缺点,更能体现软件开发中的三个重要概念,即抽象、信息隐蔽和模块化。
因此面向对象技术已广泛应用于软件开发的各个阶段,从而产生了面向对象的分析方法OOA(Object-O riented Analysis),面向对象的设计方法OOD(Object-O riented Design)等面向对象的技术。
面向对象(OO:Object-O riented)是当前计算机界关心的重点,是90年代软件发展的主流,实际上,面向对象的概念和应用已经超越程序设计和软件开发,而且已经渗透到了系统模拟、数据库、多媒体、图形技术、网络管理系统、CAD 技术、人工智能等多个领域。
一些新的工程概念及其实现,如并发工程、综合集成工程等,也需要面向对象的支持。
实践证明,采用面向对象的方法在提高软件的可靠性、可理解性和可维护性,提高软件质量和生产效率,降低生产成本等方面都具有重要的意义。