面向对象技术基础-课程说明.ppt
,面向对象技术基础北京航空航天大学软件工程研究所刘超,面向对象技术基础-2,问题与经验,你对OO了解多少?面向对象技术基于对象的概念来分析、设计和实现软件计算机软件?软件=程序+文档+数据计算机程序?Algorithms+Data Structures=Programsby Niklaus Wirth,Prentice-Hall Series in Automatic Computation,Feb 1976结构化程序:是由一些模块(函数)组成面向对象程序:由不同类型的对象组成面向对象程序=类(属性+方法)+关联(协同),面向对象技术基础-3,什么是对象?,对象:一个实体,有自己的属性和行为例如:桌、椅、:被动对象动物、人:主动对象系统:硬件:传感器、处理器、控制器:机械、光电、软件:操作系统(Windows,Linux)编译系统(C Compiler)办公软件(Office)信息管理系统(学生注册系统),面向对象技术基础-4,举例:Windows的由来与发展(1),批处理程序:给定输入,等待输出简单的人机交互:getName(char*name)Printf(“Your name:”);Scanf(“%s”,name);,面向对象技术基础-5,举例:Windows的由来与发展(2),控制字符终端的鼠标(固定的)多窗口人机交互界面:80s:Maryland Univ北航,面向对象技术基础-6,举例:Windows的由来与发展(3),通用的窗口系统:Mac OpenLookMotifWindows,面向对象技术基础-7,为什么要引入面向对象方法(OO:Object oriented)?,可重用(Reuse):对象、类易维护:封装(Encapsulation):属性+操作分布式应用(Distrituted Application):消息机制,面向对象技术基础-8,提要,主要目的听众基础参考资料主要内容课程特点学习方法基本要求课程安排及考核辅导老师各班课代表问题与解答,面向对象技术基础-9,主要目的,通过本课程安排的课程和练习,你应当能够(初步)掌握面向对象的基本概念和术语学会运用面向对象思想开发软件的基本方法可视化的面向对象建模方法(UML):分析与设计!统一软件开发过程重视文档掌握并运用一种OO编程语言,在实践中提高编程技能,面向对象技术基础-10,主要目的(续),通过本课程,并不能使你一夜之间成为对象建模的专家一种特定的面向对象方法(如UML)的专家一种面向对象程序语言(如Java或C+)的专家要成为专家:开发(建模)方法+领域知识+工程实践,面向对象技术基础-11,听众基础,本课程面向任何希望了解和学习面向对象技术的人员听众基础初步掌握Java或C+运用Java或C+构建过应用系统或者,同期在其它课程中学习Java或C+,面向对象技术基础-12,后续相关课程,面向对象编程语言:C+、Java编译技术数据库技术:OO数据库软件工程:软件开发方法:OO,Agent-based,构件化技术分布式应用开发:Web、J2EE、,面向对象技术基础-13,主要参考资料,Barker 2 方波等译,Beginning Java Objects中文版从概念到代码(第2版),美Jacquie Barker,人民邮电出版社,2007年1月,78.00元Barker 韩柯等译,Java面向对象编程指南(Beginning Java Objects),美Jacquie Barker,电子工业出版社,2001.11,55.00元刘超 刘超、张莉,可视化面向对象建模技术-标准建模语言UML,北京航空航天大学出版社,2001.7(第二次印刷),17.00元,面向对象技术基础-14,邵维忠 邵维忠,杨芙清,面向对象的系统分析,清华大学出版社及广西科学技术出版社,2001.9(第4次印刷),20.00元邵维忠 邵维忠,杨芙清,面向对象的系统设计,清华大学出版社及广西科学技术出版社,2003.1,29.80元,面向对象技术基础-15,网站,Beginning Java Objects:UML:http:/Java:SUN网站Eclipse:eclipse.orgE-books:,面向对象技术基础-16,主要内容,四个部分第一部分:对象入门第二部分:统一建模方法(UML)简介第三部分:对象建模第四部分:对象设计与实现学生注册系统案例研究,面向对象技术基础-17,第一部分:对象入门,面向对象语言基础知识Java和C+抽象和建模UML面向对象的主要概念对象和类对象的交互对象间的关系对象集合,面向对象技术基础-18,第二部分 统一建模方法(UML),UML概述为什么需要UML?UML的来历UML的九种模型统一软件开发过程,面向对象技术基础-19,第三部分:对象建模,建模过程:面向对象的、迭代增量式、可视化基于用例的需求说明发现对象、建立对象类对系统静态和数据特征的建模对系统动态和行为特征的建模文档与详细说明,面向对象技术基础-20,第四部分:对象设计与实现,面向对象语言(Java)将模型转换为代码(Java)形成应用系统:添加文件永久性完成应用:添加图形用户界面,面向对象技术基础-21,学生注册系统(SRS)案例研究,我们承担了开发一个学生注册系统的项目(SRS)。该系统允许学生在大学的校园网络上进行在线注册每一个学期的课程,也可以用于跟踪学生的学习进展,直到其获得学位。当学生被大学录取后,学生便需在SRS中建立学习计划,即确定为满足特定学位程序所需要的课程,并选择一位导师。SRS要检验学生所提出的学习计划是否满足他/她所修学位的要求。一旦建立了学习计划,则在以后每个学期的注册期间,学生都可以在线查看课程计划,选择要选修的课程,如果课程有多名教授讲授,则还可以指定期望的课程班和授课时间(每周星期几,每天什么时间听课)。,学生注册系统(Student Registration System)需求说明,面向对象技术基础-22,学生注册系统(SRS)案例研究(续1),SRS要检查对学生选择的课程进行必要条件的检查:(1)参考学生已完成课程的成绩单(学生随时可以查看自己的成绩单),检查学生是否已经通过所选课程的预修课程,并取得必要的成绩;(2)该课程满足该学生学习计划要求之一;(3)该课程班中仍有空位。只有当上述三个条件都满足时,学生的选课请求才被接受。,面向对象技术基础-23,学生注册系统(SRS)案例研究(续2),如果(1)和(2)满足,但是(3)不能满足,则该学生被放到一个先来先服务的等待队列中。如果该课程出现空位(例如,某学生取消了对该课程的注册,或者调换了教室使得该课程增加了听课位置数量),则该队列中排在最前面的学生将被自动录取,并向该学生发送一个电子邮件通知他/她注册成功。已经成功注册的学生可以在规定的注册截止期限之前取消其所选课程,否则要为该课程付费,并且课程的成绩将计入成绩单。学生最迟可以在学期的第一个星期末决定取消所选课程。,面向对象技术基础-24,课程特点,讲解基本概念介绍主流方法分析典型案例强调综合练习,面向对象技术基础-25,学习方法,听课+自学+研讨+实践(60小时+)听课:了解概念和方法(18小时)自学:补充必要知识、拓宽和深入学习相关内容(14小时+)研讨:加深理解(4小时+)实践:掌握方法、培养技能(24小时+),面向对象技术基础-26,基本要求,实现本课程的主要目标正确理解面向对象的基本概念和术语初步学会运用面向对象思想开发软件的基本方法可视化的面向对象建模方法(UML)统一软件开发过程重视文档掌握一种OO编程语言,并在实践中提高编程技能符合学校的相关要求按时上课,除非得到学院的书面批准认真完成并按时交作业通过考核,面向对象技术基础-27,课程安排及考核,共9讲(9周):10%第一部分:对象入门(第1-2讲)第二部分:统一建模方法(UML)(第3-5讲)第三部分:对象建模(第5-6讲)第四部分:对象设计与实现面向对象入门(第7-8讲)考查:第9讲,面向对象技术基础-28,课程安排及考核(续),考核:60%练习:30%基本练习综合实践-面向对象软件的设计与开发课堂:10%总评:5级评分,面向对象技术基础-29,辅导老师(电话:8231,7640),面向对象技术基础-30,面向对象课程ftp站点,学生上传作业、查询相关资料,使用:网站地址:用户名:学号 密码:用户名相同说明:在课程处要选择面向对象基础主要功能有,察看课程相关信息,提交作业,网上答疑,还有下载课件。公共帐号:guest/guest,面向对象技术基础-31,UML_Designer,北航软件工程研究所开发的可视化面向对象建模工具下载:,面向对象技术基础-32,问题与解答,?,