- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第一章 UML与面向对象;基础内容:类和对象的关系
重点掌握:面向对象的四个特征一般了解:面向对象项目的设计;1.1面向对象开发;二、类
类是创建对象的模板,在整体上可代表一组
对象,它是具有相同属性和操作的一组对象的组合。
类的定义包含以下要素:
属性——即定义该类对象的数据结构。一个类可以具有零个到多个属性。
操作——即对象要执行的操作,也就是类的对象被调用执行哪些操作,以及执行这些操作时对象要执行哪些操作。或者说是类能够做的事情抑或是其它类能对类做的事情。;对象和类的关系:
对象是类的一个实例。
如,创建了“人”这个类,现在有一个名字叫“小明”的人,就表示小明是“人”这个类的一个实体对象。我们还可以使用这个类来表达更多其它具体的对象,如“小张”、“小王”等。;三、消息和事件
①消息;②事件
通常是指一种由系统预先定义而由用户或系统发出的动作。
事件作用于对象,对象识别事件并作出相应的反应。事件的集合通常是固定的,用户不能随便定义新的事件。例如,用鼠标左键单击对象时发生的Click事件和界面被加载到内存时发生的Load事件。;四、面向过程;1.1面向对象开发;二、封装;在讨论封装这个主题时,还牵扯到另一个相关概念。封装意味着对象对其他对象和外部世界隐藏了自己要做什么,因此它也被称为信息隐藏。
但是对象总是要给外部世界提供一个“接口”,用来初始化这些操作。例如,电视机上一般都有一组按钮或者提供带有按钮的遥控器。电视机的按钮的按键称为接口。;三、继承;·面向对象概念中,这种关系叫继承。每个
Appliance的子类都继承了Appliance的特征。同时,要重点注意下,每个子类都增加了自己的属性和操作。
·因此,继承是一种连接类与类之间的层次模型,是
指特殊类的对象拥有其一般类的属性和行为。特殊类中不必重新对已经在一般类中所定义的属性和行为进行定义。特殊类自动地、隐含地拥有其一般类的属性和行为。;四、多态;1.1面向对象开发;二、面向对象设计的规则
1、设计的结果应该清晰易懂
2、一般到具体结构的深度应当适当
3、尽量设计小而简单的类
4、使用简单的消息协议
5、使用简单的函数或方法
6、把设计变动减至最小;三、系统设计1、系统分解
2、确定并发性
3、处理器及任务分配
4、数据存储管理
5、全局资源的处理
6、选择软件控制机制
7、人机交互接口设计;四、面向对象开发的优点1、简单性
2、重用性高,开发效率高
3、容易修改和维护
4、结构明晰,可读性强
5、安全性;1.2UML简介;1.2.2系统建模的目标和原则
通过建模,要实现以下4个目标:
·便于开发人员展现系统
·允许开发人员制定系统的结构或行为
·提供指导开发人员构造系统的模板
·记录开发人员的决策;1.2.3UML的定义;1.2.4UML的优势;1.2.5在何种场合需要UML
UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。
在需求分析阶段,可以用用例来捕获用户需求,通过用例图建模,描述对系统感兴趣的外部角色及其对系统的功能的要求。
分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及他们相互之间的关系,并用类图来描述。
为了实现用例,类之间需要协作,这可以用UML动态模型来描述。;在设计阶段,要考虑的是定义软件系统中技术细节的类(如处理用户接口、数据库、通信和并行性等问题的类),把分析阶段的结果扩展成技术解决方案。
构造阶段,把设计阶段的类转换成某种面向对象程序设计语言的的代码(工具可以完成)。
测试阶段,系统通常需要经过单元测试、集成测试、系统测试和验收测试。不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用构件图和协作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。;UML在更多的被经常使用在需求分析和设计
工作中。
UML用于需求分析:;?编辑课件;1.2.6多种UML建模类型
可将常见的软件开发模式分为如下的几种类型:
在第一代软件开发过程模式中,软件需求是要求完全确定的,如瀑布型等;
对于第一代软件开发过程模式的改进催生了在开始阶段只提供基本需求的渐进式开发模型,如喷泉模型和演化模型;
以体系结构为基础或以构件为基础的开发模型,如基于构件的开发模型和基于体系结构的开发模型等;
轻量级开发模型,这种开发模型强调适应性而非预测性,强调以人为中心而不是以流程为中心,强调对变化的适应和对人性的关注。;简答题
文档评论(0)