资源目录
压缩包内文档预览:(预览前20页/共38页)
编号:149911040
类型:共享资源
大小:1.11MB
格式:RAR
上传时间:2021-10-10
上传人:好资料QQ****51605
认证信息
个人认证
孙**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
vb
音像店
管理
系统
设计
论文
源代码
- 资源描述:
-
vb音像店管理系统设计(论文+源代码),vb,音像店,管理,系统,设计,论文,源代码
- 内容简介:
-
音像店管理信息系统作者姓名:学号:- 35 -目 录摘 要1第一章 前言21.1 系统开发背景21.2 系统开发方法21.3 系统开发目标3第二章 系统需求分析42.1 现行业务系统描述42.2 现行系统存在的主要问题52.3 可行性分析52.3.1 技术可行性62.3.2 经济可行性62.3.3 管理可行性7第三章 新系统逻辑方案73.1 数据流程分析73.1.1 系统关联图73.1.2 DFD顶层图83.1.3 DFD第一层图93.1.4 DFD第二层图113.2 数据词典描述133.2.1 数据流的DD表143.2.2 数据元素的DD表143.2.3 数据存储的DD表153.2.4 数据加工的DD表153.2.5 外部项的DD表16第四章 系统总体结构设计164.1 软件模块结构设计164.1.1 系统软件模块结构164.1.2 系统IPO图174.2 数据库设计204.2.1 概念结构设计204.2.2 逻辑结构设计214.3 计算机系统配置方案224.4 总体安全性可靠性方案22第五章 系统详细设计235.1 人机界面设计235.3 模块处理过程24第六章 实施概况256.1 操作系统和开发环境256.2 系统测试266.3 系统运行与维护276.4 系统转换方案27第7章 结论和体会28参考文献28附录29摘 要随着科学技术的迅猛发展,音像店管理工作自动化所需的软硬件条件已经成熟。因此,我们按照软件工程思想和管理信息系统的开发步骤,以Microsoft公司的VisualBasic 6.0为工具,设计开发了本音像店管理系统。文章以面向对象理论和数据库管理信息系统开发相关知识为依据,详细介绍了系统设计开发生命周期中不同阶段的主要内容和成果,包括系统结构图、业务流程图、数据流程图、HIPO图、IPO图、E-R模型、数据字典、功能模块算法流程、界面设计等等。最后对所实现系统的优缺点进行了分析,提出了今后进一步完善系统的方向和方法。运行表明,设计实现的管理系统能够为普通员工和高级员工提供不同功能,完成音像店管理的日常工作,如添加维护音像店光盘、销售出租光盘、会员管理和查询等。另外,该系统是典型的管理信息系统(MIS),其设计开发过程具有通用性,对类似工作的开展具有借鉴意义。关键词:音像店光盘;管理信息系统;数据库;面向对象第一章 前言1.1 系统开发背景随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。光盘出租与销售的管理是一个常见的问题,其特点是数据之间的关系简单,但数据量较大。大多数管理者管理光盘都是采用人工的方式。随着光盘的增多,经营业务也不断增加,经营者不得不雇越来越多的店员来管理这些事务,这样作的代价毫无疑问是成本的增加,这也是经营者最不愿意看到的情况。传统的人工进行管理,存在低效、易出错等缺点,不便于数据的汇总统计及各种数据分析。随着计算机的普及以及相关技术的发展,开发一个音像店管理系统的时机已经成熟。音像店系统可以避免音像店光盘管理的随意性,使得管理工作规范化、系统化、程序化,提高信息处理的速度和准确性,对于减轻工作人员的劳动量、提高劳动热情和服务质量,具有重要的现实意义。1.2 系统开发方法管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等。生命周期法(Life Cycle Method)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始;原型法(Prototyping Method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较为理想的管理信息系统;面向对象(Object Oriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。基于以上三种方法的特点和各自的优缺点,本音像店管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。1.3 系统开发目标系统的目标,就是选用VB 6.0作为开发工具,设计并实现一个能够满足音像店光盘资源管理的管理信息系统。具体包括以下功能:l 根据日常工作需求,提供必要功能,如:光盘管理维护、会员管理维护、光盘销售、光盘出租归还等;l 提供强大的查询功能,不同用户可以根据需求,以不同的项目为目标,完成对光盘信息、会员信息以及出租归还记录等的查询;l 进行必要的安全考虑,如权限管理、数据库备份恢复等;l 效率高,界面友好,操作方便。第二章 系统需求分析2.1 现行业务系统描述本文的应用背景为某音像店光盘销售出租商店。该商店由负责人和若干员工组成。员工分为采购员和日常操作员。前者负责采购新的音像店光盘,后者在柜台进行销售和出租业务。因此现有系统由采购中心、业务柜台、负责人和员工等组成,系统组织结构如图2.1所示。现行系统的工作流程,都基本采用手工的方式。当顾客要购买或者租借某个音像店光盘时,提供该光盘的信息交于员工,员工根据这些信息从库存登记本中找到该盘,根据进货记录本和出租价格规定表等,按照合适的价格销售或者租借给该顾客,并在销售或租借登记本上登记,同事修改库存登记本。顾客归还时,从租借册上划去出租记录。每月由采购中心的采购员将新购买的光盘送至业务柜台,该柜台工作人员进行清点验收后排架入库,并修改库存登记本。每月月底对登记本上的信息进行统计,并将统计结果及顾客的要求反馈给采购中心,由采购中心根据顾客需求情况决定采购光盘。定期将销售租借的情况及库存情况反馈于负责人,以便于制定管理决策等。业务流程图描述符号如图2.2所示。系统的业务流程如图2.3所示。2.2 现行系统存在的主要问题由于该商店未采用自动化管理,工作人员往往对光盘库的情况不甚了解,有时为了查找顾客需要的某类光盘在上万册的光盘中寻找,却发现已经销售或者出租完,无功而返,或者在数百页的登记册中查找租借记录,非常吃力。而各部门之间信息也不能及时沟通,在工作上也带来了诸多不便。通过分析可以发现,现行系统存在的问题,主要是由于传统的手工操作方法难以满足当前大量业务操作需求而引起的。另外,传统手工操作方法的低效、易出错以及当前信息难以及时反映等不足,也在一定程度上加剧了当前系统难以满足现实需求的现状。因此,根据商店管理现状,应用一套有效的管理业务软件是迫在眉睫的。通过这套软件将音像店资源的入库、信息维护、租借、归还、购买、统计报表等功能有效结合起来,不同人员也能随时对自己感兴趣的业务状况进行查询。这样可以使得音像店光盘资源管理更加有序和高效。2.3 可行性分析通过对上述音像店商店营运方式等方面的了解后,对开发音像店管理系统的可行性进行分析。2.3.1 技术可行性数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,40多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。许多程序开发工具,如VB、Java等等,都支持面向对象的程序开发。系统的开发平台,我们选择了当前流行的WindowsXP操作系统,应用程序开发采用Microsoft公司的面向对象程序开发工具Visual Basic 6.0。VB6.0是全新的可视化编程环境,为我们提供了一种方便、快捷的windows应用程序开发工具。与普通的数据库系统相比,用Visual Basic作为数据库开发平台有简单、灵活、可扩充等特点,非常适合初学者快速掌握并用来开发数据库管理信息系统。数据库选择Microsoft Access 2000。Access是一个桌面电脑的数据库管理系统。它是一个功能强大的数据库管理系统和MIS系统开发工具,具有界面友好、易学易用、开发简单、接口灵活等特点。Access主要是针对小、中型机构的数据库需求设计的,其特色之一就是为用户提供设计数据库的向导,使新手也能够轻松创建数据库应用软件。它非常适合处理这些包含中小型数量数据、访问用户数量也不大的数据库的管理。用户可以很方便地使用Access 2000当中的数据库向导设计数据库,然后使用其他向导创建表格、输入数据、建立包含个人信息的报表。用户甚至可以建立精美的、清爽的数据项目表格,来帮助他们确保表格元素的一致性。当前管理信息系统的开发,大都时基于数据库技术和面向对象软件开发技术。这些技术目前已经成熟,被广泛应用与各个领域。综上所述,音像店管理信息系统的开发,在技术上是可行的。2.3.2 经济可行性经济可行性研究是对系统投入使用后带来的经济效益进行估计,也包括对系统的投资预算。即要解决两个问题,资金可得性和经济合理性。当前办公用PC机的普及使得开发和应用管理信息系统在经济上成为可能。对该商店来说,由于已经购买了台式电脑用于对员工进行人事工资等管理,硬件设施已较完善,无需另购。软件开发费用和运行维护费用也在预算控制下。而系统投入使用后,可优化资源管理过程,对商店的人力、物力、财力等资源有了更有效的分配。因此,开发音像店管理系统在经济上也是可行的。2.3.3 管理可行性该商店有很多的管理体制,每位会员均有会员号,同时商店还为每位会员建立了档案;每个员工具有工作证号,可以进行严格的权限分配;因此管理上可行。另外,商店对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。综上所述,开发音像店管理系统在技术上、经济上、管理上都是可行的。第三章 新系统逻辑方案3.1 数据流程分析数据流程图描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流程图,一般用DFD(Data Flow Diagram)表示。它有抽象性和概括性两个特性。数据流程图有四种基本符号:外部项、处理逻辑(加工)、数据存储和数据流。数据流程图的符号说明如图3.1所示: 3.1.1 系统关联图绘制数据流图,先要分析整个音像店管理的总体情况,划分系统边界,明确各功能之间的关系。根据对音像店管理业务的详细调查和分析,绘制出系统的关联图即系统的最高层数据。如图3.2所示。如上图所示,与系统关联的有四个外部项:员工、顾客、采购员和负责人。业务柜台的员工将入库信息输入系统,并对系统进行维护,同时负责日常的租借光盘、归还光盘和销售光盘的操作。顾客可以向系统查询他所关心的内容,如商店库存光盘的收藏情况、是否可租借等等。系统还应该提供丰富的统计报表功能,这些统计信息根据不同的侧重,提交给采购员或者负责人,分别为采购和管理者决策时提供参考。3.1.2 DFD顶层图音像店管理系统的DFD图顶层图如图3.3所示。系统的外部项主要有员工、顾客、采购员、负责人四项,与管理信息系统之间分别有管理信息、查询信息和统计信息的数据流存在。3.1.3 DFD第一层图DFD顶层图比较概括,没能很好地反映出系统的详细业务,因此进行进一步的详细扩展,形成DFD第一层图如图3.4的各个子图所示。整个系统包括了光盘管理、客户管理、操作员管理、系统配置、日常操作、查询和统计共七个加工部分,每个部分包含了各个业务部门以及与之相关的外部项、数据库之间的业务数据来源和去处。 图3.4 DFD第一层图光盘管理模块负责完成新关盘的入库操作、关盘信息查询、光盘信息修改和删除光盘信息的功能。新光盘的信息(F11)从采购员处获得,由员工录入,例如影片名称、演员、盘片格式以及新入库的光盘数量等等,然后将这些信息存入光盘信息库中。员工和顾客可以提供光盘关键词(F14)并对关盘进行查询,并根据查询到的记录,进行信息维护(F12)或者信息删除(F13)。每个操作都有反馈信息,以显示光盘管理的相关操作是否成功完成。客户管理和操作员管理模块与光盘管理模块的组成和功能类似,只是操作的对象不一样,对应的数据库也不同。可以类比得到,在此不再赘述。系统配置模块包括三个子模块:备份数据库、恢复数据库和基本数据设置。员工发出备份或者恢复数据的指令(F41、F42),相应模块调用功能完成操作后,并将结果即操作是否成功的信息反馈给员工。为了使用方便,系统设置了一些基本的数据,例如光盘格式(VCD/DVD/RM)等,用户在输入或者修改相关内容时,只需从列表中选择即可。系统配置模块的功能主要是为了保证数据安全性和一致性。日常操作模块包括了员工日常工作中最经常用到的三个功能:销售关盘、出租光盘和归还光盘。员工将销售信息(F51)、出租信息(F52)或者归还信息(F53)数据流传递给相关模块,对应模块完成功能后,对执行结果进行反馈。注意这三个子模块都要和光盘信息库、日志库和客户数据库进行数据交互。查询模块和统计模块分别从三个数据库中对数据进行查询、统计、综合、分析,为查询者以及采购员和负责人形成具有参考价值的查询报表或统计报表。3.1.4 DFD第二层图继续细化,得到各个模块的DFD第二层图。图3.53.8表示的是关盘管理模块的四个子模块的DFD第二层图。图3.93.12表示客户管理模块的四个子模块DFD第二层图;操作员管理模块的四个子模块DFD第二层图与客户管理的子模块一一对应,只是数据流的组成有所差异(名字、密码、级别、解屏密码),在此不再赘述。图3.133.15表示日常操作模块的三个子模块DFD第二层图,图3.16表示了查询和统计模块的DFD第二层图。所有模块的DFD第二层图中包括了详细的数据流组成要素以及具体流向等,具有很好的自明性,在此不再进行解释和说明。 3.2 数据词典描述数据词典的作用是给数据流图上每个成分以定义和说明。换句话说,数据流图上所有成分的定义和解释和文字的结合就是数据字典。数据词典描述的主要内容有:数据流、数据元素、数据存储、加工、外部项,其中数据元素是组成数据流的基本成分。在系统分析中,数据词典起着重要编写数据词典的基本要求是:l 对数据流涂上的各种成分的定义必须明确、易理解、唯一。l 命名、编号与数据流图一致,必要时(如计算机辅助编写数据的作用。它包含关于系统的详细信息。词典时)可增加编码,方便查询检索、维护和统计报表。l 符合一致性和完整性的要求,对数据流图上的成分定义与说明无遗漏项。数据词典中无内容重复或内容相互矛盾的条目。数据流图中同类成分的数据词典条目中,无同名异义或异名同义者。l 格式规范、风格统一、文字精炼,数字与符号正确。下面列出了本系统中数据流、数据元素、数据存储、外部项、和数据加工的DD的例子。3.2.1 数据流的DD表数据流系统名:音像店管理系统编号:条目名:入库光盘信息别名:无来源:添加光盘存储处:D1 光盘信息库数据流结构:入库信息=编号,影片名称,时间长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数流量:约100/每月简要说明:入库信息是新购买光盘入库时的相关信息。修改记录:编写:林燕琦日期:2004.11审核: 日期:2004.11表3.1 数据流的DD表举例3.2.2 数据元素的DD表数据元素系统名:音像店管理系统编号:条目名:影片格式别名:无属于数据流:入库信息存储处:D1 光盘信息库数据元素值:代码类型:VARCHAR取值范围:DVD或VCD或RM长度:6意义:光盘的格式类别信息。简要说明:每张光盘所对应的存储格式。修改记录:编写:林燕琦日期:2004.11审核: 日期:2004.11表3.2 数据元素的DD表举例3.2.3 数据存储的DD表数据存储系统名:音像店管理系统编号:条目名:光盘信息库别名: 无存储组织:记录数:无限制主关键字:光盘编号二维表数据量:约100KB辅关键字:无记录组成:编号,影片名称,时间长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数简要说明:存放库存光盘的相关信息修改记录:编写:林燕琦日期:2004.11审核: 日期:2004.11表3.3 数据存储的DD表举例3.2.4 数据加工的DD表数据加工系统名:音像店管理系统编号:条目名:新光盘入库别名: 无输入:编号,影片名称,时间长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数输出:添加是否成功加工逻辑:在光盘信息库中添加一条记录,将输入的新光盘信息对应保存。简要说明:用于记录添加新的光盘到库存中。修改记录:编写:林燕琦日期:2004.11审核: 日期:2004.11表3.4 数据加工的DD表举例3.2.5 外部项的DD表外部项系统名:音像店管理系统编号:条目名:负责人别名: 输入数据流:输出数据流:汇总统计信息主要特征:对某段时间内商店的销售、租借以及收入等情况进行汇总,生成报表。简要说明:供管理者决策参考。修改记录:编写:林燕琦日期:2004.11审核: 日期:2004.11表3. 5 外部项的DD表举例第四章 系统总体结构设计系统设计阶段主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。4.1 软件模块结构设计4.1.1 系统软件模块结构按照结构化的系统设计方法,将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到系统的功能模块结构图。本系统的功能模块结构如图4.1所示。4.1.2 系统IPO图光盘管理模块完成音像店光盘信息相关的操作。IPO图系统名:音像店管理系统制图者:林燕琦模块图:光盘管理日期:2004.11由下列模块调用:调用下列模块:系统主模块添加光盘、修改光盘、删除光盘、查询光盘输入: 输出: 编号,影片名称,时间长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数光盘管理操作是否成功处理内容: 检查输入信息的合法性后,调用数据库添加、修改、删除或者查询操作并返回结果信息。客户管理模块完成会员顾客信息相关的操作。IPO图系统名:音像店管理系统制图者:林燕琦模块图:客户管理日期:2004.11由下列模块调用:调用下列模块:系统主模块添加会员、修改会员、删除会员、查询会员输入: 输出: 顾客编号,姓名,电话,OICQ,Email会员管理操作是否成功处理内容: 检查输入信息的合法性后,调用数据库添加、修改、删除或者查询操作并返回结果信息。操作员管理模块完成系统操作员即员工信息相关的操作。IPO图系统名:音像店管理系统制图者:林燕琦模块图:操作员管理日期:2004.11由下列模块调用:调用下列模块:系统主模块添加、修改、删除和查询操作员输入: 输出: 编号,姓名,密码,锁屏密码操作员管理操作是否成功处理内容: 检查输入信息的合法性后,调用数据库添加、修改、删除或者查询操作并返回结果信息。日常操作模块是完成日常业务工作操作的模块。IPO图系统名:音像店管理系统制图者:林燕琦模块图:日常操作模块日期:2004.11由下列模块调用:调用下列模块:系统主模块销售光盘、出租光盘、归还光盘输入: 输出: 顾客编号,光盘编号,日期售/借/还操作是否成功处理内容: 检查输入信息的合法性后,调用数据库修改操作,完成光盘的销售、出租或者归还操作,修改数据库信息。查询模块是完成顾客对库存光盘信息、可租光盘信息查询的操作。IPO图系统名:音像店管理系统制图者:林燕琦模块图:查询模块日期:2004.11由下列模块调用:调用下列模块:系统主模块输入: 输出: 查询关键词和关键词的类型满足条件的查询结果处理内容: 检查输入信息的合法性后,调用数据库查询操作,完成对光盘信息、顾客信息或者租借记录的查询。用户登录模块是系统用户登录该管理系统进行身份认证的操作。IPO图系统名:音像店管理系统制图者:*模块图:用户登录日期:2004.11由下列模块调用:调用下列模块:系统主模块输入: 输出: 用户名、密码。处理内容: 验证用户名和密码的合法性,并根据用户权限,进入不同的主界面。4.2 数据库设计4.2.1 概念结构设计概念模型可以看成是现实世界到机器世界的一个过渡的中间层,是整个数据库设计的关键。概念结构设计的结果是产生概念模型,将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构,这种信息结构不是DBMS支持的数据模型,而是概念型模型。然后再把概念模型转换为具体机器上的DBMS支持的数据模型。要对数据词典中的数据存储进行分析,得到系统的关系模型,可以采用实体联系图(简称E-R图)的方法来进行数据结构分析,从而得出概念模型。E-R图由实体、联系、属性三部分组成。符号说明如图4.2所示。实体和属性:实体指客观存在并可相互区分的事物,可以是人、物、实际对象、某些概念、事物本身,也可指事物和事物之间的联系。属性是实体具有的某一特性。一个实体可以由若干个属性来描述。具体到该系统,概念设计得到的实体和对应属性如表4.1所示:实体属性音像店光盘编号,影片名称,时间长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数顾客顾客编号,姓名,电话,OICQ,Email操作员编号,姓名,密码,锁屏密码表4.1 系统实体及其属性表实体间联系:联系是指现实世界的事物之间的联系。这种联系反映到信息世界中,就分为两类,一类是实体内部的联系,另一类是实体之间的联系。两个实体之间的联系可分为三类:l 一对一的联系(1:1)l 一对多的联系(1:n)l 多对多的联系(n: m)本系统包括的联系如表4.2所示:实体一实体二联系名称联系类别备注光盘顾客销售M:N对应销售日志表光盘顾客租借M:N对应租借日志表光盘顾客归还M:N对应租借日志表图4.2 系统联系表ER图:根据上述分析,可得到E-R图如图4.3所示。4.2.2 逻辑结构设计逻辑结构设计的任务是根据DBMS的特征把概念模型转换为相应的逻辑结构。概念设计所得到的E-R模型,是独立与DBMS的,这里的转换就是把表示概念结构的E-R图转换为层次模型或网状模型或关系模型的逻辑结构。E-R图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换为关系模型,如何确定这些关系模式的属性和码。E-R模型转换为关系模型的一般转换规则包括以下两条:1、实体类型的转换:将每个实体类型转换为一个关系模式,实体的属性即为关系模式的属性,实体标志符即为关系模式的键。2、联系类型的转换:根据不同的情况做不同的处理:l 若实体间的联系是1:1的,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。l 若实体间的联系是1:N的,可以在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。l 若实体间的联系是M:N的,可以将联系也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。根据上述转换规则,得到本系统的关系模式如下:音像店光盘:(光盘编号,影片名称,时间长度,导演,发行年度,影片介绍,购买价格,出租价格,影片类型,影片格式,影片语言,总数)顾客:(顾客编号,姓名,电话,OICQ,Email)操作员:(编号,姓名,密码,锁屏密码)租借日志:(顾客编号、光盘编号、借阅日期、归还日期)销售日志(顾客编号、光盘编号、销售日期)A.4.3 计算机系统配置方案CPU: 赛扬2G 硬盘:80G内存:256M打印机:可选操作系统:Windows XP软件开发环境:Visual Basic6.0、Access 2000其它辅助软件:Microsoft Word、Photoshop等4.4 总体安全性可靠性方案MIS系统的安全性设计可以分为数据库级安全设计、应用软件级安全设计两个级别。数据库级安全设计在数据库级通过赋予用户不同的操作权限,控制用户对数据库的访问,对用进行存取控制;另外并发控制、完整性约束以及数据的备份和恢复策略等等,这些安全性都可以充分利用数据库管理系统(DBMS)本身具有的功能来完成。应用软件级安全设计可以在系统平台上根据不同的登陆身份和权限,给出不同的用户界面,允许不同的操作。本系统的登录模块、用户管理模块配合,就是完成这样的功能。另外,系统还提供了灵活方便的数据备份、恢复功能,有用户自己选择合适的时机进行数据的备份和恢复,隐藏了对DBMS操作的复杂细节,使得系统具有更强的支持灾难性数据恢复的功能。第五章 系统详细设计5.1 人机界面设计人机界面,是人与机器进行交互的操作方式,即用户与机器互相传递信息的媒介,其中包括信息的输入和输出。好的人机界面美观易懂、操作简单并且具有引导功能,使用户感觉愉快、增强兴趣,从而提高使用效率。本系统基于Windows操作系统,因此在人机界面上遵循Windows的传统风格,由标题栏、菜单栏、快捷工具按钮、对话框等要素组成。与Windows操作系统一致的人机界面,使得用户只要具备Windows操作基础,就能很快适应本管理系统的操作使用,因此能够大大降低系统培训费用,提高系统的可推广性。为了用户操作方便,日常工作模块直接置于主界面上,用户可以直接进行销售光盘、出租和归还光盘的操作,而不用每次通过菜单调用。为了进一步美化人机界面,使得用户在操作中更加心情舒畅,我们选用Photoshop图像处理软件,为系统设计了简洁明快的界面图。总之我们对系统界面的整体风格,页面布局结构以及色彩搭配等进行了合理的规划和设计,在保证用户易用性、方便性的前提下,创造更简单,友好的系统界面。系统主界面如图5.1所示。图5.1 系统主界面图5.3 模块处理过程处理过程设计就是对管理信息系统处理方式的合理选择,也就是根据系统的任务、目标和环境条件,合理地选择信息活动的形态及具体方法。系统的模块比较多,不可能一一介绍。下面以流程图的模式,对登录模块进行介绍。登录模块是验证系统使用者合法身份的模块。只有正确的用户名和密码才可以通过认证使用该系统。系统根据登录用户的不同级别,提供不同的交互界面,进而达到控制权限的目的。登录模块的工作流程如图5.2所示。第六章 实施概况6.1 操作系统和开发环境系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济。硬件上,选择当前主流配置的PC台式机作为系统的运行硬件环境。详细的配置情况见4.3章节。软件平台是指系统开发与运行的软件环境。Windows系统是当前流行的操作系统,其最新版本为XP版本。因此选择Windows XP作为系统开发和运行的操作系统环境。Visual Baisc是一个面向对象的软件开发工具,具有简单易学、高效等优点,与同类产品相比具有明显的优势。所以在开发工具上,选择了VB6.0面向对象快速程序开发软件做为本系统的开发环境。数据库选择Access 2000。6.2 系统测试系统测试是保障系统运行逻辑功能正确的一项重要工作。进行系统测试主要有两种方法:静态测试和动态测试,我们主要采用动态测试的方法。在开发本系统时,为了使系统能够稳定运行,对本系统进行了有针对性的全面测试,采取的方式是:1、菜单项测试:为了保证每一项下拉菜单能够正确实现系统设计的功能,我设计了一些测试数据,基本上全部输入到本系统中,并对每一个菜单项反复进行了增加、删除、修改等操作,从而保证了菜单级功能的正确实现。2、数据跟踪:完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。例如:例如对最多可借书数的管理,我首先在借书证管理模块中对某个读者的可借书数进行设定,然后在借书模块进行数据操作,随时观察这两个数值之间是否有冲突产生,经过对可借书数的数值多次不同大小的设置并进行验证,说明该功能完全正常。3、综合测试:在以上测试的基础上对系统功能进行了整体的测试,依次来检验系统功能是否符合系统设计的要求。系统测试用例如图6.1所示。图6.1 系统测试用例图6.3 系统运行与维护系统的运行与维护,是软件开发的最后一个环节。系统运行中出现的问题,可以反馈到编码阶段甚至逻辑设计阶段,进行反复的修改运行操作,直至系统完善。而有效的系统维护,可以大大延长软件的声明周期,尽可能提高系统的利用率和所带来的效益。本系统是个较复杂的人-机系统,由于系统外部环境与内部因素的变化,不断影响系统的运行,同时需要系统不断地适应这些变化,不断地完善系统,以提高系统运行的效率与服务水平,这就需要自始至终进行系统的维护工作。系统的维护主要包括四个方面:(1)程序的维护:指的是修改部分或全部程序,这种维护往往是在条件发生变化或原系统的效率低的情况下进行的。(2)数据文件的维护:指的是按照用户的要求对数据文件进行不定期的修改。(3)代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新要求的问题,因此,有必要变更代码,予以维护。(4)硬件的维护:指的是对系统所使用的设备进行维护。本系统的日常维护由商店的专人来负责,如果出现一些不能解决的问题,则由开发者来负责。6.4 系统转换方案采用并行转换方式,以保证平衡可靠的过度。即一方面继续沿用原来的手工方法,同时所有信息也录入该管理系统。这样一方面为系统提供了最为真实的测试环境,可以有效评估系统在功能、效率等方面的性能,同时根据手工方法管理的结果,可以有效判断系统逻辑功能的正确与否;另一方面保障了音像店管理工作的正常运行,防止因为系统存在问题,而导致信息丢失等难以预料的严重后果。通过一定时间的试运行后,如果证明系统能够完全满足商店的音像店管理要求,可以完全替代当前的手工操作的话,则正式停止手工工作方式,启用该管理信息系统。第7章 结论和体会系统开发严格按照管理信息系统的开发步骤,结合了大量的如数据库、面向对象软件开发、软件测试等理论,有正确广泛的理论支持;系统实现后能够完成音像店管理的日常工作,极大提高了管理工作的效率和正确性,并能够提供强大的查询功能,供管理者决策使用,因此具有一定的辅助决策功能;系统与数据库管理系统结合,提供了功能较为强大的数据安全功能,防止了越权操作、误操作,并支持灾难性恢复;系统界面友好,操作简单,效率高易掌握。最后,该系统是典型的管理信息系统(MIS),其设计开发过程具有通用性,对类似工作的开展具有借鉴意义。系统将来还可以从以下两个方面进行改进:第一,加上对网络支持功能,从当前的单机版改进为可以同时支持多个用户对数据库操作的网络版。第二,由于时间比较紧,系统的一些功能还不够完善,离着推广使用还具有一些差距,例如统计报表的功能还比较弱,还不支持条形码的扫描录入等。这些都是今后努力改进的方向。在指导老师的帮助下,通过制作这个课题,我学到了很多。经过这次的实践让我对如何利用VB开发数据库程序有了一个更深得理解。在此期间我遇到了许多困难,但经过我们反复的查阅资料和不断调试下,这些难题还是终究被我们一一克服了,比如数据库的加密、如何访问加密的数据库之类的,在这场实践中我们一起调研、开发、调试,从中我们也得到了团队开发的经验。虽然该系统还并不是很完美,有些功能因条件和自身能力的关系没有设计出来,比如打印之类的管理,所以使得我们今后要不断学习更多的东西来完善它,使其真正成为功能完备的光盘管理系统。参考文献1丁宝康 数据库实用教程 清华大学出版社2史济民 软件工程原理、方法与应用 高等教育出版社3陈明 王智广 赵鹏翔 VB程序设计基础 高等教育出版社4郎洪 段银田 陈勇孝 VB程序设计教程习题及习题解答 高等教育出版社5汪诗林等 数据结构算法与应用 机械工业出版社附录光盘管理模块源码 Dim yn As New yn 定义yn为yn类Option ExplicitPrivate Sub Combo1_Click() Me.PopupMenu list 弹出LIST菜单End SubPrivate Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then 如果按回车键就添加一个记录 Me.Combo1.AddItem Me.Combo1.Text Me.Combo1.SelStart = 0 Me.Combo1.SelLength = Len(Me.Combo1.Text) End If End SubPrivate Sub comsel_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then 如果按回车键就执行查询功能 Call search_Click(0) End IfEnd SubPrivate Sub dele_Click() Me.Combo1.RemoveItem Me.Combo1.ListIndex 单击后删除指定记录 End SubPrivate Sub delecd_Click() msg = 删除光盘 Me.TabStrip1.Tabs(4).Selected = True 4被选中 Dim a As String a = Me.MSHFlexGrid1.Text Me.MSHFlexGrid1.Row = 0 Me.MSHFlexGrid1.Col = Me.MSHFlexGrid1.Col - 1 Msel(0).Text = Me.MSHFlexGrid1.Text Me.txtselect(0).Text = a 赋值方便查询 If Msel(0).Text = 影片编号 Or Msel(0).Text = 影片名称 Or Msel(0).Text = 导演 Or Msel(0).Text = 影片类型 Or Msel(0).Text = 影片格式 Or Msel(0).Text = 影片语言 Then db = select * from 影片资料 where & Msel(0).Text & = & Me.txtselect(0).Text & Call yn.opendb(db) If Not yn.myrec.EOF Then Call yn.myrec.Delete Call yn.myrec.Update MsgBox 此光盘记录已成功删除!, vbInformation Call yn.closedb db = select * from 影片资料 where & Msel(0).Text & = & Me.txtselect(0).Text & Call yn.opendb(db) Set Me.MSHFlexGrid1.DataSource = yn.myrec Call yn.closedb Else Me.MSHFlexGrid1.Visible = False Me.Frame1.Visible = True Call yn.closedb End If Else db = select * from 影片资料 where & Msel(0).Text & = & Me.txtselect(0).Text & Call yn.opendb(db) Call yn.myrec.Delete Call yn.myrec.Update MsgBox 此光盘记录已成功删除!, vbInformation Call yn.closedb db = select * from 影片资料 where & Msel(0).Text & = & Me.txtselect(0).Text & Call yn.opendb(db) Set Me.MSHFlexGrid1.DataSource = yn.myrec Call yn.closedb End IfEnd SubPrivate Sub Form_Load() On Error Resume Next Me.Caption = Me.Caption & msg Select Case msg Case Is = 添加光盘 Me.TabStrip1.Tabs(2).Selected = True For i = 0 To 8 Me.txtinfo(i).BackColor = vbWhite Next Me.Combo1.BackColor = vbWhite 设置白色代表有效 Me.Combo2.BackColor = vbWhite Me.Combo3.BackColor = vbWhite Me.Combo4.BackColor = vbWhite Me.txtselect(0).Visible = False Me.Labinfo(1).Visible = False Msel(0).Visible = False Me.search(0).Visible = False Me.Combo1.Clear Me.Combo2.Clear Me.Combo3.Clear Me.Combo4.Clear Call yn.opendb(select * from 影片类型) Do While yn.myrec.EOF = False Me.Combo2.AddItem yn.myrec.Fields(影片类型) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片格式) Do While yn.myrec.EOF = False Me.Combo3.AddItem yn.myrec.Fields(影片格式) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片语言) Do While yn.myrec.EOF = False Me.Combo4.AddItem yn.myrec.Fields(影片语言) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 自定义) Me.txtinfo(6).Text = yn.myrec.Fields(购买价格) Me.txtinfo(5).Text = yn.myrec.Fields(出租价格) Call yn.closedb Case Is = 修改光盘 Me.txtselect(0).TabIndex = 0 Msel(0).TabIndex = 1 Me.TabStrip1.Tabs(3).Selected = True For i = 0 To 8 Me.txtinfo(i).BackColor = vbWhite Next Me.Combo1.BackColor = vbWhite 设置白色代表有效 Me.Combo2.BackColor = vbWhite Me.Combo3.BackColor = vbWhite Me.Combo4.BackColor = vbWhite Me.Combo1.Clear Me.Combo2.Clear Me.Combo3.Clear Me.Combo4.Clear Call yn.opendb(select * from 影片类型) Do While yn.myrec.EOF = False Me.Combo2.AddItem yn.myrec.Fields(影片类型) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片格式) Do While yn.myrec.EOF = False Me.Combo3.AddItem yn.myrec.Fields(影片格式) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片语言) Do While yn.myrec.EOF = False Me.Combo4.AddItem yn.myrec.Fields(影片语言) yn.myrec.MoveNext Loop Call yn.closedb Case Is = 光盘查询 Me.TabStrip1.Tabs(1).Selected = True Me.Combo1.Visible = False For i = 0 To 8 Me.txtinfo(i).Locked = True Next Me.txtselect(0).TabIndex = 0 Msel(0).TabIndex = 1 Case Is = 删除光盘 Me.TabStrip1.Tabs(4).Selected = True Me.txtselect(0).TabIndex = 0 Msel(0).TabIndex = 1 End SelectEnd SubPrivate Sub modicd_Click() On Error Resume Next 忽略错误 msg = 修改光盘 Me.TabStrip1.Tabs(3).Selected = True Me.MSHFlexGrid1.Row = Me.MSHFlexGrid1.RowSel 确定查询条件 Me.MSHFlexGrid1.Col = 1 Me.txtselect(0).Text = Me.MSHFlexGrid1.Text Me.MSHFlexGrid1.Visible = False Me.Frame1.Visible = True db = select * from 影片资料 where 影片名称= & Trim(Me.txtselect(0).Text) & Call yn.opendb(db) cdm.txtinfo(0).Text = yn.myrec.Fields(影片编号) cdm.txtinfo(1).Text = yn.myrec.Fields(影片名称) cdm.txtinfo(4).Text = yn.myrec.Fields(时间长度) cdm.txtinfo(2).Text = yn.myrec.Fields(导演) cdm.txtinfo(3).Text = yn.myrec.Fields(发行年度) cdm.txtinfo(8).Text = yn.myrec.Fields(影片介绍) cdm.txtinfo(6).Text = yn.myrec.Fields(购买价格) cdm.Combo2.Text = yn.myrec.Fields(影片类型) cdm.Combo4.Text = yn.myrec.Fields(影片语言) cdm.Combo3.Text = yn.myrec.Fields(影片格式) cdm.txtinfo(7).Text = yn.myrec.Fields(总数) cdm.txtinfo(5).Text = yn.myrec.Fields(出租价格) Call yn.closedb Call yn.opendb(select * from 演员 where 影片编号= & Me.txtinfo(0).Text & ) Do While Not yn.myrec.EOF Me.Combo1.AddItem yn.myrec.Fields(演员).Value yn.myrec.MoveNext Loop Call yn.closedbEnd SubPrivate Sub MSHFlexGrid1_Click() Me.PopupMenu modimsf 弹出修改菜单End SubPrivate Sub qd_Click() Select Case msg Case Is = 添加光盘 If Me.txtinfo(0).Text Then For i = 0 To 8 If Me.txtinfo(i).Text = Then MsgBox 对不起这里的每个选项你都要填写!, vbQuestion Exit Sub End If Next db = select * from 影片资料 where 影片名称= & Me.txtinfo(1).Text & Call yn.opendb(db) If yn.myrec.EOF = False Then MsgBox 已经有这部影片了!, vbQuestion Call yn.closedb Else Call yn.closedb Call yn.add(光盘信息) Call yn.add(演员) MsgBox 添加成功!, vbInformation For i = 0 To 4 Me.txtinfo(i).Text = Next Me.txtinfo(7).Text = Me.txtinfo(8).Text = Me.Combo1.Text = Me.Combo1.Clear Me.Combo2.Text = Me.Combo3.Text = Me.Combo4.Text = End If End If Case Is = 修改光盘 If Me.txtinfo(0).Text Then Call yn.modi(光盘信息) Call yn.modi(演员) MsgBox 修改成功!, vbInformation For i = 0 To 8 Me.txtinfo(i).Text = Next End If Case Is = 删除光盘 If Me.txtinfo(0).Text Then db = select * from 影片资料 where 影片名称= & Me.txtinfo(1).Text & Call yn.opendb(db) Call yn.myrec.Delete Call yn.myrec.Update Call yn.closedb Call yn.opendb(select * from 演员) yn.mycon.Execute delete from 演员 where 影片编号= & cdm.txtinfo(0).Text & Call yn.closedb For i = 0 To 8 Me.txtinfo(i).Text = Next Me.Combo1.Text = Me.Combo2.Text = Me.Combo3.Text = Me.Combo4.Text = Msel(0).Text = Me.txtselect(0).Text = Me.lstinfo.Clear MsgBox 此光盘记录已删除!, vbInformation End If End SelectEnd SubPrivate Sub qx_Click() Unload MeEnd SubPrivate Sub search_Click(Index As Integer) If Msel(0).Text And Me.txtselect(0).Text Then Select Case msg Case Is = 修改光盘 Me.Combo1.Clear Call selec Case Is = 光盘查询 Me.lstinfo.Clear Call selec Case Is = 删除光盘 Me.lstinfo.Clear Call selec End Select Else MsgBox 请输入查询条件!, vbInformation End IfEnd SubPrivate Sub TabStrip1_Click() On Error Resume Next Select Case Me.TabStrip1.SelectedItem.Index Case Is = 1 msg = 光盘查询 Me.Caption = 光盘管理- & msg Msel(0).Visible = True Me.txtselect(0).Visible = True Me.Labinfo(1).Visible = True Me.search(0).Visible = True Me.Combo1.Visible = False Me.lstinfo.Visible = True Me.MSHFlexGrid1.Visible = False Me.Frame1.Visible = True For i = 0 To 8 Me.txtinfo(i).Text = Me.txtinfo(i).Locked = True Next Me.Combo1.Text = Me.Combo2.Text = Me.Combo3.Text = Me.Combo4.Text = Msel(0).Text = Me.txtselect(0).Text = Me.lstinfo.Clear For i = 0 To 8 Me.txtinfo(i).BackColor = &H80000004 Next Me.Combo1.BackColor = &H80000004 Me.Combo2.BackColor = &H80000004 Me.Combo3.BackColor = &H80000004 Me.Combo4.BackColor = &H80000004 Case Is = 2 msg = 添加光盘 Me.Caption = 光盘管理- & msg Msel(0).Visible = False Me.txtselect(0).Visible = False Me.Labinfo(1).Visible = False Me.search(0).Visible = False Me.Combo1.Visible = True Me.lstinfo.Visible = False Me.MSHFlexGrid1.Visible = False Me.Frame1.Visible = True For i = 0 To 8 Me.txtinfo(i).Text = Me.txtinfo(i).Locked = False Next Me.Combo1.Text = Me.Combo2.Text = Me.Combo3.Text = Me.Combo4.Text = Me.Combo1.Clear Me.Combo2.Clear Me.Combo3.Clear Me.Combo4.Clear Me.lstinfo.Clear For i = 0 To 8 Me.txtinfo(i).BackColor = vbWhite Next Me.Combo1.BackColor = vbWhite Me.Combo2.BackColor = vbWhite Me.Combo3.BackColor = vbWhite Me.Combo4.BackColor = vbWhite Call yn.opendb(select * from 影片类型) Do While yn.myrec.EOF = False Me.Combo2.AddItem yn.myrec.Fields(影片类型) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片格式) Do While yn.myrec.EOF = False Me.Combo3.AddItem yn.myrec.Fields(影片格式) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片语言) Do While yn.myrec.EOF = False Me.Combo4.AddItem yn.myrec.Fields(影片语言) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 自定义) Me.txtinfo(6).Text = yn.myrec.Fields(购买价格) Me.txtinfo(5).Text = yn.myrec.Fields(出租价格) Call yn.closedb Case Is = 3 msg = 修改光盘 Me.Caption = 光盘管理- & msg Msel(0).Visible = True Me.txtselect(0).Visible = True Me.Labinfo(1).Visible = True Me.search(0).Visible = True Me.Combo1.Visible = True Me.lstinfo.Visible = False Me.MSHFlexGrid1.Visible = False Me.Frame1.Visible = True For i = 0 To 8 Me.txtinfo(i).Text = Me.txtinfo(i).Locked = False Next Me.Combo1.Text = Me.Combo1.Clear Me.Combo2.Clear Me.Combo3.Clear Me.Combo4.Clear Me.Combo2.Text = Me.Combo3.Text = Me.Combo4.Text = Msel(0).Text = Me.txtselect(0).Text = Me.lstinfo.Clear For i = 0 To 8 Me.txtinfo(i).BackColor = vbWhite Me.txtinfo(i).Locked = False Next Me.Combo1.BackColor = vbWhite Me.Combo2.BackColor = vbWhite Me.Combo3.BackColor = vbWhite Me.Combo4.BackColor = vbWhite Call yn.opendb(select * from 影片类型) Do While yn.myrec.EOF = False Me.Combo2.AddItem yn.myrec.Fields(影片类型) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片格式) Do While yn.myrec.EOF = False Me.Combo3.AddItem yn.myrec.Fields(影片格式) yn.myrec.MoveNext Loop Call yn.closedb Call yn.opendb(select * from 影片语言) Do While yn.myrec.EOF = False Me.Combo4.AddItem yn.myrec.Fields(影片语言) yn.myrec.MoveNext Loop Call yn.closedb Case Is = 4 msg = 删除光盘 Me.Caption = 光盘管理- & msg Msel(0).Visible = True Me.txtselect(0).Visible = True Me.Labinfo(1).Visible = True Me.search(0).Visible = True Me.Combo1.Visible = False Me.lstinfo.Visible = True Me.MSHFlexGrid1.Visible = False Me.Frame1.Visible = True For i = 0 To 8 Me.txtinfo(i).Text = Me.txtinfo(i).Locked = True Next Me.Combo1.Text = Me.Combo2.Text = Me.Combo3.Text =
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。