UML建模实验报告系统超市运营设计资料.docx
- 文档编号:20136812
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:16
- 大小:87.41KB
UML建模实验报告系统超市运营设计资料.docx
《UML建模实验报告系统超市运营设计资料.docx》由会员分享,可在线阅读,更多相关《UML建模实验报告系统超市运营设计资料.docx(16页珍藏版)》请在冰豆网上搜索。
UML建模实验报告系统超市运营设计资料
UML建模实验报告
一、用例图
(一)本次目的
1)熟悉用例图的基本功能和使用方法。
2)掌握如何使用建模工具绘制用例图方法。
(二)要求请完成如下任务:
1)使用Rationalrose画出选课系统的用例图。
2)同时对主要功能用例进行详细说明。
选课系统用例图如下图所示:
图1
二、活动图
(一)本次目的
1)熟悉活动图的基本功能和使用方法。
2)掌握如何使用建模工具绘制活动图方法。
(二)要求请完成如下任务
用活动图来描述系统中已知用例的业务过程
1)使用活动图对选课用例或相关用例进行描述。
2)使用活动图对建立选修课程目录表用例进行描述。
活动图如下图所示:
图2
三、类图
(一)本次目的
1)理解类的基本概念;
2)掌握如何从需求分析中抽象出类的方法及关系;
3)掌握在RationalRose中绘制类的操作方法。
(二)要求请完成如下任务
通过这用例图和活动图我们可以初步了解系统的业务处理流程。
现在需要对系统进行静态建模,这就需要从系统的用例图、活动图去寻找和发现重要概念和对象,定义类及关系,使用ROSE创建类图。
请完成如下任务:
1)寻找和抽象出选课用例或相关功能中的类,并进行简要说明。
2)确定类之间的继承关系已经创建类之间的继承关系,。
3)请根据教材中示例部分在RationalRose中绘制类间的关联关系。
类图如下图所示:
图3
四、序列图及协作图
完成了选课系统的需求分析,并从业务对象中抽象出了类。
现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。
(一)本次目的
1)理解顺序图的基本概念;
2)理解协作图的基本概念;
3)掌握在RationalRose中绘制交互图的操作方法。
(二)要求请完成如下任务
1)阅读用例建模得到的用例文档说明和用例图。
2)根据事件流,确定对象,对选课功能中的主要用例进行动态建模。
3)根据分析设计情况,进一步发现类,细化各类之间的关系,确定主要类的属性和职责。
AddCourse序列图如下所示:
图4
DeleteCourse序列图如下所示:
图5
ModifyCourse序列图如下所示:
图6
QueryCourse序列图如下所示:
图7
RegistrarLogin序列图如下所示:
图8
SelectCourse序列图如下所示:
图9
SelectCourse协作图如下所示:
图10
五、状态图
(一)本次目的
1)理解什么状态和状态图;
2)学会使用UML绘制状态图
(二)要求请完成如下任务
1)考察课程类对象的状态变化情况并分析,定义状态及迁移及条件,对课程类对象进行状态建模。
2)考虑选课系统的业务流程,对系统进行状态建模,帮助设计人员对系统业务的进一步理解。
状态图如下所示:
图11
六、构建图和部署图
(一)本次目的
1)理解组件图的基本概念
2)理解组件图的应用:
逻辑部署
3)理解部署图的基本概念
4)理解部署图的应用:
物理部署
5)掌握组件图和部署图绘制的方法
(二)要求请完成如下任务
参照实验辅导教材,画出选课系统构件图及部署图并进行文字说明。
构建图如下所示:
图12
部署图如下所示:
图13
七、双向工程
(一)本次目的
1)理解双向工程的概念
2)使用Rose进行完成模型的代码生成
(二)要求请完成如下任务
现在,选课系统的分析和设计工作已经基本完成,即将进入编码阶段。
为了加快编码进度,可以利用建模工具执行正向工程,将系统中的模型转换成指定语言类型的代码框架,现要求您使用Rose工具将设计的模型通过正向工程生成代码框架。
按照使用Rose工具生成代码的6步基本步骤可以顺利的完成代码框架的生成工作。
(1)检查模型,
(2)创建组件
(3)将类映射到组件
(4)设置代码生成属性
(5)选择类,组件和包
(6)生成代码
粘贴得到的主要代码
生成代码如下:
//People.java
publicclassPeople{
privateStringname;
privateintage;
publicPeople(){
}
}
//Student.java
publicclassStudentextendsPeople{
privateintStudentID;
publicFormObjecttheFormObject;
publicStudent(){
}
publicintgetStudentID(){
returnStudentID;
}
}
//DataBase.java
publicclassDataBase{
privateStringdbpath;
publicDataBase(){
}
publicbooleanQueryCourse(intCourseID){
returntrue;
}
publicBooleanAddCourse(CourseCourse){
returntrue;
}
publicBooleanDeleteCourse(intCourseId){
returntrue;
}
publicvoidQueryAllCourse(){
}
publicBooleanquerYAssociation(intCourseID,intStudentID){
returntrue;
}
publicBooleanAddAssociation(intCourseID,intStudentID){
returntrue;
}
publicvoidQuerySelectedCourse(){
}
publicStringQueryPasswd(intregID,StringRegname){
returnnull;
}
}
//Registrar,java
publicclassRegistrarextendsPeople{
privateintregID;
publicFormObjecttheFormObject;
publicRegistrar(){
}
privatevoidGetRegistRarInfo(){
}
}
//Course.java
publicclassCourse{
privateStringname;
privateStringclassroom;
privateintCourseID;
privateStringteacher;
privateintStudents;
privateStringfirstLessondate;
privateintmaxStudent;
publicCourse(){
}
publicvoidCreate(StringCoursename,intCourseID,StringClassRoom,
StringTeacher){
}
publicvoidgetCourseInfo(){
}
publicvoidDestroyCourse(){
}
}
//ControlObject.java
publicclassControlObject{
publicDataBasetheDataBase;
publicFormObjecttheFormObject;
publicCoursetheCourse[];
publicControlObject(){
}
publicbooleanVerifyCourse(Coursecourse){
returnfalse;
}
publicbooleanCanAdd(){
returnfalse;
}
publicbooleanCanModify(){
returnfalse;
}
publicbooleanQueryCourseByID(intcourseID){
returnfalse;
}
publicvoidConfirmDelete(){
}
publicvoidGetAllCourse(){
}
publicbooleanqueryAssociation(intCourseId,intStudentID){
returnfalse;
}
publicbooleanCanSelect(){
returnfalse;
}
publicvoidQueryCoursseList(intStudentID){
}
publicbooleanVerifyRegistrar(intregID,Stringregname){
returnfalse;
}
publicBooleanCheckPasswd(){
returnfalse;
}
}
//FormObject.java
publicclassFormObject{
publicControlObjecttheControlObject;
publicCoursetheCourse;
publicFormObject(){
}
privatevoidGetCourseInfo(){
}
privatevoidShowSuccessInfo(Stringstrinfo){
}
publicintGetCourseID(){
return0;
}
privatevoidShowConfirmPage(StringstrInfo){
}
privatevoidConfirmDelete(){
}
privatevoidSelectCommand(){
}
privatevoidDisplayCourseList(Course[]courseList){
}
privatevoidDisplayCourseList(){
}
privatevoidQuerySelectedCourse(intStudentID){
}
}
实验小结
本学期的实验到此也告一段落了。
一学期的实验主要完成“在线选课系统的UML建模”,现已圆满完成。
在学习课本知识的同时,结合实验指导书,边学习新知识边进行实际操作。
对书本上的知识有了更全面的掌握。
在建模过程中遇到了一些问题,通过询问老师、同学和上网查找资料,得到了比较满意的解决。
在这次课程设计实验中,关于UML的概念以前比较模糊的地方,在实际操作中,变得更加清楚了。
对RationalRose的UML功能运用的更加熟练。
使我对UML建模的思想有了更进一步的了解,在以后得学习中,还将不断的学习UML的理论知识。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 建模 实验 报告 系统 超市 运营 设计 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)