1、UML 面向对象分析与设计课程综合项目题 目: 在 线 选 课 系 统 的 UML 建 模班 级:学 号: 姓 名:指导教师:注意:期末项目所选题材不得是:在线选课系统、图书管理系统以及课本 1214 章节内容。学生作品不得出现雷同,否则分数均摊。UML 期末项目一、用例图(一) 本次目的1) 熟悉用例图的基本功能和使用方法。2) 掌握如何使用建模工具绘制用例图方法。(二) 要求请完成如下任务:1) 使用 Rational rose 画出选课系统的用例图。2) 同时对主要功能用例进行详细说明。选课系统用例图如下图所示:PeopleSelct CourseQuery CoursePay for
2、CourseStudent Ad CourseModify CourseDatbaseDelte CourseRegistrar图 1二、 活动图(一) 本次目的1)熟悉活动图的基本功能和使用方法。2)掌握如何使用建模工具绘制活动图方法。(二) 要求请完成如下任务用活动图来描述系统中已知用例的业务过程1) 使用活动图对选课用例或相关用例进行描述。2) 使用活动图对建立选修课程目录表用例进行描述。活动图如下图所示:不不不不不不不不不不不不不不不不不不不不 不不 不不不 不 不不不不不不 不 不 业业业业业业业业图 2三、类图(一) 本次目的1) 理解类的基本概念;2) 掌握如何从需求分析中抽象出
3、类的方法及关系;3) 掌握在 Rational Rose 中绘制类的操作方法。(二) 要求请完成如下任务通过这用例图和活动图我们可以初步了解系统的业务处理流程。现在需要对系统进行静态建模,这就需要从系统的用例图、活动图去寻找和发现重要概念和对象,定义类及关系,使用 ROSE 创建类图。请完成如下任务:1) 寻找和抽象出选课用例或相关功能中的类,并进行简要说明。2) 确定类之间的继承关系已经创建类之间的继承关系, 。3) 请根据教材中示例部分在 Rational Rose 中绘制类间的关联关系。类图如下图所示:图 3四、序列图及协作图完成了选课系统的需求分析,并从业务对象中抽象出了类。现在需要对
4、前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。(一) 本次目的1) 理解顺序图的基本概念;2) 理解协作图的基本概念;3) 掌握在 Rational Rose 中绘制交互图的操作方法。(二) 要求请完成如下任务1) 阅读用例建模得到的用例文档说明和用例图。2) 根据事件流,确定对象,对选课功能中的主要用例进行动态建模。3) 根据分析设计情况,进一步发现类,细化各类之间的关系,确定主要类的属性和职责。Add Course 序列图如下所示:Admin :Registrar form :FrView course :Cr control :CtrlObject db
5、:DatBase1: GetCourseInfo() 2: Creat(String,int,String,String)3: VerifyCourse(Course)4: GetCourseInfo() 5: QueryCourse(int)6: CanAd()7: AdCourse(Course)8: ShowSucesInfo(String)9: DestroyCourse()图 4Delete Course 序列图如下所示::Registrar form :FrView control :CtrlObject :Datbase1: GetCourseID() 2: QueryCours
6、eByID(int) 3: QueryCourse(int)4: ShowConfirmPage(String)5: ConfirmDelte() 6: ConfirmDelte() 7: DelteCourse(int)8: ShowSucesInfo(String)图 5Modify Course 序列图如下所示:Admin :Registra form :FrView course :Cr control :CtrlObject db :Datbase1: GetCourseInfo() 2: Creat(String,int,String,String)3: VerifyCourse(
7、Course)4: GetCourseInfo() 5: QueryCourse(int)6: CanModify()7: ModifyCourse(Course)8: ShowSucesInfo(String)9: DestroyCourse()图 6Query Course 序列图如下所示:stu :Student form :FrView course :Cr control :CtrlObject db :Datbase1: QuerySelctedCourse(int) 2: QueryCourseList(int) 3: QuerySelctedCpurse(int)4: Crea
8、t(String,int,String,String)5: DisplayCourseList(Course)6: DestroyCourse()图 7Registrar Login 序列图如下所示:admin :Registrar form :FrView control :CtrlObject db :Datbase1: GetRegistrarInfo() 2: VerifyRegistrar(int,it) 3: QueryPaswd(int,String)4: CheckPaswd()5: ShowSucesInfo(String)图 8 Select Course 序列图如下所示:
9、stu :Student Form :orView course :Course control :ControlObject db :Datbase1: SelctComand() 2: GetAlCourse() 3: QueryCourse()4: Create(String,int,String,String)5: GetCourseInfo()6: DisplayCourseList()7: DestroyCourse()8: GetCourseID() 9: QueryAsociation(it,int)10: QueryAsociation(it,int)1: CanSelct(
10、)12: AdAsociation(it,int)13: ShowSucesInfo(String)14: GetStudentID()图 9Select Course 协作图如下所示:1: SelctComand()stu form : ForView courses : Coursecontrol : ControlObject db : Datbase6: DisplayCourseList()1: CanSelct()8: GetCourseID14: GetStudentID() 5: GetCourseInfo()7: DestroyCourse()2: GetAlCourse()
11、9: Querysociation(int,int)13: ShowSucesInfo(String)3: QueryCourse()10: QueryAsociation(int,int)12: AdAsociation(int,int)4: Create(String,int,String,int)图 10 五、状态图(一) 本次目的1) 理解什么状态和状态图;2) 学会使用 UML 绘制状态图(二) 要求请完成如下任务1)考察课程类对象的状态变化情况并分析,定义状态及迁移及条件,对课程类对象进行状态建模。2)考虑选课系统的业务流程,对系统进行状态建模,帮助设计人员对系统业务的进一步理解。状态图如下所示:Createdentry/ Get Course InfoInDatbaseInScheduleCreate Course ned create a course studentsmaxstudents Ad Course Delteexit/ update datbasedelte courselocked students=maxstudents studnets=maxstudents Modifiedexit/ update datbasemodify course图 11实验小结(此部分描述本学期学习心得,字数不少于 800 字。 )