1、实验1 熟悉Rational Rose建模环境实验目的1掌握Rational Rose 2003的安装2. 熟悉Rose的功能与特点3掌握Rose的基本操作实验预备知识了解Rational Rose的背景实验内容1安装Rational Rose 20032系统主菜单3建立UML模型初步实验提示附录1:Rational Rose 2003安装指南附录2:Rational Rose 2003运行指南附录1:Rational Rose 2003安装指南 安装Rational Rose2003时,在需选择安装项的时候,选择Rational Rose Enterprise Edition,依步骤安装即可
2、矚慫润厲钐瘗睞枥庑赖。 安装好Rational Rose Enterprise Edition后,打开rose2003crack.rar压缩包,里面有四个文件,分别为flexlm.cpl、license.dat、lmgrd.exe、rational.exe聞創沟燴鐺險爱氇谴净。 用记事本或者是EditPlus打开license.dat文件,大约在文件的中间位置有:SERVER Microsoft ANY DAEMON rational “C:Program FilesRationalcommonrational.exe”将其修改为:SERVER 计算机名ANY DAEMON rational
3、“自己安装的目录rational.exe”后保存,如下图所示,其中下图示例中“adserver”为自己计算机的名字。残骛楼諍锩瀨濟溆塹籟。 将license.dat、 lmgrd.exe 、rational.exe三个文件一起拷贝到“安装目录rationalcommon” 下面,若为默认则为“C:Program FilesRationalcommon”目录酽锕极額閉镇桧猪訣锥。 将flexlm.cpl拷贝到系统system32目录下 进入控制面板,则在控制面板的上方会增加了一个图标,即FLEXlm License Manager,如图所示,彈贸摄尔霁毙攬砖卤庑。将其打开,在Setup页中lmg
4、rd.exe右侧目录写为“C:Program FilesRationalCommonlmgrd.exe”(若为默认安装目录),License File右侧目录写为“C:Program FilesRationalCommonlicense.dat”,如图所示謀荞抟箧飆鐸怼类蒋薔。 回到Control页,点击Start,如图所示,若出现“Server Started”,则表示已经成功,如图所示厦礴恳蹒骈時盡继價骚。 可以点击Status,若状态为“计算机名:license server UP(MASTER)”,则成功。茕桢广鳓鯡选块网羈泪。 这时可打开安装的Rational Rose Enterp
5、rise Edition,若还是出现Error,则打开Rational License Key Administrator ,点击工具栏中的第一个工具(Start WIzard),点击下一步,在Server Name中的名字改为自己的计算机名即可。鹅娅尽損鹌惨歷茏鴛賴。附录2:使用Rational Rose 2003运行指南 运行Rose后,可以创建新的系统模型,如图所示 可以重新保存模型,如图所示 继续编辑系统模型,如图所示 熟悉主菜单、工具栏等,继续编辑模型 参照理论课教材UML系统建模与分析设计的附录实验报告一:实验2 用例图与活动图设计与实现实验目的1熟悉UML建模2掌握用例图的设计与
6、实现4掌握使用活动图细化用例的方法实验预备知识掌握Rational Rose环境下UML全局模型的创建实验内容1网上选课系统的需求2事件流(1)添加课程(2)选课3选课用例图(1)创建并设置执行者(2)设计并实现执行者之间关联(3)创建并设置用例属性(4)设计并实现执行者与用例间关联4使用活动图细化用例(1)添加一个空的活动图(2)新建泳道(3)添加初始状态和最终状态(4)添加动作状态(5)添加转换实验提示附录1:网上选课系统用例图与活动图设计与实现附录1:网上选课系统用例图与活动图设计与实现 简单需求分析选课系统包括如下功能:(1) 管理员通过系统管理界面进入系统,建立学期要开的各种课程,将
7、课程信息保存在数据库中并对课程进行改动和删除籟丛妈羥为贍偾蛏练淨。(2) 学生通过客户端浏览器根据学号和密码进入系统,可以选课,也可以查询已选课程 本系统涉及的用户包括管理员和学生,他们是用例图中的执行者,他们的主要特征相似,都具有姓名和注册号(学生为学号)等信息,所以可以抽象出高层执行者“人”,而 管理员和学生都从人统一派生。数据库管理系统是另外一个执行者。預頌圣鉉儐歲龈讶骅籴。 事件流下面是系统中出现的-些事件流。 添加课程事件流(1)管理员选择进入管理界面,用例开始(2)系统提示输入管理员密码(3)管理员输入密码 (4)系统验证密码A1:密码错误 (5)进入管理界面,系统显示目前所建立的
8、全部课程信息(6)管理员选择添加课程(7)系统提示输入新课程信息(8)管理员输入信息(9)系统验证是否和已有课程冲突A2:有冲突 (10)系统添加新课程,提示课程添加成功(11)系统重新进入管理主界面,显示所有课程(12)用例结束 其他事件流: A1:密码错误 (1)系统提示再次输入 (2)用户确认(3)三次错误,拒绝再次访问 (4)否则进入添加课程事件流第(5)步 A2:有冲突 (1)系统提示冲突,显示冲突课程信息(2)用户重新输入(3)继续验证直到无冲突(4)进入添加课程事件流第(10)步 删除课程事件流和修改课程事件流与此类似选课事件流: (1)学生进入选课登录界面,用例开始(2)系统提
9、示输入学号和密码 (3)学生输入学号和密码(4)系统验证 A1:验证失败 (5)进入选课主界面(6)学生点击选课。 (7)系统显示所有课程信息(8)学生选择课程 (9)系统验证课程是否可选A2:课程不可选 (10)系统提示课程选择成功(11)用例结束 错误流: A1:验证失败 (1)系统提示验证失败,提示重新输入(2)三次失败,拒绝访问 (3)成功,转选课事件流第(5)步A2:课程不可选 (1)系统提示课程不可选及原因(2)学生重新选课 (3)重新验证直至成功(4)转选课事件流第(10)步 选课系统用例图设计与实现步骤示例1) 点击Use Case View中的Main,弹出用例图窗口Use
10、Case Diagram2) 将光标置于工具栏的Actor图标上并单击,在用例图窗口按下左键,用例图窗口内出现一个执行者的图标,其名字为“New Class”渗釤呛俨匀谔鱉调硯錦。3) 修改元素的名字有如下两种方法:a) 在用例图窗口中双击NewClass图标,在弹出的窗口中选择General选项卡,将Name修改为“人”铙誅卧泻噦圣骋贶頂廡。b) 在用例图窗口中将光标置于“New Class”处,直接将其修改为“人”4) 采用同样的方法,在用例图中添加“管理员”和“学生”5) 点击用例图工具栏中的图标“Generalization”,在用例图窗口中,将光标从“学生”移动到“人”,在“学生”和
11、“人”之间添加概括关系擁締凤袜备訊顎轮烂蔷。6) 同样在“管理员”和“人”之间添加概括关系7) 点击工具栏中的图标,将光标移到用例图窗口,窗口内显示用例的椭圆图标,采用和3)同样的方法,将图标名称改成“选课”贓熱俣阃歲匱阊邺镓騷。8) 点击工具栏中的Undirectional Relation图标,将光标从“学生”指向“选课”,“学生”和“选课”之间添加关系坛摶乡囂忏蒌鍥铃氈淚。9) 指定执行者的属性:在浏览器中选择执行者“人”,按下鼠标右键, 在弹出的菜单中选择“Open Specification”蜡變黲癟報伥铉锚鈰赘。10) 指定用例的属性:在浏览器中选择用例“选课”,按下鼠标右键,在弹
12、出的菜单中选择“Open Specification”買鲷鴯譖昙膚遙闫撷凄。11) 设计并实现添加课程活动图实验报告二:实验3 教学管理系统的分析与设计实验目的1通过教学管理系统的分析与设计,掌握面向对象的分析与设计方法以及UML在软件项目和开发过程中的应用2掌握软件系统的静态建模方法 3掌握软件系统的动态建模方法4综合系统建模中的用例图、序列图、状态图、类图等来实现教学管理系统的分析与设计实验预备知识教学管理系统的需求分析,见附录1实验内容1分析问题域(1)确定系统范围与系统边界(2)定义执行者2用例分析与设计(1)顶层用例(选课管理、成绩管理)(2)顶层用例的分解(3)绘制用例图3静态结构
13、模型(1)对象类图(2)数据库模型4动态结构模型(1)顺序图(2)状态图实验提示附录1:教学管理系统JXGL需求附录2:教学管理系统JXGL分析与设计附录1:教学管理系统JXGL需求高等学校的教学管理内容十分丰富,工作繁多。作为A个简单的示例,规定所开发的教学学管理系统JXGL能处理每学期的课程选修注册和学生的成绩管理。 綾镝鯛駕櫬鹕踪韦辚糴。教学管理系统JXGL的用户是学校的学生、教师和教学管理员。学生使用JXGL系统查询新学期将开设的课程和授课教师的情况,选择自己要学习的课程,并进行登记注册,还可以使用JXGL系统查询自己的课程成绩。教师使用JXGL系统查询新学期将开设的课程、参加听课的学
14、生情况以及学生的考试成绩。教学管理员使用JXGL系统进行教学管理,包括新学期的课程选课注册管理和学生成绩管理。 驅踬髏彦浃绥譎饴憂锦。JXGL系统要求提供两个方面的服务: (1)选课管理,负责新学期的课程选课注册工作:统; (2)成绩管理,负责学生成绩管理。 在选课管理方面应提供的服务功能如下。1录入与生成新学期课程表教学管理员在新学期开始前录入新学期课程,打印将开设的课程目录表,供师生参考选择择。若某课程的实际选课学生少于10人,则停开该课程,把该课程从课程目录表中删除;若某课程的选课学生多于30人,则停止选课。 猫虿驢绘燈鮒诛髅貺庑。2学生选课注册 新学期开始前一周为选课注册时间,在此期间
15、学生可以选课注册,并且允许改变或取消注册申请。 每个学生选课不超过4门课程。每门课程最多允许30名学生选课注册。 学生可以在图书馆、各系资料室、学生宿舍等处的计算机上连网进行选课注册。在选课 注册结束后,教学管理员打印学生选课注册名单和开课通知书,送交有关部门和授课教师。 3查询 可以查询课程信息、学生选课信息和学生、教师信息。 学生、教师和教学管理员可以查询课程表,获得课程信息。查询的关键词可以是:课程 名、授课教师名和学分。 教师、教学管理员可以查询学生选课情况。查询的关键词可以是:学生名、课程名、授 课教师名和学分。学生只允许查询自己的选课信息,不允许查询别人的选课信息。 锹籁饗迳琐筆襖
16、鸥娅薔。学生、教师和教学管理员可以查询学生或教师的信息。查询的关键词可以是:学生名、 教师名、性别、班级和职称。 4选课注册信息的统计与报表生成 教学管理员对学生的选课注册信息进行统计(按课程、学生和班级),打印汇总统计报表。 5把学生选课注册信息传送给财务系统 構氽頑黉碩饨荠龈话骛。便于计算学生应交纳的费用。 在成绩管理方面应提供的服务功能如下。1成绩录入 教学管理员录入学生考试成绩。 2成绩查询 教师、教学管理员可以查询学生考试成绩。查询的关键词可以是:学生名、课程名、授 课教师名和学分。学生只允许查询自己的考试成绩,不允许查询别人的考试成绩。 3成绩统计与报表生成 教学管理员进行成绩统计
17、(按课程、学生和班级),打印成绩汇总统计报表。 为保存数据,需建立教学管理数据库。可以采用关系数据库,建立下列数据库表:学生 表、教师表、课程表、选课表、任课表和成绩表。 輒峄陽檉簖疖網儂號泶。JXGL系统的直接用户有学生、教师和教学管理员。教学管理员有权操纵数据库的数据, 进行添加、更新、删除等操作。学生和教师一般只查询信息,只允许对自己有关的数据进行 添加、更新、删除等操作。 尧侧閆繭絳闕绚勵蜆贅。JXGL系统的相关系统有财务系统。JXGL系统需要把学生选课注册信息传送给财务系 统,以供财务系统计算学生应交纳的费用,但是不要求财务系统回馈学生应交纳的费用信息。 识饒鎂錕缢灩筧嚌俨淒。假定在
18、学校的计算中心有功能强大的工作站机器,在各系、各部门、图书馆、学生宿舍 都有台式PC,学校的全部计算机己经连网。JXGL系统将采用客户机/服务器结构建立, JXGL 系统的应用服务器和数据库服务器设置在学校计算中心的工作站。学生、教师和教学管理员 可以在各系、各部门、图书馆、学生宿舍的台式PC上使用JXGL系统。凍鈹鋨劳臘锴痫婦胫籴。附录2:教学管理系统JXGL分析与设计1 分析问题域分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。分析问题领域的结果是对问题领域的清晰、精确的定义,明确目标系统将做些什么。 恥諤銪灭萦欢煬鞏鹜錦。分析问题领域的主要任务:对问题领域
19、进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条件等。 鯊腎鑰诎褳鉀沩懼統庫。(1)确定系统范围和系统边界JXGL系统用于新学期课程的选课注册管理和学生的成绩管理,凡是这两方面的教学管理内容都是JXGL的职责范围,其它的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于JXGL系统的职责范围。至于学校的其他管理工作,如科研、人事、财务、资产等管理也不属于JXGL系统的职责范围。硕癘鄴颃诌攆檸攜驤蔹。教学管理系统JXGL与财务系统存在系统边界,财务系统将从JXGL系统得到学生选课注册信息。JXGL系统与学校的其他信息管理系统没
20、有直接的联系,但是可以从学校的全局数据库中共享学生、教师、教学计划等必要的数据。 阌擻輳嬪諫迁择楨秘騖。(2)定义执行者根据JXGL系统的职责范围和需求可以确定4个执行者:学生、老师、教学管理员和财务系统。对于每一个执行者,应当明确其业务活动的内容、对系统的服务要求。 氬嚕躑竄贸恳彈瀘颔澩。“学生”执行者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并莹,二 注册课程,查询自己的课程成绩信息。 釷鹆資贏車贖孙滅獅赘。“老师”执行者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成信息。 “教学管理员”执行者使用JXGL系统管理学期开设课程的选课注册和学生的考试成绩管理
21、工作,包括课程与成绩数据的录入、维护、统计、报表打印等,并且负责把学生的选课注册信息发送给财务系统,作为计算学生应付费用的依据。“教学管理员”要求能够方便地查询课程信息、学生选课信息、学生信息、教师信息和成绩信息。 怂阐譜鯪迳導嘯畫長凉。财务系统执行者是外部系统执行者,从JXGL系统接受学生的课程注册信息。 2 用例分析与设计从JXGL系统的顶层用例抽象,可以确定两个用例,即“选课管理”和“成绩管理”。 用例“选课管理”与4个执行者都存在交互, 用例“成绩管理”与执行者“学生”、“老师”和“教学管理员”存在着交互。依据对需求的分析,可以得到顶层用例图。谚辞調担鈧谄动禪泻類。用例“选课管理”可以
22、分解为“查询课程信息”、“选课注册”、“管理开设课程”、“管理学生信息”、“管理老师信息”和“管理课程信息”; 用例“成绩管理”可以分解为“查询学生成绩”、“查询课程成绩”、“学生成绩管理”和“成绩统计”。根据执行者与各个分解用例的交互,可以得到细化后的用例图。嘰觐詿缧铴嗫偽純铪锩。3 静态结构模型(1)对象类图对于JXGL 系统可以抽象出以下一些主要的对象类: 在人事信息处理方面有“学生”类、“教师”类;在选课管理方面有“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类等;在成绩管理方面有“学生成绩登记”类、“成绩统计”类。 熒绐譏钲鏌觶鷹緇機库。“学生”类负责JXG
23、L系统需要的执行者“学生”的信息处理,它的属性有姓名、年 龄、性别、通信地址、联系电话、专业、班级等,对这些信息的服务操作有查询、添加、修改、删除等。 鶼渍螻偉阅劍鲰腎邏蘞。“教师”类负责JXGL系统的执行者“教师”的信息处理,它的属性有姓名、年 龄、性别、通信地址、联系电话、职称等,对这些信息的服务操作有查询、添加、 修改、删除等。 纣忧蔣氳頑莶驅藥悯骛。“课程”类负责学校课程信息的处理,这些课程是教学计划规定开设的全部课程,但是 每一个学期实际开设的课程只是其中的一部分。“课程”类的属性有课程名、描述、学 时,操作有加入课程、删除课程等。 颖刍莖蛺饽亿顿裊赔泷。“开设课程”类负责新学期开设
24、课程和选课信息的处理,并提供查询功能。它的属性有授课日期、授课时间、地点、授课老师、注册学生数等。它的操作有加入选误学生、加入授课老师、学生己满等。 濫驂膽閉驟羥闈詔寢賻。“学生登记”类负责新学期学生的选课登记。当一个“学生”执行者要求选课注册时登记该学生所选修的课程,并打印所选修的课程清单。“学生登记”类的属性有学期、课程名等,操作有加入课程、打印等。 銚銻縵哜鳗鸿锓謎諏涼。“课程登记”类负责新学期课程的选课登记,它根据执行者“教师”和“教学管理员” 的要求,汇总学生的选课,对一个课程登记选修该课程的学生,并打印选修课程的学生清皇 “课程登记”类的属性有学期、学生名等,操作有加入学生、打印等
25、。挤貼綬电麥结鈺贖哓类。“学生成绩登记表”类负责学生考试成绩处理,它根据执行者“教学管理员”的要求,登记学生的考试成绩,并提供查询功能。它的属性有学生名、学期、课程名、成绩等,操作有加入成绩、打印等。赔荊紳谘侖驟辽輩袜錈。“成绩统计”类学生成绩的统计处理,按照学生或课程生成学生成绩统计报表。它的属性有学期课程名、成绩等,它的操作有按学生统计、按课程统计、打印等。塤礙籟馐决穩賽釙冊庫。课程管理对象类图成绩管理对象类图执行者对象类图(2)数据库模型JXGL系统有4个方面的数据需要管理:人员数据(学生、教师)、课程数据、选课注册 数据和学生成绩数据。经过分析, JXGL系统至少应有6个数据库表:学生
26、表、教师表、课 程表、开设课程表、选课表和任课表。 裊樣祕廬廂颤谚鍘羋蔺。这些基本表定义为:学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注) 教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注) 课程(课程号、课程名、描述、学分、学时、性质、备注) 开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、各注) 选课(学生号、课程号、学期、成绩、备注) 任课(教师号、课程号、学期、备注) 4 动态模型图(1) 顺序图为了绘制顺序图,首先要对一个用例确定参与交互的执行者和对象以及交互事件。例如,对于用例“管理课程信息”是执行者“教学管理员”和“注册表单”对象、“开设课程表单”对象、“开设课程”对象发生的交互,可以绘制设置开设课程的顺序图,如下所示。仓嫗盤紲嘱珑詁鍬齊驁。设置开设课程顺序图(2) 状态图状态图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态图。绘制状态图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。 绽萬璉轆娛閬蛏鬮绾瀧。例如,对于JXGL系统中的一个学生选课注册的“学生登记”对象,可能有的状态、事件和动作以及图示如下。选课学生登记状态图24