java影碟租赁管理系统
实验任务书 002——影碟租借管理系统

《软件工程》实验任务书编号:002适用专业:计科、信管教研室:计算机教研室说明1、该实验任务书是专门为福建师范大学协和学院相关专业软件工程课程设计的,请勿随意复制传播。
2、每个参与软件工程课程学习的学生在课程初期自由组合成为实验小组,共同完成任务书中的实验要求。
3、任务书中对整学期的课程实验任务有明确的规定,包括软件总体描述、主要功能要求、数据环境要求、人机交互界面要求等。
每个实验小组必须在相应时间内(中期检查和期末检查)完成必须完成的实验任务,编制相应的文档和代码,并填写好实验报告,及时提交给任课教师。
4、任务书并没有将目标软件的需求规定的非常严格,有意缺少某些关键需求。
希望参加实验的学生仔细观察、仔细分析,自己拟定完善这些需求,或者与任课教师协商确定需求。
此环节也属实验考核部分之一。
5、任务书内安排任务是整学期的实验任务,每个实验小组的组长有责任、有义务的安排好本组的实验计划和任务安排。
目标系统名称:影碟租借管理系统系统简要说明:这是为一个图书馆的影像资料租借业务定制开发的一个管理系统。
有工作人员5人,其中,有负责人1名,日常管理人员4人。
馆藏影像资料繁多,分为20多个大类,以DVD形式保存。
对目标系统的基本要求:1、对职工档案进行简单管理。
特别是对新职工的登记,职工工作岗位的调动、权限调整、退休及离职管理等。
2、对读者及借书证档案管理。
3、对影像资料档案管理。
主要进行相关信息的登记、变更、报废等。
4、对资料借阅进行管理。
对读者提出的借阅要求先进行资格审查,对不符合条件的读者不办理借书手续。
如果借阅资料为大型资料(超过15张DVD),则只能借阅资料的一部分。
5、对资料归还进行管理。
当读者归还资料时,进行图书检查,并计算罚款。
6、预约功能。
读者可以对以借出的资料进行预约,当资料归还时,可以按照预约顺序通知读者。
7、为读者提供罚款记录查询。
8、能简单对系统参数进行设置和调整。
9、人机界面简洁方便,减少人工劳动强度。
影碟出租管理

计算机学院数据库课程设计《影碟出租管理系统》数据库课程设计目录第一章系统概述 (1)1.1 系统背景 (1)1.2 系统目的及意义 (1)第二章系统需求分析 (2)2.1用户需求 (2)2.2数据流图 (3)2.3数据字典 (4)2.4数据结构 (5)第三章系统数据库设计 (6)3.1系统E-R图 (6)3.2数据库概念模型(CDM)设计 (8)3.3数据库概念模型(PDM)设计 (9)第四章系统数据库对象设计 (10)4.1 索引设计 (10)4.2 视图设计 (10)4.3 约束设计 (13)4.4 函数设计 (13)4.5 存储过程设计 (24)第五章个人总结 (25)参考文献 (26)第一章系统概述1.1 系统背景近几年Internet的飞速发展使得网络与人们生活,工作的关系越来越密切,为了适应信息社会迅猛发展的浪潮,企业必须在网上构筑全新的电子商务运营模式。
在线租借及购物作为电子商务的一个重要组成部分,使企业能够通过Internet以一种快速方便的方式为客户提供最新的商品和服务信息,完善的在线租赁和购物渠道,使客户足不出户就可以购到满意的商品,享受现代化的服务。
交互式的销售渠道能够使企业降低成本,增强与客户间的联系,及时得到市场反馈,从而增强自身的竞争力和凝聚力。
同时,这种新型的经营模式不应该脱离企业已有的信息系统,应该在已有的信息系统的基础上增强新的服务,这些服务必须便于全球范围内的客户使用。
本文研究的基于Java技术的Web应用的实例——影碟租赁管理系统,正是在这种背景下进行。
1.2 系统目的及意义在进入网络时代的今天,传统的靠门面经营的影碟租赁店已经难以找到新的业务增长点,而网上销售和服务则成了新的增长点,这也是传统商店迎接网络商店挑战的必由出路。
由于影碟的经营门槛较低,只要流动经费充足,马上就可开业,因此,中小型的影碟租赁商店逐渐增多,竞争日趋激烈,利润空间有限。
在这种情况下,如何节约成本,提高资金的流通率、提高影碟店的知名度、增强商店宣传的力度成为影碟店急需考虑的问题。
基于java的音像制品出租店管理系统

长沙理工大学《软件工程》课程设计报告基于JA V A的音像制品出租店管理系统课程设计任务书城南学院计算机科学与技术专业课程设计成绩评定学院城南学院专业计算机科学与技术班级计0903班指导教师胡立辉课程成绩完成日期2012年10月08日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见基于Java的音像制品出租店管理系统摘要:本课程设计设计并实现了一个音像店出租管理系统,文中研究了与系统相关的技术;分析了系统功能、性能和数据的需求,设计了系统架构、系统功能和数据库,运用MyEclipse为开发工具,采用C/S结构,后台使用SQL Server 2005进行数据库的连接和管理。
完成了音像租借管理中包括音像制品信息、顾客信息的新增,租借、归还处理的记录以及相关数据的统计、查询、修改等音像租借管理的功能。
基本解决了管理上的手工复杂工作流程,提高了系统信息的安全性。
本系统本着与时俱进的方针,从符合操作简便、界面友好、灵活、实用、安全的要求出发,对音像制品的租赁管理实现了规范化,非常适合于中小型音像租赁店的日常工作管理。
关键字:音像租借;管理系统;MyEclipse;SQL Server 2005;数据库The Renting Management System of Audio and Video Products Store Base on JavaAbstract: The paper designing and implying a Management System of Audio and Video Products Renting, In the paper analysis the technology associated with the system; analysis of system functionality, performance and data needs, design the system architecture, system functions, and database, This system is to use MyEclipse development tools, the use of C/S structure, the background using an SQL Server 2005 database connectivity and management ,and to complete the whole renting process of Audio and Video products, which include: products information and costumer information adding, rent and return records, as well as other related statistics recording, inquiring and changing. This system solves the hand on the management of complex workflows; improve the security of the system information.This system is updated, easily operated, vision-friendly, flexible, practical and safe. It can regulate the management of Audio and Video products renting business, especially for the daily use of those medium or small companies.Key words: Audio and Video Products Rent; Management System; MyEclipse;SQL Server 2005;Database目录1绪论 (1)1.1课程设计开发背景及意义 (1)1.2音像店出租管理系统的应用现状 (2)1.3课程设计的结构安排 (2)2技术与工具介绍 (3)2.1应用的相关技术 (3)2.1.1C/S模式 (3)2.1.2JA VA编程语言 (3)2.2开发工具介绍 (4)2.2.1MYECLIPSE简介 (5)2.2.2SQLSEVER2005简介 (5)3需求分析 (6)3.1系统用例图和用例描述 (6)3.2功能需求 (8)3.3数据需求 (9)4概要设计 (11)4.1系统设计思想 (11)4.2系统功能设计 (12)4.3系统功能模块划分 (13)4.4数据库设计 (13)5详细设计与实现 (17)5.1登录模块 (17)5.1.1登录模块概述 (17)5.1.2登录模块流程和分析 (17)5.1.3登录模块实现 (18)5.2主界面 (18)5.2.1主界面模块概述 (18)5.2.2主界面模块分析 (18)5.2.3主界面模块实现 (18)5.3基础数据维护 (19)5.3.1顾客信息管理 (19)5.3.2音像类别管理 (21)5.3.3音像制品信息管理 (23)5.4音像制品订购管理 (25)5.4.1音像订购管理 (25)5.4.2音像验收管理 (26)5.5租赁及查询管理 (27)5.5.1音像制品租借 (27)5.5.2音像制品归还 (28)5.5.3音像制品查询 (29)5.6系统维护 (30)5.6.1更改密码 (30)5.6.2用户信息管理 (30)5.7快捷工具栏 (31)6系统测试 (32)6.1测试方法 (32)6.2测试环境 (32)6.3功能测试 (33)结束语 (35)参考文献 (36)附录 (37)1绪论本章是课程设计的绪论部分,将讲述课程设计开发背景、意义、系统应用现状以及课程设计要完成的工作。
java影碟租赁管理系统

题目影碟出租管理系统院系专业计算机科学与技术学生姓名学号指导教师职称目录第一章绪论 (1)1.1 课题研究背景 (1)1.2 课题的研究现状 (1)1.3 课题的研究目标 (2)1.4 论文的组织结构 (2)第二章需求分析 (3)2.1系统需求分析 (3)2.1.1需求分析的文字表述 (3)2.1.2各子系统的功能 (4)2.2 数据流图 (5)2.3数据结构 (8)2.4系统的构架与功能 (9)2.4.1 影碟管理子系统 (9)2.4.1 业务受理子系统 (9)2.4.1 影碟查询子系统 (9)2.5 系统运行环境 (9)2.6 系统主要开发工具 (10)第三章概要设计 (11)3.1基本设计概念与处理流程 (11)3.2 管理员操作界面用例图 (12)第四章详细设计 (13)4.1 界面设计 (13)4.1.1 影碟管理系统首页 (13)4.1.2 登陆界面 (13)4.1.3 租者管理界面 (14)4.1.4影碟管理界面 (14)4.1.5 影碟出租界面 (15)4.1.6影碟续租界面 (15)4.1.7影碟归还界面 (16)4.1.8影碟档案查询界面 (16)4.1.9影碟出租查询界面 (17)4.1.10影碟出租到期提醒界面 (17)4.1.11添加影碟信息界面 (18)4.1.12添加租者信息界面 (19)4.1.13登陆错误界面 (19)4.1.14各种提示框界面 (20)4.2.创建数据库及数据表 (20)第五章软件测试 (22)5.1 测试目的 (22)5.2 测试条件 (22)5.2.1 系统的选择 (22)5.2.2 人员选择 (22)5.3 测试方法 (22)5.4 测试用例 (22)5.4.1 登陆.注册.增加.删除.查询.预订.模块测试 (22)5.4.2 预订模块测试用例 (24)第一章绪论1.1 课题研究背景近几年Internet的飞速发展使得网络与人们生活,工作的关系越来越密切,为了适应信息社会迅猛发展的浪潮,企业必须在网上构筑全新的电子商务运营模式。
影碟出租信息管理系统的设计

影碟出租信息管理系统的设计随着多媒体技术和网络通信技术的发展,基于InterNET的计算机远程教学作为一种全新的教学手段,越来越受到人们的关注。
计算机远程教学是指利用多媒体技术和网络通信技术,在网络环境下开展的教学活动。
它有着传统教学模式所无可比拟的优点,它创造了一种全新的教学模式,打破了传统教学模式在时间、空间上的限制,采用了先进的教学手段和教学方法,大大提高了教学效率和教学效果,使教学活动上了一个新台阶。
数据库应用技术的发展,越来越多的软件开发人员和爱好者希望了解并掌握开发数据库应用程序的方法,而目前市场中,影碟出租系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
因此本人结合开放式影碟馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理,数据库技术进行了较深入的学习和应用,主要完成对影碟出租管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
关键词:数据库, SQL语句, SQL Server等等。
Abstract:Along with multimedia technical and the NETwork correspondence technology development, based on the InterNET computer long-distance teaching takes one brand-new teaching method, more and more receives people’s attention. The computer long-distance teaching is refers uses multimedia technical and the NETwork correspondence technology, develops under the NETwork environment teaching activity. It has the traditional teaching pattern incomparable merit, it created one kind of brand-new teaching pattern, broke the traditional teaching pattern in the time, the spatial limit, used the advanced teaching method and the teaching method, and greatly enhanced the teaching efficiency and the teaching effect, caused in the teaching activity one new stair. The database application technology development, more and more many software developers and the amateur hopes understands and grASPs development database application procedure method, but in the present market, the video compact disk hiring system is the typical information management system (MIS), its development mainly includes the backstage database the establishment and the maintenance as well as front end the applicationprocedure development two ASPects. Establishes the data uniformity and the integrity regarding former request is strong, the data security good database. But requests the application procedure function regarding latter to be complete, is easy to use and so on the characteristic. Therefore personally unifies the opening -like video compact disk hall the request, to MS SQL the Server2000 database management system, the SQL language principle, the database technology carried on a more thorough study and the application, mainly completed to the video compact disk hiring management system demand analysis, the function module division, the database pattern analysis, and from this designed the database structure and the application procedure.Keywords:Data-base,SQL sentence,SQL Server and so on.目录论文摘要 1ABSTRACT 1第1章绪论31.1 数据库应用系统开发简介31.2 数据库系统31.3 影碟管理系统31.4 系统所做的工作4第2章数据库的理论知识42.1 SQL SERVER简介42.2 SQL SERVER语言简介42.3 SQLSERVER数据库操作语句6第3章VB与数据库的设计83.1 VB与SQL SERVER概述83.2使用ADO来访问数据库93.3ADO组件主要提供了以下七个对象和四个集合来访问数据库10第4章影碟出租系统应用程序设计114.1 系统窗体模块组成以及数据模块窗体的功能11 4.2 影碟管理系统数据库设计22第5章影碟出租系统的代码实现255.1数据模块窗体的设置255.2 数据库系统设计265.3利用ER方法进行数据库的概念设计265.4 关系数据库的逻辑设计28结束语29致谢30参考文献31第1章绪论1.1 数据库应用系统开发简介。
DVD租赁管理系统实验报告

1.JAVA 课程设计任务书 (2)2. 系统功能结构框图 (3)3. 数据库设计 (4)3.1 Admin 的设计和实现 (4)3.2 DvdInfo 的设计和实现 (4)3.3 DvdTypeId 的设计和实现 (5)3.4 关系图的搭建 (5)4. 系统设计 (6)4.1实体层:vo (6)4.1.1 admin (6)4.1.2 DvdInfo (6)4.1.3 DvdId (6)4.2 数据访问层: Dao (7)4.2.1 admin (7)4.2.2 Dvd (8)4.2.3 BaseDao (13)4.3 业务层:biz (16)4.3.1 admin (16)4.3.2 DvdBiz (17)4.4 页面显示:util (17)4.4.1 定义菜单类Menu,显示操作界面 (17)4.5封装类:Manger (18)4.5测试层:test (25)5. 系统的使用 (25)5.1欢迎菜单 (25)5.2 登录 (25)5.3 管理员管理 (26)5.4 Dvd管理 (27)5.4.1查询DVD数量 (27)5.4.2 按DVD编号查询DVD信息 (27)5.4.3按名称查询DVD信息 (27)5.4.4按种类编号查询DVD信息 (28)5.4.5修改DVD信息 (28)5.4.6添加DVD信息 (28)5.4.7删除DVD信息 (29)5.4.8查看租赁排名(按借出数量) (29)5.4.9退出 (29)6.日志 (29)7. 心得体会 (30)8. 参考文献 (30)致谢 (30)1.JAVA 课程设计任务书2.系统功能结构框图3.数据库设计3.1 Admin 的设计和实现3.2 DvdInfo 的设计和实现3.3 DvdTypeId 的设计和实现3.4 关系图的搭建4.系统设计4.1实体层:vo4.1.1 admin定义管理员类,实现管理员的基本信息的设置和获取public Admin(int id, String uname, String upwd) { super();Id = id;this.uname = uname;this.upwd = upwd;}public Admin() {super();}public int getId() {return Id;}public void setId(int id) {Id = id;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpwd() {return upwd;}public void setUpwd(String upwd) {this.upwd = upwd;}4.1.2 DvdInfo定义DvdInfo类,实现DvdInfo的基本信息的设置和获取方法:通过get....()和set....()函数实现4.1.3 DvdId定义DvdId类,实现DvdId的基本信息的设置和获取方法:通过get....()和set....()函数实现4.2 数据访问层: Dao4.2.1 admin1.定义接口IAdminDao定义管理员类的功能public interface IAdminDao {public Admin getAdmin(String uname,String pwd);public int addAdmin(Admin admin);}2.定义接口IAdminDao接口的派生类AdminDao实现接口IAdminDao定义的功能public int addAdmin(Admin admin) {// TODO Auto-generated method stubint count=0;//创建SQL命令String sql="INSERT INTO admin values(?,?)";Object []params={admin.getUname(),admin.getUpwd()};count=super.excuteUpdate(sql, params);return count;}@Overridepublic Admin getAdmin(String uname, String upwd) {// TODO Auto-generated method stubAdmin admin=null;//创建SQL命令String sql="SELECT Id, uname, upwd FROM [Admin] WHERE uname=? And upwd=? ";//创建参数数组Object[] params={uname,upwd};//执行查询返回结果rs=super.excuteQuery(sql, params);try {while(rs.next()){admin=new Admin();admin.setId(rs.getInt("id"));admin.setUname(rs.getString("uname"));admin.setUpwd(rs.getString("upwd"));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return admin;}4.2.2 Dvd1.定义接口IDvdDao定义DVD管理系统的基本功能/*** 查询DVD数量*/public int dvdCount();/*** 按DVDId查询DVD信息* @param* @return*/public DvdInfo getDvdInfoById(int DvdId);/*** 按姓名查询* @param name* @return*/public List<DvdInfo> getDvdInfoByName(String name);/*** 删除DVD信息* @param dvdid* @return*/public int delDvd(int Dvdid);/*** 更新数据* @param dvd* @return*/public int updateDvd(DvdInfo dvd);/*** 增加Dvd信息*/public int adddateDvd(DvdInfo dvd);* 按DVD种类id查询* @param dvdTypeId* @return*/public List<DvdInfo> getDvdInfoByTypeId(int dvdTypeId);/*** 按冒泡排序法查看租赁排名*/p ublic List<DvdInfo> sortDvdInfoBylendcount();2.定义接口IDvdDao的派生类DvdDaoImpl实现接口IDvdDao 的功能public int dvdCount() {int count=0;//编写SQL命令String sql="SELECT COUNT(dvdid) as dvdcount FROM DvdInfo";//创建参数数组Object[] params=null;//调用BaseDao中的查询方法返回结果rs=super.excuteQuery(sql, params);try {if(rs.next()){count=rs.getInt("dvdcount");}} catch (SQLException e) {e.printStackTrace();}finally{super.closeAll();}return count;}/*** 按Dvdid查询dvd信息*/@Overridepublic DvdInfo getDvdInfoById(int DvdId) {//编写SQL命令String sql="SELECT DvdId, DvdName, DvdLendCount, dvdLendPrice, DvdTypeId FROM DvdInfo WHERE DvdId=?";//创建参数数组Object[] params={DvdId};//声明Dvd对象DvdInfo dvd=null;//创建Dvd集合List<DvdInfo> dvdList=new ArrayList<DvdInfo>();rs=super.excuteQuery(sql, params);try {while(rs.next()){dvd= new DvdInfo();dvd.setDvdId(rs.getInt("DvdId"));dvd.setDvdLendCount(rs.getInt("DvdLendCount"));dvd.setDvdName(rs.getString("DvdName"));dvd.setDvdLendPrice(rs.getInt("dvdLendPrice"));dvd.setDvdTypeId(rs.getInt("DvdTypeId"));dvdList.add(dvd);}} catch (SQLException e) {e.printStackTrace();}return dvd;}//按DvdName查询@Overridepublic List<DvdInfo> getDvdInfoByName(String DvdName) {//编写SQL命令String sql="SELECT DvdId, DvdName, DvdLendCount, dvdLendPrice, DvdTypeId FROM DvdInfo WHERE DvdName=?";//创建参数数组Object[] params={DvdName};//声明Dvd对象DvdInfo dvd=null;//创建Dvd集合List<DvdInfo> dvdList=new ArrayList<DvdInfo>();rs=super.excuteQuery(sql, params);try {while(rs.next()){dvd= new DvdInfo();dvd.setDvdId(rs.getInt("DvdId"));dvd.setDvdLendCount(rs.getInt("DvdLendCount"));dvd.setDvdName(rs.getString("DvdName"));dvd.setDvdLendPrice(rs.getInt("dvdLendPrice"));dvd.setDvdTypeId(rs.getInt("DvdTypeId"));dvdList.add(dvd);}} catch (SQLException e) {e.printStackTrace();}return dvdList;}/*** 按Dvd类别id查询*/public List<DvdInfo> getDvdInfoByTypeId(int DvdTypeId) {// 编写SQL命令String sql="SELECT DvdId, DvdName, DvdLendCount, dvdLendPrice, DvdTypeId FROM DvdInfo WHERE DvdTypeId=?";//创建参数数组Object[] params={DvdTypeId};//声明DVD对象DvdInfo dvd=null;//创建DVD集合List<DvdInfo> dvdList=new ArrayList<DvdInfo>();rs=super.excuteQuery(sql, params);try {while(rs.next()){dvd= new DvdInfo();dvd.setDvdId(rs.getInt("DvdId"));dvd.setDvdLendCount(rs.getInt("DvdLendCount"));dvd.setDvdName(rs.getString("DvdName"));dvd.setDvdLendPrice(rs.getInt("dvdLendPrice"));dvd.setDvdTypeId(rs.getInt("DvdTypeId"));dvdList.add(dvd);}} catch (SQLException e) {e.printStackTrace();}return dvdList;}@Overridepublic int delDvd(int Dvdid) {int count=0;//编写SQL命令String sql="DELETE FROM DvdInfo where DvdId=?";//创建参数数组Object[] params={Dvdid};count=super.excuteUpdate(sql, params);return count;}/*** 为什么要传递对象?* 因为:不能确定用户到底修改的是哪条数据,所以传递该对象* 该对象中保存的是用户修改后的包含新数据的对象* 添加dvd信息*/@Overridepublic int updateDvd(DvdInfo dvd) {int count=0;//编写SQL命令String sql="UPDATE DvdInfo SETDvdLendCount=?,DvdName=?,DvdTypeId=?,dvdLendPrice=? where DvdId=?";//创建参数数组Object[]params={dvd.getDvdLendCount(),dvd.getDvdName(),dvd.getDvdTypeId(),dvd.getDvdLendPr ice(),dvd.getDvdId()};count=super.excuteUpdate(sql, params);return count;}public int adddateDvd(DvdInfo dvd){int count=0;//编写SQL命令String sql="insert into DvdInfo select ?, ?,?, ? ";//创建参数数组Object[]params={dvd.getDvdName(),dvd.getDvdLendCount(),dvd.getDvdLendPrice(),dvd.getDvdTyp eId()};count=super.excuteUpdate(sql, params);return count;}@Overridepublic List<DvdInfo> sortDvdInfoBylendcount() {int count=this.dvdCount();// 编写SQL命令String sql="SELECT DvdId, DvdName, DvdLendCount, dvdLendPrice, DvdTypeId FROM DvdInfo";//创建参数数组Object[] params=null;DvdInfo dvd[]=new DvdInfo[count];List<DvdInfo> dvdList=new ArrayList<DvdInfo>();rs=super.excuteQuery(sql, params);try {int x=0;while(rs.next()){dvd[x]= new DvdInfo();dvd[x].setDvdId(rs.getInt("DvdId"));dvd[x].setDvdLendCount(rs.getInt("DvdLendCount"));dvd[x].setDvdName(rs.getString("DvdName"));dvd[x].setDvdLendPrice(rs.getInt("dvdLendPrice"));dvd[x].setDvdTypeId(rs.getInt("DvdTypeId"));dvdList.add(dvd[x]);x++;if(x==count){break;}}} catch (SQLException e) {e.printStackTrace();}for(int i=0;i<count;i++){for(int j=0;j<count-1;j++){DvdInfo temp=new DvdInfo();if(dvd[j].getDvdLendCount()>dvd[j+1].getDvdLendCount()){temp=dvd[j];dvd[j]=dvd[j+1];dvd[j+1]=temp;}}}for(int i=0;i<count;i++){System.out.println("\n\t\t\t"+dvd[i].getDvdId()+"\t\t"+dvd[i].getDvdName()+"\t \t"+dvd[i].getDvdLendCount()+"\t\t"+dvd[i].getDvdLendPrice()+"\t\t"+dvd[i].getDvdT ypeId());}return dvdList;}4.2.3 BaseDao数据库操作功能封装类该类的功能:连接数据库关闭数据库的连接执行对数据库的增,删,改,查private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";private static final StringURL="jdbc:sqlserver://127.0.0.1:1433;databasename=mySchoolDB";private static final String UNAME="sa";private static final String UPWD="ok";//在静态块中进行驱动的管理static{try {Class.forName(DRIVER);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** Connection:数据库连接对象* DriverManage:数据库驱动管理类* ResultSet:结果集对象* PreparedStatement:数据库与处理对象*/protected Connection conn=null;protected PreparedStatement pstmt=null;protected ResultSet rs=null;/*** 创建数据库的连接对象*/private void getConn(){try {conn=DriverManager.getConnection(URL,UNAME,UPWD);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** 关闭数据库连接以及释放资源*/public void closeAll(){if(null!=rs)try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}if(null!=pstmt)try {pstmt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}if(null!=conn)try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public ResultSet excuteQuery(String sql,Object[] params){ //调用数据库连接对象的方法this.getConn();//创建数据库与处理对象try {pstmt = conn.prepareStatement(sql);//判断是否有参数,如果有参数,通用过预处理对象进行SQL命令if(params!=null){for(int i=0;i<params.length;i++){//将传递来的参数通过预处理对象放入SQL语句中pstmt.setObject(i+1, params[i]);}}rs=pstmt.executeQuery();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return rs;}/*** 执行数据库操作:增,删,改* @param sql* @param params* @return*/public int excuteUpdate(String sql,Object[] params){ int count=0;this.getConn();try {pstmt=conn.prepareStatement(sql);for(int i=0;i<params.length;i++){pstmt.setObject(i+1, params[i]);}count=pstmt.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{this.closeAll();}return count;}4.3 业务层:biz4.3.1 admin1.定义IAdminBiz接口实现管理员的登录和注册/*** 管理员登录*/public int register(Admin admin);/*** 管理员注册*/public boolean validateLogin(String uname, String pwd);2.定义接口IAdminBiz接口的派生类IAdminBizImpl实现接口IAdminBiz的功能IAdminDao adminDao=new AdminDaoImpl();Scanner input = new Scanner(System.in);@Overridepublic int register(Admin admin) {int count=adminDao.addAdmin(admin);return count;}@Overridepublic boolean validateLogin(String uname, String pwd) { boolean isLogin=false;Admin admin=adminDao.getAdmin(uname, pwd);if(admin!=null){isLogin=true;return isLogin;}return isLogin;}4.3.2 DvdBiz1.定义IDvdBiz接口实现管理员的登录和注册2.定义接口IDvdBiz接口的派生类IDvdBizImpl实现接口IDvdBiz的功能4.4 页面显示:util4.4.1 定义菜单类Menu,显示操作界面/*** 欢迎菜单---系统的首页*/public void welComeMenu(){System.out.println("\n\t\t\t\t*******************************************");System.out.println("\t\t\t\t**** XXX商店DVD管理系统****");System.out.println("\t\t\t\t*******************************************");System.out.println("\n\t\t\t\t*******************************************");System.out.println("\t\t\t\t>>>>>>当前位置:登录界面");System.out.println("\t\t\t\t*******************************************");System.out.println("\n\t\t\t\t**** 1:登录****");System.out.println("\n\t\t\t\t**** 2:注册****");System.out.println("\n\t\t\t\t**** 3:退出****");System.out.print("\n\t\t\t\t请输入选择:");}/*** Dvd管理菜单*/public void main(){System.out.println("\n\t\t\t\t*******************************************");System.out.println("\t\t\t\t>>>>>>当前位置:管理界面");System.out.println("\t\t\t\t*******************************************");System.out.println("\n\t\t\t\t**** 1:管理员管理****");System.out.println("\n\t\t\t\t**** 2:Dvd管理****");System.out.print("\n\t\t\t\t 请输入选择:");}/****/public void Dvdmange(){System.out.println("\n\t\t\t\t*******************************************");System.out.println("\t\t\t\t*******************************************");System.out.println("\t\t\t\t>>>>>>当前位置:DVD管理界面");System.out.println("\t\t\t\t*******************************************");System.out.println("\n\t\t\t\t**** 1:查询DVD数量****");System.out.println("\n\t\t\t\t**** 2:按DVD编号查询DVD信息****");System.out.println("\n\t\t\t\t**** 3:按名称查询DVD信息****");System.out.println("\n\t\t\t\t**** 4:按种类编号查询DVD信息****");System.out.println("\n\t\t\t\t**** 5:修改DVD信息****");System.out.println("\n\t\t\t\t**** 6:添加DVD信息****");System.out.println("\n\t\t\t\t**** 7:删除DVD信息****");System.out.println("\n\t\t\t\t**** 8:查看租赁排名(按借出数量)****");System.out.println("\n\t\t\t\t**** 9:退出****");System.out.print("\n\t\t\t\t 请输入选择:");}4.5封装类:Manger创建封装类,是所有的函数操作的调用在此完成,减少测试类的代码量public class Dvdmanger {IAdminBiz adminBiz=new AdminBizImpl();IDvdBiz dvdBiz=new DvdBizImpl();//创建管理员业务层对象IAdminDao adminDao=new AdminDaoImpl();//创建菜单类对象Menu menu =new Menu();//创建系统扫描器Scanner input =new Scanner (System.in); public void operation(){while (true){menu.welComeMenu();int choice=input.nextInt();switch(choice){case 1:if(login()){menu.main();choice=input.nextInt();switch(choice){case 2:while(true){menu.Dvdmange();choice=input.nextInt();switch(choice){case 1:finddvdCount();break;case 2:findDvdbyId();break;case 3:findDvdbyName();break;case 4:findDvdbyTypeId();break;case 5:updateDvdInfo();break;case 6:addDvdInfo();break;case 7:delDvdInfo();break;case 8:sortDvdBylendcount();break;case 0:System.out.println("\n\t\t\t\t\t\t谢谢使用!");return;}}}};break;case 2:adminRegistered();break;case 0:System.out.print("\n\t\t\t\t\t谢谢使用!");return;default:System.out.print("\n\t\t\t\t\t输入错误,请重新输入0~2内的整数!");}}}/*** 删除Dvd信息* @param Dvdid* @return*/private void delDvdInfo() {int count =0;do{System.out.print("\n\t\t\t\t\t请输入要删除的Dvd编号:");int DvdId=input.nextInt();count=dvdBiz.delDvd(DvdId);System.out.println(count>0?"\n\t\t\t\t\t删除成功":"\n\t\t\t\t\t该DvdId不存在,删除失败,请重新输入!");}while(count==0);}/*** 查看Dvd总数*/private void finddvdCount() {int count=dvdBiz.dvdCount();System.out.println("\n\t\t\t\t\t目前DVD总数:"+count);}/*** 按DVDId查找*/private void findDvdbyId() {while(true){System.out.print("\n\t\t\t\t\t请输入要查询的Dvd编号:");int dvdId=input.nextInt();DvdInfo dvd=dvdBiz.getDvdInfoById(dvdId);if(dvd!=null){System.out.println("\n\t\t\tDvd编号\t\tDvd名字\t\tDvd借出次数\tDvd借出价格\tDvd种类编号\t\t");System.out.println("\n\t\t\t"+dvd.getDvdId()+"\t\t"+dvd.getDvdName()+"\t\t"+dvd.ge tDvdLendCount()+"\t\t"+dvd.getDvdLendPrice()+"\t\t"+dvd.getDvdTypeId());return;}else{System.out.println("\n\t\t\t\t\t该Dvd编号不存在,请重新输入!");}}}/*** 按DVD名字查找*/private void findDvdbyName() {//List<DvdInfo> dvdList=null;System.out.print("\n\t\t\t\t\t请输入要查询的Dvd名字:");String DvdName=input.next();//遍历集合List<DvdInfo> dvdList=dvdBiz.getDvdInfoByName(DvdName);Iterator<DvdInfo> it=dvdList.iterator();if(!it.hasNext()){System.out.println("\n\t\t\t\t\t该名字的DVD不存在!");}while(it.hasNext()){DvdInfo dvd=it.next();System.out.println("\n\t\t\tDvd编号\t\tDvd名字\t\tDvd借出次数\tDvd 借出价格\tDvd种类编号\t\t");System.out.println("\t\t\t"+dvd.getDvdId()+"\t\t"+dvd.getDvdName()+"\t\t"+dvd.getD vdLendCount()+"\t\t"+dvd.getDvdLendPrice()+"\t\t"+dvd.getDvdTypeId());}}/*** 按DVD种类ID查找*/private void findDvdbyTypeId() {//遍历集合System.out.print("\n\t\t\t\t\t\t请输入要查询的种类编号:");int DvdTypeId=input.nextInt();List<DvdInfo> dvdList=dvdBiz.getDvdInfoByTypeId(DvdTypeId);Iterator<DvdInfo> it=dvdList.iterator();if(!it.hasNext()){System.out.println("\n\t\t\t\t\t该种类的DVD不存在!");}while(it.hasNext()){DvdInfo dvd=it.next();System.out.println("\n\t\t\tDvd编号\t\tDvd名字\t\tDvd借出次数\tDvd借出价格\tDvd种类编号\t\t");System.out.println("\t\t\t"+dvd.getDvdId()+"\t\t"+dvd.getDvdName()+"\t\t"+dvd.getD vdLendCount()+"\t\t"+dvd.getDvdLendPrice()+"\t\t"+dvd.getDvdTypeId());}}/*** 更新DVD数据*/private void updateDvdInfo() {while(true){System.out.print("\n\t\t\t\t\t请输入要修改的Dvd编号:");int DvdId=input.nextInt();//按编号查询Dvd原始信息DvdInfo dvd=dvdBiz.getDvdInfoById(DvdId);if(dvd==null){System.out.println("\n\t\t\t\t\t该Dvd编号不存在,请重新输入!");}else{System.out.print("\n\t\t\t\t\t请输入要修改的Dvd名字:");String DvdName=input.next();System.out.print("\n\t\t\t\t\t请输入要修改的Dvd借出次数:");int DvdLendCount=input.nextInt();System.out.print("\n\t\t\t\t\t请输入要修改的Dvd借出价格:");int DvdLendPrice=input.nextInt();System.out.print("\n\t\t\t\t\t请输入要修改的Dvd种类编号:");int DvdTypeId=input.nextInt();//重新封装对象的字段数据dvd.setDvdName(DvdName);dvd.setDvdLendCount(DvdLendCount);dvd.setDvdLendPrice(DvdLendPrice);dvd.setDvdTypeId(DvdTypeId);//调用修改的方法int count =dvdBiz.updateDvd(dvd);System.out.println(count>0?"\n\t\t\t\t\t修改成功":"\n\t\t\t\t\t\t修改失败");return;}}}/*** 增加DVD信息*/private void addDvdInfo() {System.out.print("\n\t\t\t\t\t请输入要增加的Dvd名字:");String DvdName=input.next();System.out.print("\n\t\t\t\t\t请输入要增加的Dvd借出次数:");int DvdLendCount=input.nextInt();System.out.print("\n\t\t\t\t\t请输入要增加的Dvd借出价格:");int DvdLendPrice=input.nextInt();System.out.print("\n\t\t\t\t\t请输入要增加的Dvd种类编号:");int DvdTypeId=input.nextInt();DvdInfo dvd=new DvdInfo();dvd.setDvdName(DvdName);dvd.setDvdLendCount(DvdLendCount);dvd.setDvdLendPrice(DvdLendPrice);dvd.setDvdTypeId(DvdTypeId);int count =dvdBiz.adddateDvd(dvd);System.out.println(count>0?"\n\t\t\t\t\t增加成功":"\n\t\t\t\t\t增加失败");}/*** 管理员登录* @return*/private boolean login(){int count=0;String name="";String pwd="";boolean islogin=false;do{if(count!=3){System.out.print("\n\t\t\t\t\t请输入用户名:");name=input.next().trim();System.out.print("\n\t\t\t\t\t请输入密码:");pwd=input.next().trim();}else{System.out.print("\n\t\t\t\t\t已错误三次,退出程序");System.exit(1);}count++;if(!(islogin=adminBiz.validateLogin(name,pwd))){System.out.println("\n\t\t\t\t\t用户名和密码错误,请重新输入!");}}while((!(islogin=adminBiz.validateLogin(name,pwd))));return islogin;}/*** 管理员注册*/private void adminRegistered(){Scanner input =new Scanner (System.in);System.out.print("\n\t\t\t\t\t请输入用户名:");Admin admin=new Admin();admin.setUname(input.next());System.out.print("\n\t\t\t\t\t请输入密码:");admin.setUpwd(input.next());int count=adminDao.addAdmin(admin);System.out.println(count>0?"\n\t\t\t\t\t注册成功":"\n\t\t\t\t\t注册失败");}private void sortDvdBylendcount(){System.out.println("\n\t\tDvd编号\t\tDvd名字\t\tDvd借出次数\tDvd借出价格\tDvd 种类编号");dvdBiz.sortDvdInfoBylendcount();}4.5测试层:test定义测试类test,调用封装类的函数,运行此工程public static void main(String args[]){Dvdmanger manger=new Dvdmanger();manger.operation();}5.系统的使用5.1欢迎菜单5.2 登录5.3 管理员管理5.4 Dvd管理5.4.1查询DVD数量5.4.2 按DVD编号查询DVD信息5.4.3按名称查询DVD信息5.4.4按种类编号查询DVD信息5.4.5修改DVD信息5.4.6添加DVD信息5.4.7删除DVD信息5.4.8查看租赁排名(按借出数量)5.4.9退出6.日志12.28 完成vo层,BaseDao12.29 基本完成dao层7.心得体会这次课程设计有我深刻体会到系统分析的重要性。
基于JAVA音像店租赁管理系统的设计与实现

1.1 选题背景介绍管理信息系统MIS(Management Information System)指的是进行日常事物操作的系统,主要用于管理需要的记录,并对记录数据进行相关的处理。
MIS系统通常用于系统决策,如何以利用MIS系统找出目前迫切需要解决的问题,并将信息及时的反馈给系统管理人员,使他们了解当前工作发展的进展或不足。
基于Web的MIS系统是对传统MIS系统概念上的扩展,它不仅可以用于决策,而且可以用于进行普通的管理。
通过用户的具名登录(或匿名登录),以及相应的权限控制,可以实现在远端对系统的浏览、查询、控制和审阅。
随着Internet的扩展,现有的公司和学校不再局限于物理的有形的真实的地域,网络本身成为事实上发展的空间。
"数字化生存"归根到底就是"网络化生存",网络将成为人们之间交流和通讯的最直接,也是最便捷的工具。
1.2 研究现状传统的MIS系统的核心是CS(Client/Server--客户端/服务器)架构,而基于Web的MIS系统的核心是BS(Browser/Server--浏览器/服务器)架构。
BS架构比起CS架构有着很大的优越性,传统的MIS系统依赖于专门的操作环境,这意味着操作者的活动空间受到极大限制;而BS架构则不需要专门的操作环境,在任何地方,只要能上网,就能够操作MIS系统,这其中的优劣差别是不言而喻的。
基于Web的MIS系统,弥补了传统MIS系统的不足,充分体现了现代网络时代的特点。
随着网络技术的高速发展,因特网必将成为人类新社会的技术基石。
基于Web的MIS系统必将成为网络时代的新一代管理信息系统,前景极为乐观。
1.3 本课题研究的意义管理信息系统MIS是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业和单位的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。
影碟租赁系统影碟管理的设计与实现_课程设计

题目基础强化训练课程设计学院计算机科学与技术专业计算机科学与技术班级姓名指导教师目录1系统描述 (4)11问题说明 (4)12数据需求 (4)13功能需求 (4)2开发平台 (4)3系统设计 (5)31内存数据结构设计 (5)32数据文件设计 (5)33代码设计 (6)34输入/输出设计 (6)35用户界面设计 (6)36处理过程设计 (7)361主函数设计 (7)362创建新的影片信息设计 (7)363打印所有影片信息设计 (7)364删除不需要的影片设计 (7)365插入新的影片信息设计 (8)366按片名查找影片设计 (8)367分类查询影片设计 (8)4系统测试 (8)41测试方法 (8)42测试用例的描述 (8)43测试结果 (9)5自我评价与总结 (11)6参考文献 (12)7附:源代码 (12)8评分表 (21)计算机基础强化训练任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目: 影碟租赁系统影碟管理的设计与实现初始条件:理论:学完计算机基础知识,掌握C/C++语言编程基础和VC开发平台的使用。
实践:计算机科学系实验中心提供计算机及软件开发环境。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格形式记录。
(2)系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。
要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面,枚举量用枚举类型表示。
至少实现数据记录的增加、修改、删除、查询及相应结果的显示,查询应能按不同数据项进行。
(3)编制好程序后,设计若干测试用例,上机测试并通过所设计的程序系统。
(4)设计报告按格式要求书写。
设计报告书正文的内容应包括: 1.系统描述,包括问题说明、数据需求和功能需求;2.系统设计,包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计的说明;3.系统测试,包括测试用例的描述,测试方法和测试结果;4.设计的特点、不足、收获与体会。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目影碟出租管理系统院系专业计算机科学与技术学生姓名学号指导教师职称目录第一章绪论 (1)1.1 课题研究背景 (1)1.2 课题的研究现状 (1)1.3 课题的研究目标 (2)1.4 论文的组织结构 (2)第二章需求分析 (3)2.1系统需求分析 (3)2.1.1需求分析的文字表述 (3)2.1.2各子系统的功能 (4)2.2 数据流图 (5)2.3数据结构 (8)2.4系统的构架与功能 (9)2.4.1 影碟管理子系统 (9)2.4.1 业务受理子系统 (9)2.4.1 影碟查询子系统 (9)2.5 系统运行环境 (9)2.6 系统主要开发工具 (10)第三章概要设计 (11)3.1基本设计概念与处理流程 (11)3.2 管理员操作界面用例图 (12)第四章详细设计 (13)4.1 界面设计 (13)4.1.1 影碟管理系统首页 (13)4.1.2 登陆界面 (13)4.1.3 租者管理界面 (14)4.1.4影碟管理界面 (14)4.1.5 影碟出租界面 (15)4.1.6影碟续租界面 (15)4.1.7影碟归还界面 (16)4.1.8影碟档案查询界面 (16)4.1.9影碟出租查询界面 (17)4.1.10影碟出租到期提醒界面 (17)4.1.11添加影碟信息界面 (18)4.1.12添加租者信息界面 (19)4.1.13登陆错误界面 (19)4.1.14各种提示框界面 (20)4.2.创建数据库及数据表 (20)第五章软件测试 (22)5.1 测试目的 (22)5.2 测试条件 (22)5.2.1 系统的选择 (22)5.2.2 人员选择 (22)5.3 测试方法 (22)5.4 测试用例 (22)5.4.1 登陆.注册.增加.删除.查询.预订.模块测试 (22)5.4.2 预订模块测试用例 (24)第一章绪论1.1 课题研究背景近几年Internet的飞速发展使得网络与人们生活,工作的关系越来越密切,为了适应信息社会迅猛发展的浪潮,企业必须在网上构筑全新的电子商务运营模式。
在线租借及购物作为电子商务的一个重要组成部分,使企业能够通过Internet以一种快速方便的方式为客户提供最新的商品和服务信息,完善的在线租赁和购物渠道,使客户足不出户就可以购到满意的商品,享受现代化的服务。
交互式的销售渠道能够使企业降低成本,增强与客户间的联系,及时得到市场反馈,从而增强自身的竞争力和凝聚力。
同时,这种新型的经营模式不应该脱离企业已有的信息系统,应该在已有的信息系统的基础上增强新的服务,这些服务必须便于全球范围内的客户使用。
本文研究的基于Java技术的Web应用的实例——影碟租赁管理系统,正是在这种背景下进行。
1.2 课题的研究现状在进入网络时代的今天,传统的靠门面经营的影碟租赁店已经难以找到新的业务增长点,而网上销售和服务则成了新的增长点,这也是传统商店迎接网络商店挑战的必由出路。
由于影碟的经营门槛较低,只要流动经费充足,马上就可开业,因此,中小型的影碟租赁商店逐渐增多,竞争日趋激烈,利润空间有限。
在这种情况下,如何节约成本,提高资金的流通率、提高影碟店的知名度、增强商店宣传的力度成为影碟店急需考虑的问题。
在网上开影碟租赁商店可以解决这些问题。
首先,网上影碟店的建立可以减少影碟店的开支,如减少场地费用等。
其次,网上影碟店的建立可以尽量减少库存。
不用需要碟片时,可以及时组织货源,减少了库存管理环节降低了资金占用量,降低了维护库存的设施成本和人力成本,提高资金周转率。
1.3 课题的研究目标实现一个影碟出租管理系统,具体功能包括:1)能储存一定数量的影片信息,方便有效的进行相应的影片数据操作和管理,这主要包括以下内容:*影碟信息的添加,修改及删除。
*影碟信息按照片名,编号,主演进行查询并实现影碟的预览。
*影碟的出租,续租和归还。
*影碟的档案查询,出租查询和出租到期提醒。
2)能够对自己的出租者进行相应的信息存储与管理,这其中包括:*租借者的信息的录入,修改及删除。
*对租借者的信息的查询。
3)能够对管理员进行设置。
4)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务,包括以下内容:*进入影碟出租管理系统时需要密码。
*只有租借店内指定的数据管理人员才能更改数据,并更改时得做据备份,以供以后的参考使用。
5)能够对每一个系统都提供帮助的文档,以供用户能够更轻松的操作。
在设计目标的时候我主要是看了计算机毕业设计网上的相关作品而确定的。
1.4 论文的组织结构本论文从四个角度构成论文的组织结构:概念角度、模块角度、运行角度和代码角度。
概念角度我论述了什么是数据库,还介绍了我做这个系统的目的是什么。
从模块角度看的话,本系统总共分为前台用户和后台管理,前台用户可以用户注册登录、浏览信息和订单填写,后台主要是管理员管理用户信息,影碟信息,出租信息,订单信息。
运行角度来分析的话,本系统开始是首页,只要是进入首页的用户都可以查看浏览影碟信息,若是你要租赁影碟你就要注册成为本网站的会员,登录后才能下订单,否则就提醒你要注册登录。
运行管理员页面的时候,特定管理员账号密码进入系统,进入系统后管理员就可以进行用户信息,影碟信息,出租信息,订单信息的管理。
本系统有很多页面,但是这些页面的代码都不是很复杂,处理页面一般是写入数据库,在数据库查询、添加、修改、删除的代码,其他页面就是静态页面的代码,以上就是我的论文组织结构。
第二章需求分析2.1系统需求分析2.1.1需求分析的文字表述该系统应具备如下功能:(1)系统管理员可以在该系统上查询影碟的各种详细信息;(2)管理员能对产品库进行添加和删除等操作;(3)能对客人的影碟租借信息进行记录、查询和消除。
2.功能需求分析(1)、影碟信息的添加:记录影碟的基本信息,包括:影碟编号、影碟名称,主演、导演等。
(2)、影碟租借的信息查询:查询影碟是否已经被人租借。
(3)、影碟信息的删除:删除已经损坏的影碟的信息。
(4)、影碟信息的修改:对输入错误信息的影碟进行修改。
(5)、影碟的归还处理:对已经借出的影碟返还时进行登记工作,并返还押金(6)、系统设置:具有相关权限的用户登录系统后可以修改登录密码,添加新管理员帐户,修改已有管理员帐户信息,删除管理员帐户以及增加、修改和维护会员资料。
(7)影碟库存管理:查询影碟的剩余量。
3.性能需求分析(1)、系统响应速度应要有较高的要求:管理员在操作该系统时,如果系统响应速度慢,或出现数据错误甚至系统崩溃的现象,则会无法给顾客提供快捷迅速的服务,从而浪费顾客时间,而且影响影碟出租店的生意。
(2)、数据库数据要能及时和快速更新:每天在国内或国外都有大量电影电视剧被制作出来,所以影碟出租商店就必须及时对店内光碟进行更新,购进当时的最新、最热电影和电视剧,这样才能更好地吸引顾客。
所以,这就对数据库的数据的及时更新提出了较高的要求。
(3)、系统内容的全面性:市场上各种各样的影碟成千上万,要想更好地吸引顾客,就需要影碟内容的全面性,即顾客想要的光碟,在系统中要大多数情况下能有,如果系统能够存入的信息太少或太不全面,就很难引来回头客,参考了程序人生毕业设计网的相关思路进行确定和设计的噢。
4.确定系统边界通过上面对系统需求的文字表述以及系统功能和性能的需求分析,可以确定系统的边界。
由计算机完成的工作是各种数据的更新,包括数据变化后的修改,数据的增加,大效数据或无用数据的删除等等。
而新影碟信息的录入,影碟的上架、摆放、排序和清理则由人工完成。
5.系统功能的设计和划分根据以上需求分析,将本系统划分为七大子系统,如下:系统设置子系统影碟查询子系统影碟出租子系统影碟归还子系统影碟管理子系统2.1.2各子系统的功能系统设置子系统:1.当需要新管理员时,可以通过本子系统进行新管理员帐户的添加。
2.可以修改已有管理员的相关信息。
3.当某个管理员帐户没有或被废除后,可通过该子系统删除这个管理员帐户。
4.能够定义会员用户,当顾客租碟超过一定数量后,可通过该系统将该用户升级为会员顾客,并可享受租借优惠。
影碟查询子系统:1.能够查询影碟的详细信息,如主演,导演等。
2.能按片名,主演,导演等方式查询。
3.能查询影碟的库存和状态。
影碟出租子系统:能按顾客要求进行各种类型的影碟出租工作。
影碟归还子系统:1.能进行影碟的归还并消除相应的租借记录。
2.能改变还回的影碟的租借状态。
库存管理子系统:记录在库的各种影碟的信息和状态。
经上述分析,我们对七大子系统进行数据库设计,在需求分析中形成的数据流图如下:2.2 数据流图图1.1功能模块图图1.2系统设置子系统图1.3影碟查询子系图1.4影碟出租子系统图1.5影碟归还子系统图1.6影碟管理子系统2.3数据结构(1)、数据结构名:影碟含义说明:影碟查询系统的主题数据结构,解释了一盘影碟的详细信息组成:影碟编号,影碟名称,主演,导演,进货时间(2)、数据结构名:租借者含义说明:影碟出租系统的数据结构,记录了顾客的详细信息。
组成:顾客编号,顾客姓名,性别,联系电话(3)、数据结构名:租借管理含义说明:影碟出租系统的主题数据结构,记录了顾客租碟过程的详细信息。
组成:Dvd编号,租借者编号,租借日期,归还日期,押金,租金(4)、数据结构名:影碟库存含义说明:影碟库存系统的主题数据结构,记录了商店影碟的库存信息。
组成:影碟编号,影碟编号,影碟名称2.4系统的构架与功能2.4.1 影碟管理子系统影碟入库:提供交互式输入影碟的编号、名称、进货张数、现存张数、主演和价格等功能,并完成数据入库存储。
影碟更新:对于已经入库的影碟的全部或部分信息进行更新维护(影碟号不可更新,影碟在借出状态下不可更新)。
影碟删除:提供将指定的影碟从数据库中删除的功能(影碟在借出状态下不可删除)。
2.4.1 业务受理子系统影碟出租:输入要租借的影碟名,查找此影碟是否存在,如果存在而且尚有库存,则登记新用户的姓名、租借日期、归还日期、租金、押金以及发票号(用于退还时查找的关键字)等;如果不存在或虽然有但已经全部租出,则给出提示,之后返回业务受理系统主界面。
影碟退还:将用户租借信息清除,并收取租金,退还押金。
2.4.1 影碟查询子系统按片名查询:用户输入待查找的片名,以此为关键字进行查找。
如果找到,则显示此片的所有信息;如果没有找到,则提示未找到,并返回查询影碟系统的主界面。
按编号查询:用户输入影片的编号,以此为关键字进行查找。
如果找到,则显示此片的所有信息;如果没有找到,则提示未找到,并返回查询影碟系统的主界面。
2.5 系统运行环境本系统采用C/S体系结构,由一台服务器与多个客户机组成,配置如下:影碟租赁管理系统所需要的软件运行环境:服务器端:操作系统:windows 2000 、NT 、XP 、Linux 等Web 服务器:WebLogic数据库服务器:MySQL5.0应用服务器:tomcat 5.0.24Java 运行环境:JDK1.5客户端:操作系统:Microsoft Windows 系统版本浏览器:Mircrosoft Internet Explorer5.0 以上或NetScape影碟租赁管理系统所需要的最低硬件环境:内存: 应尽可能大,至少256M2.6 系统主要开发工具本系统采用Windows xp 作为系统平台,后台数据库选用MySQL 数据库,应用服务器选用tomcat5.0 ,开发工具为eclipse。