博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
系统操作视频
ASP.NET+SQL在线影院订票系统
一、引言
(一)项目开发的背景
随着计算机产业的迅速发展,电子计算机已广泛的应用于信息管理、文字处理、辅助设计等人们的日常生活中。在线在线影院订票系统主要是针对与电影院订票相关的一系列工作的管理,本系统的建立影院订票的管理更加规范化、系统化,查询手段更加便捷化。同时,在线在线影院订票系统也是实现影院订票现代化和信息化的重要内容。
近年来,随着去电影院看电影的人数的逐渐增加,人工书写数据已经不能够处理如此庞大的数据。为了更好的适应信息时代的高效性,一个利用计算机来实现影院订票工作的系统将必然诞生。基于这一点,设计了一个在线在线影院订票系统,用来就影院订票进行管理,以便在最短的时间内,高效准确的完成整个订票过程。
基于对上述的认识,收集相关资料和数据,查阅有关文献及技术参数,对电影院订票的实际需求等方面进行了调研,发现目前所采用的手工记录的方法进行管理存在以下几个方面的弊端:对象范围广,数据存储不易;填写的数据多,内容相当复杂,且大量数据重复;不易存档,成千上万的信息和堆积如山的单据对管理人员来说是一个负担,需要大量的文档资料。鉴于以上种种原因,影院订票的管理急需一种软件来代替手工操作来管理数据资料。
计算机技术在现代管理中的应用,使计算机成为领导者和管理人员应用现代技术的重要工具[1]。计算机辅助高校管理活动,可以极大地增强管理者采集、处理信息的能力,从而有利于管理者及时决策。计算机系统能根据管理过程的变化情况,将原始数据、资料等进行加工、保存,管理人员可以在解决具体问题需要信息资料时,随时进行检索查询,了解整个在线在线影院订票系统的动态情况,进行动态管理,从而有效的处理影院订票的管理工作,实现电影院对订票管理的自动化,提高效率。
(二)项目开发的目的
在线在线影院订票系统的开发目的是使影院订票模式从手工记录转变成信息管理,为影院订票人员提供方便条件。对电影院的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着电影院信息系统的不断完善,电影院订票的管理将越来越依赖于信息化的管理。所以系统开发将围绕电影院订票工作的实际情况,使之能迅速适应电影院订票的需要。
在线在线影院订票系统的实施的现实意义:减少管理订票的工作人员;管理人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了影院订票的计算机化。
二、可行性分析及总体设计原则
(一)可行性分析
可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功[2]。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
下面将分别从技术、经济、社会三个方面对在线在线影院订票系统的建设进行分析和研究。
1.技术可行性
根据电影院提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
由以上分析可知,在线在线影院订票系统的开发在技术上是可行的。
2.经济可行性
电影院具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,电影院无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
由以上分析可知,在线在线影院订票系统在经济上是可行的。
3.社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
本系统是根据影院订票的实际工作情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。
(2)用户使用可行性
本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对SQL的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。
(二)总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。其主要设计原则有:
简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。
针对性:本系统设计是针对电影院订票的需求定向开发设计,所以具有专业突出和很强的针对性。
实用性:要求本系统能够满足电影院订票人员的需要,因此具有良好的实用性。
一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
先进性:本系统采用.net技术、SQL Server2005等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。
三、系统分析
(一)业务流程分析
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等[4]。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程[5]。
具体业务流程如图3.1所示。
图3.1业务流程图
(二)数据流图
数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程[6]。数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。
数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[7]。
在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。现行的顶层数据流图如图3.2所示。
图3.2顶层数据流图
具体分析第一层数据流图,该层数据流图如图3. 3所示。
图3.3第一层数据流图
由于论文的篇幅限制不能一一列举数据流图,只给出了部分的数据流图,其他数据流图的画法基本一致。
(三)数据字典
通过对系统数据流的分析,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体[8]。
数据元素条目如表3.1所示。
表3.1数据元素
数据结构条目如表3.2所示。
表3.2数据结构
数据流条目如表3.3所示:
表3.3数据流
数据存储条目如表3.4所示:
表3.4数据存储
处理过程条目如表3.5所示:
表3.5处理过程
外部实体条目如表3.6所示:
表3.6外部实体
由于论文篇幅的限制,不在此一一列举,其他所有的数据字典条目都是根据数据流图绘制的。
四、系统设计
(一)系统功能设计
系统设计是一个把软件需求转换成用软件系统表示的过程[9]。通过对目标系统的分析和研究,做出了对在线在线影院订票系统的总体规划,这是全面开发系统的重要基础。在对在线在线影院订票系统全面分析调查的基础上,制定出在线在线影院订票系统的总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。
从数据流图出发,对数据流图进行分析,得出的层次化的模块结构图.
在线在线影院订票系统前台功能模块图如图4.1所示:
图4.1 在线在线影院订票系统前台功能模块图
在线在线影院订票系统后台功能模块图如图4.2所示:
图4.2在线在线影院订票系统后台功能模块图
(二)系统数据库设计
数据库是本系统的核心和基础[10]。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
1.数据库表设计
表4.1新闻信息表
说明:新闻信息表用于存放站内新闻的信息。
表4.2用户信息表
说明:用户信息表用于存放用户的基本信息。
表4.3订票信息表
说明:订票信息表用来存放订票的基本信息。
表4.4影片信息表
说明:影片信息表用来存放影片的基本信息。
表4.5友情链接信息表
说明:友情链接信息表用来存放友情链接的基本信息的。
表4.6备份信息表
说明:备份信息表用于存放备份的信息。
表4.7注册信息表
说明:注册信息表用于存放注册的基本信息。
2.逻辑结构设计
E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述[11]。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型[12]。
(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制。
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图4.3所示:
图4.3系统E-R图
说明:图中用矩形表示实体。实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。实体的属性用椭圆表示,并用无向边把实体与属性联系起来。
(三)系统开发工具与开发模式的选择
1.系统开发工具
1.什么是ASP.NET
ASP.NET是Microsoft.net的一部分,ASP.net 是一种建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。它提供了一个统一的 Web 开发模型,并为开发人员提供了创建企业级 Web 应用程序所需的各种服务。ASP.NET 是一个已编译的、基于 .NET 的环境,可以使用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和就Jscript.)创作应用程序。另外,任何 ASP.NET 应用程序都可以完全使用.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
2 .NET Framework概述
.NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。.NET Framework的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,.NET提供了全新的数据库访问技术ADO .NET,以及网络应用开发技术ASP .NET和Windows编程技术Win Forms;在开发语言方面,.NET提供了VB、VC++、C#、 Jscript等多种语言支持;而Visual Studio .NET则是全面支持.NET的开发工具。
.NET Framework 主要实现下列目标:
(1)提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
(2)提供一个将软件部署和版本控制冲突最小化的代码执行环境。
(3)提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
(4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于Windows 的应用程序和基于 Web 的应用程序)时保持一致。按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。
.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
3. ASP.NET的特点
(1)ASP.NET的新性能
ASP.NET提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.NET的主题就是系统帮用户做了大部分不重要的琐碎的工作。
(2)全新的构造
新的ASP.NET引入受管代码(Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWS Runtime下运行,而NGWS Runtime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。
(3)高效率
对于一个程序来讲,速度是非常重要的。在ASP中为了尽可能精简程序代码,以至于不得不将代码移植到一个低性能的部件中。而ASP.NET则能妥善地解决这一问题。
(4)易控制
在ASP.NET里,你将会拥有一个“Data-Bounds” (数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。
(5)语言支持
ASP.NET支持多种语言,支持编译类语言,支持比如VB、VC++、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。
(6)更好的升级能力
快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.NET能够适应上面的要求。
4. C#
C#是一种最新的、面向对象的编程语言,是微软在Microsoft .NET中推出的全新语言。这种全新的面向对象的语言使得开发者可以快速的构建从底层系统级到高层商业组件的不同应用。C#在保证了强大的功能和灵活性的同时,给C和C++带来了类似于VB的快速开发,并且它还针对.NET作了特别设计,比如C#允许XML数据直接映射为它的数据类型等等,这些特性结合起来使得C#成为优秀的下一代网络编程语言。
5. ADO.NET对象操作数据库
在Microsoft .NET中访问数据库的技术是ADO .NET。ADO .NET提供了一组用来连接到数据库,运行命令,返回记录集的类库,与从前的ADO(ActiveX Data Object)相比,Connection和Command对象很类似,而ADO .NET的革新主要体现在如下几个方面:
首先,ADO .NET提供了对XML的强大支持,这也是ADO .NET的一个主要设计目标。在ADO .NET中通过XML Reader,XML Writer, XML Navigator, XML Document等可以方便的创建和使用XML数据,并且支持W3C 的 XSLT、DTD、XDR等标准。ADO .NET对XML的支持也为XML成为Microsoft .NET中数据交换的统一格式提供了基础。
其次,ADO .NET引入了Dataset的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统一的编程模型来创建和使用它。它替代了原有的Record set的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。
另外,ADO .NET中还引入了一些新的对象,例如Data Reader可以用来高效率的读取数据,产生一个只读的记录集等等。简而言之,ADO .NET通过一系列新的对象和编程模型,并与XML紧密结合,使得在Microsoft .NET中的数据操作十分方便和高效。 ASP .NET是Microsoft .NET中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。
6. SQL Server 2005
SQL Server 2005是Microsoft 公司发行的关系型数据库管理与分析系统,它提供了功能全面、操作简单的图形界面。SQL Server 2005具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求。 SQL Server 2005支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除和检索数据。由于ASP.NET与SQL Server 2005都是由微软公司出品的,所以在ASP.NET应用于后台程序中,有专门针对SQL Server 2005的数据应用类库供用户使用,方便了用户对数据的操作。
7. Microsoft Visual Studio.NET
Visual Studio .NET作为微软的下一代开发工具,它和.NET 开发框架紧密结合,是构建下一代互联网应用的优秀工具。由于Visual Studio .NET通过提供一个统一的集成开发环境及工具,大大提高了开发者的效率;十分方便.NET程序的创建和调试,所以Visual Studio.NET是开发ASP.NET应用程序的常用工具。在Visual Studio.NET中用户可以直接使用它里面的组件来创建ASP.NET应用程序,同时它也是一个功能丰富的编程环境,集成了多种语言支持(如:C#、VC++、VB);简化了服务器端的开发;提供了高效地创建和使用网络服务的方法等等。当用Visual Studio.NET创建一个ASP.NET工程时,Visual Studio.NET会自动配置好IIS应用,用户直接应用即可。
2.系统设计模式
目前,在大多数B/S(Browser/Server)结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。 客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担,并增加了交互性,能进行局部实时刷新。
五、系统实现
(一)系统前台模块
1.登录及注册管理模块
(1)登录模块
此模块主要功能是用于登录本系统,不同权限的用户登录本系统会进入不同的管理模块界面,因为在后台对该用户进行的判断,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。若用户未被管理员分配好权限那么也是无法登录本系统的。如图5.1所示:
图5.1 前台登录界面
用户登录按钮的代码设计如下:
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
if (cx.Text.ToString().Trim() == "注册用户")
{
sql = "select * from zhuceyonghu where yonghuming='" + TextBox1.Text.ToString().Trim() + "' and mima='" + TextBox2.Text.ToString().Trim() + "' and issh='是' ";
}
else
{
sql = "select * from gongsi where yonghuming='" + TextBox1.Text.ToString().Trim() + "' and mima='" + TextBox2.Text.ToString().Trim() + "' and issh='是' ";
}
DataSet result = new DataSet();
result = new Class1().hsggetdata(sql);
if (result != null)
{
if (result.Tables[0].Rows.Count > 0)
{
Session["username"] = TextBox1.Text.ToString().Trim();
Session["cx"] = cx.Text.ToString().Trim();
Session["userip"] = Page.Request.UserHostAddress;
Response.Write("<script>javascript:alert('登陆成功!');location.href='default.aspx';</script>");
}
else
{
Response.Write("<script>javascript:alert('登陆失败,用户名或密码错误,或您的帐号未经审核!');location.href='default.aspx';</script>");
}
}
}
(2)程序流程
图5.2登录程序流程图
2.网站首页界面
本网站的首页如图5.3所示:
图5.3网站首页界面
3.站内新闻界面
用户可以浏览站内新闻本。如图5.4所示:
图5.4站内新闻界面
4.影片资讯界面
用户可以浏览本网站的影片资讯。如图5.5所示:
图5.5影片资讯界面
5.用户注册界面
用户订票必须注册成本站用户。如图5.6所示:
图5.6用户注册界面
添加按钮的代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
sql = "insert into zhuceyonghu(yonghuming,mima,xingming,dianhua,youxiang,shenfenzheng,xingbie,beizhu) values('" + yonghuming.Text.ToString().Trim() + "','" + mima.Text.ToString().Trim() + "','" + xingming.Text.ToString().Trim() + "','" + dianhua.Text.ToString().Trim() + "','" + youxiang.Text.ToString().Trim() + "','" + shenfenzheng.Text.ToString().Trim() + "','" + xingbie.Text.ToString().Trim() + "','" + beizhu.Text.ToString().Trim() + "') ";
int result;
result = new Class1().hsgexucute(sql);
if (result == 1)
{
Response.Write("<script>javascript:alert('注册成功,请待管理员审核后方可登陆!');location.href='default.aspx';</script>");
Response.End();
}
else
{
Response.Write("<script>javascript:alert('系统错误,请检查数据库设置问题');</script>");
}
}
6.用户订票界面
注册用户可以登陆本网站进行订票。如图5.7所示:
图5.7用户订票界面
我要订票按钮的代码设计如下:
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
sql = "select id from dingpiaojilu where yingpianbianhao='"+yingpianbianhao.Text.ToString().Trim()+"' and fangyingshijian='"+fangyingshijian.Text.ToString().Trim()+"' and zuowei='"+zuowei.Text.ToString().Trim()+"'";
DataSet result2 = new DataSet();
result2 = new Class1().hsggetdata(sql);
if (result2 != null)
{
if (result2.Tables[0].Rows.Count > 0)
{
Response.Write("<script>javascript:alert('对不起,该位置已经有人预订,请选择其他位置');history.back();</script>");
Response.End();
}
}
sql="insert into dingpiaojilu(dingpiaoren,yingpianbianhao,yingpianmingcheng,fangyingshijian,fangyingdidian,zuowei,piaojia) values('"+dingpiaoren.Text.ToString().Trim()+"','"+yingpianbianhao.Text.ToString().Trim()+"','"+yingpianmingcheng.Text.ToString().Trim()+"','"+fangyingshijian.Text.ToString().Trim()+"','"+fangyingdidian.Text.ToString().Trim()+"','"+zuowei.Text.ToString().Trim()+"','"+piaojia.Text.ToString().Trim()+"') ";
int result;
result = new Class1().hsgexucute(sql);
if (result == 1)
{
Response.Write("<script>javascript:alert('添加成功');</script>");
}
else
{
Response.Write("<script>javascript:alert('系统错误,请检查数据库设置问题');</script>");
}
}
(二)系统后台模块
1.后台登录界面
后台登录界面。如图5.10所示:
图5.10后台登录界面
登录按钮的代码设计如下:
protected void Image1_ServerClick(object sender, ImageClickEventArgs e)
{
if (TextBox2.Text.ToString().Trim() == "" || TextBox1.Text.ToString().Trim() == "")
{
Response.Write("<script>javascript:alert('请输入完整');history.back();</script>");
Response.End();
}
string sql;
sql = "select * from allusers where username='" + TextBox1.Text.ToString().Trim() + "' and pwd='" + TextBox2.Text.ToString().Trim() + "'";
DataSet result = new DataSet();
result = new Class1().hsggetdata(sql);
// result = new TestOnline.Class1().hsggetdata(sql);
if (result != null)
{
if (result.Tables[0].Rows.Count > 0)
{
Session["username"] = TextBox1.Text.ToString().Trim();
Session["cx"] = result.Tables[0].Rows[0]["cx"].ToString().Trim();
Response.Redirect("main.aspx");
}
else
{
Response.Write("<script>javascript:alert('对不起,用户名或密码不正确!');</script>");
}
}
else
{
Response.Write("<script>javascript:alert('对不起,系统错误,请不要越权操作!');</script>");
}
}
2.注册用户管理界面
管理员登录后可以对注册用户进行管理。如图5.11所示:
图5.11注册用户管理界面
3.用户添加界面
管理员登录本系统后可以添加用户。如图5.12所示:
图5.12用户添加界面
添加用户的按钮
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
//sql语句意思为:向表allusers中插入新数据
sql = "insert into allusers(username,pwd) values('" + username.Text.ToString().Trim() + "','" + pwd1.Text.ToString().Trim() + "')";
new Class1().hsgexucute(sql); //将sql语句执行一次,调用class1.cs中的hsgexecute函数
Response.Write("<script>javascript:alert('添加成功');</script>"); //执行成功,给出提示
}
4.用户管理界面
管理员登录本系统后可以对用户进向管理。如图5.13所示:
图5.13用户管理界面
5.站内新闻添加界面
管理员登录后可以添加站内新闻。如图5.14所示:
图5.14站内新闻添加界面
公告编辑的代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
sql = "update dx set content='" + WebEditor1.Text + "' where leibie='" +lbtxt + "'";
int result;
result = new Class1().hsgexucute(sql);
if (result == 1)
{
Response.Write("<script>javascript:alert('编辑成功');</script>");
}
else
{
Response.Write("<script>javascript:alert('系统错误');</script>");
}
}
6.影片添加界面
管理员登录后可以添加影片。如图5.15所示:
图5.15影片添加界面
影片添加的代码设计如下:
protected void Button1_Click(object sender, EventArgs e)
{
string sql;
if (UploadFile.Value != null && UploadFile.Value != "")
{
hsgupload();
}
sql="insert into yingpian(bianhao,yingpianmingcheng,shangyingshijian,piaoshu,didian,yingpianleixing,piaojia,tupian,beizhu) values('"+bianhao.Text.ToString().Trim()+"','"+yingpianmingcheng.Text.ToString().Trim()+"','"+shangyingshijian.Text.ToString().Trim()+"','"+piaoshu.Text.ToString().Trim()+"','"+didian.Text.ToString().Trim()+"','"+yingpianleixing.Text.ToString().Trim()+"','"+piaojia.Text.ToString().Trim()+"','"+fname+"','"+beizhu.Text.ToString().Trim()+"') ";
int result;
result = new Class1().hsgexucute(sql);
if (result == 1)
{
Response.Write("<script>javascript:alert('添加成功');</script>");
}
else
{
Response.Write("<script>javascript:alert('系统错误,请检查数据库设置问题');</script>");
}
}
7.订票管理界面
管理员登录后可以对订票信息进行管理。如图5.16所示:
图5.16订票管理界面
六、系统测试
测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是"探测"。
(一)系统测试的定义
软件测试是为了发现错误而执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。
(二)系统测试的目的及意义
软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。
(三)系统测试的重要性
软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。
(四)系统测试常用的方法
程序测试的主要方法分为两大类,白盒测试和黑盒测试。
白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符[15]。白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。主要有两种方法:一种称为逻辑覆盖法,另一种称为路径覆盖法。
黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。
黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出[16]。进行黑盒测试主要有下面几种方法:等价分类法、边界值分析法、猜错法、因果图法。
本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。通过测试达到以下测试目的:
1功能检查。
检查功能是否争取,是否遗漏或实现不了应该实现的功能等。
2接口检查。
检查能否正确地接受信息或输出信息。
3数据检查。
检查数据结构或外部信息是否有(如数据文件)访问错误。
4性能检查。
检查性能需求能否得到满足。
5初始化、终止检查。
检查是否能进行正确地初始化或终止。
(五)系统运行情况
系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价。针对本系统的评价如下:
(1)系统功能评价
根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求。
(2)系统技术评价
本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了信访办公效率。
(3)系统经济评价
在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学管理水平。
(六)系统测试结果
所有功能都可以实现,系统运行良好,但是还有很多不够完善的地方,需要以后在使用的过程中继续完善。
结 论
计算机技术的飞速发展带动了很多行业的发展,计算机带给我们最直观的价值就是减少了人力物力的投资,提高了工作质量和效率,从而提高了整个社会的生产力。目前各大影院充分利用计算机资源和网络资源来提高自身的管理水平。
本文在分析影院订票流程的基础上,用.NET和SQL2005数据库设计并完成在线在线影院订票系统。通过系统调试结果显示,本系统基本完成了功能需求。在整个设计过程中,采用瀑布模型和结构化的设计方法。本系统界面美观友好,操作方便,做出了自己的特色。但由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题,如:
1. 有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。
2. 由于时间关系,系统功能实现不够完善,使用可能存在一些不方便。
本系统在实际使用过程中有可能出现一些问题,通过对系统的不断优化和完善,能够调试出真正符合实际情况的在线在线影院订票系统,并整合所有相关影院管理信息系统,形成统一、规范、科学、合理的在线在线影院订票系统,提高管理水平。
论文+ppt+源码下载地址:https://download.csdn.net/download/qq_41221322/89548963
其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者