网上选课系统设计建模.docx

上传人:b****8 文档编号:9337806 上传时间:2023-02-04 格式:DOCX 页数:16 大小:191.80KB
下载 相关 举报
网上选课系统设计建模.docx_第1页
第1页 / 共16页
网上选课系统设计建模.docx_第2页
第2页 / 共16页
网上选课系统设计建模.docx_第3页
第3页 / 共16页
网上选课系统设计建模.docx_第4页
第4页 / 共16页
网上选课系统设计建模.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

网上选课系统设计建模.docx

《网上选课系统设计建模.docx》由会员分享,可在线阅读,更多相关《网上选课系统设计建模.docx(16页珍藏版)》请在冰豆网上搜索。

网上选课系统设计建模.docx

网上选课系统设计建模

案例2:

网上选课系统

二、设计建模

(一)系统总体设计

1、系统的体系架构

“网上选课系统”是一个基于Web的网络应用系统,在进行软件体系架构分析时,我们采用了典型的三层架构模式(B/A/S)来对其进行建模:

在分析阶段重点识别了问题域中的实体类,但只有实体类还不能使整个系统正常地运转起来,我们必须细化,为系统添加界面类和控制类。

 

 

 

图1:

类包图

2、组件设计(2种方法)

图2:

组件图

(1)

图3:

组件图

(2)

 

3、部署设计

图4:

部署图

(二)、系统详细设计

对用例的事件流进行梳理,逐一确定边界对象和实体对象,将边界对象放在界面层、实体对象和业务规则放在业务逻辑层,并根据流程确定接口;然后再根据业务逻辑层的实体类需要的数据存储来分析数据访问层;对分布式、并发、安全和日志等其他机制进行处理。

1、建立动态模型

(1)对管理员“添加课程”行为进行分析

“添加课程”用例的事件流如下:

1)管理员选择进入登录界面,用例开始

2)系统提示输入管理员密码

3)管理员输入密码

4)系统验证密码

A1:

密码错误

5)进入管理界面,系统显示目前所建立的全部课程信息。

6)管理员选择添加课程

7)系统提示输入新课程信息

8)管理员输入信息

9)系统验证是否和已有课程冲突

A2:

有冲突

10)系统添加新课程,提示课程添加成功

11)系统重新进入管理主界面,显示所有课程

12)用例结束

首先查找“添加课程”用例的对象,从事件流中发现涉及以下对象:

(1)界面

(2)课程

(3)对于业务层的操作,也应该有对象进行处理。

(4)事件流中设计的角色有:

管理员、数据库。

然后,分析对象、角色之间交互的消息。

本用例主要有以下交互:

(1)管理员进入管理界面,选择添加课程功能

(2)界面提示用户输入课程信息

(3)界面对象创建一个课程对象

(4)通过控制对象来对课程信息进行合法性检查

(5)控制对象向课程对象返回结果

(6)控制对象向数据库查询课程相关信息

(7)控制对象对查询结果进行判断

(8)控制对象向数据库中插入数据

(9)在界面上显示结果

(10)控制对象撤消建立的课程对象

图5:

“添加课程”顺序图

(2)对学生选课行为进行分析

“选课”用例的事件流见“网上选课系统需求建模-1”

首先查找“选课”用例的对象,从事件流中发现涉及以下对象:

(1)界面

(2)课程

(3)对于业务层的操作,也应该有对象进行处理。

(4)事件流中设计的角色有:

学生、数据库。

分析对象、角色之间交互的消息。

1)学生通过界面发送选课请求

2)界面控制对象课程信息

3)控制对象向数据库发送查询数据消息

4)控制对象暂存数据库的查询结果

图6:

“选修课程”顺序图

5)界面对象从控制对象中取得所有的课程信息。

6)在界面上显示所有课程信息

7)界面对象发送命令要求控制对象删除课程信息

8)学生选择课程

9)界面对象要求学生输入学号

10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程

11)控制对象从数据库中查询关联信息

12)控制对象判断是否可以选课

13)如果可以选课,则向数据库中添加关联信息

14)向界面对象返回信息

 

(3)对修改课程行为进行分析

图7:

“修改课程”顺序图

(4)对查询课程行为进行分析

图8:

“查询课程”顺序图

 

(5)对删除课程行为进行分析

“删除课程”的过程和“修改课程”类似,涉及以下对象:

(1)界面

(2)管理员

(3)控制对象

(4)数据库

分析对象、角色之间交互的消息。

1)管理员输入待删除的课程信息(IID)等

2)界面对象将信息发送给控制对象

3)控制对象查询课程信息是否有效

4)控制对象向界面对象返回信息,如果课程信息有效,则要求界面提示管理员确认删除

5)管理员确认删除课程

6)界面对象确认删除的信息发送给控制对象

图9:

“删除课程”顺序图

7)控制对象将确认删除对象的信息发送给数据库

8)数据库实施删除,并将结果返回给控制对象

9)控制对象将结果返回到界面

(6)对登录系统行为进行分析

用户要对课程信息进行操作时,要输入用户名和密码,以确保其拥有相应的权限。

事件流如下:

1)系统提示用户输入用户名和密码

2)用户输入用户名和密码

3)系统验证用户名和密码的合法性

4)将检查结果返回给用户

首先查找“登录系统”用例的对象,从事件流中发现涉及以下对象:

(1)界面

(2)控制对象

(3)数据库

(4)事件流中设计的角色有:

用户、数据库

分析对象、角色之间交互的消息。

1)界面对象提示用户输入注册信息

2)用户输入注册信息

3)界面对象将注册信息提交给控制对象

4)控制对象到数据库中查询注册信息

(5)控制对象判断注册信息是否合法

(6)控制对象将检查结果返回到界面对象

(7)界面对象显示结果

图10:

“登录系统”顺序图

2、建立设计类图

选课系统中定义的类

No.

类名

说明

1

People

Student和Registrar的基类

2

Student

学生类

3

Registrar

管理员类

4

FormObject

界面类(为了使问题简化,将所有的界面都看成是FormObject的对象,在实际系统中根据情况进行修改)

5

Course

课程类

6

ControlObject

控制对象类

7

DataBase

数据库类

 

(1)类People的属性和操作

名称

类别

描述

name

int

姓名

age

int,初始值为0

年龄

getName()

查询姓名

setName()

设置姓名

getAge()

查询年龄

setAge()

设置年龄

(2)类Student的属性和操作

名称

类别

描述

studentID

int

学号

Student()

初始化(构造函数)

getStudentID()

查询对象学号

setStudentID()

设置对象学号

(3)类Registrar的属性和操作

名称

类别

描述

regID

int

管理员编号

Registrar()

初始化(构造函数)

getRegistrarInfo()

查询管理员信息

getRegID()

查询管理员编号

setRegID()

设置管理员编号

(4)类DataBase的属性和操作

名称

类别

描述

dbpath

String

连接的数据库名称(位置)

queryCourse()

查询课程

addCourse()

添加课程

deleteCourse()

删除课程

queryAllCourse()

查询所有课程

queryAssociation()

查询关联

addAssociation()

添加关联

querySelectedCourse()

查询选择的课程信息

queryPasswd()

查询密码

getDBPath()

取得数据库名称

setDBPath()

设置数据库名称

OpenDB()

打开数据库

(5)类ControlObject的属性和操作

名称

类别

描述

verifyCourse()

验证课程合法性

canAdd()

判断能不能添加指定课程

canModify()

判断能不能修改指定课程

queryCourseByID()

通过ID查询课程

confirmDelete()

确认删除

getAllCourse()

查询所有课程

queryAssociation()

查询关联

canSelect()

判断是不是能选择

queryCourseList()

查询课程列表

verifyRegistrar()

验证管理员合法性

checkPasswd()

检查密码

controlObeject()

构造函数

(6)类Course的属性和操作

名称

类别

描述

name

String

课程名称

classroon

String

开课教室

courseID

int

课程编号

teacher

String

授课教师

students

int

选课学生

firstlessondate

String

开课起始时间

maxstudents

int

允许选课最大学生数

create()

构造函数

getCourseInfo()

查询课程信息

destroyCourse()

对象注销时的操作

getName()

查询课程名称

setName()

设置课程名称

getClassroom()

查询教室

setClassroom()

设置授课教室

getID()

查询课程编号

setID()

设置课程编号

getTeacher()

查询教师信息

setTeacher()

设置教师信息

getStudents()

查询选课学生信息

setStudents()

设置选课学生信息

getFirstLessonDate()

查询开课起始时间

setFirstLessonDate()

设置开课起始时间

getMaxStudents()

查询选课的最大学生数

setMaxStudents()

设置选课的最大学生数

(7)类FormObject的属性和操作

名称

类别

描述

getCourseInfo()

String

查询课程信息

showSuccessInfo()

显示选课成功信息

getCourseID()

查询课程编号

showConfirmPage()

显示确认页

confirmDelete()

确认删除

selectCommand()

选择命令

displayCourseList()

显示课程列表

querySelectedCourse()

查询选择的课程

formObject()

构造函数

设计类图,如下3个图

3、数据库设计(略)

4、用户界面设计(略)

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1