《面向对象的系统开发方法.ppt》由会员分享,可在线阅读,更多相关《面向对象的系统开发方法.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第九章第九章面向对象的面向对象的系统开发方法系统开发方法第一节第一节 面向对象的基本概念面向对象的基本概念一、对象一、对象二、类二、类三、消息三、消息四、继承四、继承一、对象一、对象v对象是可以对象是可以被看到被看到、触摸到触摸到、甚至是、甚至是感知到感知到的事物。的事物。v通常我们所遇到的对象可以概括为四大类,包括通常我们所遇到的对象可以概括为四大类,包括人物人物、地点地点、物品物品和和事件事件四类。四类。v对象是对一组对象是对一组信息信息及对其的及对其的操作操作的描述。的描述。汽车汽车信息(颜色、型号、载重量信息(颜色、型号、载重量)操作(启动、刹车操作(启动、刹车)对象对象(属性)(属性
2、)(方法)(方法)二、类二、类类类是具有相同是具有相同属性属性和和方法方法的同一组对象的集合。的同一组对象的集合。对象是类的一个具体实例。对象是类的一个具体实例。车(类)车(类)货车货车客车客车轿车轿车三、消息三、消息消息消息就是向对象发出的服务请求。就是向对象发出的服务请求。对象之间的联系主要是通过传递消息来实现的。对象之间的联系主要是通过传递消息来实现的。客户客户订单订单订单号订单号订单日期订单日期订单状态订单状态添加订单添加订单修改订单修改订单删除订单删除订单显示订单状态显示订单状态消息请求消息请求(包括调用行为的名(包括调用行为的名称及订单所需的属性)称及订单所需的属性)显示订单号为显
3、示订单号为23161的订的订单的订单状态单的订单状态四、继承四、继承继承继承:指子类可以继承父类的属性和方法。:指子类可以继承父类的属性和方法。个人账户个人账户账户账户存款账户编号存款账户编号存款余额存款余额存款存款取款取款定期存款账户定期存款账户利息率利息率增加利息增加利息活期存款账户活期存款账户起始支票编号起始支票编号终止支票编号终止支票编号开具现金支票开具现金支票商业账户商业账户追加签名追加签名家用电器家用电器电视机电视机洗衣机洗衣机电冰箱电冰箱微波炉微波炉v面向对象面向对象=对象对象+类类+继承继承+通信通信v面向对象是一种认识客观世界的认知方法学,面向对象是一种认识客观世界的认知方法
4、学,这种认识方法将客观世界看成是由许许多多不这种认识方法将客观世界看成是由许许多多不同对象构成的,每一个对象都有自己的同对象构成的,每一个对象都有自己的运动规运动规律律和和内部状态内部状态,不同对象间的相互作用和通讯,不同对象间的相互作用和通讯构成了完整的客观世界。构成了完整的客观世界。v从宏观层面上看,面向对象的系统开发方法从宏观层面上看,面向对象的系统开发方法包括包括分析分析、设计设计、实现实现以及以及运行与维护运行与维护等四等四大阶段,遵循反复累增的生命周期。大阶段,遵循反复累增的生命周期。v从微观层面上看,面向对象的系统开发方法从微观层面上看,面向对象的系统开发方法是指每一宏观阶段中是
5、指每一宏观阶段中标识对象标识对象,确定对象的确定对象的属性属性,定义对象的服务定义对象的服务,以及,以及确定对象间关确定对象间关系系等几个步骤。等几个步骤。基于面向对象方法的开发生命周期基于面向对象方法的开发生命周期基于面向对象方法的开发生命周期基于面向对象方法的开发生命周期第二节第二节 面向对象系统开发工具面向对象系统开发工具UML本节内容:本节内容:一、类图、对象图、用例图一、类图、对象图、用例图 二、状态图及顺序图二、状态图及顺序图 三、活动图及协作图三、活动图及协作图 四、配置图及组件图四、配置图及组件图1.类图类图名称名称属性属性操作操作学生学生学号学号姓名姓名宿舍号宿舍号学院学院籍
6、贯籍贯增加学生增加学生删除学生删除学生修改学生信息修改学生信息2 对象图对象图张三张三:学生学生学号学号=09200301姓名姓名=张三张三宿舍号宿舍号=D305学院学院=管理学院管理学院籍贯籍贯=湖北武汉湖北武汉增加()增加()删除()删除()修改()修改()3.用例图用例图洗衣机洗衣机表示使用一台洗衣机洗衣服表示使用一台洗衣机洗衣服查询账户查询账户提款提款转账转账银行客户银行客户ATM用例图用例图 图书管理员处理服务的用例图图书管理员处理服务的用例图 读者请求服务的用例图读者请求服务的用例图 4.状态图状态图浸泡浸泡脱水脱水洗涤洗涤漂洗漂洗初始状态初始状态结束状态结束状态状态状态2状态状态
7、1读者对象的状态图读者对象的状态图 处理中处理中履行完毕履行完毕等待付款等待付款等待发货等待发货简化的订单状态图简化的订单状态图 5.顺序图(时序图)顺序图(时序图)注水管注水管洗涤缸洗涤缸排水管排水管注入净水注入净水停止停止注入净水注入净水停止停止保持静止保持静止旋转洗涤旋转洗涤排污水排污水旋转洗涤旋转洗涤排污水排污水旋转甩干旋转甩干停止停止ATM用户用户读卡机读卡机屏幕屏幕1插卡插卡4提示输入密码提示输入密码2读卡读卡3初始化初始化6 验证密码验证密码旋转洗涤旋转洗涤5 输入密码输入密码账户账户ATM用户登录成功的顺序图用户登录成功的顺序图图书管理员处理借书的顺序图图书管理员处理借书的顺序
8、图 读者续借图书的顺序图读者续借图书的顺序图 6.活动图活动图洗涤缸旋转洗洗涤缸旋转洗涤涤15分钟分钟排污水排污水重新注入净重新注入净水水7.协作图协作图内部计时器内部计时器洗涤缸洗涤缸注水管注水管2旋转洗涤旋转洗涤1停止停止ATM用户用户读卡机读卡机屏幕屏幕账户账户1插卡插卡2 读卡读卡3 初始化初始化4 提示输入密码提示输入密码5 输入密码输入密码6 验证密码验证密码7 验证有效验证有效ATM用户登录成功的协作图用户登录成功的协作图图书管理员处理借书的协作图图书管理员处理借书的协作图 读者续借图书的协作图读者续借图书的协作图 7.组件图和配置图组件图和配置图组件图组件图配置图配置图第三节第
9、三节 面向对象分析与设计过程面向对象分析与设计过程本节内容:本节内容:一、面向对象系统的分析一、面向对象系统的分析 二、面向对象系统的设计二、面向对象系统的设计 一、面向对象的系统分析一、面向对象的系统分析面向对象分析的基本步骤:面向对象分析的基本步骤:1.问题域陈述问题域陈述 2.识别对象识别对象/类类 3.确定对象的属性确定对象的属性 4.确定对象的服务确定对象的服务 5.确定对象确定对象/类的关系类的关系1.问题陈述问题陈述这里所举的例子是一个这里所举的例子是一个车辆注册管理系统车辆注册管理系统。对。对该问题域的陈述如下:该问题域的陈述如下:车主在购入车辆后,执相关有效证件到主管部门,车
10、主在购入车辆后,执相关有效证件到主管部门,找到具体负责的工作人员进行登记注册,缴纳一定找到具体负责的工作人员进行登记注册,缴纳一定费用,获得相应牌照。注册后,有关车况信息和车费用,获得相应牌照。注册后,有关车况信息和车主信息要备案。主信息要备案。面向对象的系统分析实例面向对象的系统分析实例 系统所需维护的信息有:系统所需维护的信息有:1 1)主管部门信息主管部门信息(名称、负责人、地址、电话传真,(名称、负责人、地址、电话传真,还有具体工作人员信息(姓名、权限、工作年限)还有具体工作人员信息(姓名、权限、工作年限)2 2)车主信息车主信息(姓名、住址、联系电话)(姓名、住址、联系电话)3 3)
11、登记信息登记信息(流水号、车号、所有权、凭据、放弃(流水号、车号、所有权、凭据、放弃登记标识及费用)登记标识及费用)4 4)注册发照信息注册发照信息(起始(起始/终止时间、品牌终止时间、品牌(发动机出发动机出厂号,年份,种类,牌号厂号,年份,种类,牌号)、标签、标签(年份,品种,号年份,品种,号码码)、费用)、费用)5 5)车辆信息车辆信息(车号、出厂日期、制造商、车型、总(车号、出厂日期、制造商、车型、总重、载容量、内燃机马力、颜色、价格、已行驶里重、载容量、内燃机马力、颜色、价格、已行驶里程)程)工作人员负责登记发牌照,收取费用。作人员负责登记发牌照,收取费用。2.标识对象标识对象标识结构
12、(类)标识结构(类)3.定义属性定义属性 4.定义服务定义服务 三、面向对象的系统设计三、面向对象的系统设计面向对象设计的基本步骤:面向对象设计的基本步骤:1.识别接口对象和控制对象识别接口对象和控制对象 2.系统结构设计系统结构设计 3.结构框架内各个子系统的详细设计结构框架内各个子系统的详细设计客户客户客户编号客户编号姓名姓名住址住址联系电话联系电话客户客户CustomID:integerName:stringAddress:stingPhone:string+creatcustmer+changename(inout name)+changeaddress(inout address)+
13、changephone(inout phone)三、面向对象的系统实施三、面向对象的系统实施系统实施阶段主要进行系统实施阶段主要进行:编码语言的选择编码语言的选择 面向对象应用程序框架的构建面向对象应用程序框架的构建 面向对象应用程序编写面向对象应用程序编写 构建出信息系统的应用软件平台构建出信息系统的应用软件平台饭店综合信息系统饭店综合信息系统顾客顾客收款员收款员餐餐桌桌服务服务员员来店来店点菜点菜就餐就餐收银收银后付款方式后付款方式目的:目的:考虑两种饭店均可用的对考虑两种饭店均可用的对象象/模型模型/动态模型动态模型饭店综合信息系统饭店综合信息系统先付款方式先付款方式顾客顾客餐桌餐桌收款
14、收款员员服务员服务员来店来店点菜点菜用餐用餐收银收银饭店综合信息系统饭店综合信息系统对象对象/模型模型用用OMT方法建立对象方法建立对象/模型模型 首先分析领域对象,实际可能有很多对象,现仅选与分析目的首先分析领域对象,实际可能有很多对象,现仅选与分析目的有关的有关的5个对象来建立对象模型。个对象来建立对象模型。顾客顾客-区分顾客的属性区分顾客的属性 菜单菜单-菜单项目和价格,按此来收款菜单项目和价格,按此来收款 点菜点菜-相当于传票,其属性有点菜号、时间、品种相当于传票,其属性有点菜号、时间、品种 服务员服务员-接受点菜、供菜接受点菜、供菜 收款员收款员-管理收款、每日的收款总数和欠帐管理管
15、理收款、每日的收款总数和欠帐管理在明确属性后,就可以定义其操作了。例如,点菜的操作是:点在明确属性后,就可以定义其操作了。例如,点菜的操作是:点菜、供菜、收款、统计累加。菜、供菜、收款、统计累加。饭店综合信息系统饭店综合信息系统饭店系统对象饭店系统对象/模型(对象间的关系定义)模型(对象间的关系定义)顾客顾客人数人数ID顾客区分顾客区分 订单订单订单号订单号日期日期菜名菜名合计数量合计数量合计金额合计金额状态状态 服务员服务员ID点菜处理点菜处理服务处理服务处理 收银员收银员当日收款当日收款未收款项未收款项入帐处理入帐处理 菜单品种菜单品种菜号菜号菜名菜名菜名简称菜名简称单价单价种类区分种类区
16、分点菜点菜会计处理会计处理上菜服务上菜服务表示表示 1对多对多饭店综合信息系统饭店综合信息系统用用OMT方法建立动态模型方法建立动态模型 在建立对象模型后,建立动态模型。在建立对象模型后,建立动态模型。建立动态模型的顺序:建立动态模型的顺序:首先针对某作业,制作表示事件发生的流程的序列。首先针对某作业,制作表示事件发生的流程的序列。然后根据其序列作成规定对象间事件流程的事件跟踪图。然后根据其序列作成规定对象间事件流程的事件跟踪图。饭店饭店1 的事件跟踪图的建立。的事件跟踪图的建立。饭店综合信息系统饭店综合信息系统动态模型(动态模型(1)饭店饭店1 的序列的序列服务员记录顾客的点菜服务员记录顾客
17、的点菜服务员将顾客的点菜记录到订单服务员将顾客的点菜记录到订单服务员上菜服务员上菜服务员在订单上加注上菜标记服务员在订单上加注上菜标记用餐后、顾客付款用餐后、顾客付款收款员向订单上加注已收款标志收款员向订单上加注已收款标志饭店综合信息系统饭店综合信息系统动态模型(动态模型(1)饭店饭店1 的动态模型的事件跟踪图的动态模型的事件跟踪图顾客顾客服务员服务员订单订单结帐结帐口头点菜口头点菜订单记录订单记录(生成)(生成)(菜做好)(菜做好)(点菜)(点菜)上菜上菜订单执行订单执行(执行)(执行)结帐(交钱)结帐(交钱)结帐完毕结帐完毕饭店综合信息系统饭店综合信息系统动态模型(动态模型(1)饭店饭店1
18、 中的中的“订单订单”对象的状态变换图对象的状态变换图点点点点菜菜菜菜上上上上菜菜菜菜服服服服务务务务结结结结帐帐帐帐完完完完成成成成统统统统计计计计完完完完,保保保保存存存存饭店综合信息系统饭店综合信息系统动态模型(动态模型(2)饭店饭店2 的序列的序列服务员记录顾客的点菜服务员记录顾客的点菜服务员将顾客的点菜记录到订单(输入到机器里)服务员将顾客的点菜记录到订单(输入到机器里)顾客付款顾客付款收款员在订单标已收款收款员在订单标已收款服务员给顾客上菜服务员给顾客上菜服务员向订单上加注上菜记录服务员向订单上加注上菜记录饭店综合信息系统饭店综合信息系统动态模型(动态模型(2)饭店饭店2 的动态模
19、型的事件跟踪图的动态模型的事件跟踪图顾客顾客服务员服务员订单订单结帐结帐口头点菜口头点菜订单记录订单记录(生成)(生成)(菜做好)(菜做好)(点菜)(点菜)上菜上菜订单执行订单执行(执行)(执行)结帐(交钱)结帐(交钱)结帐完毕结帐完毕对对象象模模型型一一样样但但动动态态模模型型不不一一样样饭店综合信息系统饭店综合信息系统动态模型(动态模型(2)点菜点菜点菜点菜生成与属性值设定生成与属性值设定生成与属性值设定生成与属性值设定已结帐已结帐已结帐已结帐请求服务指示请求服务指示请求服务指示请求服务指示服务实施服务实施服务实施服务实施服务标志开服务标志开服务标志开服务标志开统计完成,保存统计完成,保存
20、统计完成,保存统计完成,保存已统计标志开已统计标志开已统计标志开已统计标志开点菜(品种、顾客层)点菜(品种、顾客层)结帐处理结帐处理(金额)(金额)所有应服务的内所有应服务的内容容上菜上菜统计统计饭饭店店2中中的的“订订单单”对对象象的的状状态态变变换换图图饭店综合信息系统饭店综合信息系统多视点状态变换模型多视点状态变换模型 适合饭店适合饭店1 1的多视点状态变换模型(的多视点状态变换模型(“订单”对象对象)点菜点菜服务完服务完未结帐未结帐已结帐已结帐已调查已调查服务员服务员会计会计统计处统计处理理服务服务统计统计会计处理会计处理(金额)(金额)点菜点菜(品种、顾客层)(品种、顾客层)饭店综合信息系统饭店综合信息系统多视点状态变换模型多视点状态变换模型 适合饭店适合饭店2 2的多视点状态变换模型(的多视点状态变换模型(“订单”对象)对象)点菜点菜服务完服务完未结帐未结帐已结帐已结帐已调查已调查服务员服务员会计会计统计处统计处理理服务服务统计统计会计处理会计处理(金额)(金额)点菜点菜(品种、顾客层)(品种、顾客层)