资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件文档编写,应晖,引言,编写目的,项目背景,符号、缩略语和定义,参考资料,编写目的,用户公司名称,前期已做工作,将要涉及项目的开发目的,可行性研究的前提,项目基本要求,项目基本目标,项目开发条件、假定和限制,项目基本要求,主要功能,性能要求,系统的输入输出,安全和保密要求,项目与其它软件系统的关系,完成期限要求,所建议系统概况,所建议系统概述,所建议系统的处理流程和数据流程,所建议系统对现有系统的改进、影响和局限性,可行性分析,技术可行性,经济可行性,可行性分析结论,思考、涉及的几个问题,如何定义系统需求?,如何识别、获取需求,?,你能够采取何种手段与用户进行交流沟通,?,何为需求建模,?,你如何理解模型与建模,?,需求分析,软件需求分析的几个阶段,问题分析,问题评估和方案综合,建模,规约,复审,系统分析员的主要,焦点,是,“,做什么(,what,),”,,不是,“,怎样做(,how,),”,需求获取,需求获取的目的,清楚地理解所要解决的问题,完整地获取用户需求,需求获取面临的挑战:,(1),问题空间理解,(2),人与人之间的通信,(3),需求的不断变化,某出版社系统调查表,编号,提出问题,1,您在哪个部门工作?,2,出版业务流程是什么?,3,您每日都处理那些文件、数据、报表?,4,工作中手工处理特别麻烦的事情是什么?,5,工作中手工处理什么问题解决不了?影响效率的问题有哪些?,6,您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?,某出版社系统调查表,编号,提出问题,7,您的部门需要成本核算和统计的内容有哪些?,8,您的部门采用计算机管理工作情况如何?,9,如何改进业务流程使之更合理?,10,哪些问题是目前传统手工方法根本无法解决的?,11,出版社计算机管理信息系统需要解决什么问题?,需求,获取的内容,1.,用户需求分类,(1),功能性需求,:,定义了系统做什么(描述系统必须支持,的功能和过程),(2),非功能性需求(技术需求),:,定义了系统工作时的特性,(描述操作环境和性能目标),2.,两类需求包括的内容,(1),功能,(2),性能,(3),环境,(4),界面,(5),用户或人的因素,(6),文档,(7),数据,(8),资源,(9),安全保密,(10),软件成本消耗与开发进度,(11),质量保证,(1),功能需求,系统做什么?,系统何时做什么?,系统何时及如何修改,或升级?,(2),性能需求,软件开发的技术性指标,例如:,存储容量限制,执行速度、相应时间,吞吐量,(3),环境需求,硬件设备:,机型、外设、接口、,地点、分布、温度、,湿度、磁场干扰等,软件:,操作系统,网络,数据库,(4),界面需求,有来自其它系统的输入吗?,到自其它系统的输出吗?,对数据格式有规定吗?,对数据存储介质有规定吗?,(5),用户或人的因素,用户类型?,各种用户熟练程度?,需受何种训练?,用户理解、使用系统的难度?,用户错误操作系统的可能性?,(6),文档需求,需哪些文档?,文档针对哪些读者,?,(7),数据需求,输入、输出数据的格式?,接收、发送数据的频率?,数据的准确性和精度?,数据流量?,数据需保持的时间?,(8),资源需求,软件运行时所需的数据、软件。,内存空间等资源。,软件开发、维护所需的人力、,支撑软件、开发设备等。,(9),安全保密要求,需对访问系统或系统信息加以控,制吗?,如何隔离用户之间的数据?,用户程序如何与其它程序和操作,系统隔离?,系统备份要求?,(10),软件成本消耗 与开发进度需求,开发有规定的时间表吗?,软硬件投资有无限制,?,(11),质量保证,系统的可靠性要求?,系统必须监测和隔离错误吗?,规定系统平均出错时间?,出错后,重启系统允许的时间?,系统变化如何反映到设计中?,维护是否包括对系统的改进?,系统的可移植性?,需求建模,计算机学科的发展,计算机科学,(CS),计算机科学,(CS),计算机工程,(CE),软件工程,(SE),信息系统,(IS),计算学科,(,c,omputing discipline,),计算学科是研究通过在计算机上建立模型,并模拟物理过程来进行科学调查和研究的学科,.,计算机科学与技术学科的方法论,学科的,3,个形态,理论,抽象,(,模型化,),设计,重复出现的概念,绑定,(binding),概念与形式模型,一致性和完备性,抽象层次,重用,典型的学科方法:,数学方法,系统科学方法,计算中抽象的本质和使用。在处理复杂事务、构造系统、隐藏细节和获取重复模式方面使用抽象,通过具有不同层次的细节和指标的抽象,能够表达一个实体和系统,抽象,(,模型化,),源于实验科学,主要要素为数据采集方法和假设的形式说明,模型的构造与预测实验分析结果分析,.,在为可能的算法数据结构和系统结构等构造模型时使用此过程,.,抽象的结果是概念符号模型,模型,(,model,),模型,:,现实世界某些重要方面的表示。,有时我们使用术语,“,抽象,”,来表示模型,因为我们从现实世界中,抽象,出对我们特别有用的东西。,需求分析的步骤,当前,系统,目标,系统,物理,模型,逻辑,模型,逻辑,模型,物理,模型,模型化,抽象化,具体化,实例化,怎,么,做,做,什,么,当前,系统,目标,系统,需,求,定,义,逻辑模型和物理模型,模型是对对象系统的形式化的特征,抽象,概括性或近似地表示;,构造模型的过程是一个抽象、分,析的过程。,对象,系统,模型,系统,抽象,(映射),模型应用,模型构造的过程,逻辑模型 物理模型,(,本质模型、概念模型,),(,实施模型、技术模型,),现,行,系,统,目,标,系,统,描述重要的业务功能,无论系统是如何实施的。,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,需求建模,模型的作用,建模的原因:,在建模过程中了解系统,通过抽象降低复杂性,有助于回忆所有的细节,有助于开发小组间的交流,有助于与用户的交流,为系统的维护提供文档,模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问题转化为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法。模型化方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、某一局部、某一侧面的本质特征和变化规律。,模型的类型,数学模型,描述模型,图形模型,需求分析的步骤,当前,系统,目标,系统,物理,模型,逻辑,模型,逻辑,模型,物理,模型,模型化,抽象化,具体化,实例化,怎,么,做,做,什,么,当前,系统,目标,系统,需,求,定,义,逻辑模型和物理模型,模型是对对象系统的形式化的特征,抽象,概括性或近似地表示;,构造模型的过程是一个抽象、分,析的过程。,对象,系统,模型,系统,抽象,(映射),模型应用,模型构造的过程,逻辑模型 物理模型,(,本质模型、概念模型,),(,实施模型、技术模型,),现,行,系,统,目,标,系,统,描述重要的业务功能,无论系统是如何实施的。,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,需求分析过程示意,学,生,(1),通过对现实环境的调查,,获得当前系统的物理模型,学,生,购,书,申,请,购书,单,发,票,领,书,单,书,107,张,教务科,206,王,会计室,206,李,出纳员,303,赵,教材科,学生购买教材的物理模型,需求分析过程示意,(2),去掉具体模型中的非本质因素,,抽,象,出当前系统的逻辑模型,学生购买教材的逻辑模型,学,生,学,生,购,书,申,请,购书,单,发,票,领,书,单,书,审查,有效性,开发票,开领,书单,发书,需求分析过程示意,(3),分析当前系统与目标系统的差别,,建立目标系统的逻辑模型,计算机售书系统的逻辑模型,学,生,学,生,购书单,发票,领书单,审查并,开发票,开领,书单,无效书单,分析阶段中常用的模型(逻辑模型),数据流图(,DFD,),实体,联系图(,ERD,),类图,实例图,时序图,状态图,协作图,事件列表,数据流定义,数据元素定义,某系统,的,第,1,层,DFD,控制,面板,与用户,交互,控制,面板,显示,密码,电话号码拨音,传感器状态,显示信息,配置请求,用户命令,和数据,配置,系统,警,铃,电,话,线,传感器,配置信息,显示信息,和状态,监控,传感器,激活不,激活系统,传感器信息,密码,处理,警告类型,检验,id,信息,开始,停止,状态信息,客户,保险销售人员,签订一份,保险单,销售统计,客户统计,使用用例图举例,状态图,例:,状态,1,Do:,活动,1,状态,2,.,事件,1,条件,1 /,动作,1,结束,事件,初始,事件,空闲,可视菜单,左边按钮按下,/,显示弹出菜单,左边按钮弹起,/,擦除弹出菜单,光标移动,/,高亮菜单项,弹出菜单动作,接电话的顺序图,:,受话者,交换机,远程交换机,受话者,拿起话筒,听通话声,拨号码,.,铃响信号,铃响,铃响停止信号,拿起话筒,铃响停止,10,d,e,a,b,c,b-a1,e-d5,c-b 20, 20,15%,5%,20%,30%,条件类别,四种条件组合,操作,条件组合下操作的执行,1,6,10,11,月,处理名,:,计算折扣率,(MHGP534MD),编号,: 5.3.4,激活条件,:,收到预订票信息,处理逻辑,:,计算折扣率,执行频率,:,实时,旅游时间,订 票 量,折 扣 量,7,9,,,12,月,1,6,10,11,月,20,20, 20, 20,15%,5%,20%,30%,判定树,(,Decision,决策树,),条件,1,条件,2,结果,计,7,9,订票量,20,:,15%,算,12,月,订票量,20,:,5%,折,扣,1,6,订票量,20,:,30%,量,10,11,月,订票量,20,:,5%,二,.,结构化分析实施步骤,1.,确定系统边界,画出系统环境图,2.,自顶向下,画出各层数据流图,3.,定义数据字典,4.,定义小说明,三,.,需求规格说明书,(,SRS,),(,S,oftware,R,equirement,S,pecification,),需求分析阶段要完成的文档。,SRS,的作用:,开发者与用户间事实上的技术合同书,开发者下一步设计和编码的基础,测试验收目标系统的依据,SRS,大纲(模板),引言,任务概述,(,项目概述,),数据描述,(DFD,、,DD),功能描述,接口,性能需求,属性,其它需求,三,.,需求验证,(1),正确性,(2),无二义性,(3),完整性,(4),可验证性,(5),一致性,(6),可理解性,(7),可修改性,(8),可被跟踪性,(9),可跟踪性,(10),设计无关性,(11),注释,需求文档的陈述与改进举例(,1,),产品必须在固定的时间间隔内提供状态消息,并且每次时间间隔不得小于,60,秒。,后台任务管理器,(,BTM,),应该在用户界面的指定区域显示状态消息。,a.,在,后台任务进程启动之后,消息必须每隔,60(,10,),秒更新一次,并且保持连续的可见性。,b.,如果正在正常处理后台任务进程,那么后台任务管理器,(,BTM,),必须显示后台任务进程已完成的百分比。,c.,当完成后台任务时,,,后台任务管理器,(,BTM,),必须显示一个,“,已完成,”,的消息。,d.,如果后台任务中止执行,那么,后台任务管理器,(,BTM,),必须显示一个出错信息。,需求不完整,,导致需求不可验证,改,进,需求文档的陈述与改进举例(,2,),产品必须在显示和隐藏非打印字符之间进行瞬间切换。,用户在编辑文档时,通过激活特定的机制,可以在显示和隐藏所有,HTML,标记之间进行切换。,需求不可行、不完整、,不确定性,导致需求,不可验证,改,进,3.4,分析建摸方法,结构化分析,(,传统建模方法,),面向对象分析,计算机世界,现实世界,映射,计算机世界,现实世界,结,构,化,开,发,方,法,结构化,分析,结构化,设计,结构化,编程,OOA,OOD,OOP,面,向,对,象,开,发,方,法,3.4.2,面向对象分析方法,思考题,软件开发中为什么要使用面向对象,方法?,面向对象分析方法与结构化分析方,法有哪些相似之处?有何区别?,面向对象方法是对过去的一个完全,突破,还是,“,换汤不换药,”,?,对象,(,object),现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。,对象具有的含义:,在现实世界中:,是客观世界中的一个实体,在面向对象程序中:,表达成计算机可理解、可操纵、具有一,定,属性,和,行为,的对象,在计算机世界中:,是一个可标识的存储区域,面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的,软件开发方法,。,面向对象,=,对象,+,类,+,继承,+,消息通信,面向对象的主要特征:,封闭性,(Encapsulation),继承性,(Inheritance),多态性,(Polymorphism),类(,class,),具有共同属性和行为的对象的抽象,类与对象的关系,类是对象的抽象,对象是类的实例,类,对象,对象、实体与类,对象,实体,类,抽象数据类,计算机世界,现实世界,计算机逻,辑的实现,影射,抽,象,实,例,化,抽,象,概念世界,封装,封装是软件开发方法的重要原则,有两个涵义:,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。,尽可能隐蔽对象的内部细节,(信息隐蔽),传统方法数据与过程是分离的,过程,1,输入,输出,过程,2,过程,3,数据实体,属于该对象,的数据,对象,处理数据的方法,消息,消息,对象把数据和处理数据的方法封状成一个单元,传统方法和面向对象方法的比较,传统方法,系统是过程的集合,过程与数据实体交互,过程接受输入并产生输出,面向对象方法,系统是交互对象的集合,对象与人或其它对象交互,对象发送与响应消息,继承 (继承性,inheritance,),继承性是父类和子类之间共享数据和方法的机制,继承性具有传递性,继承性包括单继承和多重继承,子类,继承部分,增加部分,父类,共性部分,继承性作用,使软件系统具有开放性,更好地进行抽象与分类,增强代码的重用率,多态(多态性,polymorphism),不同的对象收到同一消息可产生完全 不同的结果,这一现象叫做,多态,多态的效果,用户发送一个通用的消息,而实现,的细节则由接收对象自行决定,多态性的作用,增强了操作的透明性,可理解性和可扩展性,增强了软件的灵活性和重用性,消息,(message,),消息,对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明,消息内容,通常包含接收方及请求接收方完成的功能信息,发送方, 发出消息,请求接收方响应,接收方,收到消息后,经过解释,激活方法,予以响应,为什么对面向对象方法感兴趣,?,面向对象方法的主要优点:,自然性,追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。,软件复用,可复用性(可重用性),reusebility,可扩展性,可管理,性,可复用性(可重用性),面向对象技术允许复用的不仅仅是,代码,通过面向对象技术,我们可以复,用需求、分析、设计、测试计划、用户,界面以及体系结构等等,事实上,软件,工程生存期中的每个部分都可以复用,。,传统系统分析,:,面向功能,把系统看成,一组功能,OOA,:,把问题当作一组相互作用,的实体,并确定实体间关系,面向对象技术是一个有全新概念的,开发模式,其特点是,:,(1),方法是对软件开发过程所有阶段进,行综合考虑而得到的,;,(2),从生存期的一个阶段到下一个阶段,所使用的方法与技术具有高度的连,续性,;,(3),将,OOA,、,OOD,、,OOP,集成到生存,期的相应阶段,.,开发方法的组合,分析,设计,编程,结构化,结构化,面向对象,结构化,面向对象,面向对象,面向对象,结构化,第三代或第四代语言,面向对象,面向对象,第三代或第四代语言,面向对象,面向对象,传统编程与面向对象的混合,面向对象,面向对象,面向对象,OO,方法的开发过程,OO,方法改进了在生存期各个阶段间的界面,因为生存期各个阶段开发出来的,“,部件,”,都是,类,,在面向对象生存期的各个阶段对各个,类,的信息进行细化,,类,成为分析、设计和实现的,基本单元,。,类的生存期模型,类的规,格说明,从废弃型开发,既存类,的复用,渐增式的实现,渐增式的测试,求精和,维护,测试用,例和测试,的开发,实现,从既存,类演变,类的设计与实现,类的规格说明指导对存放现存类的软件库进行查找,现存类提供当前应用所需功能,三种可能利用现存类的方向,:,现存类的复用,从现存类进行演变,从废弃类进行开发,对象之间的联系与对象模型,面向对象方法开发软件,通常建立的三种形式的模型,描述系统数据结构的,对象模型,描述系统控制结构的,动态模型,描述系统功能的,功能模型,三种模型从三个不同但由密切相关的角度模拟目标系统。,对象模型,是最重要、最基本、最核心的。,对象模型,对象模型表示静态的、结构的系统数据的性质。,对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态结构。,OO,方法强调围绕对象而不是功能来构造系统,。,类及对象间常见的联系,分类关系,(归纳关系、一般与特殊的关系),组成关系,(组合关系、整体,/,部分的关系),对象属性之间的静态的联系,对象行为的动态联系,分类关系,(,一般与特殊的关系,),示例,学生,本科生,研究生,组成关系,(,整体与部分的关系,),示例,学科部,办公室,学院,实验室,对象模型中表现,上述联系的结构和连接,(1),分类结构(一般,/,特殊结构),分类是对象抽象的基础,分类结构表现的是事物的一般与特殊的关系,即,“,is-a,”,关系。,面向对象术语中常把一般与特殊的关系称为,泛化(,Generalization,),与,特化(,Specialization,),联系,存户,一般,/,特殊结构举例,一般类,(,父类、基类、超类,),特殊类,(,子类、具体类,),继承,一个特殊类中的所有对象可继承一般类中的属性,、,服务,、,关系,账号,姓名,余额,存款,取款,支票存户,储蓄存户,利息率,(2),组装结构(整体,/,部分结构),组装结构表示对象类之间的组成关系,即整体与部分的关系。,整体对于部分是,“,has-a,”,关系。,(,部分对于整体是,“,a-part-of,”,关系,),组装结构体现了面向对象方法的,聚合(也叫聚集,Aggregation,),原则。,整体,/,部分结构表示法举例,微机,1+,电源,主机箱,键盘,监视器,鼠标,内存,CPU,硬盘,o,(3),实例连接,(Instance Connection),实例连接表现了对象之间的静态联系,通过对象的属性来表现对象之间的依赖关系。,面向对象术语中把对象之间的实例连接称为,链接,(Link),,把类之间的实例连接称为,关联,(Association),实例连接示例及表示,教师,指导论文,0,m 1,学生,教师为学生,指导论文:,教师,教学,0,m 0,n,学生,教师为学生,授课:,关联关系,(,链属性,),的表示,允许实例连接带有一组属性,这些属性通过关联来描述,类,1,连接名称,m n,类,1,连接,属性,关联关系,(,链属性,),为之工作,工资,职务,雇主,雇员,个人,名字,身份证号,公司,名字,地址,题目,答辩时间,成绩,教师,学生,指导论文,0,m 1,(4),消息连接,(,Message,Connection),对象之间的,通信,联系。,一需要另一个对象的服务,便向它发出个对象请求服务的消息,接收消息的对象响应消息,触发所要求的服务操作。,消息连接体现了对象行为的,动态联系,。,一家公司的对象模型(,OMT,),示例,为之工作,管理,0,,,1,姓名,身份证号码,地址,员工,名字,电话号码,主要产品,地址,公司,职务,雇用,解雇,项目名,预算,优先级,项目,产品名,成本,重量,产品,工人,经理,部门,部门名,主持,参加,1+,1+,1+,1+,1+,生产,网上商店对象模型,(,部分,),示例,(,UML,),销售代表,0 . 1,定货,name,address,顾客,creditRating( ):String,产品,雇员,1,dataReceived,isPrepaid,number:String,price:Money,协作顾客,contactName,creditRating,creditLimit,creditCard#,个人顾客,creditRating( ),=“poor”,定货作业线,dispatch( ),close( ),remind( ),billForMonth( ),Quantity:Integer,price:Money,isSatisfied:Boolean,1,*,*,*,*,1,物品,面向对象的方法论,方法论是如何对复杂系统进行,“,抽象,”,的工作,以及如何建立抽象模型。,二,.,面向对象分析建模,(,OOA,),面向对象分析方法确实不同于结构化分析方法吗?,Fichman,R.G and C.F.Kemerer,在,“,Object-oriented Conventional Analysis,and Design Methodologies,”,中阐述:,我们的结论是面向对象分析方法表现了相对面向过程的方法学(如结构化分析)的根本性变化,而且相对面向数据的方法学仅仅是增量性的变化。面向过程的方法学在建模过程中的关注点不是对象的内在性质,从而导致了和面向对象的三个基本原理相正交的问题域模型。,面向对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建模成分)的表示来对问题建模。,建立分析模型,5,个基本原则:,(,1,),建模信息域;,(,2,),描述模块功能;,(,3,),表示模型行为;,(,4,),分解以模型显示更多细节;,(,5,)早期,模型表示问题的本质,而后期模型提供实现细节。,OOA,的意图,是定义所有和被求解的问题相关的类(及同类关联的关系和行为),为了达到这个目标,必须完成以下任务:,(,1,)必须在客户和软件工程师之间沟,通了解基本的用户需求;,(,2,)必须标识类,(,定义属性和方法,),;,(,3,)必须刻划类层次;,(,4,)表示对象对象关系(对象连接);,(,5,)必须建模对象行为;,(,6,)任务,(,1),到,(5),递进地反复使用,直至,完成建模,流行的几种面向对象方法,:,Booch,方法,Coad-Yourdon,方法,Rumbaugh,方法,(,简称,OMT,),(,Object Modeling Technology,),Jacobson,方法,(,简称,OOSE,),由,Rumbaugh,、,Booch,、,Jacobson,提出的统一建模语言,(Unify Modeing Language,简称,UML),目前流行的,OOA,方法概述,Coad-Yourdon,方法,Coad-Yourdon,的,OOA,过程概述:,使用,“,寻找什么,”,标准来标识对象,定义一般,/,特殊结构,定义整体,/,部分结构,标识主题(子系统构件的表示),定义属性,定义服务,目前流行的,OOA,方法概述,Booch,方法,Booch,的,OOA,宏观开发过程概述:,标识类和对象,标识类和对象的语义,标识类和对象间的关系,进行精化,目前流行的,OOA,方法概述,Rumbaugh,方法,(,简称,OMT,),Rumbaugh,的,OOA,过程概述:,开发对问题的范围陈述,建造对象模型,开发动态模型,构造系统的功能模型,不同面向对象分析方法的相似步骤:,(,1,)使用基本需求作为指南选择,类,和对象;,(,2,),为对象标识属性和操作;,(,3,)定义组织,类的结构和层次;,(,4,),建造对象,-,关系模型的;,(,5,)建造,对象,-,行为模型。,统一的,OOA,方法,由,Rumbaugh,、,Booch,、,Jacobson,提出的统一建模语言,(Unify Modeing Language,简称,UML),UML,是一种定义良好,易于表达,功能强大且普遍实用的建模语言。,UML,的开发历程,Booch91,其它方法,OMT-1,OOSE,Booch93,OMT-2,UML 0.8,UML 0.9&0.91,UML 1.0,UML 1.1,UML,同行,专家意见,OMG,认证,10/95,10/96 & 9/96,OMG,审核,1/97,OMG,修正,9/97,OMG,采用,11/97,UML 1.3,对象模型技术,(,OMT, Object Model Tech,.),对象模型,动态模型,功能模型,基本模型,:,三个模型分别从不同角度分析系统,分析模型,对象模型,:,描述静态结构,定义做,事情的实体,功能模型,:,描述处理,(,数据变换,),指明系统应“做什么”,动态模型,:,描述交互过程,规定什么,时候做,OMT,模型系统分析和设计过程概观图,产生需求,结构及对象,设计,建立模型,问题描述,对象模型、动态模型、功能模型,详细的对象模型,详细的动态模型,详细的功能模型,分,析,阶,段,设,计,阶,段,实例:饮料自动售货机系统,设置,一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置,50,罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。,销售,顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。,取消交易,顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。,步骤,:,(1),找出对象及其关联,(2),赋予类及关联的属性数据,(3),组织类的结构,OMT,的对象图,找出饮料自动售货机系统中的对象,设置,一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置,50,罐饮料,其按钮设计在各种饮料样本的下方,若经,金额计算器,累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。,销售,顾客,将硬币投入,售货机,,经累加金额足额的饮料,选择键,灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。,取消交易,顾客可在按下选择键前任何一个时刻,拉动,退币杆,取消交易收回硬币。,对象模型,描述系统内部对象结构,包括对象本身的定义、对象的属性、操作,以及对象与其它对象之间的关系。,对象模型是,OMT,方法论中最重要的部分,动态模型、功能模型都将依次而建立,对象模型以对
展开阅读全文