1 逻辑视角

互联网酒店管理系统中,选择了分层体系结构的风格,将系统分为3层(展示层、业务逻辑层、数据层)能够很好的示意整个高层抽象。展示层包括GUI页面的实现,业务逻辑层包含业务逻辑处理的实现,数据层负责数据的持久化和访问。分层体系结构的逻辑视角和逻辑设计方案如图1和图2所示。

2 组合视角

2.1 开发包图

互联网酒店管理系统的最终开发包设计如表1所示:

开发(物理包)

依赖的其他开发包

mainui

orderui, hotelui, userInfoui, accountui, promotionui

orderui

orderblservice, 界面类库包

orderblservice

orderbl

orderblservice, hotelbl, userInfobl, promotionbl, po

orderdataservice

Java RMI, po

orderdata

orderdataservice, databaseutility

hotelui

hotelblservice, 界面类库包

hotelblservice

hotelbl

hotelblservice, orderbl, userInfobl, promotionbl, po

hoteldataservice

Java RMI, po

hoteldata

hoteldataservice, databaseutility

userInfoui

userInfoblservice, 界面类库包

userInfoblservice

userInfobl

userInfoblservice, accountbl, orderbl, hotelbl, po

userInfodataservice

Java RMI, po

userInfodata

userInfodataservice, databaseutility

accountui

accountblservice, 界面类库包

accountblservice

accountbl

accountblservice, userInfobl, hotelbl, po

accountdataservice

Java RMI, po

accountdata

accountdataservice, databaseutility

promotionui

promotionblservice, 界面类库包

promotionblservice

promotionbl

promotionblservice, orderbl, hotelbl, po

promotiondataservice

Java RMI, po

promotiondata

promotiondataservice, databaseutility

vo

po

utilitybl

界面类库包

Java RMI

database utility

客户端开发包图

服务器端开发包图

2.2 运行时进程

在互联网酒店管理系统中,会有多个客户端进程和一个服务器端进程,其进程图如图5所示。结合部署图,客户端进程是在客户端机器上运行,服务器端进程是在服务器端机器上运行。

2.3 物理部署

互联网酒店管理系统中客户端构件是放在客户端机上,服务器端构件是放在服务器端机器上。在客户端节点上,还要部署RMIStub构件。由于Java RMI 构件属于JDK 1.8的一部分。所以,在系统JDK环境已经设置好的情况下,不需要独立部署。部署图如图6所示。

3 接口视角

3.1 模块的职责

客户端模块和服务器端模块视图分别如图和图所示。客户端各层和服务器端各层的职责分别如表和表所示。

客户端模块视图

服务器端模块视图

客户端各层的职责

职责

启动模块

负责初始化网络通信机制,启动用户界面

用户界面层

基于窗口的互联网酒店管理系统客户端用户界面

业务逻辑层

对于用户界面的输入进行响应并进行业务处理逻辑

客户端网络模块

利用Java RMI机制查找RMI服务

服务器端各层的职责

职责

启动模块

负责初始化网络通信机制,启动用户界面

数据层

负责数据的持久化及数据访问接口

服务器端网络模块

利用Java RMI机制开启RMI服务,注册RMI服务

每一层只是使用下方直接接触的层。层与层之间仅仅是通过接口的调用来完成的。层之间调用的接口如表所示。

层之间调用的接口

接口

服务调用方

服务提供方

OrderBLService; HotelBLService; UserInfoBLService; AccountBLService; PromotionBLService

客户端展示层

客户端业务逻辑层

OrderDataService; HotelDataService; UserInfoDataService; AccountDataService; PromotionDataService; DatabaseFactory

客户端业务逻辑层

服务器端数据层

借用客户用例来说明层之间的调用,如图所示。每一层之间都是由上层依赖了一个接口(需接口),而下层实现这个接口(供接口)。UserInfoBLService提供了UserInfo界面所需要的所有业务逻辑功能。UserInfoDataService提供了对数据库的增、删、改、查等操作。这样的实现就大大降低了层与层之间的耦合。

3.2 用户界面层的分解

根据需求,系统存在23个用户界面:登陆界面、客户主界面、酒店主界面、网站营销人员主界面、网站管理人员主界面、个人基本信息界面、评价酒店服务界面、订单信息界面、提交订单界面、撤销订单界面、注册会员界面、获取酒店信息界面、酒店基本信息、执行客户订单界面、恢复客户订单界面、更新退房信息界面、更新入住信息界面、制定酒店促销策略界面、制定网站促销策略界面、信用充值界面、撤销异常订单界面、分析未执行订单情况界面、调整用户界面。界面跳转如图所示。

服务器端和客户端的用户界面设计接口是一致的,只是具体的页面不一样。用户界面类如图所示。

3.2.1 用户界面层模块的职责

如表所示为用户界面层模块的职责。

模块

职责

MainFrame

界面Frame,负责界面的显示和界面的跳转

3.2.2 用户界面层模块的接口规范

用户界面层模块的接口规范如表所示。

MainFrame

语法

Init(args:String[])

前置条件

后置条件

显示Frame以及LoginPanel

用户界面层需要的服务接口如表所示。

服务名

服务

businesslogicservice.LoginBLService

登陆界面的业务逻辑接口

businesslogicservice.*BLService

每个界面都有一个相应的业务逻辑接口

3.2.3 用户界面模块设计原理

用户界面利用JavaFX的API来实现。

3.3 业务逻辑层的分解

业务逻辑层包括多个针对界面的业务逻辑处理对象。例如,Order对象负责处理订单界面的业务逻辑。业务逻辑层的设计如图所示。

业务逻辑层模块职责如表所示。

模块

职责

orderbl

负责处理和订单相关的服务

hotelbl

负责处理和酒店退订房相关的服务

userInfobl

负责处理和用户信息相关的服务

accountbl

负责处理和用户账号相关的服务

promotionbl

负责处理和促销策略相关的服务

3.4 数据层的分解

数据层主要给业务逻辑层提供数据访问服务,包括对于持久化数据的增、删、改、查。数据层模块的描述具体如下图所示。

4 信息视角

4.1 数据持久化对象

系统的PO类就是对应的相关的实体类,如下所示。

OrderPO类包括订单的编号(订单号为13位0~9的数字,前8位为当前日期,后5位由系统随机生成,日期格式为:yyyy-mm-dd,因此一天最多可以生成100,000条订单),开始时间,退房时间,最晚订单执行时间,房间类型,房间数量,预计入住人数,儿童数,订单状态(包括已执行、未执行、已撤销、异常),价格(大于等于0、精确到小数点后2位的浮点数),折扣,折扣后总额

HotelPO类包括酒店名称,地址,所属商圈,联系方式,简介,评分,评价,空余房间数,房间总数

UserInfoPO类包括客户的编号(格式为一个字母加5位0~9数字,普通客户以“N”开头,企业客户以“E”开头),用户名,密码,分类(普通客户、企业客户),联系方式,信用值,企业名称,生日(日期格式为:yyyy-mm-dd)

AccountPO类包括用户的编号(用户账号统一采用一个字母加5位0~9数字格式,网站管理人员账号以“A”开头,网站营销人员账号以“M”开头,酒店以“H”开头,普通会员账号以“N”开头,企业会员账号以“E”开头),密码

PromotionPO类是HotelPromotionPO和MarketPromotionPO的父类

HotelPromotionPO类包括促销类型,开始日期,结束日期(日期格式为:yyyy-mm-dd),活动名称,活动折扣;生日折扣;房间数,房间数折扣;企业折扣

MarketPromotionPO类包括促销类型,开始日期,结束日期(日期格式为:yyyy-mm-dd),活动名称,活动折扣,活动简介;商圈名称,商圈等级,商圈折扣;会员等级,每次升级所需的信用值,每个等级对应的折扣

4.2 Txt持久化格式

统一用*.ser格式

4.3 数据库表

数据库中包含Order表,Hotel表,UserInfo表,Account表,HotelPromotion表,MarketPromotion表

5 原型设计

个人基本信息界面

客户主界面

提交订单界面

网站管理人员主界面

网站营销人员主界面

订单列表界面

酒店主界面

酒店基本信息界面

基于java酒店管理系统_课内资源 - 基于JAVA实现的互联网酒店管理系统相关推荐

  1. java swing 组织机构_课内资源 - 基于Java Swing的小型社团成员管理系统

    一.需求分析 1.1 个人信息 学号.姓名.性别.年级.系别.专业.出生日期.联系方式.个性签名.地址.照片. 1.2 基本功能要求管理员信息管理 登录.注销功能 修改密码功能 部落成员信息管理 添加 ...

  2. python+diango写酒店管理系统_课内资源 - 基于Python的Django框架实现的中式快餐厅管理信息系统网站...

    1 初步调研 随着餐饮业的连锁和国外餐饮巨头的进入,餐饮业的竞争将越来越激烈:要想在竞争中处于不败之地,必须在管理.服务等方面提高服务管理意识.面对当前餐饮业普遍的产业化程度低,管理手段.管理技术落后 ...

  3. java基本语法借阅_课内资源 - 基于Java和MySql实现的光盘借阅管理系统

    一.需求设计以下几个类:光盘类:用户类:借阅记录类,包括下列模块: 新建.修改.删除光盘信息 新建.修改.删除用户信息 光盘借阅/归还信息记录 查询光盘名称,用户的借阅历史 要求:基于JFrame窗体 ...

  4. jsp mysql问卷调查_课内资源 - 基于JSP的在线调查问卷系统

    一.系统架构图 用户登入功能,由login.jsp页面和LoginServlet.java组成,页面用于填写用户名和密码:Servlet用于验证是否可以登入,如果能够登入,则将用户登入时间记录到数据库 ...

  5. java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统

    摘 要 随着科技的快速发展,人们的需求也是越来越多,为了方便对信息的管理我们小组就设计了一个洗衣店订单的管理系统. 洗衣店管理系统是典型的的信息管理系统,创建了六个类,分别是:Test类:Person ...

  6. java编程彩球滑梯作弊_课内资源 - 基于C++的学生成绩管理系统

    1 系统分析 1.1 学生成绩管理系统介绍 班主任管家软件以学生信息.课程信息为基础,以品行表现成绩(辅导员.班主任.班级评议成绩)和业务课程成绩为评价依据,每学期评定一次奖学金,奖学金作为学生评定各 ...

  7. java 图形处理_课内资源 - 基于Java实现的几何图形处理系统

    1 综述 针对<计算机图形学>课程开发的几何图形处理系统实现的功能包括:在UI界面中通过鼠标点击拖拽等方式可视化地输入二维图形的功能:编辑最近输入的二维图形的功能:裁剪直线的功能,支持的图 ...

  8. 停车场管理系统 java_课内资源 - 基于JAVA的停车场管理系统

    第一章 概述 1.1 项目背景 车辆越来越多的今天,停车场只靠人工管理显然难度已经是提高很多,所以应该开发出便于管理记录的停车场管理系统来帮助对停车场进行管理. 1.2 软件定义 一款帮助停车场管理员 ...

  9. mysql请假表需要什么_课内资源 - 基于JSP和MYSQL数据库实现的请假管理系统

    1 系统概述 1.1 系统说明 该系统用于海宁市医院的员工请假的专用请假系统,将员工请假的申请.审批.查询流程规范化,并进行必要的记录,为后面奖金的发放和人事升迁做参考. 同时该系统还支持管理员对用户 ...

最新文章

  1. 关键任务应用程序依赖于故障保护存储器
  2. How to add and configure jetty server in maven pom.xml
  3. 包区别 版本_详解Linux下二进制包、源代码包、rpm包区别与联系
  4. SAP几则常用的BASIS技巧整理
  5. C++ Applications
  6. 怎么知道eclipse的workspace的路径
  7. rabbitmq视频教程,面试官:
  8. mybatisplus 结果_MyBatis Plus 将查询结果封装到指定实体
  9. textbox内容转为字符串_【公告】整改文章内容
  10. PGM:基于模板的表示
  11. 计算机应用中英文缩写ai表示,2010黑龙江省全国计算机等级考试二级VB笔试试卷及参考答案考试重点和考试技巧...
  12. datagrid删除所有行卡住_MySQL ------ 删除数据(DELETE) (二十二)
  13. 计算机组成原理试题库10,计算机组成原理试题10
  14. delphi math 单元函数
  15. 2200p如何连接wifi打印_柯尼卡美能达2200P打印机使用介绍
  16. Start Developing iOS Apps (Swift) 中文翻译版
  17. 学习正则表达式 - 18位身份证号
  18. Android wms粗略介绍
  19. 主机屋虚拟主机php版本,5款免费虚拟主机管理系统(云虚拟主机管理)
  20. 1121. Damn Single (25)

热门文章

  1. 把w3schools英文版的所有属性扒下来了,免费分享。
  2. [4G+5G专题-133]: 部署 - 4G/5G常见的室内部署方案
  3. adb命令报错 error: no devices found 的解决办法
  4. C#中PictureBox异步加载图片
  5. svn和git的选择
  6. 给小白的Java EE生存指南(4) : 一只叫Tom的猫
  7. 10次面试9次被刷?500道Java面试题让你怒斩offer
  8. 心脏支架手术后后背酸痛 治疗冠心病并非心脏支架手术不可
  9. 帮父母揉肩捶背,轻松脊椎
  10. apk软件管理——玩转alpine linux