xx信息工程学院
统一建模语言UML 实验报告
实验名称: 班 级: 实验地点: xx xx 实验二:系统动态建模——交互图 姓 名: 日 期: 一、实验目的: 1. 掌握使用StarUML创建顺序图。 2. 掌握使用StarUML创建通信图。 二、实验环境: 微机一台 StarUML建模工具 Word文本编辑工具 xx 学 号: xx xx 三、实验内容和要求: 1. 根据以下的描述场景,绘制课程创建功能的时序图: 请求添加课程页面,填写课程表单,点击【create】按钮 添加课程信息到数据库 向课程对象追加主题信息 为课程指派教师 完成课程创建功能 2. 根据以下情景描述和给出的类定义示例信息,绘制学生课程注册系统的通信图: 某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。 在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。 新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。 在学期结束时,学生可以查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。 表1 学生课程注册系统的实体类: 实体类 Professor Student Schedule CourseCatalog Course CourseOffering 表2 学生课程注册系统的边界类: 边界类 LoginForm RegisterCoursesForm ViewReportForm SelectTeachCourseForm SubmitGradesForm MaintainProfessorsForm MaintainStudentsForm MaintainCoursesForm CloseRegistrationForm BillingSystemNotice 表3 学生注册系统的控制类 控制类 RegisterCourseControl ViewReportControl SelectTeachCourseControl SubmitGradesControl CloseRegistrationControl 说明 负责新学期学生的选课登记 负责学生成绩的查询 负责新学期的学生的选择情况 负责学生成绩的登记 负责关闭课程注册 说明 登录窗体 为学生提供学生选课注册 为学生提供成绩查询的操作 为教师提供查看学生选课情况 为教师提供登记成绩 为注册管理员提供维护教师信息 为注册管理员提供维护学生信息 为注册管理员提供维护课程信息 为注册管理员提供关闭注册的操作 提供与收费系统的信息交换接口 说明 学校中讲课的老师 学校中注册课程的学生 学生在新学期选择登记的课程列表 学校所有课程的目录 课程的基本信息 新学期课程的开设信息,如讲课老师,时间,地点等信息 四、实验步骤:(简要叙述系统分析和构建模型的步骤) 课程创建的时序图: 选取对象: 管理员,创建课程页面,课程,数据库,教师。 首先管理员请求课程页面然后填写课程表单再单击创建按钮。 其次就是页面完成创建课程的过程。 接下来课程把课程信息传递到数据库,得到课程ID 把主题信息传递到数据库,得到主题ID 最后就是给课程委派老师。返回创建完成信息。 学生课程注册的通信图: 我完成的通信图主要是实现学生课程的注册, 学生首页获得该学期的课程目录表,页面显示了学生的课程目录表后。 每个学生可以选择不超过4门课程,同时指定2门侯选课程。 然后由RegisterCourseControl传给Schedule和BillingSystemNotice, Schedule进行保存操作,BillingSystemNotice计算收费通知学生收费 五、实验结果与分析:(将建好的模型截图贴到这里,并对模型进行分析) 课程创建的时序图: : Administrator : CreatCourseAspx : Course : DataBase : Teacher1 : RequestCourseAspx()2 : FillCourseForm()3 : ClickCreateButton()4 : CreateCourse()5 : AddCourseInfo()6 : CourseId7 : AddTopicInfo()8 : TopicId9 : AssignTeacher()10 : FinishCreate
请求课程页面 填写课程表单 创建课程 添加主题信息 指派老师 RequestCouseAspx() FillCourseForm() CreateCourse() AddTopicInfo() AssignTeacher() 学生课程注册的通信图: 4 : Display CourseOffing() : RegisterCoursesForm1 : CreateSchedule()5 : Select-4-primaryAnd-2-alternateOfferings()2 : CreateCourseOffering()6 : CreateSchedule-withOfferings() : Student9 : AddSchedule() : RegisterCourseControl3 : GetCourseOffering() : CourseCatalog11 : RemindToPayMoney()10 : FinishSelcet()12 : Pay Money8 : Return Schedule7 : OperateWithOfferings() : BillingSystemNotice : Schedule
显示课程目录表 选择不超过4门课程,同时指定2门侯选课程 处理请求 计算收费通知学生收费 DisplayCourseOffering() Select-4-primaryAnd-2-alternateOffering() OperateWithOffering() RemindToPayMoney() 六、思考题: 顺序图和通信图有什么共同点和不同点? 顺序图和通信图都属于交互图,相同之处:都用于显示对象和用户如何交互以执行任务 这两种图之间的区别在于:顺序图基于时间,按时间顺序显示出现的任务;而通信图显示任务和信息的交互方式。在通信中,时间以编码形式显示,很难选取。 教师评语: