大连理工大学软件学院;2015-11-27;详细设计的主要活动;详细设计的主要活动;类方法的详细设计;图形设计工具;2015-11-27;2015-11-27;2015-11-27;图形设计工具;图形设计工具;2015-11-27;2015-11-27;图形设计工具;2015-11-27;表格工具;判定表示例;判定表构成;判定表化简;2015-11-27;2015-11-27;判定树;判定树;语言工具;PDL特点;PDL示例;类的详细设计;状态图;状态图的基本结构;状态;状态转换;;类Project的状态;状态图的扩展;2015-11-27;对象状态也可能是由多个互不依赖的子状态构成的。
每种可能的行为变化,可使用独立的状态图分别进行描述。
每个子状态图相互独立,组合在一起又构成了一个全局的状态。
使用并行的组合方式减轻状态图的描述负担。;并行状态的考虑;带有时间控制的状态图,可以将间隔时间或发生的次数作为条件和动作执行的依据。
;状态图应用;状态图应用;2015-11-27;操作界面的状态描述;对象约束语言;2015-11-27;学号要求至少五位数字长,并且构成学号的数字要大于或等于10000。若使用OCL进行描述:
context Student inv regStudentId:
self.stuId = 10000
关键字context表明此段OCL的描述与哪些UML对象或类相关。
关键字inv表示这是不变的(invariant),也就是说所有的Student对象都要遵守这个约束
self关键字指的是对context对象的引用,正如在Java中的this或C++中的*this的作用一样。
context s:Student inv:
s.stuId = 10000
;将OCL同样以包的形式进行组织,便于使用和管理:
package com::myCompany::mySW
context Student inv:
context Student inv:
endpackage
除了实例变量的约束外,OCL同样可以对实例的方法进行约束,描述方法执行的条件,如未休学的学生至少要选择一门课程:
context Student::selectedLectures(): Integer
pre stustatus: self.freesemester = false
post selectedLectures: result 0
;当该生选择了一门之前没有学过的课程时,该生选课总数加一:
context Student::registerLecture(v: Lecture)
pre: notSelected(v)
post: self.selectedLectures()@pre = self.selectedLectures() – 1
@pre表示引用的是方法执行之前的状态值。;某门课的授课教授在上课时是不能在国外的:
context Lecture inv:
self.status = Lecturestatus::running
implies
not self.prof.inForeign
关键字implies表示“if-then”的条件说明。
对于一个结课的课程成绩要求分数在1-5之间,可以进行如下的描述:
context Examination inv:
self.selectedLecture.status = Lecturestatus::closed implies
(self.note = 1.0 and self.note = 5.0)
;OCL目前只支持一些标准集合类型,如Collection、Set、OrderedSet、Sequence以及Bag。
collection - method(parameter) //使用集合的方法
一个学生在一个学期内最多可以选择12门课程:
context Student inv:
Student.selectedLecture
- select (s | s.status = Lecturestatus::running)
- size() = 12
竖线前的s变量为一个循环变量,用于遍历集合student.selectedLecture中的每一个元素。
返回来的集合又进一步使用了size()方法,提供所含元素数量的整型值。;如果在已考试的课程中存在“理论”课程,则方法hasTheoryLect()返回真值:
context Student::hasTheoryLect():Boolean
post: result = self.examination
- exists( p
您可能关注的文档
最近下载
- 【数 学】2025-2026学年北师大版数学七年级上册期末测试卷.docx VIP
- 备战2026年高考化学三年(2023-2025)真题汇编(通用版)专题07电化学及其应用(解析版).docx
- 2023中国ESG发展白皮书.pdf VIP
- 2025年高考化学真题分类汇编专题12 有机化学基础(解析版).docx
- 3 天窗(教学课件).ppt VIP
- 2023年医疗招聘中医类-针灸推拿考试历年真题拔高带答案.docx VIP
- 安宁疗护患者生活质量、初次疼痛、埃德蒙顿症状、缓和日常体能评估量表.pdf VIP
- 课堂教学师生言语行为互动的研究.pdf VIP
- 施工现场雨水收集利用系统技术研究与应用.doc VIP
- 施工现场雨水收集利用系统应用完整版.pdf VIP
原创力文档

文档评论(0)