UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx

上传人:b****6 文档编号:6974278 上传时间:2023-01-13 格式:DOCX 页数:29 大小:859.79KB
下载 相关 举报
UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx_第1页
第1页 / 共29页
UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx_第2页
第2页 / 共29页
UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx_第3页
第3页 / 共29页
UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx_第4页
第4页 / 共29页
UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx

《UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx》由会员分享,可在线阅读,更多相关《UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx(29页珍藏版)》请在冰豆网上搜索。

UMLJavaWeb课程设计家政服务管理系统的设计和实现.docx

UMLJavaWeb课程设计家政服务管理系统的设计和实现

 

面向对象建模技术课程设计报告

 

家政服务管理系统的设计和实现

 

学院名称:

宿迁学院

专业班级:

学生学号:

学生姓名:

指导教师姓名:

2015年6月

家政服务管理系统的设计与实现

一、设计目的

不断增长的复杂性、多样性和相互关联性是当今信息系统的共同特征。

传统的面向功能开发方法,已逐渐不适应越来越复杂和多变的需求,其成果不能得到很好的重用。

而面向对象建模技术能够有效地控制复杂性、适应多变性,具有灵活性、低风险性、可重用性,从而能提高系统开发的效率。

UML是一种对面向对象系统进行可视化、详细描述、构造和文档化的标准建模语言.所以,从面向功能的开发方法转向使用UML的面向对象开发方法是信息系统开发的趋势。

本文主要论述了面向对象建模技术、UML,以及基于UML的面向对象建模过程,并运用以上技术建立起了家政服务管理系统的模型。

相信本文能对信息系统的面向对象建模起到一定的借鉴作用。

本次课程设计,对于家政服务管理系统的某一些部分,使用UML中包括用例图,类图,对象图,包图,状态图,活动图,顺序图,协作图,构件图和部署图之中的绝大多数图,从而帮助我们充分理解面向对象建模的思想和重要性并,且基本掌握对信息系统完成的设计过程。

二、系统需求分析

根据家政服务管理系统,我们可以确定以下功能:

用户:

1.可以登录

2.可以请求新服务(提交后无法修改)

3.可以浏览自己已提交但未被处理的服务信息

4.可以浏览自己已提交但被拒绝的服务信息(视为已完成)

5.可以浏览自己已提交并被接受的服务信息

6.可以确认并评价服务(视为已完成)

7.可以浏览已完成的服务信息

管理人员:

1.可以登录

2.可以有选择的查看所有服务信息

3.可以接受或拒绝用户请求的新服务

 

三、创建系统用例模型

根据家政服务管理系统,我们可以确定以下用例模型。

图3-1顾客用例图

用例名称登录

用例目标当用户刚开始使用系统时用例开始.它处理用户登录问题。

当用户登录成功后用例结束

级别子功能

活动者用户

状态只定义了初始路径

前置条件无

后置条件用户成功登录

主路径用户登录

可选路径用户放弃登录,关闭网站

例外路径用户输入的密码有误。

返回主路径的起始点,重新输入正确的密码。

 

用例名称请求新服务

用例目标当用户请求新家政服务时用例开始。

它处理请求新服务问题。

当用户提交新服务后用例结束

级别子功能

活动者用户

状态只定义了初始路径

前置条件用户登录

后置条件新服务被提交

主路径用户请求新服务

可选路径用户放弃请求新服务,返回主页

例外路径无

 

用例名称浏览自己已提交但未被处理的服务信息

用例目标当用户浏览自己已提交但未被处理的服务信息时用例开始.它处理用户浏览自己已提交但未被处理的服务信息问题.当用户跳转到其余页面后用例结束

级别子功能

活动者用户

状态只定义了初始路径

前置条件用户登录

后置条件跳转到其余页面

主路径用户浏览自己已提交但未被处理的服务信息

可选路径无

例外路径无

 

用例名称可以浏览自己已提交并被接受的服务信息

用例目标当用户可以浏览自己已提交并被接受的服务信息时用例开始。

它处理用户浏览自己已提交并被接受的服务信息问题。

当用户跳转到其余页面后用例结束

级别子功能

活动者用户

状态只定义了初始路径

前置条件用户登录

后置条件跳转到其余页面

主路径用户浏览自己已提交并被接受的服务信息

可选路径无

例外路径无

 

用例名称确认并评价服务

用例目标当用户确认并评价服务时用例开始。

它处理用户确认并评价服务问题.当用户评价结束后用例结束

级别子功能

活动者用户

状态只定义了初始路径

前置条件用户登录

后置条件评价完成

主路径用户确认并评价服务

可选路径放弃评价

例外路径无

 

用例名称浏览已完成服务信息

用例目标当用户浏览已完成服务信息时用例开始。

它处理用户浏览已完成服务信息问题。

当用户跳转到其它页面后用例结束

级别子功能

活动者用户

状态只定义了初始路径

前置条件用户登录

后置条件跳转到其余页面

主路径用户浏览已完成服务信息

可选路径无

例外路径无

 

图3-2管理人员用例图

用例名称登录

用例目标当管理人员刚开始使用系统时用例开始.它处理管理人员登录问题。

当管理人员登录成功后用例结束

级别子功能

活动者管理人员

状态只定义了初始路径

前置条件无

后置条件管理人员成功登录

主路径管理人员登录

可选路径管理人员放弃登录,关闭网站

例外路径管理人员输入的密码有误。

返回主路径起始点,重新输入密码.

 

用例名称接受或拒绝用户新请求

用例目标当管理人员接受或拒绝用户新请求时用例开始。

它处理管理人员接受或拒绝用户新请求问题。

当管理人员接受或拒绝用户新请求成功后用例结束

级别子功能

活动者管理人员

状态只定义了初始路径

前置条件管理人员登录

后置条件管理人员接受或拒绝用户新请求成功

主路径管理人员接受或拒绝用户新请求

可选路径无

例外路径无

 

用例名称浏览家政服务信息

用例目标当管理人员浏览服务信息时用例开始。

它处理管理人员浏览服务信息问题.当用户跳转到其它页面后用例结束

级别子功能

活动者管理人员

状态只定义了初始路径

前置条件管理人员登录

后置条件跳转到其余页面

主路径管理人员浏览服务信息

可选路径无

例外路径无

四、创建系统静态模型

本系统创建四个类,即顾客类(customer)、管理人员类(management)、服务信息类(information)和数据库处理类(database)。

顾客类:

主要属性有userId(顾客编号)、name(顾客账号)和password(顾客密码);主要操作有getName(获取顾客账号)、getPwd(获取顾客密码)和checkCust(验证顾客)。

管理人员类:

主要属性有userId(管理人员编号)、name(管理人员账号)和password(管理人员密码);主要操作有getName(获取管理人员账号)、getPwd(获取管理人员密码)和checkCust(验证管理人员)。

服务信息类:

主要属性有id(编号)、category(类别)、time(时间)、passengers(人次)、state(状态)、comfirm(确认)和evaluation(评价);主要操作有getInfor(获取服务信息)、addNew(添加服务信息)、changeState(修改服务信息状态)、doComfirm(进行服务信息确认)和doEvaluation(进行服务信息评价).

数据库处理类:

主要属性有connstr(数据库连接字符串)、conn(数据库连接对象)和result(数据集对象);主要操作有executeQuery(执行数据操作)、executeUpdate(更新数据库)和getSet(获得查询结果集)。

在家政服务系统中:

顾客类和服务信息类是一对多关系,因为一个顾客可以发布多条服务信息,而一条服务信息只能属于一个顾客.

管理人员类和服务信息类是一对多关系,因为一个管理人员可以管理多条服务信息。

服务信息类和数据库处理类是一对一关系,服务信息处理离不开数据库处理.

图4—1系统类图

家政服务系统采用多层构架设计模式,把系统分成表示层、控制层、业务层和数据访问层四个层。

对系统进行组织分为对应四个包,即表示层包、控制层包、业务层包和数据访问层包。

另外,再加上处理系统各种错误的错误信息处理包。

这五种包之间存在相互依赖的关系。

图4-2系统包图

五、创建系统动态模型

序列图和协作图

通过前面用例,获得重要交互行为:

1)用户请求新服务和确认评价服务和查看。

2)管理人员处理新服务和查看。

1)用户请求新服务和确认评价服务和查看用例具体工作流程。

(1)顾客进入登录界面,输入账号密码进行提交.

(2)登录成功后,进入系统主页。

主页显示操作。

(3)在请求新服务信息页面可以添加新服务信息。

(4)数据库处理新服务信息。

(5)在确认评价页面可以确认评价服务。

(6)数据库处理服务信息.

(7)在浏览页面可以查看服务信息。

(8)使用结束后退出网站。

图5-1顾客顺序图

图5—2顾客协作图

 

2)管理人员处理新服务和查看用例具体工作流程。

(1)管理人员进入登录界面,输入账号密码进行提交。

(2)登录成功后,进入系统主页.主页显示操作。

(3)在处理新服务信息页面可以处理新服务信息。

(4)数据库处理服务信息。

(5)在浏览页面可以查看服务信息。

(6)使用结束后退出网站.

图5-3管理人员顺序图

图5—4管理人员协作图

 

根据家政服务管理系统,可以创建主要活动图:

1)顾客活动图.

2)管理人员活动图。

1)顾客活动图。

(1)进入登录界面.

(2)输入帐号密码,成功后进入顾客主页。

失败重新输入账号密码,重新登录。

(3)顾客在主页可以选择请求新服务.

(4)顾客在主页可以选择浏览未处理服务。

(5)顾客在主页可以选择浏览已被接受服务.

(6)顾客在主页可以选择对已被接受服务进行确认和评价。

(7)顾客在主页可以选择浏览已完成服务。

(8)注销登录,退出。

图5-5顾客活动图

 

2)管理人员活动图.

(1)进入登录界面。

(2)输入帐号密码,成功后进入管理人员主页。

失败重新输入账号密码,重新登录。

(3)管理人员在主页可以选择处理新服务信息。

(4)管理人员在主页可以选择浏览所有服务信息。

(8)注销登录,退出。

图5—6管理人员活动图

六、创建系统部署模型

构件图:

在家政服务管理系统中,可以对系统的主要参与者和主要业务实体类分别创建对应的构件进行映射.根据类图创建系统的构件图,包括顾客构件、管理人员构件、服务信息构件、数据库服务构件。

除此之外,众多的Web页面组成一个总的界面构件,而所有的构件又形成了Web主程序。

图6—1系统构件图

部署图:

系统部署图描绘的是系统节点上运行资源的安排.在家政服务管理系统中,系统包括3种节点:

(1)数据库服务器节点:

负责数据存储和处理。

(2)Web系统服务器节点:

发布Web应用程序.

(3)Web浏览器节点:

即客户端节点,用户在浏览器上进行的各种操作。

图6-2系统部署图

七、系统数据库的设计与实现

根据系统要求,可以得出以下E—R图和数据库表:

图7-1顾客E-R图

图7-2管理人员E-R图

图7-3信息E-R图

图7-4总体E—R图

表7-1顾客表

字段名

数据类型

说明

userId

int

编号

name

int

账号

password

int

密码

表7—2管理人员表

字段名

数据类型

说明

userId

int

编号

name

int

账号

password

int

密码

表7-3服务信息表

字段名

数据类型

说明

id

int

编号

category

int

选择

time

int

时间

passengers

int

人次

state

int

状态

confirm

int

确认

evaluation

int

评价

八、家政服务管理系统的实现

进入登陆界面.如图8-1

图8-1登陆界面图

jsp"method="post”name=”fo"〉//用from表单提交账号密码

intname=Integer.parseInt(request.getParameter(”name”));//接收提交的值

ntpassword=Integer。

parseInt(request.getParameter(”password”));

Strings=request.getParameter("typ”);

Class。

forName(”com.mysql。

jdbc。

Driver")。

newInstance();//连接数据库查询

Connectioncon=DriverManager。

getConnection(”jdbc:

mysql:

//127。

0.0.1:

3306/housekeeping”,"root","”);

Statementst=con.createStatement();

ResultSetrst=st.executeQuery("select*fromcustomer”);

if(m==1){response。

sendRedirect("Cmain.jsp”);}else{response.sendRedirect("login.jsp”);}//比较,如果相等,就跳到主页,否则返回登录界面

以顾客身份登陆后进入顾客主界面。

如图8—2

图8—2顾客主页图

jsp"〉请求新服务

〈tr〉〈td〉

jsp”>显示待处理服务信息〈/a>〈/td>〈/tr>

〈tr>〈ahref=”Cshowstate。

jsp”〉显示被接受服务信息

〈tr>

jsp"〉确认以及评价〈/tr〉

〈tr>

jsp”〉显示已完成服务信息〈/a〉〈/td>〈/tr〉

〈tr〉

〈/table〉

在主页请求新服务。

点添加提交服务,点放弃添加可返回主页。

如图8-3

图8-3顾客请求新服务界面图

jsp"method="post”>//表单提交新增服务的信息

〈td〉〈ahref=”Cmain。

jsp"〉放弃添加//放弃添加

Class。

forName("com.mysql。

jdbc.Driver”)。

newInstance();//连接数据库进行插入

Connectioncon=DriverManager.getConnection(”jdbc:

mysql:

//127。

0。

0。

1:

3306/housekeeping","root","");

PreparedStatementpstmt=con.prepareStatement("insertintoinformation(

category,time,passengers,state,confirm,evaluation)values(?

,?

?

,?

)");

response。

sendRedirect("Cmain.jsp");//插入后返回主页

在主页点击浏览待处理业务,进入此界面.如图8-4

图8-4顾客浏览待处理服务图

Class。

forName("com。

mysql。

jdbc.Driver").newInstance();//连接数据库查询

Connectioncon=DriverManager。

getConnection(”jdbc:

mysql:

//127.0。

0。

1:

3306/housekeeping",”root”,”");

Statementst=con.createStatement();ResultSetrst=st.executeQuery(”select*frominformation");

if(state2==0){//显示未处理业务

%>

〈tr〉〈/td〉〈%=category3%>〈/td>〈%=time3%>

〈td〉〈%=passengers3%><%=state3%>〈/td>

〈%}

在主页点击浏览已被受理业务,进入此界面浏览。

如图8—5

图8—5顾客浏览已受理服务图

Class。

forName("com。

mysql.jdbc.Driver”)。

newInstance();//连接数据库查询

Connectioncon=DriverManager。

getConnection("jdbc:

mysql:

//127.0。

0。

1:

3306/housekeeping”,"root”,"");

Statementst=con。

createStatement();ResultSetrst=st.executeQuery("select*frominformation”);

if(state2==1&&confirm2==0){//显示已被受理但未确认业务

%>

〈tr〉〈%=category3%>〈td>〈%=time3%〉〈/td>

〈td〉〈%=state3%〉〈/tr>

<%}

在主页点击浏览确认评价业务,进入此界面可以确认评价服务。

如图8—6

图8-6顾客确认评价服务图

if(state2==1&&confirm2==0){//显示已被受理但未确认业务

%〉

〈tr>〈td〉〈%=id2%〉〈/td〉〈/td>〈%=time3%〉

〈%=passengers3%>〈td〉<%=state3%>〈/td〉

〈ahref=”Ccheck2。

jsp?

id=<%=id2%>”〉确认以及评价〈/td>//提供对某条业务确认

〈/tr>

〈%}

点确认以及评价后对服务进行确认评价,也可放弃回到主页.如图8-7

图8-7顾客确认评价服务图

〈formaction="Ccheck3。

jsp”method=”post"〉//from表单提交数据

//进行评价

〈td〉〈ahref=”Cmain.jsp"〉放弃确认及评价〈/td>//放弃评价

Class.forName("com.mysql。

jdbc.Driver”)。

newInstance();//数据库修改确认评价信息

Connectioncon=DriverManager.getConnection("jdbc:

mysql:

//127。

0.0.1:

3306/housekeeping”,”root”,”");

Stringsql=”updateinformationsetconfirm=?

,evaluation=?

whereid=?

";

PreparedStatementpst=con.prepareStatement(sql);

response.sendRedirect("Cmain.jsp");//返回主页

在主页点击浏览已完成业务,进入此界面浏览。

如图8—8

图8-8顾客浏览已完成服务图

Class。

forName("com.mysql.jdbc.Driver")。

newInstance();//连接数据库查询

Connectioncon=DriverManager.getConnection(”jdbc:

mysql:

//127.0。

0.1:

3306/housekeeping","root",”");

Statementst=con.createStatement();

ResultSetrst=st.executeQuery(”select*frominformation");

if(state2==2){%〉//输出被拒绝服务信息

〈tr〉〈td〉〈%=id2%>〈td〉<%=category3%〉〈td>〈%=time3%>

〈td〉<%=passengers3%〉〈/td><%=state3%>〈/td>

<%}

if(confirm2==1){//输出已确认服务信息

%>

〈%=id2%>〈td>〈%=category3%〉<%=time3%>〈/td〉

〈td〉〈%=passengers3%〉〈/td〉〈td>〈%=evaluation3%〉

〈/tr〉<%}

以管理人员身份登陆后进入管理人员主界面。

如图8—9

图8—9管理人员主页图

//主页表格中有各种操作的超链接

〈ahref=”Mshowall.jsp"〉显示所有服务信息〈/a〉〈/td〉〈td〉〈/td〉

〈tr>〈ahref="login.jsp">退出〈/td>

在主页点击处理新服务,可以接受或拒绝顾客提交的新服务。

也可以不处理返回首页。

如图8-10

图8—10管理人员处理新服务图

if(state2==0){//连接数据库后,只显示未处理信息

%>〈tr〉〈td><%=id2%〉〈/td〉〈td〉〈%=category3%〉〈/td>

〈td〉<%=passengers3%>

〈ahref="Mchangestate2。

jsp?

id=<%=id2%>">接受||//给出接受某条信息的超链接

jsp?

id=〈%=id2%>">拒绝

〈/td>

<%}

intzt=1;//接受某条信息后更新数据库状态为接受

Class.forName("com。

mysql。

jdbc。

Driver”)。

newInstance();

Connectioncon=DriverManager.getConnection(”jdbc:

mysql:

//127.0.0.1:

3306/housekeeping”,"root”,””);

Stringsql="updateinformationsetstate=?

whereid=?

”;

Prep

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

当前位置:首页 > 小学教育 > 语文

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

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