如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第八章面向对象的分析及设计方法本章要点思考题传统方法学的缺点传统方法学的缺点传统方法学的缺点解决问题的途径南京面向对象方法学OOMOOM=Object+Class+Inheritance+Communicationwithmessages传统方法数据与过程是分离的传统方法和面向对象方法的比较OOM:以object为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。Class:由特殊到一般的归纳(induction)Inheritance:由一般到特殊的演绎(deduction)OOM:以object模拟实体,需求变化不会引起结构的整体变化,因为实体相对稳定,故系统也相应稳定。稳定性好:软件功能需求的变化不牵动全局,只需局部修改;Class独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用;Inheritance和多态性(polymorphism)使其很容易被修改和扩充;容易理解;注:OOM并不是减少了开发时间,而是通过提高可重用性、可维护性,进行扩充和修改的容易程度等,从长远角度改进了软件的质量。OOM与Prototyping(原型)结合使用效果好。面向对象软件开发面向对象软件开发面向对象分析方法(OOA)面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型面向对象分析模型基本任务软件开发人员与用户之间进行交谈与沟通,理解用户对软件的基本要求;识别和定义问题域中的类,即定义类的属性和方法;划分类的结构,识别类的组装结构和层次结构;表示对象与对象之间的关联;定义对象的行为(服务、操作);最后建立一个完整的分析模型。面向对象分析的特点有利于对问题及系统责任的理解;OOA强调从问题域中的实际事物及与系统责任有关的概念出发来构造系统模型。有利于对人员之间的交流;OOA与问题域具有一致的概念和术语,并使用符合人类思维方式来认识和描述问题域。对需求变化有较强的适应性;OOA将容易变化的成分封装在对象中,具有稳定性。支持软件复用。面向对象中的继承对复用起着重要作用;OOA中的类具有独立性,是实现复用的重要条件。案例用例:系统的某些动作步骤的集合,主要由角色和动作组成。角色:存在于系统之外和系统或产品通信的任何事物;动作:系统的一次执行,包括与角色进行通信,或进行一次计算,或在系统内部进行工作等。回答问题—发现角色根据其执行系统功能的不同,角色可以分为几个等级,主要角色是执行系统的主要功能,次要角色使用系统的次要功能。使用系统主要功能的人是谁?计划员需要借助于系统完成日常工作的人是谁?班组长、材料员、分厂工作人员谁来维护、管理系统,保证系统正常工作?系统管理员系统控制的硬件设备有哪些?光电管、PLC、工控机、触摸屏、大屏幕系统需要和哪些其它系统接口?物资系统对系统产生的结果感兴趣的人和事是哪些?企业领导回答问题—进一步发现系统用例对于已经识别的角色,通过询问类似下例的问题可以进一步发现系统的用例。角色需要从系统中获得哪种功能?需要角色做什么?企业领导需要查看报表,了解生产任务完成情况(包括产量和质量)以及材料消耗情况;计划员需要根据单耗制定材料计划;大屏幕需要读取实时数据,翻屏显示;角色需要读取、产生、删除、修改或存储系统中的某种信息吗?系统管理员要维护基础数据,进行排班;工控机会自动生成数据,材料员需要手工生成数据;回答问题—进一步发现系统用例系统中发生的事件需要通知角色吗?角色需要通知系统某事件吗?这些事件能干什么?进行班数据合并生成时,若某个班组尚未输入数据,要告知材料员,由材料员通知班组长;系统需要输入/输出的是什么信息?这些输入/输出信息从哪儿来?到哪儿去?材料员要接入物资系统数据和倒入分厂数据;光电管需要自动采集数据;班组长需要通过触摸屏输入不良品数据,手工输入班数据;系统当前的实现要解决的问题是什么?采集生产数据,实时了解显像管生产的产量和质量,计算材料单耗。自动数据采集目的发现或创建可广泛应用的类,以便复用分析特定的应用领域形式公共对象、类、子集合和框架等步骤3:类/对象建模1.确定分析模型中的类/对象Coad和Yourdon提出了从候选对象中选定正式对象的6项选择特征必要的信息:必须记住候选对象的信息,才能使系统正常工作。需要的服务:候选