实验1 熟悉StarUML建模环境[实验目的]1.掌握StarUML的安装2. 熟悉StarUML的功能与特点3.掌握StarUML的基本操作[实验预备知识]了解StarUML的背景[实验内容]1.安装StarUML2.系统主菜单3.建立UML模型初步[实验提示]StarUML安装指南和运行指南见StarUML使用手册。
实验2 用例图与活动图设计与实现[实验目的]1.熟悉UML建模2.掌握用例图的设计与实现4.掌握使用活动图细化用例的方法[实验预备知识]掌握StarUML环境下UML全局模型的创建[实验内容]1.了解网上选课系统的需求2.熟悉用例的事件流(1)添加课程(2)选课3.网上选课系统用例图操作提示:(1)创建并设置执行者(2)设计并实现执行者之间关联(3)创建并设置用例属性(4)设计并实现执行者与用例间关联4.使用活动图细化用例完成“添加课程”和“选课”两个用例的活动图。
操作提示:(1)添加一个空的活动图(2)新建泳道(3)添加初始状态和最终状态(4)添加动作状态(5)添加转换[实验提示]参考StarUML使用手册。
附录1:网上选课系统用例图与活动图设计与实现1.简单需求分析选课系统包括如下功能:(1)管理员通过系统管理界面进入系统,建立学期要开的各种课程,将课程信息保存在数据库中并对课程进行改动和删除(2)学生通过客户端浏览器根据学号和密码进入系统,可以选课,也可以查询已选课程本系统涉及的用户包括管理员和学生,他们是用例图中的执行者,他们的主要特征相似,都具有姓名和注册号(学生为学号)等信息,所以可以抽象出高层执行者“人”,而管理员和学生都从人统一派生。
数据库管理系统是另外一个执行者。
2.事件流下面是系统中一些用例的事件流。
添加课程事件流(1)管理员选择进入管理界面,用例开始(2)系统提示输入管理员密码(3)管理员输入密码(4)系统验证密码A1:密码错误(5)进入管理界面,系统显示目前所建立的全部课程信息(6)管理员选择添加课程(7)系统提示输入新课程信息(8)管理员输入信息(9)系统验证是否和已有课程冲突A2:有冲突(10)系统添加新课程,提示课程添加成功(11)系统重新进入管理主界面,显示所有课程(12)用例结束其他事件流:A1:密码错误(1)系统提示再次输入(2)用户确认(3)三次错误,拒绝再次访问(4)否则进入添加课程事件流第(5)步A2:有冲突(1)系统提示冲突,显示冲突课程信息(2)用户重新输入(3)继续验证直到无冲突(4)进入添加课程事件流第(10)步删除课程事件流和修改课程事件流与此类似选课事件流:(1)学生进入选课登录界面,用例开始(2)系统提示输入学号和密码(3)学生输入学号和密码(4)系统验证A1:验证失败(5)进入选课主界面(6)学生点击选课。
(7)系统显示所有课程信息(8)学生选择课程(9)系统验证课程是否可选A2:课程不可选(10)系统提示课程选择成功(11)用例结束错误流:A1:验证失败(1)系统提示验证失败,提示重新输入(2)三次失败,拒绝访问(3)成功,转选课事件流第(5)步A2:课程不可选(1)系统提示课程不可选及原因(2)学生重新选课(3)重新验证直至成功(4)转选课事件流第(10)步3.选课系统活动图效果示例实验3 教学管理系统的分析与设计[实验目的]1.通过教学管理系统的分析与设计,掌握面向对象的分析与设计方法以及UML 在软件项目和开发过程中的应用2.掌握软件系统的静态建模方法3.掌握软件系统的动态建模方法4.综合系统建模中的用例图、序列图、状态图、类图等来实现教学管理系统的分析与设计[实验预备知识]教学管理系统的需求分析,见附录2[实验内容]1.分析问题域(1)确定系统范围与系统边界(2)定义执行者2.用例分析与设计(1)顶层用例(选课管理、成绩管理)(2)顶层用例的分解(3)绘制用例图3.静态结构模型(1)对象类图(2)数据库模型4.动态结构模型(1)顺序图(2)状态图[实验提示]附录2:教学管理系统JXGL需求附录3:教学管理系统JXGL分析与设计附录2:教学管理系统JXGL需求高等学校的教学管理内容十分丰富,工作繁多。
作为简单的示例,规定所开发的教学学管理系统JXGL能处理每学期的课程选修注册和学生的成绩管理。
教学管理系统JXGL的用户是学校的学生、教师和教学管理员。
学生使用JXGL系统查询新学期将开设的课程和授课教师的情况,选择自己要学习的课程,并进行登记注册,还可以使用JXGL系统查询自己的课程成绩。
教师使用JXGL 系统查询新学期将开设的课程、参加听课的学生情况以及学生的考试成绩。
教学管理员使用JXGL系统进行教学管理,包括新学期的课程选课注册管理和学生成绩管理。
JXGL系统要求提供两个方面的服务:(1)选课管理,负责新学期的课程选课注册工作;(2)成绩管理,负责学生成绩管理。
在选课管理方面应提供的服务功能如下:1.录入与生成新学期课程表教学管理员在新学期开始前录入新学期课程,打印将开设的课程目录表,供师生参考选择。
若某课程的实际选课学生少于10人,则停开该课程,把该课程从课程目录表中删除;若某课程的选课学生多于30人,则停止选课。
2.学生选课注册新学期开始前一周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请。
每个学生选课不超过4门课程。
每门课程最多允许30名学生选课注册。
学生可以在图书馆、各系资料室、学生宿舍等处的计算机上连网进行选课注册。
在选课注册结束后,教学管理员打印学生选课注册名单和开课通知书,送交有关部门和授课教师。
3.查询可以查询课程信息、学生选课信息和学生、教师信息。
学生、教师和教学管理员可以查询课程表,获得课程信息。
查询的关键词可以是:课程名、授课教师名和学分。
教师、教学管理员可以查询学生选课情况。
查询的关键词可以是:学生名、课程名、授课教师名和学分。
学生只允许查询自己的选课信息,不允许查询别人的选课信息。
学生、教师和教学管理员可以查询学生或教师的信息。
查询的关键词可以是:学生名、教师名、性别、班级和职称。
4.选课注册信息的统计与报表生成教学管理员对学生的选课注册信息进行统计(按课程、学生和班级),打印汇总统计报表。
5.把学生选课注册信息传送给财务系统便于计算学生应交纳的费用。
在成绩管理方面应提供的服务功能如下:1.成绩录入教学管理员录入学生考试成绩。
2.成绩查询教师、教学管理员可以查询学生考试成绩。
查询的关键词可以是:学生名、课程名、授课教师名和学分。
学生只允许查询自己的考试成绩,不允许查询别人的考试成绩。
3.成绩统计与报表生成教学管理员进行成绩统计(按课程、学生和班级),打印成绩汇总统计报表。
为保存数据,需建立教学管理数据库。
可以采用关系数据库,建立下列数据库表:学生表、教师表、课程表、选课表、任课表和成绩表。
JXGL系统的直接用户有学生、教师和教学管理员。
教学管理员有权操纵数据库的数据,进行添加、更新、删除等操作。
学生和教师一般只查询信息,只允许对自己有关的数据进行添加、更新、删除等操作。
JXGL系统的相关系统有财务系统。
JXGL系统需要把学生选课注册信息传送给财务系统,以供财务系统计算学生应交纳的费用,但是不要求财务系统回馈学生应交纳的费用信息。
假定在学校的计算中心有功能强大的工作站机器,在各系、各部门、图书馆、学生宿舍都有台式PC,学校的全部计算机己经连网。
JXGL系统将采用客户机/服务器结构建立,JXGL 系统的应用服务器和数据库服务器设置在学校计算中心的工作站。
学生、教师和教学管理员可以在各系、各部门、图书馆、学生宿舍的台式PC上使用JXGL系统。
附录3:教学管理系统JXGL分析与设计1.分析问题域分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。
分析问题领域的结果是对问题领域的清晰、精确的定义,明确目标系统将做些什么。
分析问题领域的主要任务:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条件等。
(1)确定系统范围和系统边界JXGL系统用于新学期课程的选课注册管理和学生的成绩管理,凡是这两方面的教学管理内容都是JXGL的职责范围,其它的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于JXGL系统的职责范围。
至于学校的其他管理工作,如科研、人事、财务、资产等管理也不属于JXGL系统的职责范围。
教学管理系统JXGL与财务系统存在系统边界,财务系统将从JXGL系统得到学生选课注册信息。
JXGL系统与学校的其他信息管理系统没有直接的联系,但是可以从学校的全局数据库中共享学生、教师、教学计划等必要的数据。
(2)定义执行者根据JXGL系统的职责范围和需求可以确定4个执行者:学生、老师、教学管理员和财务系统。
对于每一个执行者,应当明确其业务活动的内容、对系统的服务要求。
“学生”执行者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并莹,二注册课程,查询自己的课程成绩信息。
“老师”执行者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成信息。
“教学管理员”执行者使用JXGL系统管理学期开设课程的选课注册和学生的考试成绩管理工作,包括课程与成绩数据的录入、维护、统计、报表打印等,并且负责把学生的选课注册信息发送给财务系统,作为计算学生应付费用的依据。
“教学管理员”要求能够方便地查询课程信息、学生选课信息、学生信息、教师信息和成绩信息。
"财务系统"执行者是外部系统执行者,从JXGL系统接受学生的课程注册信息。
2.用例分析与设计从JXGL系统的顶层用例抽象,可以确定两个用例,即“选课管理”和“成绩管理”。
用例“选课管理”与4个执行者都存在交互,用例“成绩管理”与执行者“学生”、“老师”和“教学管理员”存在着交互。
依据对需求的分析,可以得到顶层用例图。
用例“选课管理”可以分解为“查询课程信息”、“选课注册”、“管理开设课程”、“管理学生信息”、“管理老师信息”和“管理课程信息”;用例“成绩管理”可以分解为“查询学生成绩”、“查询课程成绩”、“学生成绩管理”和“成绩统计”。
根据执行者与各个分解用例的交互,可以得到细化后的用例图。
3.静态结构模型(1)对象类图对于JXGL 系统可以抽象出以下一些主要的对象类:在人事信息处理方面有“学生”类、“教师”类;在选课管理方面有“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类等;在成绩管理方面有“学生成绩登记”类、“成绩统计”类。
“学生”类负责JXGL系统需要的执行者“学生”的信息处理,它的属性有姓名、年龄、性别、通信地址、联系电话、专业、班级等,对这些信息的服务操作有查询、添加、修改、删除等。