




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程,范 炜,公共管理学院信息管理技术系,(2011-2012 秋季学期),Introduction to Software Engineering,Email: ,2021/3/27,1,软件工程,2021/3/27,软件工程,2,面向对象基础,Week 05,Object Oriented OO,Adopted from 邱嘉文建立面向对象的世界观,2021/3/27,软件工程,3,软件工程方法学,传统方法学 面向对象方法学,相同点:都将软件开发划分为分析、设计、编码、测试等阶段 不同点:思想不同,方法不同。另外,传统软件工程更关注功能模块,面向对象软件工程更关注对象的抽取和设计,两类
2、软件工程方法学没有绝对的替代关系,2021/3/27,软件工程,4,客观世界,世界,主观世界,认识世界,改造世界,世界是什么样的呢?,建模认识现实世界,持不同的世界观就会得到对现实世界的不同认识 建立不同的世界模型。,2021/3/27,软件工程,5,模型是对现实的抽象,2021/3/27,软件工程,6,模型没有对错 同一世界的不同理解,符合建模人目的性达到多少,2021/3/27,软件工程,7,现代目的: 在计算机中模拟现实世界的物和事。,传统目的: 控制计算机运行 科学计算。,软件开发的目的,2021/3/27,软件工程,8,看待事物的六个角度,A.这里面有什么东东? B.每个东东看上去是
3、什么样的? C.每个东东能做点什么用? D.这些东东都呆在什么地方? E.这些东东之间有什么关系? F.这些东东是怎么成事的?,2021/3/27,软件工程,9,“昨天我的一个朋友结婚了”,这里面有什么东东? 月老,小伙,姑娘,恋人,玫瑰花。 每个东东看上去是什么样的? 月老,看上去有些年纪了,挺热心的。 小伙,看上去很强壮,很实诚的。 姑娘,看上去好漂亮,还很温柔。 恋人,看上去很黏糊,当然就结婚了。 玫瑰花,火红火红的,难怪姑娘动情了。,本故事纯属虚构,如有雷同,请莫对号入座,2021/3/27,软件工程,10,月老 小伙 姑娘 恋人 玫瑰花,每个东东有什么用?,牵线搭桥,介绍认识。 追求
4、献花,表达爱意。 仰慕倾情,以身相许。 拍拖结婚。 令姑娘头晕,传情示爱。,2021/3/27,软件工程,11,这些东东之间有什么关系?,2021/3/27,软件工程,12,月老牵线搭桥,介绍小伙和姑娘认识; 姑娘和小伙一见钟情,成为一对恋人; 一对恋人开始拍拖; 小伙追求献花,表达对姑娘的爱意; 姑娘收到999火红玫瑰,激动得头晕目眩; 小伙真心求婚,姑娘以身相许; 一对恋人终于走入婚姻殿堂。,这些东东是怎么成事的?,2021/3/27,软件工程,13,A.这里面有些什么东东? 答: 这里面有的都是事物。 大陆第一个翻译Object的人不翻译为“对象”,而是把它翻译为“事物”就好了,这样就可
5、以省掉这个问题。台湾人的翻译就非常准确,叫做“物件”。 故事中, 有月老,小伙,姑娘,恋人,玫瑰等事物(对象),用面向对象世界观看事物的答案,2021/3/27,软件工程,14,B.每个事物看上去是什么样的?,每个事物看上去都有自己的属性,在每个属性上都有一个特征值。 故事中: 月老,有属性:年纪,特征值:较大; 小伙,有属性:体格,特征值:强壮; 姑娘,有属性:性情,特征值:温柔; 恋人,有属性:关系,特征值:黏糊; 玫瑰花,有属性:颜色,特征值:火红。,2021/3/27,软件工程,15,C.每个事物能做点什么用?,每个事物都具备某种能力; 这些事物有什么用,就要看它有什么能力了。 大陆第
6、一个翻译Method的人就把它翻译为“能力”就好了,这样也可以省掉这个问题。台湾人的翻译好象也叫“方法”。 故事中: 月老有牵线搭桥,介绍认识的能力(方法); 小伙有“追求”的能力,姑娘有“嫁人”的能力; 恋人有“拍拖”的能力,玫瑰有“示爱”的能力。,能力=方法,2021/3/27,软件工程,16,D.这些事物都呆在什么地方?,每个事物都会有它合理的或者必须的物理位置和逻辑位置。尤其当这些位置对事物的行为造成重要影响的时候,表明他们的位置是极其重要的。 面向对象的世界观中叫事物的部署。 故事中位置对主要情节没有太大的影响,可以不列出来。,2021/3/27,软件工程,17,E.这些事物之间有什
7、么关系?,事物之间的关系非常多,面向对象的观点一般分为主要的三类: 整体-部分关系,甲是乙的一个组成部分。 如恋人和小伙,恋人和姑娘的关系。 笼统-具体关系,甲是乙的一个特例。 如人和小伙,人和月老,人和姑娘的关系。 伙伴关系,甲会对乙做点什么。 如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的关系。,2021/3/27,软件工程,18,F.这些事物是怎么成事的?,每个事物都会尽量利用伙伴的能力; 整体事物的能力依靠部分事物的能力; 笼统事物的属性和能力就是具体事物的属性和能力;具体事物除了有笼统事物的属性和能力外,还可以有自己特殊的。 事物分工协作,互通信息,共同完成整体的目标。,继承,2021
8、/3/27,软件工程,19,变成行话,2021/3/27,软件工程,20,Why 采用统一的语言符号, 来理解需求与设计, 避免产生歧义. 随着工具对UML的支持, 现在很多工具能够通过UML模型生成软件代码。,避免鸡同鸭讲,UML,UML是一种Language(语言) UML是一种Modeling(建模)Language UML是Unified(统一)Modeling Language 已进入全面应用阶段的事实标准 应用领域正在逐渐扩展,包括商业建模、嵌入式系统建模、流程建模等,2021/3/27,软件工程,21,UML不是一门程序设计语言,但可以使用代码生成器工具将UML模型转换为多种程序
9、设计语言代码,或使用反向生成器工具将程序源代码转换为UML。,UML不是一门编程语言, 只是一套符号集合,2021/3/27,软件工程,22,九十年代中,面向对象方法已经成为软件分析和设计方法的主流。 1994年10月Jim Rumbaugh和Grady Booch共同合作把他们的OMT和Booch方法统一起来,到1995年成为“统一方法”(Unified Method)版本0.8。 随后,Ivar Jacobson加入,并采用他的用例(User case)思想,到1996年,成为“统一建模语言”版本0.9。 1997年1月,UML版本1.0被提交给OMG(Object Management
10、Group)组织,作为软件建模语言标准的候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为“UML伙伴”,如IBM,Mircrosoft,HP等. 1997年11月7日被正式采纳作为业界标准。,UML的孕育与发展,2021/3/27,软件工程,23,1.2、UML的核心组员,2021/3/27,软件工程,24,UML发展历程,2021/3/27,软件工程,25,UML符号,2021/3/27,软件工程,26,实现关系(Realization),UML中的四种关系,泛化关系(Generalization),依赖关系(Dependency),关联关系(Association),单向或
11、多向,一个发生变化会引起另一个发生变化,类与接口之间的实现关系,2021/3/27,软件工程,27,在关联关系中,有两种比较特殊的关系:聚合和组合 聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间是整体与部分关系 如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述,关联关系,弱关联 强关联,2021/3/27,软件工程,28,A.这里面有什么东东?,我,我的朋友,我朋友的妻子,故事与“我”无关,去掉“我”,我的朋友是小伙,他妻子是姑娘,于是得到两个类:,我的一个朋友结婚了,2021/3/27,软件工程,29,他们已经拍拖两年了,如胶
12、似漆,你情我愿,不就成了。 拍拖必须是一对恋人所为,于是出来:,旁白:一对恋人是由一个姑娘和一个小伙组成,一对恋人能够拍拖,关系黏糊,也就能结婚了。,他们怎么就成了?,2021/3/27,软件工程,30,两年前,姑娘的舅妈介绍他俩认识,他俩一见钟情,于是便拍起拖来了。 舅妈是月老,可能撮合了好多对恋人,我朋友他们只不过是其中一对,于是得到:,促成,1.*,1,1,他们是怎么拍拖起来的?,2021/3/27,软件工程,31,姑娘喜欢小伙年轻,健壮,实诚; 小伙喜欢姑娘年轻,漂亮,温柔。 姑娘小伙都感谢月老的热心肠。,逐渐发现共性.,他们都喜欢对方什么?,2021/3/27,软件工程,32,月老,
13、小伙,姑娘有共同的属性“年纪”和“性情”,虽然作为普通人还有很多其他的属性,但在此起重要作用的大概就这两条了,于是得到关系。,他们都是普通人,2021/3/27,软件工程,33,小伙不仅对姑娘甜言蜜语,而且经常送花给姑娘表达爱意,求婚那次一次就献了999朵火红的玫瑰。,他们怎么拍拖的?,2021/3/27,软件工程,34,完整故事情节的静态模型,2021/3/27,软件工程,35,搞清过程的活动图,2021/3/27,软件工程,36,拍拖过程的活动图,2021/3/27,软件工程,37,初次见面顺序图:,复述情节的顺序图,2021/3/27,软件工程,38,求婚过程的顺序图,2021/3/27
14、,软件工程,39,恋人的状态图,定点观察的状态图,2021/3/27,软件工程,40,UML各种类型图,Use Case Diagrams,Use Case Diagrams,用例图,Scenario Diagrams,Scenario Diagrams,协作图,State Diagrams,State Diagrams,构件图,Component Diagrams,Component Diagrams,部署图,State Diagrams,State Diagrams,包图,Scenario Diagrams,Scenario Diagrams,状态图,Use Case Diagrams,Use Case Diagrams,顺序图,State Diagrams,State Diagrams,类图/对象图,活动图,模型库,静态建模机制,动态建模机制,2021/3/27,软件工程,41,UML软件开发过程,2021/3/27,软件工程,42,Visio 绘制UML图,2021/3/27,软件工程,43,正向工程:依据UML图内容生成Java、C+、C#代码。 反向工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供货分销合同样本样本
- 冰淇淋套餐转让合同样本
- 当月生产计划的有效制定
- ups设备销售合同标准文本
- 2025简易借款合同范本
- 农村供水委托运营合同样本
- 农户养殖种植合同范例
- 关于员工劳动合同范例
- 出口家具订购合同样本
- 2025铁路运输合同简易协议书
- 团购房实施方案
- 湘少版六年级小升初英语综合练习测试卷-(含答案)
- 高中生物选择性必修一2.3神经冲动的产生和传导
- 施耐德电气EcoStruxure:智能电网技术教程.Tex.header
- 5维11步引导式学习地图-人才研修院
- 配电线路工(中级)技能鉴定理论考试题库(浓缩400题)
- 2024年重庆市中考英语试卷真题B卷(含标准答案及解析)+听力音频
- (正式版)QB∕T 2761-2024 室内空气净化产品净化效果测定方法
- DL-T-5161.4-2018电气装置安装工程质量检验及评定规程第4部分:母线装置施工质量检验
- CJJ 232-2016 建筑同层排水工程技术规程
- 三菱PLC应用技术培训(讲稿)第一部分
评论
0/150
提交评论