版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象分析与设计本章重点面向对象方法产生和发展
1面向对象方法的基本概念
2统一建模语言
3面向对象设计
5面向对象分析和设计案例6面向对象分析4第2页,共87页,2024年2月25日,星期天11.1面向对象方法的形成与发展
11.1.1面向对象方法的发展史20世纪60年代末,Simula67语言。
70年代到80年代,Smalltalk语言。80年代中期到90年代,C++,ObjectPascal、Java等。
80年代后,Booch提出的Booch方法;Jacobson提出的OOSE方法;Rumbaugh提出的OMT方法。90年代中期,统一建模语言(UnifiedModelingLanguage,UML)
第3页,共87页,2024年2月25日,星期天11.1面向对象方法的形成与发展(续)
11.1.2面向对象方法的基本原理
OO方法强调从“问题域”到“实现域”的映射应采用一种直接和自然的映射方法,使实现域保持了问题域的本来面目,没有对问题域造成扭曲。这是OO方法最突出的优点。OO方法以对象为中心,强调对象是对客观事物的正确抽象,是构成软件系统的基本单位。对象是由属性和服务组成的。将具有相同属性和服务的对象归为一类,类是这些对象的抽象描述。通过继承机制简化了对系统的构造和描述。通过消息实现了对象的动态联系。通过关联实现对象的静态联系。第4页,共87页,2024年2月25日,星期天11.2面向对象方法的主要概念11.2.1对象1、对象对象是系统中用来描述客观事物的一个实体,一个对象由一组属性和对这组属性进行操作的一组服务构成。2、属性属性是用来描述对象静态特征的一个数据项。3、服务服务是用来描述对象动态特征的一个操作序列。第5页,共87页,2024年2月25日,星期天11.2面向对象方法的主要概念(续)
11.2.2类类是指具有相同属性和服务的一组相似对象的集合。11.2.3封装封装(Encapsulation)是指通过对象将属性和服务组合起来,构成一个不可分割的独立的系统单位,并尽可能隐蔽其内部细节。11.2.4继承继承(Inheritance)是指特殊类的对象可自动地拥有其一般类定义的全部属性与服务。第6页,共87页,2024年2月25日,星期天11.2面向对象方法的主要概念(续)
11.2.5消息消息(Message)是指向对象发出的服务请求。11.2.6关系一般-特殊关系又称作继承关系或“is-a-kind-of”关系。关联关系关联(Association)表示一个对象了解其它对象的程度。第7页,共87页,2024年2月25日,星期天11.2面向对象方法的主要概念(续)
整体-部分关系整体-部分关系又称作组合关系或“is-a-part-of”关系。行为依赖关系行为依赖关系描述对象之间的动态联系,即:若一个对象在执行自己的服务时,需要向另外的一个对象发送消息请求它的某种服务,则称这两个对象之间存在着行为依赖关系。11.2.7多态性对象的多态性(Polymorphism)是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。第8页,共87页,2024年2月25日,星期天11.2面向对象方法的主要概念(续)
11.2.8永久对象
永久对象(PersistentObject),就是其生存期可以超越程序的执行时间而长期存在的对象。11.2.9主动对象1、被动对象对象的每一个服务只有在一条消息的驱动下才被执行,这样的对象称为被动对象(PassiveObject)。2、主动对象主动对象(ActiveObject)就是至少有一个服务不需要接收消息就能主动执行(称为主动服务)的对象。第9页,共87页,2024年2月25日,星期天11.3统一建模语言UML11.3.1UML的发展与作用
(一)UML发展史1995年10月同在美国Rational软件公司工作的G.Booch和J.Rumbaugh把他们各自提出的Booch方法和OMT方法结合起来,形成一种统一方法,即UM(UnifiedMethod)0.8。OOSE的提出者I.Jacobson也加入了这一行列,经过三人的密切合作,于1996年6月和10月先后发布了二义性较少的UML0.9和0.91版本。1997年1月,他们推出了UML1.0版,并提交到对象管理组织(ObjectManagementGroup,OMG)作为初步的提案申请。第10页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
1997年9月1日提出了UML1.1,并作为最终提案提交到OMG,该提案在1997年11月被OMG正式采纳为OO建模的标准语言。OMG平台技术委员会批准成立UML修订任务组,先后制定改进版本,包括:UML1.2、UML1.3、UML1.4。并将UMLl.3作为其最终草案,于1999年6月提交给OMG组织委员会和平台技术委员会,并获得批准。目前最高版本是UML2.0第11页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(二)UML的主要作用作为一种建模语言,UML定义了建立系统模型所需的概念及其标准的可视化图形表示符号。但是它并不介绍如何进行系统建模。因此,UML并不是一种面向对象建模方法和过程。UML是一种建模语言,而不是一种程序设计语言。UML是一个可扩展的建模语言。第12页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
11.3.2面向对象分析和设计的UML模型结构
UML将OOA&D要建立的系统模型划分为系统功能视图、系统静态视图和系统动态视图。第13页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(一)功能视图功能视图用于展现一个系统应具有的功能集合。UML用例图(UseCaseDiagram)来描述。(二)静态视图静态视图也成为逻辑视图,用于展现系统的静态结构,揭示系统内部的组成元素及其它们之间的关系。UML用“类图”和“对象图”来描述。(三)动态视图
动态视图用于展现系统的动态行为特征。UML用序列图(SequenceDiagram)、状态图(StateDiagram)、协作图(CollaborationDiagram)和活动图(ActivityDiagram)来描述。第14页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
11.3.3功能视图的概念和表示方法用例图基本的模型元素包括用例(UseCase)、角色(Actor)和用例关系。用例图中的主要模型元素及其表示符号第15页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(一)角色
“角色”是指在系统边界以外与系统进行信息交互的有关事物。(二)用例
“用例”是指从系统外部各个角色的角度观察,系统应支持哪些功能,一个用例提供对应系统对外部提供的一项功能,它是对系统功能的宏观描述。(三)用例关系扩展(Extends)关系使用(Uses)关系第16页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(四)用例图示例
第17页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
11.3.4静态视图的概念和表示方法(一)类和对象的表示1、类和对象表示的符号
类和对象都用长方形表示,长方形分成上、中、下三个区域来分别表示类和对象的名字、类的属性和服务。第18页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2、属性类的属性用来描述该类的所有对象所具有的静态特征,对象的属性用来描述该对象所有的属性值。UML描述属性的语法格式为:[可见性]属性名:属性类型名[=初值{性质串}]3、服务类的服务说明了该类能做些什么。每种服务定义的标准语法格式为:[可见性]服务名(参数表):返回值类型[{性质串}]第19页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
4、类定义示例
第20页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(二)继承关系的表示1、继承关系表示的符号继承关系用一条带空心三角形的直线表示,空心三角形紧挨父类。第21页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2.多态子类也可以把本来在父类中定义的属性和服务重新进行定义,来达到“名字相同,语义不同”的目的。“多态”是在属性或服务的“性质串”中来说明的。3.抽象类所谓“抽象类”是指没有具体对象的类。抽象类一般只作为父类,用于描述其子类的公共属性和服务。抽象类通常都具有抽象服务。抽象服务仅仅用来指定某个类的所有子类应具有哪些行为,但并不指定具体的实现方式。抽象服务的表示方法是在抽象服务标记后跟随一个性质串{抽象性=Abstract}。第22页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
4、多继承及其抽象类表示法示例
第23页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(三)关联关系表示1、关联关系表示的符号
一般的关联关系采用一条直线来表示,该直线连接了具有关联关系的两个类或对象。第24页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2、关联名称使用关联名称可更清晰地说明该关联关系的含义和目的。3、角色名角色名用于规定某个类在关联关系中所起的作用。4、多重性多重性用于说明关联关系中某类对象的数量关系,即该类的多少个对象可以与另一个类的一个对象相关联。5、导向性导向性用于说明两个类的关联是单向的,导向性采用实线箭头表示,即只有箭头所指方向上才有这种关联关系。第25页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
6、关联类
“关联类”用来表示关联关系本身所拥有的特征。7、多元关联客观世界中,有时多个事物之间存在某种联系。第26页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(四)整体-部分关系表示对象间的整体-部分关系是关联关系的特例。UML中表示整体-部分关系的符号与关联关系类似,只是在指向整体对象的一端增加了一个小菱形。如果是聚合关系,则小菱形是空心的,如果是组成关系,则小菱形是实心的。第27页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(五)包的概念及其表示1、包的概念包(Package)是一种组合机制,把各种各样的模型元素通过内在的语义连成一个整体就形成一个包。构成包的模型元素称为包的内容。2、包的表示
“包”的图形表示符号类似文件夹,由两个长方形组成,小长方形位于大长方形的左上角。第28页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
3、包间关系依赖关系如果包A引用了包B的类或类的服务,则称B依赖A。依赖关系用一条带箭头的虚线表示。继承关系,如果包B内的某个类是包A某个类的子类,则包A和B构成了继承关系,包间继承关系的表示符号同类间的继承关系一样。第29页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
4、包的示例第30页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
11.3.5动态视图的概念和表示方法(一)状态图状态图用于描述一个对象所能达到的所有状态以及引起状态变化的事件,用于对类所描述事物的补充说明。1、状态的表示一个对象的状态由一个初始状态、若干个中间状态和零到多个终止状态组成。第31页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2、状态转移表示对象状态间的转换用一条带箭头的线表示,线上要标注引起状态转换的条件。转移条件的语法格式为:事件名(参数表)[守卫条件][‘/’动作表达式][‘^’发送子句]第32页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
3.状态图示例第33页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(二)序列图序列图是用来反映对象之间行为依赖关系的模型之一,它侧重于描述为完成一个功能,随着时间的流逝对象之间的交互方式。1、消息的表示一般来说消息可以分为普通消息、同步消息和异步消息三种。第34页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2、消息协议
[条件]服务名(参数表)3、序列图示例第35页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(三)协作图协作图是用来反映对象之间行为依赖关系的另一种模型。它侧重于描述为完成一个功能,从空间的角度,对象的链接(关联的实例)以及链接对象间的交互。1、消息标签[前缀‘/’][守卫条件][消息序列号][并发消息别名][循环子句][条件子句][:]消息名(参数表)第36页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2、协作图示例打印文件协作图第37页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
(四)活动图活动图是另一种用来描述交互的模型,主要描述完成一项功能要执行的动作、动作顺序和动作所产生的结果。1、活动图基本的建模元素及其表示符号
第38页,共87页,2024年2月25日,星期天11.3统一建模语言UML(续)
2、活动图示例
第39页,共87页,2024年2月25日,星期天11.4面向对象分析11.4.1、概述1、主要任务系统分析的主要任务是对拟建系统所涉及的领域进行全面而深入的理解和认识,从而确定系统要解决的问题以及要达到的目标,并对该问题域进行清晰、完整、准确和详细的认识和描述,以便为后续的系统设计提供清晰准确的设计依据。2、最终目标系统分析的其最终目标是产生综合描述问题域特征的文档。第40页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
3、系统分析方法结构化方法数据驱动方法OOA方法Booch方法OMT方法OOSE方法统一过程RUP(RationalUnifiedProcess)第41页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.2面向对象分析的任务OOA的基本任务是:运用OO方法,对拟建信息系统所涉及的领域和要解决的领域问题进行分析和理解,正确认识问题域中的事物及其事物间的关系,确定为解决领域问题信息系统应具备的功能和其它方面的要求。在此基础上,勾画出拟建系统的逻辑模型来反映系统的静态和动态结构。对系统静态结构的认识和描述,主要是利用抽象、分类、继承、组合以及封装等原则来实现三种映射,对系统动态结构的认识和描述,必须从系统要完成的功能出发,既要搞明白对象的行为方式,又要认识清楚构成系统基本部件的交互和协作过程。最终建立相关模型来刻画系统的动态结构。第42页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.3面向对象分析的过程模型第43页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.4确定系统目标和范围
学习和掌握领域背景常用的途径包括资料阅读、调查、访谈、实地考查和操作、请教领域专家等。确定系统范围在领域中哪些领域问题可以借助信息系统来加以解决,进而确定问题域,即系统范围。确定系统目标确定问题域中的每个问题要解决到什么程度,即信息系统要达到的目标,制定目标时,一要尽可能量化,二要适度,既不能过高,也不能过低。第44页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.5需求获取和定义第45页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(一)需求调研需求调研要采取全面而有序和逐步引入细节的策略。(二)建立用例模型1、识别系统角色谁是使用系统主要功能的人?谁需要借助系统完成日常工作?谁来维护、管理系统,以保证系统正常运行?系统控制和使用的硬件设备有哪些?系统需要与哪些其它系统进行交换?哪些人、系统和设备需要系统的输出的结果?第46页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
2、发现用例及其关系角色的日常工作是什么?这些日常工作能用系统来完成吗?角色需要维护或使用系统存储的某种信息吗?系统中发生的事件需要通知角色吗?或者角色需要通知系统某事件吗?这些事件的作用是什么?为简化角色的日常工作,或提高其工作效率,系统还能做什么?系统需要的输入/输出信息是什么?这些信息从哪儿来到哪儿去?系统开发要解决的主要问题是什么?第47页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
3、描述用例用例名称全系统范围内唯一的表示这个用例并且能反映出它的角色和它所描述的功能。其书写格式是:角色名.用例名。用例目标用例的最终任务是什么?通过该用例能得到什么样的结果?行为描述用自然语言分别描述角色的行为和系统行为。控制语句在一些较为复杂的交互活动中往往含有循环或条件分支。此时需要在用例中使用一些控制语句。第48页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(三)确定系统的非功能性需求系统的非功能性需求主要包括系统的环境需求、质量需求、用户界面需求和资源需求四个方面。(四)需求复审与确认开发商要与用户一起以该文档为依据,进行第一次需求复审和确认,以确定文档的内容是否真实地反映了用户的功能性和非功能性需求。第49页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.6划分系统主题主题的概念主题是指在语义上有密切联系的系统模型元素的集合。划分主题的方法按功能自顶向下划分系统的高层主题按功能自顶向下划分系统的高层主题主题的表示采用UML“包”的概念建立主题图。第50页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.7系统静态模型的建立(一)建立静态模型的过程1、类图的层次对象层特征层关系层第51页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
2、类图建立过程的三项活动发现对象和类发现属性和服务发现对象和类的关系第52页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
3、识别对象和类建立类图的过程
第53页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(二)发现对象和类1、确定对象候选空间从问题域角度出发,反复阅读相关文档,筛选出属于系统范围内的名词或名词短语,建立初步的候选对象空间。2、审查和筛选对象逐个检查候选对象,以舍弃无用的和精简剩余的对象。3、对象分类确定系统所需要的类,建立类图的对象层。第54页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(三)发现属性1、确定属性的候选空间主要工作是在研究当前的问题域和系统功能基础上,找出每一类对象应有的属性。确定属性候选空间的目标是尽可能全面地发现属性,宁多勿缺。2、属性的审查和筛选舍弃一些不必要的属性,简化系统模型。第55页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(四)发现服务1、确定服务的候选空间主要工作是在研究当前的问题域和系统功能基础上,找出每一类对象应有的服务。确定服务候选空间的目标是尽可能全面地发现服务,宁多勿缺。2、服务的审查和调整对所发现的每个对象的每个服务逐个进行审查,舍弃无用的服务,并通过分解或合并来提高服务的独立性。第56页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(五)识别继承关系1.确定继承关系的候选空间识别现有类的继承关系按自顶向下的演绎法,把现有的类细化成更具体的类。按自底向上的归纳法,抽象出现有类的共同特征形成其父类。第57页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
2.继承关系的审查和调整继承关系是否符合领域的分类体系或分类常识?继承关系是否在问题空间内?继承关系对满足系统功能有无作用?在用具体的OOPL来实际实现“多继承”时,可能会存在OOPL不支持多继承、“命名冲突”、破坏系统清晰性和造成实现的复杂等问题。3.调整对象层和特征层对类图中的对象层和特征层做某些调整,包括增加、删除、合并或分开某些类,以及增、删某些属性和服务或把它们移到其它类中。第58页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(六)识别和定义关联关系发现关联关系识别并定义关联关系的属性和服务分析关联关系的多重性定义关联关系的含义多元关联关系处理调整对象层和特征层
第59页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
(七)识别和定义整体-部分关系确定整体-部分关系候选空间整体-部分关系的审查和筛选再分析复杂的对象类分析整体-部分关系是聚合还是组成调整对象层和特征层第60页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.8系统动态模型的建立确定并描述角色与系统的交互方式确定并描述参与完成用例功能的对象及其交互过程确定并描述对象类的状态及其状态转移确定并描述对象类服务的执行过程第61页,共87页,2024年2月25日,星期天11.4面向对象分析(续)
11.4.9分析结果的详细说明系统总体说明对整个系统作一些必要的说明。主题说明简要地说明每个主题描述一组什么事物,或解决一个什么问题。类描述模板包括类的整体说明、与其它类的关系说明、属性说明和服务说明四部分内容。第62页,共87页,2024年2月25日,星期天11.5面向对象设计11.5.1概述OOD是在OOA的基础上继续运用OO方法解决软件生命周期设计阶段的问题,产生一个满足用户需求的,并且依赖一个具体的OOPL可以实现的方案模型。11.5.2面向对象设计原则
(一)模块化原则对象就是构成系统的基本模块。对象作为模块,与结构化技术中所叙述的“模块”不同,它是把数据和操作数据的方法紧密结合在一起所构成的模块。第63页,共87页,2024年2月25日,星期天11.5面向对象设计(二)抽象原则从许多事物中舍弃个别的、非本质的特征,提取出共同的、本质性的特征称为抽象。抽象是人类控制复杂性的有效思维武器之一。抽象是OO方法中使用最广泛的原则。(三)信息隐蔽原则信息隐蔽是通过封装来实现的。封装的信息隐蔽作用反映了事物的相对对立性,隐藏了对象内容的实现细节,只保留了有限的接口与外部发生联系。第64页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
(四)对象的独立性原则衡量对象的对立性的两个指标是对象的耦合和内聚。耦合交互耦合继承耦合组合耦合关联耦合内聚服务内聚类内聚第65页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
(五)可重用原则直接复用间接复用通过继承复用通过组合复用第66页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
11.5.3面向对象设计过程与方法(一)问题域进一步设计需求的调整与确认对OOA模型的调整针对具体的OOPL的调整增加一般类以提供共同协议重用已有类为实现永久对象所做的调整完善对象内部细节定义实现系统应创建的对象实例提高性能修改或补充OOA其它模型建立OOD与OOA的映射关系第67页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
(二)人机交互设计人机交互设计策略人机交互设计过程分析和描述用户分析和描述人机交互的内容和过程输入和输出的组织设计人机交互类第68页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
(三)数据管理设计1、针对RDBMS的数据管理设计策略第69页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
2.针对RDBMS的数据管理设计方法(1)对象在数据库中的存储
对象的规范化关系型数据库必须满足一定的规范化目标,其规范化程度的高低是由范式来衡量的。数据库逻辑设计经过对象的规范化,得到了一个符合数据库设计要求的类图。第70页,共87页,2024年2月25日,星期天11.5面向对象设计(续)
(2)数据管理类的设计
针对每个永久对象类,分别设计“对象保存”和“对象服务”服务。在数据管理类中只设计一个“对象保存”和一个“对象恢复”服务,供所有永久对象的类使用。(四)任务管理设计1、分析系统并发性、确定并发任务系统固有的并发要求为改善性能而增加并发任务协调并发任务的任务2、确定完成并发任务的控制流第71页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例11.6.1领域分析,确定系统的目标和范围1、开发背景
信息革命带来了全球范围市场竞争的日益加剧,对传统的办公教学和生活方式产生了巨大的冲击。如何利用校园网资源,开发高校学籍管理系统成为一项非常迫切的任务。2、目的和意义
为了提高效率,节省人力,加快高校的信息化发展速度,为此开发学籍管理系统软件,以达到协同高效办公的目的。第72页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例3、范围学籍管理系统主要为教务处学籍管理人员、各学院学籍管理员进行学籍管理以及为学生提供必要的服务。11.6.2需求获取,建立系统的功能视图(一)识别和定义系统角色学籍管理系统包括教务处学籍管理员、各学院学籍管理员、学生、系统管理员、招生系统和成绩管理系统等六种系统角色。第73页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
(二)分析角色和系统的交互过程,识别系统用例1、教务处学籍管理员班级管理、学生管理和毕业管理。2、二级院学籍管理员二级院学籍管理员负责协助教务处学籍管理员完成日常管理工作。3、学生用户学生通过系统可查询自己的基本信息、奖惩信息和学籍异动信息,进行注册,以及提出休学和复学申请。4、系统管理员系统管理员主要负责系统用户和数据管理。第74页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
(三)划分系统主题第75页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
(四)建立系统的用例模型图1、系统角色和系统主题
第76页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
2、学生管理主题第77页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
(五)描述用例模型图的每个用例用例名:教务处学籍管理院.新生分班用例目标:分专业按一定的分班原则(包括人数平均、性别平衡、地域平衡、成绩平衡)将插入到相应专业班级中,并按姓名拼音序为学生编制学号(班级号+两位流水码)。输入分班原则及其优先级;按分班原则将每个学生插入一个班级将每个班级按学生姓名拼音序进行排序;为每个学生编制学号;按班级屏幕输出班级学生名单;手动调整分班结果;存储分班结果;新生分班用例描述第78页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
11.6.3发现对象和类,建立系统静态模型视图(一)OOA阶段1、发现对象和类对象类包括:学生、班级、学生统计成绩、学生奖励信息、学生惩处信息、学籍异动信息、学生注册信息、毕业生、新生。2、定义类属性和服务(1)学生:主要的属性包括学号、姓名、性别、出生年月、政治面貌、入学时间、学籍状态等。主要的服务包括查询信息、注册、休学申请、复学申请、获奖、受惩处、学籍异动、调整班级、成绩统计等。第79页,共87页,2024年2月25日,星期天11.6面向对象分析与设计案例(续)
(2)班级:主要的属性包括班级编号、名称、所属专业、建立日期等。主要的服务包括创建班级、删除班级等。(3)统计成绩结果:主要的属性包括学号、学年学期、实得学分、应得学分、成绩绩点、不及格课程门数等。主要的服务包括获得统计成绩、查询统计成绩等。(4)学生奖励信息:主要的属性包括学号、奖励时间、奖励名称、奖励级别和奖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年来宾道路客运输从业资格证考试真题保过
- 2024年客运从业资格证考试题目和答案解析
- 2024年晋中资格证客运题库
- 2024年景德镇客运从业资格证考试模拟考试
- 2023届新高考化学选考一轮总复习学案-热点1 离子方程式的正误判断
- 2024年广州海珠区住宅装修工程合同
- 2024年建筑工程合同详解版
- 《第八单元 世界经济的全球化趋势》试卷及答案-高中历史必修2-人教版-2024-2025学年
- 不同埋深下盾构输水隧洞预应力双层衬砌模型试验
- 提升泵站施工组织设计方案
- 《区块链应用技术》课程教学大纲
- 工程变更洽商记录样板
- 内蒙古蒙特威生物科技有限公司3000吨酪蛋白及衍生产品项目环评报告表
- 12河北安装定额说明和计算规则
- [中建]郑州机场航站楼扩建工程施工组织设计(图文158页)
- 呼和浩特市智慧城市建设情况216(共8页)
- 装配式建筑PPT培训讲义(图文并茂)
- 油库设计-毕业设计论文
- 新教材高中历史选择性必修一全册知识点总结
- (完整)学生课堂自我评价表
- 图书馆本科教学水平合格评估汇报
评论
0/150
提交评论