您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > uml与面向对象系统分析与设计与java7
UML动态图表249第五讲:概念设计:服务与UML动态图表UML动态图表250对象责任Responsibilities属性-“我知道什么”关系-“我知道的其他类和对象”服务-“我能作什么”UML动态图表251Operations服务同义词:方法,功能&操作定义:Actionsperformedtofulfillthepurposeoftheinformationsystemandmeettheneedsoftheuser.满足信息系统的目的和用户需要的活动是对一个事件的响应:•外部事件-商业活动•内部事件-为完成目的而进行的消息传送UML动态图表252服务的类型基本Basic-默认的•创建一个对象•搜索一个对象•获取和设置属性值•建立或取消对象关联•对象删除问题域–specifictothedomainbeingstudiedUML动态图表253模版类名操作属性类名1)基本操作2)问题域方法-继承-自定属性-继承-自定考虑…UML动态图表254问题域服务例子学生课程登记课程改修请求成绩单交费etc...studentIDNumberstudentNameetc...•下一个.…基本服务例子...UML动态图表255NEW操作例子StudentattributesoperationsStudent1Student2Student3StudentattributesoperationsStudent1Student2Student3Student4newStudent原来后来•Note:AllbasicoperationexamplesareforillustrationonlyaseachimplementationlanguagehandlesthemdifferentlyUML动态图表256SEARCH操作例子#1学生attributesoperations学生1学生2学生3search[Student,studentIDNumber=123-45-6789]Studentattributesoperations学生1学生2学生3StudentIDNumber:123-45-6789UML动态图表257SEARCH操作例子#2StudentattributesoperationsStudent1Student2Student3search[Student,studentName=“Smith”]Student1Student2Student3StudentName:Smith,MaryStudentName:Smith,JohnStudentattributesoperationsUML动态图表258GET操作例子StudentattributesoperationsStudent1Student2Student3telephone:(619)588-3296get[Student=“Student2”,telephone]result:telephone=(619)588-3296UML动态图表259SET操作例子StudentattributesoperationsStudent1Student2Student3set[Student,telephone,(619)594-3736]telephone:(619)588-3296StudentattributesoperationsStudent1Student2Student3telephone:(619)594-3736beforeafterUML动态图表260CONNECT操作例子StudentClubattributesoperationsACMClubBetaSigmaPiClubAITPClubconnect[StudentClub=AITPClub,ClubMember=AITP-StudentN]ClubMemberattributesoperationsACM-Student1ACM-StudentNBSP-Student1BSP-StudentNAITP-Student1AITP-StudentNUML动态图表261DISCONNECT操作例子StudentClubattributesoperationsACMClubBetaSigmaPiClubAITPClubdisconnect[StudentClub=AITPClub,ClubMember=AITP-StudentN]ClubMemberattributesoperationsACM-Student1ACM-StudentNBSP-Student1BSP-StudentNAITP-Student1AITP-StudentNUML动态图表262DELETE操作例子StudentattributesoperationsStudent1Student2Student3StudentattributesoperationsStudent1Student3delete[Student2]beforeafterUML动态图表263问题域服务“问题域服务形形色色”是问题域和其中定义的类独有的应该遵从前面讨论的处理复杂性的信息包装原则对外部事件的反应...对内部事件的反应…..通过UML和其它技术来描述服务UML动态图表264问题域服务例子#1车起点终点计算行程计算行程[VIN=12345,totalMiles]VIN:1234517,48917,924计算行程总行程=终点-起点(sample):435=17,924-17,489UML动态图表265问题域服务例子#2车出租费欠销售税欠销售税[VIN=12345,taxRate,totalTax]VIN:12345$279.00salesTaxOwed总税额=出租费X税率(sample):$21.62=279.00X.0775UML动态图表266问题域服务例子#3报表车辆过期报表等向汽车的“检查归还日期”服务发送信息汽车规定归还日期检查归还日期检查归还日期[车辆清单]检查返还日FOREACH辆车IF归还日期早于今天把车辆信息送入过期车辆报表EndifEndForEach(sample):VIN:12345规定归还日:05/05/95今天:04/30/95过期:NoVIN:12654规定归还日:04/28/95今天日期:04/30/95过期:Yes(willbeonreport)etc....UML动态图表267封装和重用服务例子StudentaddCourse注:addCourse服务为完成目的请求其它对象的服务(有一些是本身对象所有的有一些是信息系统内其它对象的).SomeOtherClass(es)输入学号验证学生身份输入课程号验证本学期是否有开该课程是否有多余名额检查学生是否符合课程条件在课程中加入该生名addCourse对外部事件作出响应;其它对内部事件的响应UML动态图表268服务的发现和标识标识事件和相关服务标识类的状态标识要求的信息说明服务的细节UML动态图表269描述操作的方法UMLSequenceDiagram(场景图)UMLCollaborationDiagram(协作图)UMLStateDiagram(状态转移图)UMLActivityDiagram(活动图)StructuredEnglishorPseudocode(结构化英语或伪代码)决策表或决策树UML动态图表270模型,视图,和图表UseCaseDiagramsUseCaseDiagrams用例图ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams组件图ComponentDiagramsComponentDiagrams分布图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图UseCaseDiagramsUseCaseDiagrams时序图StateDiagramsStateDiagrams类图活动图模型是对一个系统从详细观察的角度的描述模型UML动态图表271状态图用来描述系统与时间相关的动态行为即系统的控制逻辑,表现对象彼此间经过相互作用后,随时间改变的不同运算顺序。动态模型以“事件”(Events)和“状态”(States)为其模型的主要概念。动态模型以状态图形式呈现UML动态图表272UML状态转换图UML状态图模板状态1状态2状态3状态n条件行动(note:每一个箭头都要被标作‘条件–行动’)UML动态图表273UML状态转换图例电话自动应答机例子空闲记录输出信息回话记录消息倒带放送消息按下记录键电话响呼叫者讲话到头按下放送消息按钮UML动态图表274UML状态转换图例#2飞机售票机座位20..3501有票锁住状态无票locktimedoutunlocksoldUML动态图表275时序图捕获系统的动态行为,是对象交互的特定时序,也称为场景图目的模型流程的控制举例说明典型的脚本UML动态图表276UML时序图图形上用X轴列出对象,Y轴表示消息顺序.对象1对象2对象N消息1()消息2()消息3()消息4()SoftwareDesign(UML)©SERGanOrderEntrywindowanOrderanOrderLineaStockItemAReorderItemADeliveryItemnew[check=“true”]new[needsToReorder=“true”]needsToReorder()[check=“true”]remove()check()*prepare()prepare()ObjectMessageIterationReturnCreationConditionSelf-Delegation[Fowler,97]new()prepare()prepare()check()ifcheck()trueremove()needToReorder()ifneedToReorder()truenew()endifnew()endif一个网络售货过程的例子UML动态图表278例子的类输入窗口定货定单项库存项预购发送交付界面问题域new()etc…prepare()etc…prepare()etc…check()remove()needToReorder()etc…new()etc…new()etc…UML动态图表279UML协作图是一种强调对象接收与发送信息的结构化组织的交互图表对象作为顶点,消息为弧;数字表示顺序Object1Object2ObjectN1:Message()2:Message()3:Message()4:Message()UML动态图表280SoftwareDesign(UML)©SERGCollaborationDiagram:OrderEntryWindow:Order:OrderLine:DeliveryItem:StockItem:ReorderItem1:prepare()2*:prepare()3:check()4:[check==true]remove()6:new7:[check==true]new5:needToReorder()[Fowler,97]Self-DelegationObjectMessageSequenceNumberUML动态图表281UML协作图场景图与协作图可互换协作图UML动态图表282UML活动图显示一个活动到另一个活动的流.把类、接口等串接在一起类似DFD图当系统行为异常复杂时使用UML活动图例子举办演出安排时间煤体宣传售票买剧本请艺术家布景照明设计演出服装(分叉)(活动)排练后台排练演出(完成转化)(联合)Adaptedfrom:Rumbaugh,J,Jacobson,I.andBooch,G.,TheUnifiedModelingLanguageReferenceGuide,Addison-Wesley,1999,p.3
本文标题:uml与面向对象系统分析与设计与java7
链接地址:https://www.777doc.com/doc-3294928 .html