刚学完三层架构,使用三层做了一个简单的酒店管理系统!
先上几张图:
登陆:
主界面:
下面讲一下系统的主要功能模块:
客房类型管理:房间类型名称、房间类型的价格 主要包含增删改查操作
客房信息管理:房间号、床位数、房间状态、房间类型、房间描述 主要包含增删改查操作
餐饮管理:餐饮名称、单位、单价 主要包含增删改查操作
收入统计:年度每月收入(房款、餐饮) 年度总收入(房款、餐饮)
入住登记:客人基本信息、入住日期、入住房间
顾客查询:未结账客户(按时间段查询--退房--打印发票)、已结账客户 查询
系统维护:锁定、退出、修改密码
数据库使用了SQL
Admin:保存用户的登陆帐号和密码
RoomType:房间类型ID、房间类型名称、价格/天
Room:房间ID、房间类型(外键)、房间状态ID(外键)、描述、床位个数
GuestRecord:顾客ID、顾客姓名、性别、身份证号、联系电话、房间ID(外键)、入住状态ID(外键)、入住日期、押金、房款、餐饮消费、退房日期、交易号
RoomState:房间状态ID、房间状态(入住、空闲、维修)
ResideState:房间状态ID、入住状态(未结账、已结账)
DishList:餐饮ID、名称、单位、价格
系统使用三层搭建 用到了UI层、数据访问层、模型层、业务逻辑层、公共层
UI层:负责界面的显示
业务逻辑层:负责业务逻辑的处理
数据访问层:数据库的增删改查操作
模型层:实体类
公共层:通用功能(本系统包含 MD5加密方法、枚举(操作状态)、公共字段)
问题:系统中使用到了IrisSkin进行皮肤的美化,但是在页面切换的时候有闪烁现象,不知道是插件本身的问题还是怎样!最终还是没有解决,如果有好的解决方案请在下方留言...
总结:分层开发的优点:
1、代码复用:如气象局制作了一个服务层用语提供天气预告信息。这样新浪、搜狐这些网站可以利用这个服务层体统的服务,制作天气预告页面。
2、分离开发人员的关注:由于每层仅仅调用相邻下一层所提供的服务,所以只要本次的APIhe相邻下一层的API定义完整,开发人员在开发某一层时就可以集中关注这一层所用的思想、模式和技术、这样等同于将分工带来的生产力提高。
3、无损替换:当业务流程需要调整 如现在需要将Winform程序转换为控制台程序 这时就无需改动数据访问层,只需对UI层进行调整即可
4、降低系统间的依赖:如程序中,表示层只管调用相邻下层的服务,至于下面还有几层?各种数据是怎么来的?怎么存的?都不需要了解,这就大大的降低了系统各职责之间的依赖。
其实还是要根据系统的需求来进行设计,不必完全使用三层进行开发,如有的系统不需要业务逻辑层,有些系统需要增加其他的层。
下面是源代码和数据库脚本的下载地址,供学习交流使用...有什么建议欢迎在下面留言!
http://pan.baidu.com/s/1kTJz5yR