目 录
本系统使用Java语言实现,编写代码的工具是eclipse,为了连接数据库,要下载JDBC驱动,并且改变SQL Server2022的一些配置,例如把SQLEXPRESS的协议中的TCP /IP端口设为1433,并重新启动SQLEXPRESS服务器。
使用Visual Paradigm online绘制初步类图、事件顺序图、功能用例图、优化类图;使用WPS自带的本地流程图绘制状态图、功能级数据流图。
姓名 |
具体工作内容 |
tbc |
(1)完善数据库的创建与连接,配置和导入jdbc (2)编写包connection、包com、包waiter、包zhuce中的代码,修改错误 (3)撰写报告中的需求陈述、初步对象模型、动态模型中的顺序图、功能模型中的用例图、类图优化及说明、人机交互子系统设计中的用户分类、类的关联设计、类中服务的设计、主要界面截图、总结与心得体会、参考的网上资源及文献 |
hyt |
(1)实现数据库的创建与连接,下载jdbc (2)编写包admin、包data、包customer中的代码,修改错误 (3)撰写报告中的设计工具、动态模型中的状态图、功能模型中的数据流图、问题域子系统设计、人机交互子系统设计中的人机交互类设计、数据库设计、核心代码及说明、总结与心得体会、参考的网上资源及文献 |
tbc:负责完善数据库的创建与连接,配置和导入jdbc,编写包connection(数据库的连接)、包com(登陆页面)、包waiter(服务员模块)和包zhuce(注册页面)中的代码,撰写课设报告的需求陈述、初步对象模型、动态模型中的顺序图、功能模型中的用例图、类图优化及说明、人机交互子系统设计中的用户分类、类的关联设计、类中服务的设计、主要界面截图、总结与心得体会、参考的网上资源及文献。
hyt:负责数据库的创建(顾客信息表、服务员信息表、KTV房间表、房间预约单表、房间使用记录表、用户登录表),下载jdbc,编写包admin(管理员模块)、包data(数据库信息的增删改查)、包customer(顾客模块)中的代码,撰写课设报告的设计工具、动态模型中的状态图、功能模型中的数据流图、问题域子系统设计、人机交互子系统设计中的人机交互类设计、数据库设计、核心代码及说明、总结与心得体会、参考的网上资源及文献。
3.1需求陈述
3.1.1用户需求
本系统设计初衷是希望在快节奏的时代,不论是家庭,还是工作场所,亦或是学校,在业余时候,人们能找到一种释放压力疲惫的娱乐方式,也能感受到和朋友与家人聚会的乐趣。顾客来到KTV会开包房消费,但是包房会有大小之分,有不同时长要求,不同类型的包房价格也不同。本系统希望可以按照顾客的需求进行包房分配,并且及时知道包房剩余状态,更方便服务员快捷的进行包房分配,并且服务员可以了解顾客的个人信息,可以准确地为顾客提供服务。KTV厢房管理系统是娱乐场所的一项管理措施,它具有简单的软件特征,系统结构与现实生活紧密结合,具体直观,具有典范的便捷软件特点,操作简单直观,用起来极为方便,使每个用户都能根据自己时间等因素选择可定包厢。因此,KTV厢房管理系统是企业化、智能化、科学化、正规化不可缺少的管理软件。
3.1.2业务流程分析
本系统面向的用户是顾客、服务员和管理员。在选择页面选择不同的身份进入不同的身份界面。下面对于这三个身份对KTV系统的处理不同进行分析:
- 顾客:要在本系统有一个可以登录的账号和密码,如果没有可以注册一个账号和设置密码。顺利登录账号后可以查询KTV房间使用状态(使用中、已预约、空闲中),可以通过输入房间号、价格、推荐人数和使用时间来预约KTV房间并显示预约记录。也可以通过输入房间号来取消预约并给出相应提示。可以查看登录者的个人信息并选择退出系统。
- 服务员:也是要登录或注册一个自己的账号,登录账号后可以按房间号查询顾客预约情况。可以选择查看不同信息:按顾客姓名查询顾客个人信息,按不同的房间状态查询KTV房间预约信息和查看顾客预约记录。可以查看登录者的个人信息并选择退出系统。
- 管理员:登录或注册一个自己的账号,成功登录后可以分别对KTV房间信息、顾客信息、服务员信息进行管理。对KTV房间管理,可以增加、修改、删除KTV房间信息,包括房间号、房间价格、推荐人数和房间状态。对顾客信息管理,同样可以对其进行增加、修改、删除操作,包括顾客账号、姓名、性别、身份证号、联系方式。对服务员信息管理,可以增加、修改、删除服务员信息,包括工号、姓名、账号、性别、联系方式和密码。同样也可以查看登录者的个人信息并选择退出系统。
3.1.3信息需求分析
KTV业务流程中主要涉及了顾客基本信息,服务员基本信息,KTV房间信息,房间预约信息,房间使用记录,用户登录信息。下面举出例子说明。
表1 顾客基本信息(例子)
账号 |
姓名 |
性别 |
身份证号 |
电话号码 |
Daming |
大明 |
男 |
3456789233556 |
123456235665 |
表2服务员基本信息(例子)
工号 |
姓名 |
性别 |
电话号码 |
001 |
张三 |
男 |
2347315465 |
表3 KTV房间信息(例子)
房间号 |
房间价格 |
房间容纳人数 |
房间使用情况 |
A001 |
184 |
4 |
已预约 |
A005 |
200 |
8 |
使用中 |
表4 房间预约信息(例子)
预约单号 |
预约顾客账号 |
预约顾客姓名 |
房间号 |
预约价格 |
1 |
11 |
小红 |
A003 |
388 |
表5 房间使用记录信息(例子)
账号 |
房间号 |
开始使用时间 |
结束使用时间 |
11 |
A001 |
1:00 |
5:00 |
表6 用户登录信息(例子)
账号 |
密码 |
登录身份 |
11 |
1 |
顾客 |
zhangsan |
123456 |
服务员 |
admin |
123456 |
管理员 |
3.1.4功能需求分析
功能需求分析
KTV管理系统主要有三大功能模块。用户方面要求可以查看个人信息,可以查看并预定KTV房间,可以查看并取消预定情况记录。服务员方面功能要求可以查看个人信息、查看顾客预约情况、查看顾客信息、查看KTV房间预约情况。管理员方面,功能要求可以查看个人信息;可以对服务员信息、KTV房间信息和顾客信息进行增加、修改、删除操作,即可以对所有的用户进行管理。
3.2初步的对象模型
以上是一个简单的类图示例,其中包含了顾客、服务员、KTV房间、预约单和用户登录这几个实体的类及其属性和方法。
- 顾客信息和用户登录信息之间的关系是关联关系。顾客信息实体包含一个账号属性,而用户登录信息实体包含一个登录账号属性。通过这个账号属性,可以将顾客和对应的登录信息关联起来。关联关系可以是一对一或一对多,具体取决于业务需求。
- 服务员信息和用户登录信息之间的关系也是关联关系,类似于顾客信息和用户登录信息之间的关系。服务员信息实体包含一个工号属性,而用户登录信息实体包含一个登录账号属性。通过这个工号属性,可以将服务员和对应的登录信息关联起来。
- 预约单信息和顾客信息、KTV房间信息之间的关系是关联关系。预约单信息实体包含顾客账号和KTV房间号属性,通过这两个属性可以将预约单关联到对应的顾客和房间信息上。
- 用户登录信息实体中的角色属性可以表示用户的身份,用于区分顾客、服务员和管理员。这个角色属性与顾客信息、服务员信息、管理员信息之间存在关联关系。
各个类之间的联系:
1.Customer(顾客)和Reservation(预订)之间的联系:
Reservation类中的customerAccount属性引用了Customer类中的accountId属性,表示预订记录与顾客账号的关联。
Reservation类中的customerName属性表示预订记录中的顾客姓名。
2.Waiter(服务员)和Reservation之间的联系:
Waiter类并未直接与Reservation类关联,可能是通过其他途径或业务流程进行关联。
3.KTVRoom(KTV包厢)和Reservation之间的联系:
Reservation类中的roomNumber属性表示预订记录中的包厢编号。
Reservation类中的roomPrice属性表示预订记录中的包厢价格。
KTVRoom类中的checkAvailability()方法可以查询包厢是否可用,与Reservation类中的创建、更新和取消预订等方法相互作用。
4.UserLogin(用户登录)和其他类之间的联系:
UserLogin类代表用户登录信息,与其他类之间可能存在关联,但在当前给出的类图中未显示具体关系。
Customer类和Waiter类都有login()和register()方法,可能与UserLogin类相关。
3.3动态模型
3.3.1 顺序图
3.3.2 状态图
(1)顾客类
(2)服务员类
(3)管理员类