网上书店系统毕业论文

摘 要

当今Internet技术日新月异,电子商务作为一种新的商业趋势发展起来。它提供了全新的网上交易平台,方便了企业与客户之间的交流,提高了工作效率。随着生产社会化趋势的扩大、科学技术的进步、人类知识总量的增长速度不断加快、以及市场竞争的日益激烈,人们对信息的认识产生了根本性的变化。

本系统是一个电子商务系统,采用ASP.NET技术和SQLServer数据库管理系统作为工具进行开发。整个系统从操作简单性,界面友好性,功能实用性出发,为图书信息发布、网上购书和图书管理提供了一个广阔而廉价的平台,为广大购书者和书店管理人员提供了便捷而全面的信息,使其可以快速、方便地购书和管理书店的日常业务。本系统的设计开发主要包括前台的新书推荐、图书分类查看、图书搜索、购物车、用户登录、用户注册和后台的图书管理、用户管理,管理员登录等功能,已满足现在出网上书店的正常工作需要。

本设计说明书主要介绍了本课题的研究背景、国内外研究现状、开发过程和完成的功能,重点说明了本课题的设计思想、各个模块的详细设计过程。

关键词:网上图书销售 电子商务 ASP.NET SQLServer

ABSTRACT

With the rapid development of internet, electronic commerce, as a new trend, has flourished. It provides an online trading platform for facilitating exchanges between enterprises and their customers, and improves the working efficiency. With the expansion of production socialization trend, the advancement of science and technology, human knowledge of the total amount of growth acceleration, and the increasingly fierce market competition, people on the information known produced fundamental changes.

The system sets up an e-commerce platform, using technologies of ASP and SQLServer database management system. Taking into consideration of simple operation, friendly interface and practical function, the whole system has been designed to provide a broad and cheap platform for book information dissemination, buy book online and book management, and to offer convenient and comprehensive books information for customers and bookshop managers. By this platform, customers and bookshop managers can quickly and conveniently buy books or manage bookshop. The functions, mainly including Front of the book recommendation, books classification view, book search, shopping cart, user login, user registration and background of library management, user management, administrator login and other functions, can basically meet the needs of online bookshop manager.

This paper introduces the background of the development, the process of design and the functions demanded. What’s more, the paper mainly explains the design concepts and the detailed design process of every part.

Keywords: online bookshopt Electronic commerce ASP.NET SQLServer

目 录

第一章 前言 .............................................................. 1

1.1 开发背景 .......................................................... 1

1.2 国内外研究现状 .................................................... 1

1.3 系统设计目标 ...................................................... 2

第二章 系统开发所采用的技术 .............................................. 3

2.1 Microsoft Visual Studio开发工具概述 ............................... 3

2.2 SQL Server概述 .................................................... 3

第三章 网上书店系统需求分析 .............................................. 4

3.1 需求分析 .......................................................... 4

3.1.1 需求分析的任务 ............................................... 4

3.1.2 需求分析的原则 ............................................... 4

3.2 业务需求分析 ...................................................... 6

3.2.1 技术及开发方法可行性 ......................................... 6

3.2.2 管理可行性 ................................................... 7

3.3 业务流程分析 ...................................................... 7

3.3.1 业务流程图图例 ............................................... 7

3.3.2 系统业务流程分析 ............................................. 7

第四章 总体设计 ......................................................... 10

4.1 系统架构设计 ..................................................... 10

4.1.1 系统物理环境配置 ............................................ 10

4.1.2 功能结构设计 ................................................ 10

4.2 详细设计 ......................................................... 11

4.2.1 前台界面设计 ................................................ 11

4.2.2 后台界面设计 ................................................ 11

4.2.3 数据库设计 .................................................. 11

第五章 系统详细设计与实现 ............................................... 17

5.1 功能模块名 ....................................................... 17

5.1.1 新书推荐界面 ................................................ 17

5.1.2 图书分类查看 ................................................ 17

5.1.3 图书搜索 .................................................... 19

5.1.4 购物车 ...................................................... 21

5.1.5 用户登录 .................................................... 25

5.1.6 用户注册 .................................................... 26

5.1.7用户管理 .................................................... 31

5.1.8 图书管理 .................................................... 32

5.1.9 订单管理 .................................................... 36

5.1.10 管理员登录 ................................................. 38

第六章 系统的测试 ....................................................... 40

6.1 测试方法 ......................................................... 40

6.2 系统测试的目的和原则 ............................................. 40

6.3 系统测试 ......................................................... 40

6.3.1 系统入口测试要点 ............................................ 40

6.3.2 数据录入测试要点 ............................................ 40

6.4 系统测试效果 ..................................................... 41

结论 ..................................................................... 44

谢辞 ..................................................................... 45

参考文献 ................................................................. 46

附录 ..................................................................... 47

第一章 前 言

随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统,以及在大规模的事务处理和对工作流的管理等方面的应用。开发网上书店管理系统能够使未来的书店管理更加规范化、合理化。能够有效的快速记录大量的图书的信息,并能对其进行修改使用户能够运用简便的方法能够快速的查到他们所需要的图书的信息,信息化水平已成为衡量一个国家现代化水平和综合国力的重要标志。我国也正处于改革开放进一步深化的环境下,因此我们应当抓住机遇,充分利用信息,扎实的做好信息管理系统的基础工作,建设开发较为先进的应用系统,加快我国信息化建设的步伐。

近几年来,随着加入WTO,社会生活节奏日益加快,网上书店使得人们以网络代步,提高购物效率,同时也随之不断地发展。为了更好地服务于广大读者,各大书店先后搭建了各类信息管理系统,逐渐形成了数字化书店的管理概念。即以网络化管理为基本模式,以信息为售书行业发展的基本动力,以信息技术为增强书店竞争实力的基本手段,以信息化建设为书店发展的新增长点,以信息文化改变着人们教育、工作方式和思想观念。从而根本上实现了服务于广大读者,提高书店管理者各项工作的效率和质量,为书店创造经济效益。

1.1开发背景

网上书店是近年来随着网络技术的发展而产生的一种新型的书店形式。与传统书店相比,网上书店拥有许多的优势。网上书店的建立可以大大减少图书销售中的中间环节,节省大量的人力、物力,并且能够提供更多的书目信息。另外,网上购书的读者不会再受地域的限制,而是遍及世界各地,这也就极大限度地扩大了出版物的发行范围。正是由于这些优势,网上书店才能得以在短时间内迅速发展起来。网上书店的兴起,实际上是 Internet 电子商务在图书业发展的必然结果,它使传统的图书销售业发生了根本性的变革,同时也使传统的购书方式发生了根本性的变化。设计这一程序能使学生对网上书店的具体细节有个比较明确的概念,并从中学习到实用的编写网上书店平台的知识及一些开发软件的使用。

1.2国内外研究现状

国外网上书店充分理解和挖掘网上售书的优势,提供了一般传统书店所没有的高水平服务,他们以独特的运作方式,图书品种多,图书传递速度快,图书价格便宜,订书程序简单,提供全方位的图书信息和双向交流的渠道,提供追踪服务和增值服务等优点

赢得越来越多读者的心。

国内同行近年来也借鉴和学习国外的成功经验。形成了一套比较成熟的网上书店系统,但仍有一些缺陷不足,有待我们去发展和提高。

1.3系统设计目标

在进行开发网上书店之前,跟据调查得到的详尽的系统功能需求分析,系统分为以下模块:

前台页面:

1)图书查看:用户可以搜索图书,查看图书的详细信息。

2)验证用户:未登录用户可以注册和登录,变为已登录的用户。

3)图书订购:已登录的用户可以订购图书,订购的图书会加入购物车,用户确认购买后订单信息将传到后台。

后台页面:

1)用户管理:书店管理员可以对注册用户的信息进行增删改查,主要是维护用户的基本信息。

2)图书管理:书店管理员可以对图书的信息进行增删改查,主要是维护图书的基本信息。

3)订单管理:书店管理员可以查看用户的订单信息,根据订单发货。

第二章 系统开发所采用的技术

本系统采用了Microsoft Visual Studio 2008等开发工具,数据库选用的是功能比较强大的SQL Server 2005,语言采用的是C#语言,以及ASP.NET技术。

2.1 Microsoft Visual Studio开发工具概述

Visual Studio是微软公司推出的开发环境,Visual Studio可以用来创建Windows平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework3.5加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP.NET应用程序服务和 Microsoft平台。

2.2 SQL Server概述 Microsoft SQL Server 是一个关系数据库管理系统。是真正的客户机/服务器体系结构。它具有图形化用户界面,使系统管理和数据库管理更加直观、简单。丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。SQLServer与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。它具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。SQL Server支持XML(Extensive Markup Language,扩展标记语言),强大的基于Web的分析 ,支持OLE DB和多种查询和分布式的分区视图。

第三章 网上书店系统需求分析

3.1需求分析

3.1.1需求分析的任务

需求分析的基本任务:确定系统的目标和范围,调查用户的需求,分析系统必须做什么,编写需求规格说明书等其它相关文档,以及需求工程审查.同时还包括需求变更的控制、需求风险的控制、制定需求过程的基本计划等工作。

需求分析包括两个活动:需求开发和需求管理。

需求可分四类:业务需求是反映组织机构或客户对软件高层次的目标要求,这项需求是用户高层领导机构决定的,它确定了系统的目标规模和范围。用户需求是用户使用该软件要完成的任务。功能需求是软件开发人员必须实现的软件功能。非功能需求是产品必须具备的属性或品质 ,包括对用户的重要属性(有效性、效率、灵活性、完整性、互操作性、可靠性、健壮性、可用性)和开发者的质量属性(可维护性、可复用性、可测试性)

3.1.2需求分析的原则

近年来已提出了许多软件分析与说明的方法。虽然各种分析方法都有其独特的描述方法,但总的看来,所有分析方法还是有它们共同适用的基本原则。

1)必须能够表达和理解问题的数据域和功能域

所有软件定义与开发工作最终是为了解决数据处理问题,就是将一种形式的数据转换成另一种形式的数据。其转换过程必定经历输入、加工数据和产生结果数据等步骤。对于计算机程序处理的数据,其数据域应包括数据流、数据内容和数据结构。

数据流即数据通过一个系统时的变化方式。输入数据首先转换成中间数据,然后转换成输出结果数据。在此期间可以从已有的数据存储(如磁盘文件或内存缓冲区)中引入附加数据。对数据进行转换是程序中应有的功能或子功能。两个转换功能之间的数据传递就确定了功能间的接口。

数据内容即数据项。例如,学生名册包含了班级、人数、每个学生的学号、姓名、性别、各科成绩等。学生名册的内容由它所包含的项定义。为了理解对学生名册的处理,必须要理解它的数据内容。

数据结构即各种数据项的逻辑组织。数据是组织成表格,还是组织成有层次的树型结构。在结构中数据项与其他哪些数据项相关?所有数据是在一个数据结构中,还是在几个数据结构中。一个结构中的数据与其他结构中的数据如何联系。这些问题都由数据结构分析来解决。

2)必须按自顶向下、逐层分解的方式对问题进行分解和不断细化

通常软件要处理的问题,作为一个整体来看,显得太大太复杂很难理解。如果把问题以某种方式分解为几个较易理解的部分,并确定各部分间的接口,从而实现整体功能。在需求分析阶段,软件的功能域和信息域都能做进一步的分解。这种分解可以是同一层次上的,称为横向分解;也可以是多层次的纵向分解。

例如,把一个功能分解成几个子功能,并确定这些子功能与父功能的接口,就属于横向分解。但如果继续分解,把某些子功能又分解为小的子功能,某个小的子功能又分解为更小的子功能,这就属于纵向分解了。

3)要给出系统的逻辑视图和物理视图

给出系统的逻辑视图(逻辑模型)和物理视图(物理模型),这对系统满足处理需求所提出的逻辑限制条件和系统中其他成分提出的物理限制条件是必不可少的。软件需求的逻辑视图给出软件要达到的功能和要处理数据之间的关系,而不是实现的细节。例如,一个商店的销售处理系统要从顾客那里获取订单,系统读取订单的功能并不关心订单数据的物理形式和用什么设备读入,也就是说无需关心输入的机制,只是读取顾客的订单而已。类似的,系统中检查库存的功能只关心库存文件的数据结构,而不关心在计算机中的具体存储方式。软件需求的逻辑描述是软件设计的基础。

软件需求的物理视图给出处理功能和数据结构的实际表示形式,这往往是由设备决定的。如一些软件靠终端键盘输入数据,另一些软件靠模一数转换设备提供数据。分析员必须弄清系统元素对软件的限制,并考虑功能和信息结构的物理表示。

系统用例图如图3-1所示:

3.2业务需求分析

3.2.1技术及开发方法可行性

本系统基于浏览器/服务器体系即人们常说的 B/S体系,系统安装维护简便。B/S体系与C/S体系的选取,C/S体系的系统需要每一个用户都安装客户端,一旦系统需要升级,那么每一个用户都需要重新安装客户端,这大大降低了程序的性能,而且C/S体系传输的二进制数据,这就有可能导致系统的安全性能问题。而B/S架构只在服务器端提供系统的实现,每一个客户端只要通过本机的浏览器就可以访问,大大提高了系统的可拓展性。开发技术主要包括ASP,C#,三层架构,JDBC以及Web应用开发中常用的脚本语言JavaScript技术。数据库采用SQLServer数据库系统。由于本系统采用的是C#,可运行于Windows系列等操作系统平台。

3.2.2管理可行性

利用面向对象的机构化方法,面向对象方法以“对象为中心”,在分析、研究对象及其属性的过程中,根据其内在规律建立求解模型。基于这种方法建立的软件系统,不管外部环境或功能需求如何变化,而对象内在的规律不变,因而不会引起软件结构的整体变化,所以系统是稳定的,利用此方法可以充分达到系统管理可行性的目的。

3.3业务流程分析 3.3.1业务流程图图例

系统设计以前,要对系统需求进行归纳分析,查找出所有的业务主角,确定业务主角后,每个主角的相关活动及流程应清晰地制定出来,最终设计出逻辑视图、用户界面示意图。 经过认真地调查研究、信息流程分析和数据收集,以及智能问答系统的业务特点,可以绘制业务流程图。

业务流程图如图3-2所示。

判断过程 业务处理功能 描述信息传递过程

图3-2 业务流程图图例

3.3.2系统业务流程分析

下图是对该系统业务流程的简单分析:

前台:用户可进入首页和其他页面查看图书,在图书详细信息窗口中可点击购买,已登录用户进入购物车界面,未登录用户进入登录界面,登录界面可以登录或链接到注册界面。如果用户名与密码验证通过就能做相关操作。如果用户名不存在或密码不正确,就重新输入。登录后可进入购物车进行购书操作。

前台系统流程图如图3-3所示。

图3-3 前台系统业务流程图

后台:管理员首先登录系统,账号与密码验证通过就能做相关操作。如果用户名不存在或密码不正确,就重新输入。管理员成功登陆之后,可选操作有三个,订单管理,用户管理,图书管理。订单管理查看订单的详细信息。用户管理可以对用户的信息进行查看,修改,删除等操作。图书管理可以查看和修改图书详细信息,增加图书,删除图书,对添加图书分类和图书进行分类。

后台系统流程图如图3-4所示。

图3-4 后台系统业务流程图

第四章 总体设计

4.1系统架构设计 4.1.1系统物理环境配置

1. 硬件环境

1) 硬件:CPU主频为2.09GHZ,内存为1.99GB。 2) 操作系统:Windows XP Professional Edit Service Pack3。 2. 编程语言和开发工具

1) 编程语言:ASP.NET,C#,JavaScript。 2) 数据库开发工具:Microsoft SQL Server 2005。 3) 软件开发工具:Microsoft Visual Studio 2008。

4.1.2功能结构设计

本系统总体上由以下模块组成:

前台的新书推荐、图书分类查看、图书搜索、购物车、用户登录和用户注册。 后台的订单管理、图书管理、用户管理和管理员登录。 系统功能结构图如图4-1所示。

图4-1 IT之友网上图书销售系统功能图

4.2详细设计 4.2.1前台界面设计

前台界面包括新书推荐,图书分类查看,图书搜索,购物车,用户登录和用户注册。未登录用户只能查看图书信息和搜索图书,已登录用户可以进入购物车进行购书,用户可以注册,注册时录入用户的信息包括用户名,真实姓名,用户密码,确认密码,邮箱地址,电话号码等等。在进入购物车之前会提示用户登录,进入登录界面,用户键入用户名和密码,系统自行判定是否存在,然后进入购物车界面。

输入:用户名,密码。

处理:判断用户名和密码是否有效。

填入用户名和密码后点击【登录】按钮,系统将自动从数据库中判断是否存在相同的用户名和密码,如果有则进入购物车,如果不存在则提示用户名和密码有错误信息。

输出:登录成功,进入购物车,不成功则在登录页面显示错误信息。

4.2.2后台界面设计

后台界面主要功能包括图书管理、用户管理、订单管理等三部分功能。后台界面设置一个友好的界面,管理员可以根据需要点击自己想使用的功能进入功能界面。在进入主界面之前有一个管理员登陆界面,管理员键入账号和密码,系统自行判定是否存在,然后进入主界面。

输入:账号,密码。

处理:判断账号和密码是否有效。

填入账号和密码后点击【登录】按钮,系统将自动从数据库中判断是否存在相同的账号和密码,如果有则进入系统,如果不存在则提示账号和密码有错误信息。

输出:登录成功,进入系统的主页面,不成功则在登录页面显示错误信息。

4.2.3数据库设计

数据库物理设计包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。主要解决选择文件存储结构和确定文件存取方法的问题。在数据库中访问数据的路径主要表现为如何建立索引。如要直接定位到所要查找的记录,应采用索引方法存取方法(索引表)。顺序表只能从起点进去向后一个个访问记录。数据库的物理实现取决于特定的DBMS,在规划存储结构时主要应考虑存取时间和存储空间,这两者通常是互相矛盾的,要根据实际情况决定。图书实体属性图如图4-2所示。

图4-2 图书实体属性图

用户实体属性图如图4-3所示。

图4-3 用户实体属性图

订单实体属性图如图4-4示。

图4-4 订单实体属性图

订单图书实体属性图如图4-5示。

图4-5 订单图书实体属性图

出版社实体属性图如图4-6示。

图4-6 出版社实体属性图

图书分类实体属性图如

图4-7示

图4-7 图书分类实体属性图

用户角色实体属性图如图4-8示

图4-8 用户角色实体属性图

网上图书销售系统总的E-R图如图4-9示。

图4-9 网上图书销售系统实体属性图

在上面的实体以及实体之间关系模式的基础上,形成数据库中表以及各表之间关系。

图书表如表4-1所示。

表4-1 图书表

用户表如表4-2所示。

表4-2 用户表

订单表如表4-3所示。

表4-3 订单表

订单图书表如表4-4所示。

表4-4 订单图书表

图书分类表如表4-5所示。

表4-5 图书分类表

出版社表如表4-6所示。

表4-6 出版社表

用户角色表如表4-7所示。

表4-7 用户角色表

第五章 系统详细设计与实现

5.1功能模块名 5.1.1新书推荐界面

本页面显示了最新上架的书和书店热销和推荐的书。如图5-1所示。

图5-1 新书推荐

部分实现代码:

src="BookCover.ashx?isbn=[1**********]8" width="111" height="148" border="0" />

cellspacing="0" cellpadding="0">

href="BookDetail.aspx?bid=4943" target="_blank">Effective C# 中文版改善C#程序的50种方法

本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等....

定价:49元

折扣价:38元

折扣:75折

5.1.2图书分类查看

本页面显示图书分类查看,用户点击左侧导航树的分类信息,相应的会在右侧显示该分类下的图书,如图5-2所示:

图5-2 图书分类查看

部分实现代码:

"> [

" name="link_prd_name" target="_blank" class="booktitle" id="link_prd_name">

¥

后台核心代码:

public static IList GetPartialBooksBySql(int categoryId, string order) {

string safeSql = "select Id,ISBN, Title, Author, PublisherId, PublishDate, UnitPrice,SubString(ContentDescription,0,200) as ShortContent from books"; if (categoryId > 0) {

safeSql += " WHERE CategoryId = " + categoryId; }

if (order.Trim().Length > 0) {

safeSql += " order by " + order; }

return GetPartialBooksBySql(safeSql); }

5.1.3图书搜索

图书搜索在前台的每个页面都有,在搜索框中输入要搜索的图书关键字,会跳转到此页,显示出搜索结果,如图5-3所示。

图5-3 图书搜索

页面部分实现代码:

MasterPageFile="~/common.master" CodeFile="Search.aspx.cs" Inherits="Search" %>

请选择排序方式:

|

* 书名

* 作者

* 出版社

* 出版日期

* 价格

* ">

*

*

*

*

class="title_booklist4">

* ">

*

*

*

*

class="title_booklist4">

后台核心代码:

public static IList SearchBooks(string keyword, string order) {

string safeSql = "select Id,ISBN, Title, Author, PublisherId, PublishDate, UnitPrice,SubString(ContentDescription,0,200) as ShortContent from books";

if (keyword.Trim().Length > 0) {

safeSql += " where title like '%" + keyword + "%'"; }

if (order.Trim().Length > 0) {

safeSql += " order by " + order; }

return GetPartialBooksBySql(safeSql); }

5.1.4购物车

用户登录后可以进入购物车界面,查看购物信息,也可以由图书详细信息界面点击 【购买】进入此页。此界面显示了购书数量和总价,用户也可以在添加和删除购书。点击【结算】可以生成订单并提交到数据库。如图5-4所示:

图5-4 购物车

页面部分实现代码:

购物车|IT之友网上书店

'>

'>

继续挑选商品     商品金额总计:¥

后台核心代码:

public static Order AddOrder(Order order) {

string sql =

"INSERT Orders (OrderDate, UserId, TotalPrice)" + "VALUES (@OrderDate, @UserId, @TotalPrice)";

sql += " ; SELECT @@IDENTITY";

try {

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@UserId", order.User.Id), //FK new SqlParameter("@OrderDate", order.OrderDate), new SqlParameter("@TotalPrice", order.TotalPrice) };

int newId = DBHelper.GetScalar(sql, para); return GetOrderById(newId); }

catch (Exception e) {

Console.WriteLine(e.Message);

Console.WriteLine("adsdasdsdasdasdasd"); return null; } }

5.1.5用户登录

用户输入用户名和密码,点击【登录】如果数据库中存在就会登陆成功,如果不存在会弹出对话框提示错误信息。如图5-5所示。

图5-5 用户登录

页面部分实现代码:

CodeFile="UserLoginControl.ascx.cs" Inherits="_Controls_UserLoginControl" %>

width="24%" width="24%"

height="26" height="26"

rowspan="2" rowspan="2"

align="right" align="right"

valign="top">用户名:

valign="top">密 码:

ImageUrl="../Images/az-login-gold-3d.gif" OnClick="btnLogin_Click" />

height="33" colspan="6">

已注册用户请从这里登录

runat="server" ID="imgbtnRegister"

OnClick="btnRegister_Click"

ImageUrl="../Images/az-newuser-gold-3d.gif"

后台核心代码:

public static bool Login(string loginId, string loginPwd, out User validUser) {

User user = UserService.GetUserByLoginId(loginId); if (user == null) {

//用户名不存在 validUser = null; return false; }

if (user.LoginPwd == loginPwd) {

validUser = user; return true; } else {

//密码错误 validUser = null; return false; } }

5.1.6用户注册

在用户登录界面点击【新用户注册】会进入此界面,用户输入所有信息后点击【完成】,如果信息验证通过就会注册成功,用户信息会提交到数据库中。如图5-6所示。

图5-6 用户注册

页面部分实现代码:

CodeFile="UserRegisterControl.ascx.cs" Inherits="_Controls_UserRegisterControl" %>

注册新用户

用户名

请输入真实姓名" ControlToValidate="txtName">*

真实姓名:

请输入用户名" ControlToValidate="txtLoginId">*

密码:

*

确认密码:

ControlToValidate="txtPwdAgain">*

Email:

*

ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*

地址:

*

手机:

*

验证码:

后台核心代码:

public static User AddUser(User user) {

string sql =

"INSERT Users (LoginId, LoginPwd, Name, Address, Phone, Mail, UserRoleId, UserStateId)" +

"VALUES (@LoginId, @LoginPwd, @Name, @Address, @Phone, @Mail, @UserRoleId)";

sql += " ; SELECT @@IDENTITY"; SqlParameter[] para = new SqlParameter[] {

//new SqlParameter("@UserStateId", user.UserState.Id), //FK new SqlParameter("@UserRoleId", user.UserRole.Id), //FK new SqlParameter("@LoginId", user.LoginId), new SqlParameter("@LoginPwd", user.LoginPwd), new SqlParameter("@Name", user.Name), new SqlParameter("@Address", user.Address), new SqlParameter("@Phone", user.Phone), new SqlParameter("@Mail", user.Mail) };

int newId = DBHelper.GetScalar(sql, para); return GetUserById(newId); }

5.1.7用户管理

图5-7 用户管理

页面部分实现代码:

AutoEventWireup="true" CodeFile="ListAllUsers.aspx.cs" Inherits="_ListAllUsers" Title="用户管理|IT之友书店" %>

CausesValidation="False" CommandName="Delete"

Text="删除">

后台核心代码:

public static void DeleteUserById(int id) {

string sql = @"DELETE OrderBook WHERE OrderId in (select Id from Orders WHERE UserId=@Id)

DELETE Orders where UserId=@Id DELETE Users WHERE Id = @Id";

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@Id", id) };

DBHelper.ExecuteCommand(sql, para); }

5.1.8图书管理

图5-8 图书管理

实现代码:

'>

DataNavigateUrlFormatString="BookDetail.aspx?id={0}"

Text="详细" DataNavigateUrlFields="id" />

--%>

后台核心代码:

public static Book AddBook(Book book) {

string sql =

"INSERT Books (Title, Author, PublisherId, PublishDate, ISBN, WordsCount, UnitPrice, ContentDescription, AuthorDescription, EditorComment, TOC, CategoryId, Clicks)" +

"VALUES (@Title, @Author, @PublisherId, @PublishDate, @ISBN, @WordsCount, @UnitPrice, @ContentDescription, @AuthorDescription, @EditorComment, @TOC, @CategoryId, @Clicks)";

sql += " ; SELECT @@IDENTITY";

try {

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@PublisherId", book.Publisher.Id), //FK new SqlParameter("@CategoryId", book.Category.Id), //FK new SqlParameter("@Title", book.Title), new SqlParameter("@Author", book.Author), new SqlParameter("@PublishDate", book.PublishDate), new SqlParameter("@ISBN", book.ISBN), new SqlParameter("@WordsCount", book.WordsCount), new SqlParameter("@UnitPrice", book.UnitPrice), new SqlParameter("@ContentDescription", book.ContentDescription),

new SqlParameter("@AuthorDescription", book.AurhorDescription), new SqlParameter("@EditorComment", book.EditorComment), new SqlParameter("@TOC", book.TOC), };

int newId = DBHelper.GetScalar(sql, para); return GetBookById(newId); }

catch (Exception e) {

Console.WriteLine(e.Message); throw e; } }

public static void ModifyBook(Book book) {

string sql =

"UPDATE Books " + "SET " +

"PublisherId = @PublisherId, " + //FK "CategoryId = @CategoryId, " + //FK "Title = @Title, " + "Author = @Author, " +

"PublishDate = @PublishDate, " + "ISBN = @ISBN, " +

"WordsCount = @WordsCount, " + "UnitPrice = @UnitPrice, " +

"ContentDescription = @ContentDescription, " + "AuthorDescription = @AuthorDescription, " + "EditorComment = @EditorComment, " + "TOC = @TOC " + "WHERE Id = @Id";

try {

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@Id", book.Id), new SqlParameter("@PublisherId", book.Publisher.Id), //FK new SqlParameter("@CategoryId", book.Category.Id), //FK new SqlParameter("@Title", book.Title), new SqlParameter("@Author", book.Author), new SqlParameter("@PublishDate", book.PublishDate),

new SqlParameter("@ISBN", book.ISBN), new SqlParameter("@WordsCount", book.WordsCount), new SqlParameter("@UnitPrice", book.UnitPrice), new SqlParameter("@ContentDescription", book.ContentDescription), new SqlParameter("@AuthorDescription", book.AurhorDescription), new SqlParameter("@EditorComment", book.EditorComment), new SqlParameter("@TOC", book.TOC) };

DBHelper.ExecuteCommand(sql, para); }

catch (Exception e) {

Console.WriteLine(e.Message); throw e; }

}

public static IList GetAllBooks() {

string sqlAll = "SELECT * FROM Books"; return GetBooksBySql(sqlAll); }

5.1.9订单管理

图5-9 订单管理

页面部分实现代码:

AutoEventWireup="true" CodeFile="OrderDetail.aspx.cs" Inherits="Admin_OrderDetail" Title="订单详情|IT之友网上书店" %>

'>

'>

'>

'>

--%> 后台核心代码:

private static IList GetOrdersBySql(string safeSql) {

List list = new List();

try {

DataTable table = DBHelper.GetDataSet(safeSql);

foreach (DataRow row in table.Rows) {

Order order = new Order();

order.Id = (int)row["Id"];

order.OrderDate = (DateTime)row["OrderDate"]; order.TotalPrice = (decimal)row["TotalPrice"];

order.User = UserService.GetUserById((int)row["UserId"]); //FK

list.Add(order); }

return list; }

catch (Exception e) {

Console.WriteLine(e.Message); return null; }

}

5.1.10管理员登录

图5-10 管理员登录

页面部分实现代码:

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

后台核心代码:

public static bool AdminLogin(string loginId, string loginPwd, out User validUser) {

User user=UserService.GetAdminUserByLoginId(loginId);

if (user == null) {

//用户名不存在 validUser = null; return false; }

if (user.LoginPwd == loginPwd) {

validUser = user; return true; } else {

//密码错误

validUser = null; return false; } }

第六章 系统的测试

6.1测试方法

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统 方案说明书中指定功能的有效方法。在任何软件系统的开发过程中,尤其是在进行大型软件系统的开发中,任何一个编程人员都不可避免地会产生错误。为了尽可能地发现并改正系统设计中的错误,减少错误造成的损失,保证系统开发的质量,需要进行系统的测试。

测试任何产品都有两种方法:

1)如果已经知道了产品已具有的功能,可以通过测试来检验是否每个功能都能正常使用。

2)如果知道了产品的内部工作过程,可以通过测试来检验内部动作是否按照规格说明书的规定正常进行。

白盒测试:也称为结构测试,根据程序内部逻辑结构进行测试。

黑盒测试:也称为功能测试,从用户观点,按规格说明书要求的输入数据和输出数据的对应关系设计测试用例,是程序外部特征进行的测试。

无论黑盒测试还是白盒测试,都不可能作到穷尽测试,因为不可能作到穷尽测试,所以软件测试中的不可能发现程序中的所有错误。我们的目的就是要通过测试保证程序的可靠性,因此必须仔细设计测试方案,力争用可能少的测试发现尽可能多的错误。

在完成系统之后,我个人对整个系统从流程上进行了详细对测试,也就是进行了百合测试,解决了遇到对问题。并且进行了黑盒测试。

6.2系统测试的目的和原则

在任何软件系统的开发过程中,尤其是在进行大型软件系统的开发中,任何一个编程人员都不可避免地会产生错误。为了尽可能地发现并改正系统设计中的错误,减少错误造成的损失,保证系统开发的质量,需要进行系统的测试。

6.3系统测试

6.3.1系统入口测试要点

测试要点:用户名和密码。

测试路径:用户名和密码是否为真。

测试结果:为真,进入系统;为假,提示帐户错误。

6.3.2数据录入测试要点

测试要点:数据录入类型、数据约束。

测试路径:录入类型是否正确,是否允许为空。

测试结果:录入类型正确,能写入数据库增加新记录,否则提示重新输入。录入空值,允许为空,则正常增加记录,否则提示不允许为空。

当录入数据为数据表中限定的类型时,才能增加新的记录;若录入的数据类型不正确,则无法增加新的记录。

6.4系统测试效果

1)根据上面的系统入口测试用例测试效果。 输入:用户名jackccjjkk。密码123456。 预期结果:弹出提示 实际效果:如图6-1所示。

图6-1 用户登录错误提示

当用户名和密码错误的时候,出现提示错误,需要重新输入,否则不能购物。 2)数据录入类型测试、约束用例测试效果。 输入:在注册页面不输入任何数据。 预期结果:弹出错误提示。 实际效果:如图6-2所示。

图6-2 数据录入测试效果图

3)输入:在注册页面输入错误的验证码。 预期结果:弹出错误提示。 实际效果:如图6-3所示。

图6-3 数据录入-验证码错误测试效果图

4)输入:在注册页面正确信息。 预期结果:弹出注册成功提示。 实际效果:如图6-4所示。

图6-3 数据录入-信息正确测试效果图

结 论

在毕业设计这几个月以来,从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。

经过这次毕业设计,可以说将我大学五年所学的知识进行了一次全面的总结,有些学过的知识忘记了,经过毕业设计我又从新复习了一遍,有些知识自己过去就不会但自己又不知道,经过这次毕业设计,又将这些不足的地方弥补了,最重要的是从毕业设计的过程中我又学到了更多新的知识。在毕业设计初期,我选择了ASP来编写这次的设计课题,开始的时候觉得自己根本无从下手,经过自己的自学过程,我慢慢开始进入了状态,ASP方面的知识开始逐渐的提高,我想这不仅仅使我的毕业设计取得了进展,同时也为我在将来的工作道路上增加了资本。尽管我所作的设计不能算是一个非常成功的软件,但是它终究是一个独立的软件,我在这个过程中了解到了一个软件的制作过程,并在独立思考,独立解决问题方面都大有所提高,为我以后的工作奠定了良好的基础。

总之,通过这次毕业设计,我在个人动手能力方面有了很大的提高,而且对大学五年所学的知识有了一个全面的回顾,这些都对我将来的工作生涯起到了至关重要的作用。

当然,一方面由于初次尝试系统的开发,对系统开发所使用的技术、工具等还有一个从熟练到精通的过程。另一面由于毕业设计时间有限,系统难免还存在很多的不足,需要进一步的改善,主要在以下两个方面:系统功能还需要进一步的完善,以适用于更多的领域。以及系统的安全性设计方面还应该考虑全面一些。

谢 辞

在本设计的实现和论文撰写过程中,得到了老师的悉心指导,才得以顺利完成,在此向老师致以诚心的谢意。老师严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。使我获得了良好的理论知识和实践技能,让我能在面对各种新技术的学习中有个良好的前提和扎实的基础,使我的实验技能有了很大的提高。

在大学的五年里,还要特别感谢大学五年学习过程中给我系统讲授专业课知识的各位老师,无论在理论上还是在实践中,你们都给与我很大的帮助,增强了我的自信心,提高了积极性,使得我能够顺利完成论文。论文参阅了大量的国内外有关文献,对文献的作者也表示由衷的感谢。

毕业论文正代表着大学的终结,完成它既有一种收获感,它代表着我五年的努力,代表了我五年的历程。当它终于完工的时候,我不禁想起了很多人,很多事,尤其是辛勤培养我的老师们,五年的时光就如同一夜之隔,现在看来他是很飞快的,是不由我们惆怅的,如今我们即将离开培养了我们五年的大家庭,再也没有一起哭,一起闹,一起床前明月光,对酒当歌的日子了,谢谢软件学院这个在这我们所有人梦想的舞台的学习天地!再次感谢传授我知识的每一位老师,马上就要走出校门,走上工作岗位,我将带着你们所传授的技能去打拼,去奋斗,多谢你们。

在大学生活即将结束之际,诚挚的祝愿所有的老师和同学们在今后的日子里工作顺利、万事如意、身体健康!

参考文献

[1] 孙践知.ASP.NET+SQLServer(C#实现)[M].北京:清华大学出版社.2008.

[2] 崔淼,关六三,彭炜.ASP.NET程序设计教程(C#版)(第二版)[M].北京:机械工业出版社.2011. [3] 沈士根,汪承炎,许小东. Web程序设计:ASP.NET 实用网站开发[M].北京:清华大学出版社.2009.

[4] 马骏.C#程序设计及应用教程(第二版)[M].北京:人民邮电出版社.2009. [5] 刘丽霞,李俊民等.C#范例开发大全[M].北京:清华大学出版社.2010. [6] 王小科,徐薇.C#从入门到精通[M].北京:清华大学出版社.2010. [7] 韩国锋.ASP第一步 [M].北京:清华大学出版社.2008.

[8] 郑淑芬,赵敏翔.ASP.NET 3.5最佳实践——使用Visual C# [M].北京:电子工业出版社.2009. [9] Bill Wagner 著,陈黎夫 译.C#高效编程:改进C#代码的50个行之有效的办法(第2版)(第五版)[M].北京:人民邮电出版社.2010.

[10] Andrew Troelsen 著,肖逵,张大磊等 译.C#与.NET4高级程序设计(第五版)[M].北京:人民邮电出版社.2011.

[11] Karli Watson,Christian Nagel著,齐立波,黄静 译.C#入门经典(第五版)[M].北京:清华大学出版社.2010.

摘 要

当今Internet技术日新月异,电子商务作为一种新的商业趋势发展起来。它提供了全新的网上交易平台,方便了企业与客户之间的交流,提高了工作效率。随着生产社会化趋势的扩大、科学技术的进步、人类知识总量的增长速度不断加快、以及市场竞争的日益激烈,人们对信息的认识产生了根本性的变化。

本系统是一个电子商务系统,采用ASP.NET技术和SQLServer数据库管理系统作为工具进行开发。整个系统从操作简单性,界面友好性,功能实用性出发,为图书信息发布、网上购书和图书管理提供了一个广阔而廉价的平台,为广大购书者和书店管理人员提供了便捷而全面的信息,使其可以快速、方便地购书和管理书店的日常业务。本系统的设计开发主要包括前台的新书推荐、图书分类查看、图书搜索、购物车、用户登录、用户注册和后台的图书管理、用户管理,管理员登录等功能,已满足现在出网上书店的正常工作需要。

本设计说明书主要介绍了本课题的研究背景、国内外研究现状、开发过程和完成的功能,重点说明了本课题的设计思想、各个模块的详细设计过程。

关键词:网上图书销售 电子商务 ASP.NET SQLServer

ABSTRACT

With the rapid development of internet, electronic commerce, as a new trend, has flourished. It provides an online trading platform for facilitating exchanges between enterprises and their customers, and improves the working efficiency. With the expansion of production socialization trend, the advancement of science and technology, human knowledge of the total amount of growth acceleration, and the increasingly fierce market competition, people on the information known produced fundamental changes.

The system sets up an e-commerce platform, using technologies of ASP and SQLServer database management system. Taking into consideration of simple operation, friendly interface and practical function, the whole system has been designed to provide a broad and cheap platform for book information dissemination, buy book online and book management, and to offer convenient and comprehensive books information for customers and bookshop managers. By this platform, customers and bookshop managers can quickly and conveniently buy books or manage bookshop. The functions, mainly including Front of the book recommendation, books classification view, book search, shopping cart, user login, user registration and background of library management, user management, administrator login and other functions, can basically meet the needs of online bookshop manager.

This paper introduces the background of the development, the process of design and the functions demanded. What’s more, the paper mainly explains the design concepts and the detailed design process of every part.

Keywords: online bookshopt Electronic commerce ASP.NET SQLServer

目 录

第一章 前言 .............................................................. 1

1.1 开发背景 .......................................................... 1

1.2 国内外研究现状 .................................................... 1

1.3 系统设计目标 ...................................................... 2

第二章 系统开发所采用的技术 .............................................. 3

2.1 Microsoft Visual Studio开发工具概述 ............................... 3

2.2 SQL Server概述 .................................................... 3

第三章 网上书店系统需求分析 .............................................. 4

3.1 需求分析 .......................................................... 4

3.1.1 需求分析的任务 ............................................... 4

3.1.2 需求分析的原则 ............................................... 4

3.2 业务需求分析 ...................................................... 6

3.2.1 技术及开发方法可行性 ......................................... 6

3.2.2 管理可行性 ................................................... 7

3.3 业务流程分析 ...................................................... 7

3.3.1 业务流程图图例 ............................................... 7

3.3.2 系统业务流程分析 ............................................. 7

第四章 总体设计 ......................................................... 10

4.1 系统架构设计 ..................................................... 10

4.1.1 系统物理环境配置 ............................................ 10

4.1.2 功能结构设计 ................................................ 10

4.2 详细设计 ......................................................... 11

4.2.1 前台界面设计 ................................................ 11

4.2.2 后台界面设计 ................................................ 11

4.2.3 数据库设计 .................................................. 11

第五章 系统详细设计与实现 ............................................... 17

5.1 功能模块名 ....................................................... 17

5.1.1 新书推荐界面 ................................................ 17

5.1.2 图书分类查看 ................................................ 17

5.1.3 图书搜索 .................................................... 19

5.1.4 购物车 ...................................................... 21

5.1.5 用户登录 .................................................... 25

5.1.6 用户注册 .................................................... 26

5.1.7用户管理 .................................................... 31

5.1.8 图书管理 .................................................... 32

5.1.9 订单管理 .................................................... 36

5.1.10 管理员登录 ................................................. 38

第六章 系统的测试 ....................................................... 40

6.1 测试方法 ......................................................... 40

6.2 系统测试的目的和原则 ............................................. 40

6.3 系统测试 ......................................................... 40

6.3.1 系统入口测试要点 ............................................ 40

6.3.2 数据录入测试要点 ............................................ 40

6.4 系统测试效果 ..................................................... 41

结论 ..................................................................... 44

谢辞 ..................................................................... 45

参考文献 ................................................................. 46

附录 ..................................................................... 47

第一章 前 言

随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统,以及在大规模的事务处理和对工作流的管理等方面的应用。开发网上书店管理系统能够使未来的书店管理更加规范化、合理化。能够有效的快速记录大量的图书的信息,并能对其进行修改使用户能够运用简便的方法能够快速的查到他们所需要的图书的信息,信息化水平已成为衡量一个国家现代化水平和综合国力的重要标志。我国也正处于改革开放进一步深化的环境下,因此我们应当抓住机遇,充分利用信息,扎实的做好信息管理系统的基础工作,建设开发较为先进的应用系统,加快我国信息化建设的步伐。

近几年来,随着加入WTO,社会生活节奏日益加快,网上书店使得人们以网络代步,提高购物效率,同时也随之不断地发展。为了更好地服务于广大读者,各大书店先后搭建了各类信息管理系统,逐渐形成了数字化书店的管理概念。即以网络化管理为基本模式,以信息为售书行业发展的基本动力,以信息技术为增强书店竞争实力的基本手段,以信息化建设为书店发展的新增长点,以信息文化改变着人们教育、工作方式和思想观念。从而根本上实现了服务于广大读者,提高书店管理者各项工作的效率和质量,为书店创造经济效益。

1.1开发背景

网上书店是近年来随着网络技术的发展而产生的一种新型的书店形式。与传统书店相比,网上书店拥有许多的优势。网上书店的建立可以大大减少图书销售中的中间环节,节省大量的人力、物力,并且能够提供更多的书目信息。另外,网上购书的读者不会再受地域的限制,而是遍及世界各地,这也就极大限度地扩大了出版物的发行范围。正是由于这些优势,网上书店才能得以在短时间内迅速发展起来。网上书店的兴起,实际上是 Internet 电子商务在图书业发展的必然结果,它使传统的图书销售业发生了根本性的变革,同时也使传统的购书方式发生了根本性的变化。设计这一程序能使学生对网上书店的具体细节有个比较明确的概念,并从中学习到实用的编写网上书店平台的知识及一些开发软件的使用。

1.2国内外研究现状

国外网上书店充分理解和挖掘网上售书的优势,提供了一般传统书店所没有的高水平服务,他们以独特的运作方式,图书品种多,图书传递速度快,图书价格便宜,订书程序简单,提供全方位的图书信息和双向交流的渠道,提供追踪服务和增值服务等优点

赢得越来越多读者的心。

国内同行近年来也借鉴和学习国外的成功经验。形成了一套比较成熟的网上书店系统,但仍有一些缺陷不足,有待我们去发展和提高。

1.3系统设计目标

在进行开发网上书店之前,跟据调查得到的详尽的系统功能需求分析,系统分为以下模块:

前台页面:

1)图书查看:用户可以搜索图书,查看图书的详细信息。

2)验证用户:未登录用户可以注册和登录,变为已登录的用户。

3)图书订购:已登录的用户可以订购图书,订购的图书会加入购物车,用户确认购买后订单信息将传到后台。

后台页面:

1)用户管理:书店管理员可以对注册用户的信息进行增删改查,主要是维护用户的基本信息。

2)图书管理:书店管理员可以对图书的信息进行增删改查,主要是维护图书的基本信息。

3)订单管理:书店管理员可以查看用户的订单信息,根据订单发货。

第二章 系统开发所采用的技术

本系统采用了Microsoft Visual Studio 2008等开发工具,数据库选用的是功能比较强大的SQL Server 2005,语言采用的是C#语言,以及ASP.NET技术。

2.1 Microsoft Visual Studio开发工具概述

Visual Studio是微软公司推出的开发环境,Visual Studio可以用来创建Windows平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework3.5加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP.NET应用程序服务和 Microsoft平台。

2.2 SQL Server概述 Microsoft SQL Server 是一个关系数据库管理系统。是真正的客户机/服务器体系结构。它具有图形化用户界面,使系统管理和数据库管理更加直观、简单。丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。SQLServer与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。它具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。SQL Server支持XML(Extensive Markup Language,扩展标记语言),强大的基于Web的分析 ,支持OLE DB和多种查询和分布式的分区视图。

第三章 网上书店系统需求分析

3.1需求分析

3.1.1需求分析的任务

需求分析的基本任务:确定系统的目标和范围,调查用户的需求,分析系统必须做什么,编写需求规格说明书等其它相关文档,以及需求工程审查.同时还包括需求变更的控制、需求风险的控制、制定需求过程的基本计划等工作。

需求分析包括两个活动:需求开发和需求管理。

需求可分四类:业务需求是反映组织机构或客户对软件高层次的目标要求,这项需求是用户高层领导机构决定的,它确定了系统的目标规模和范围。用户需求是用户使用该软件要完成的任务。功能需求是软件开发人员必须实现的软件功能。非功能需求是产品必须具备的属性或品质 ,包括对用户的重要属性(有效性、效率、灵活性、完整性、互操作性、可靠性、健壮性、可用性)和开发者的质量属性(可维护性、可复用性、可测试性)

3.1.2需求分析的原则

近年来已提出了许多软件分析与说明的方法。虽然各种分析方法都有其独特的描述方法,但总的看来,所有分析方法还是有它们共同适用的基本原则。

1)必须能够表达和理解问题的数据域和功能域

所有软件定义与开发工作最终是为了解决数据处理问题,就是将一种形式的数据转换成另一种形式的数据。其转换过程必定经历输入、加工数据和产生结果数据等步骤。对于计算机程序处理的数据,其数据域应包括数据流、数据内容和数据结构。

数据流即数据通过一个系统时的变化方式。输入数据首先转换成中间数据,然后转换成输出结果数据。在此期间可以从已有的数据存储(如磁盘文件或内存缓冲区)中引入附加数据。对数据进行转换是程序中应有的功能或子功能。两个转换功能之间的数据传递就确定了功能间的接口。

数据内容即数据项。例如,学生名册包含了班级、人数、每个学生的学号、姓名、性别、各科成绩等。学生名册的内容由它所包含的项定义。为了理解对学生名册的处理,必须要理解它的数据内容。

数据结构即各种数据项的逻辑组织。数据是组织成表格,还是组织成有层次的树型结构。在结构中数据项与其他哪些数据项相关?所有数据是在一个数据结构中,还是在几个数据结构中。一个结构中的数据与其他结构中的数据如何联系。这些问题都由数据结构分析来解决。

2)必须按自顶向下、逐层分解的方式对问题进行分解和不断细化

通常软件要处理的问题,作为一个整体来看,显得太大太复杂很难理解。如果把问题以某种方式分解为几个较易理解的部分,并确定各部分间的接口,从而实现整体功能。在需求分析阶段,软件的功能域和信息域都能做进一步的分解。这种分解可以是同一层次上的,称为横向分解;也可以是多层次的纵向分解。

例如,把一个功能分解成几个子功能,并确定这些子功能与父功能的接口,就属于横向分解。但如果继续分解,把某些子功能又分解为小的子功能,某个小的子功能又分解为更小的子功能,这就属于纵向分解了。

3)要给出系统的逻辑视图和物理视图

给出系统的逻辑视图(逻辑模型)和物理视图(物理模型),这对系统满足处理需求所提出的逻辑限制条件和系统中其他成分提出的物理限制条件是必不可少的。软件需求的逻辑视图给出软件要达到的功能和要处理数据之间的关系,而不是实现的细节。例如,一个商店的销售处理系统要从顾客那里获取订单,系统读取订单的功能并不关心订单数据的物理形式和用什么设备读入,也就是说无需关心输入的机制,只是读取顾客的订单而已。类似的,系统中检查库存的功能只关心库存文件的数据结构,而不关心在计算机中的具体存储方式。软件需求的逻辑描述是软件设计的基础。

软件需求的物理视图给出处理功能和数据结构的实际表示形式,这往往是由设备决定的。如一些软件靠终端键盘输入数据,另一些软件靠模一数转换设备提供数据。分析员必须弄清系统元素对软件的限制,并考虑功能和信息结构的物理表示。

系统用例图如图3-1所示:

3.2业务需求分析

3.2.1技术及开发方法可行性

本系统基于浏览器/服务器体系即人们常说的 B/S体系,系统安装维护简便。B/S体系与C/S体系的选取,C/S体系的系统需要每一个用户都安装客户端,一旦系统需要升级,那么每一个用户都需要重新安装客户端,这大大降低了程序的性能,而且C/S体系传输的二进制数据,这就有可能导致系统的安全性能问题。而B/S架构只在服务器端提供系统的实现,每一个客户端只要通过本机的浏览器就可以访问,大大提高了系统的可拓展性。开发技术主要包括ASP,C#,三层架构,JDBC以及Web应用开发中常用的脚本语言JavaScript技术。数据库采用SQLServer数据库系统。由于本系统采用的是C#,可运行于Windows系列等操作系统平台。

3.2.2管理可行性

利用面向对象的机构化方法,面向对象方法以“对象为中心”,在分析、研究对象及其属性的过程中,根据其内在规律建立求解模型。基于这种方法建立的软件系统,不管外部环境或功能需求如何变化,而对象内在的规律不变,因而不会引起软件结构的整体变化,所以系统是稳定的,利用此方法可以充分达到系统管理可行性的目的。

3.3业务流程分析 3.3.1业务流程图图例

系统设计以前,要对系统需求进行归纳分析,查找出所有的业务主角,确定业务主角后,每个主角的相关活动及流程应清晰地制定出来,最终设计出逻辑视图、用户界面示意图。 经过认真地调查研究、信息流程分析和数据收集,以及智能问答系统的业务特点,可以绘制业务流程图。

业务流程图如图3-2所示。

判断过程 业务处理功能 描述信息传递过程

图3-2 业务流程图图例

3.3.2系统业务流程分析

下图是对该系统业务流程的简单分析:

前台:用户可进入首页和其他页面查看图书,在图书详细信息窗口中可点击购买,已登录用户进入购物车界面,未登录用户进入登录界面,登录界面可以登录或链接到注册界面。如果用户名与密码验证通过就能做相关操作。如果用户名不存在或密码不正确,就重新输入。登录后可进入购物车进行购书操作。

前台系统流程图如图3-3所示。

图3-3 前台系统业务流程图

后台:管理员首先登录系统,账号与密码验证通过就能做相关操作。如果用户名不存在或密码不正确,就重新输入。管理员成功登陆之后,可选操作有三个,订单管理,用户管理,图书管理。订单管理查看订单的详细信息。用户管理可以对用户的信息进行查看,修改,删除等操作。图书管理可以查看和修改图书详细信息,增加图书,删除图书,对添加图书分类和图书进行分类。

后台系统流程图如图3-4所示。

图3-4 后台系统业务流程图

第四章 总体设计

4.1系统架构设计 4.1.1系统物理环境配置

1. 硬件环境

1) 硬件:CPU主频为2.09GHZ,内存为1.99GB。 2) 操作系统:Windows XP Professional Edit Service Pack3。 2. 编程语言和开发工具

1) 编程语言:ASP.NET,C#,JavaScript。 2) 数据库开发工具:Microsoft SQL Server 2005。 3) 软件开发工具:Microsoft Visual Studio 2008。

4.1.2功能结构设计

本系统总体上由以下模块组成:

前台的新书推荐、图书分类查看、图书搜索、购物车、用户登录和用户注册。 后台的订单管理、图书管理、用户管理和管理员登录。 系统功能结构图如图4-1所示。

图4-1 IT之友网上图书销售系统功能图

4.2详细设计 4.2.1前台界面设计

前台界面包括新书推荐,图书分类查看,图书搜索,购物车,用户登录和用户注册。未登录用户只能查看图书信息和搜索图书,已登录用户可以进入购物车进行购书,用户可以注册,注册时录入用户的信息包括用户名,真实姓名,用户密码,确认密码,邮箱地址,电话号码等等。在进入购物车之前会提示用户登录,进入登录界面,用户键入用户名和密码,系统自行判定是否存在,然后进入购物车界面。

输入:用户名,密码。

处理:判断用户名和密码是否有效。

填入用户名和密码后点击【登录】按钮,系统将自动从数据库中判断是否存在相同的用户名和密码,如果有则进入购物车,如果不存在则提示用户名和密码有错误信息。

输出:登录成功,进入购物车,不成功则在登录页面显示错误信息。

4.2.2后台界面设计

后台界面主要功能包括图书管理、用户管理、订单管理等三部分功能。后台界面设置一个友好的界面,管理员可以根据需要点击自己想使用的功能进入功能界面。在进入主界面之前有一个管理员登陆界面,管理员键入账号和密码,系统自行判定是否存在,然后进入主界面。

输入:账号,密码。

处理:判断账号和密码是否有效。

填入账号和密码后点击【登录】按钮,系统将自动从数据库中判断是否存在相同的账号和密码,如果有则进入系统,如果不存在则提示账号和密码有错误信息。

输出:登录成功,进入系统的主页面,不成功则在登录页面显示错误信息。

4.2.3数据库设计

数据库物理设计包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。主要解决选择文件存储结构和确定文件存取方法的问题。在数据库中访问数据的路径主要表现为如何建立索引。如要直接定位到所要查找的记录,应采用索引方法存取方法(索引表)。顺序表只能从起点进去向后一个个访问记录。数据库的物理实现取决于特定的DBMS,在规划存储结构时主要应考虑存取时间和存储空间,这两者通常是互相矛盾的,要根据实际情况决定。图书实体属性图如图4-2所示。

图4-2 图书实体属性图

用户实体属性图如图4-3所示。

图4-3 用户实体属性图

订单实体属性图如图4-4示。

图4-4 订单实体属性图

订单图书实体属性图如图4-5示。

图4-5 订单图书实体属性图

出版社实体属性图如图4-6示。

图4-6 出版社实体属性图

图书分类实体属性图如

图4-7示

图4-7 图书分类实体属性图

用户角色实体属性图如图4-8示

图4-8 用户角色实体属性图

网上图书销售系统总的E-R图如图4-9示。

图4-9 网上图书销售系统实体属性图

在上面的实体以及实体之间关系模式的基础上,形成数据库中表以及各表之间关系。

图书表如表4-1所示。

表4-1 图书表

用户表如表4-2所示。

表4-2 用户表

订单表如表4-3所示。

表4-3 订单表

订单图书表如表4-4所示。

表4-4 订单图书表

图书分类表如表4-5所示。

表4-5 图书分类表

出版社表如表4-6所示。

表4-6 出版社表

用户角色表如表4-7所示。

表4-7 用户角色表

第五章 系统详细设计与实现

5.1功能模块名 5.1.1新书推荐界面

本页面显示了最新上架的书和书店热销和推荐的书。如图5-1所示。

图5-1 新书推荐

部分实现代码:

src="BookCover.ashx?isbn=[1**********]8" width="111" height="148" border="0" />

cellspacing="0" cellpadding="0">

href="BookDetail.aspx?bid=4943" target="_blank">Effective C# 中文版改善C#程序的50种方法

本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等....

定价:49元

折扣价:38元

折扣:75折

5.1.2图书分类查看

本页面显示图书分类查看,用户点击左侧导航树的分类信息,相应的会在右侧显示该分类下的图书,如图5-2所示:

图5-2 图书分类查看

部分实现代码:

"> [

" name="link_prd_name" target="_blank" class="booktitle" id="link_prd_name">

¥

后台核心代码:

public static IList GetPartialBooksBySql(int categoryId, string order) {

string safeSql = "select Id,ISBN, Title, Author, PublisherId, PublishDate, UnitPrice,SubString(ContentDescription,0,200) as ShortContent from books"; if (categoryId > 0) {

safeSql += " WHERE CategoryId = " + categoryId; }

if (order.Trim().Length > 0) {

safeSql += " order by " + order; }

return GetPartialBooksBySql(safeSql); }

5.1.3图书搜索

图书搜索在前台的每个页面都有,在搜索框中输入要搜索的图书关键字,会跳转到此页,显示出搜索结果,如图5-3所示。

图5-3 图书搜索

页面部分实现代码:

MasterPageFile="~/common.master" CodeFile="Search.aspx.cs" Inherits="Search" %>

请选择排序方式:

|

* 书名

* 作者

* 出版社

* 出版日期

* 价格

* ">

*

*

*

*

class="title_booklist4">

* ">

*

*

*

*

class="title_booklist4">

后台核心代码:

public static IList SearchBooks(string keyword, string order) {

string safeSql = "select Id,ISBN, Title, Author, PublisherId, PublishDate, UnitPrice,SubString(ContentDescription,0,200) as ShortContent from books";

if (keyword.Trim().Length > 0) {

safeSql += " where title like '%" + keyword + "%'"; }

if (order.Trim().Length > 0) {

safeSql += " order by " + order; }

return GetPartialBooksBySql(safeSql); }

5.1.4购物车

用户登录后可以进入购物车界面,查看购物信息,也可以由图书详细信息界面点击 【购买】进入此页。此界面显示了购书数量和总价,用户也可以在添加和删除购书。点击【结算】可以生成订单并提交到数据库。如图5-4所示:

图5-4 购物车

页面部分实现代码:

购物车|IT之友网上书店

'>

'>

继续挑选商品     商品金额总计:¥

后台核心代码:

public static Order AddOrder(Order order) {

string sql =

"INSERT Orders (OrderDate, UserId, TotalPrice)" + "VALUES (@OrderDate, @UserId, @TotalPrice)";

sql += " ; SELECT @@IDENTITY";

try {

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@UserId", order.User.Id), //FK new SqlParameter("@OrderDate", order.OrderDate), new SqlParameter("@TotalPrice", order.TotalPrice) };

int newId = DBHelper.GetScalar(sql, para); return GetOrderById(newId); }

catch (Exception e) {

Console.WriteLine(e.Message);

Console.WriteLine("adsdasdsdasdasdasd"); return null; } }

5.1.5用户登录

用户输入用户名和密码,点击【登录】如果数据库中存在就会登陆成功,如果不存在会弹出对话框提示错误信息。如图5-5所示。

图5-5 用户登录

页面部分实现代码:

CodeFile="UserLoginControl.ascx.cs" Inherits="_Controls_UserLoginControl" %>

width="24%" width="24%"

height="26" height="26"

rowspan="2" rowspan="2"

align="right" align="right"

valign="top">用户名:

valign="top">密 码:

ImageUrl="../Images/az-login-gold-3d.gif" OnClick="btnLogin_Click" />

height="33" colspan="6">

已注册用户请从这里登录

runat="server" ID="imgbtnRegister"

OnClick="btnRegister_Click"

ImageUrl="../Images/az-newuser-gold-3d.gif"

后台核心代码:

public static bool Login(string loginId, string loginPwd, out User validUser) {

User user = UserService.GetUserByLoginId(loginId); if (user == null) {

//用户名不存在 validUser = null; return false; }

if (user.LoginPwd == loginPwd) {

validUser = user; return true; } else {

//密码错误 validUser = null; return false; } }

5.1.6用户注册

在用户登录界面点击【新用户注册】会进入此界面,用户输入所有信息后点击【完成】,如果信息验证通过就会注册成功,用户信息会提交到数据库中。如图5-6所示。

图5-6 用户注册

页面部分实现代码:

CodeFile="UserRegisterControl.ascx.cs" Inherits="_Controls_UserRegisterControl" %>

注册新用户

用户名

请输入真实姓名" ControlToValidate="txtName">*

真实姓名:

请输入用户名" ControlToValidate="txtLoginId">*

密码:

*

确认密码:

ControlToValidate="txtPwdAgain">*

Email:

*

ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*

地址:

*

手机:

*

验证码:

后台核心代码:

public static User AddUser(User user) {

string sql =

"INSERT Users (LoginId, LoginPwd, Name, Address, Phone, Mail, UserRoleId, UserStateId)" +

"VALUES (@LoginId, @LoginPwd, @Name, @Address, @Phone, @Mail, @UserRoleId)";

sql += " ; SELECT @@IDENTITY"; SqlParameter[] para = new SqlParameter[] {

//new SqlParameter("@UserStateId", user.UserState.Id), //FK new SqlParameter("@UserRoleId", user.UserRole.Id), //FK new SqlParameter("@LoginId", user.LoginId), new SqlParameter("@LoginPwd", user.LoginPwd), new SqlParameter("@Name", user.Name), new SqlParameter("@Address", user.Address), new SqlParameter("@Phone", user.Phone), new SqlParameter("@Mail", user.Mail) };

int newId = DBHelper.GetScalar(sql, para); return GetUserById(newId); }

5.1.7用户管理

图5-7 用户管理

页面部分实现代码:

AutoEventWireup="true" CodeFile="ListAllUsers.aspx.cs" Inherits="_ListAllUsers" Title="用户管理|IT之友书店" %>

CausesValidation="False" CommandName="Delete"

Text="删除">

后台核心代码:

public static void DeleteUserById(int id) {

string sql = @"DELETE OrderBook WHERE OrderId in (select Id from Orders WHERE UserId=@Id)

DELETE Orders where UserId=@Id DELETE Users WHERE Id = @Id";

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@Id", id) };

DBHelper.ExecuteCommand(sql, para); }

5.1.8图书管理

图5-8 图书管理

实现代码:

'>

DataNavigateUrlFormatString="BookDetail.aspx?id={0}"

Text="详细" DataNavigateUrlFields="id" />

--%>

后台核心代码:

public static Book AddBook(Book book) {

string sql =

"INSERT Books (Title, Author, PublisherId, PublishDate, ISBN, WordsCount, UnitPrice, ContentDescription, AuthorDescription, EditorComment, TOC, CategoryId, Clicks)" +

"VALUES (@Title, @Author, @PublisherId, @PublishDate, @ISBN, @WordsCount, @UnitPrice, @ContentDescription, @AuthorDescription, @EditorComment, @TOC, @CategoryId, @Clicks)";

sql += " ; SELECT @@IDENTITY";

try {

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@PublisherId", book.Publisher.Id), //FK new SqlParameter("@CategoryId", book.Category.Id), //FK new SqlParameter("@Title", book.Title), new SqlParameter("@Author", book.Author), new SqlParameter("@PublishDate", book.PublishDate), new SqlParameter("@ISBN", book.ISBN), new SqlParameter("@WordsCount", book.WordsCount), new SqlParameter("@UnitPrice", book.UnitPrice), new SqlParameter("@ContentDescription", book.ContentDescription),

new SqlParameter("@AuthorDescription", book.AurhorDescription), new SqlParameter("@EditorComment", book.EditorComment), new SqlParameter("@TOC", book.TOC), };

int newId = DBHelper.GetScalar(sql, para); return GetBookById(newId); }

catch (Exception e) {

Console.WriteLine(e.Message); throw e; } }

public static void ModifyBook(Book book) {

string sql =

"UPDATE Books " + "SET " +

"PublisherId = @PublisherId, " + //FK "CategoryId = @CategoryId, " + //FK "Title = @Title, " + "Author = @Author, " +

"PublishDate = @PublishDate, " + "ISBN = @ISBN, " +

"WordsCount = @WordsCount, " + "UnitPrice = @UnitPrice, " +

"ContentDescription = @ContentDescription, " + "AuthorDescription = @AuthorDescription, " + "EditorComment = @EditorComment, " + "TOC = @TOC " + "WHERE Id = @Id";

try {

SqlParameter[] para = new SqlParameter[] { new SqlParameter("@Id", book.Id), new SqlParameter("@PublisherId", book.Publisher.Id), //FK new SqlParameter("@CategoryId", book.Category.Id), //FK new SqlParameter("@Title", book.Title), new SqlParameter("@Author", book.Author), new SqlParameter("@PublishDate", book.PublishDate),

new SqlParameter("@ISBN", book.ISBN), new SqlParameter("@WordsCount", book.WordsCount), new SqlParameter("@UnitPrice", book.UnitPrice), new SqlParameter("@ContentDescription", book.ContentDescription), new SqlParameter("@AuthorDescription", book.AurhorDescription), new SqlParameter("@EditorComment", book.EditorComment), new SqlParameter("@TOC", book.TOC) };

DBHelper.ExecuteCommand(sql, para); }

catch (Exception e) {

Console.WriteLine(e.Message); throw e; }

}

public static IList GetAllBooks() {

string sqlAll = "SELECT * FROM Books"; return GetBooksBySql(sqlAll); }

5.1.9订单管理

图5-9 订单管理

页面部分实现代码:

AutoEventWireup="true" CodeFile="OrderDetail.aspx.cs" Inherits="Admin_OrderDetail" Title="订单详情|IT之友网上书店" %>

'>

'>

'>

'>

--%> 后台核心代码:

private static IList GetOrdersBySql(string safeSql) {

List list = new List();

try {

DataTable table = DBHelper.GetDataSet(safeSql);

foreach (DataRow row in table.Rows) {

Order order = new Order();

order.Id = (int)row["Id"];

order.OrderDate = (DateTime)row["OrderDate"]; order.TotalPrice = (decimal)row["TotalPrice"];

order.User = UserService.GetUserById((int)row["UserId"]); //FK

list.Add(order); }

return list; }

catch (Exception e) {

Console.WriteLine(e.Message); return null; }

}

5.1.10管理员登录

图5-10 管理员登录

页面部分实现代码:

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

后台核心代码:

public static bool AdminLogin(string loginId, string loginPwd, out User validUser) {

User user=UserService.GetAdminUserByLoginId(loginId);

if (user == null) {

//用户名不存在 validUser = null; return false; }

if (user.LoginPwd == loginPwd) {

validUser = user; return true; } else {

//密码错误

validUser = null; return false; } }

第六章 系统的测试

6.1测试方法

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统 方案说明书中指定功能的有效方法。在任何软件系统的开发过程中,尤其是在进行大型软件系统的开发中,任何一个编程人员都不可避免地会产生错误。为了尽可能地发现并改正系统设计中的错误,减少错误造成的损失,保证系统开发的质量,需要进行系统的测试。

测试任何产品都有两种方法:

1)如果已经知道了产品已具有的功能,可以通过测试来检验是否每个功能都能正常使用。

2)如果知道了产品的内部工作过程,可以通过测试来检验内部动作是否按照规格说明书的规定正常进行。

白盒测试:也称为结构测试,根据程序内部逻辑结构进行测试。

黑盒测试:也称为功能测试,从用户观点,按规格说明书要求的输入数据和输出数据的对应关系设计测试用例,是程序外部特征进行的测试。

无论黑盒测试还是白盒测试,都不可能作到穷尽测试,因为不可能作到穷尽测试,所以软件测试中的不可能发现程序中的所有错误。我们的目的就是要通过测试保证程序的可靠性,因此必须仔细设计测试方案,力争用可能少的测试发现尽可能多的错误。

在完成系统之后,我个人对整个系统从流程上进行了详细对测试,也就是进行了百合测试,解决了遇到对问题。并且进行了黑盒测试。

6.2系统测试的目的和原则

在任何软件系统的开发过程中,尤其是在进行大型软件系统的开发中,任何一个编程人员都不可避免地会产生错误。为了尽可能地发现并改正系统设计中的错误,减少错误造成的损失,保证系统开发的质量,需要进行系统的测试。

6.3系统测试

6.3.1系统入口测试要点

测试要点:用户名和密码。

测试路径:用户名和密码是否为真。

测试结果:为真,进入系统;为假,提示帐户错误。

6.3.2数据录入测试要点

测试要点:数据录入类型、数据约束。

测试路径:录入类型是否正确,是否允许为空。

测试结果:录入类型正确,能写入数据库增加新记录,否则提示重新输入。录入空值,允许为空,则正常增加记录,否则提示不允许为空。

当录入数据为数据表中限定的类型时,才能增加新的记录;若录入的数据类型不正确,则无法增加新的记录。

6.4系统测试效果

1)根据上面的系统入口测试用例测试效果。 输入:用户名jackccjjkk。密码123456。 预期结果:弹出提示 实际效果:如图6-1所示。

图6-1 用户登录错误提示

当用户名和密码错误的时候,出现提示错误,需要重新输入,否则不能购物。 2)数据录入类型测试、约束用例测试效果。 输入:在注册页面不输入任何数据。 预期结果:弹出错误提示。 实际效果:如图6-2所示。

图6-2 数据录入测试效果图

3)输入:在注册页面输入错误的验证码。 预期结果:弹出错误提示。 实际效果:如图6-3所示。

图6-3 数据录入-验证码错误测试效果图

4)输入:在注册页面正确信息。 预期结果:弹出注册成功提示。 实际效果:如图6-4所示。

图6-3 数据录入-信息正确测试效果图

结 论

在毕业设计这几个月以来,从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。

经过这次毕业设计,可以说将我大学五年所学的知识进行了一次全面的总结,有些学过的知识忘记了,经过毕业设计我又从新复习了一遍,有些知识自己过去就不会但自己又不知道,经过这次毕业设计,又将这些不足的地方弥补了,最重要的是从毕业设计的过程中我又学到了更多新的知识。在毕业设计初期,我选择了ASP来编写这次的设计课题,开始的时候觉得自己根本无从下手,经过自己的自学过程,我慢慢开始进入了状态,ASP方面的知识开始逐渐的提高,我想这不仅仅使我的毕业设计取得了进展,同时也为我在将来的工作道路上增加了资本。尽管我所作的设计不能算是一个非常成功的软件,但是它终究是一个独立的软件,我在这个过程中了解到了一个软件的制作过程,并在独立思考,独立解决问题方面都大有所提高,为我以后的工作奠定了良好的基础。

总之,通过这次毕业设计,我在个人动手能力方面有了很大的提高,而且对大学五年所学的知识有了一个全面的回顾,这些都对我将来的工作生涯起到了至关重要的作用。

当然,一方面由于初次尝试系统的开发,对系统开发所使用的技术、工具等还有一个从熟练到精通的过程。另一面由于毕业设计时间有限,系统难免还存在很多的不足,需要进一步的改善,主要在以下两个方面:系统功能还需要进一步的完善,以适用于更多的领域。以及系统的安全性设计方面还应该考虑全面一些。

谢 辞

在本设计的实现和论文撰写过程中,得到了老师的悉心指导,才得以顺利完成,在此向老师致以诚心的谢意。老师严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。使我获得了良好的理论知识和实践技能,让我能在面对各种新技术的学习中有个良好的前提和扎实的基础,使我的实验技能有了很大的提高。

在大学的五年里,还要特别感谢大学五年学习过程中给我系统讲授专业课知识的各位老师,无论在理论上还是在实践中,你们都给与我很大的帮助,增强了我的自信心,提高了积极性,使得我能够顺利完成论文。论文参阅了大量的国内外有关文献,对文献的作者也表示由衷的感谢。

毕业论文正代表着大学的终结,完成它既有一种收获感,它代表着我五年的努力,代表了我五年的历程。当它终于完工的时候,我不禁想起了很多人,很多事,尤其是辛勤培养我的老师们,五年的时光就如同一夜之隔,现在看来他是很飞快的,是不由我们惆怅的,如今我们即将离开培养了我们五年的大家庭,再也没有一起哭,一起闹,一起床前明月光,对酒当歌的日子了,谢谢软件学院这个在这我们所有人梦想的舞台的学习天地!再次感谢传授我知识的每一位老师,马上就要走出校门,走上工作岗位,我将带着你们所传授的技能去打拼,去奋斗,多谢你们。

在大学生活即将结束之际,诚挚的祝愿所有的老师和同学们在今后的日子里工作顺利、万事如意、身体健康!

参考文献

[1] 孙践知.ASP.NET+SQLServer(C#实现)[M].北京:清华大学出版社.2008.

[2] 崔淼,关六三,彭炜.ASP.NET程序设计教程(C#版)(第二版)[M].北京:机械工业出版社.2011. [3] 沈士根,汪承炎,许小东. Web程序设计:ASP.NET 实用网站开发[M].北京:清华大学出版社.2009.

[4] 马骏.C#程序设计及应用教程(第二版)[M].北京:人民邮电出版社.2009. [5] 刘丽霞,李俊民等.C#范例开发大全[M].北京:清华大学出版社.2010. [6] 王小科,徐薇.C#从入门到精通[M].北京:清华大学出版社.2010. [7] 韩国锋.ASP第一步 [M].北京:清华大学出版社.2008.

[8] 郑淑芬,赵敏翔.ASP.NET 3.5最佳实践——使用Visual C# [M].北京:电子工业出版社.2009. [9] Bill Wagner 著,陈黎夫 译.C#高效编程:改进C#代码的50个行之有效的办法(第2版)(第五版)[M].北京:人民邮电出版社.2010.

[10] Andrew Troelsen 著,肖逵,张大磊等 译.C#与.NET4高级程序设计(第五版)[M].北京:人民邮电出版社.2011.

[11] Karli Watson,Christian Nagel著,齐立波,黄静 译.C#入门经典(第五版)[M].北京:清华大学出版社.2010.


相关内容

  • N多毕业设计题目
  • 基于Ajax技术的WEB应用的设计 又快到毕业的时候了,大家该准备做毕业设计了.大学问问特意收集了一些毕业设计(论文)的题目,供大家选择. VB售楼管理系统 VB无纸化考试系统 VB小区物业管理系统 VB航空公司管理信息系统 VB计算机机房管理系统 VB房地产评估系统VB+SQL2000 VB光盘信 ...

  • 网上银行毕业论文
  • 网上银行毕业论文 网上银行是指银行在互联网(Internet)上建立站点,通过互联网向客户提供信息查询.对账.网上支付.资金转账.信贷.投资理财等金融服务.更通俗地讲,网上银行就是银行在互联网上设立的虚拟银行柜台,传统的银行服务不再通过物理的银行分支机构来实现,而是借助技术手段在互联网上实现.网上银 ...

  • 餐饮管理系统毕业论文毕业设计
  • 毕业设计(论文) 基于三层架构的餐饮管理系统 设计与实现 学 号: [1**********]4 学生姓名: 肖子敏 系 部: 工业设计系 专 业: 软件技术 班 级: 高软件1001 指导教师: 李春奇 株洲职业技术学院教务处制 株洲职业技术学院毕业设计论文 目 录 摘要„„„„„„„„„„„„„ ...

  • 毕业论文汽车营销毕业论文
  • 汽车营销毕业论文(1) 一.汽车配件网络化经营的概念 美国汽车配件经销商雷蒙德的汽车配件店位于美国亚特兰大市的一个郊外,这个小店与别的配件店并无二致,但其特色是网上交易,任何与汽车配件销售相关的服务均可在互联网上实现.该经销店的销售员们都具有丰富的网络知识,他们耐心地帮助没有网上交易经验的顾客完成在 ...

  • 国防部征兵办公室就2011年冬季征兵政策解答
  • 国防部征兵办公室就2011年冬季征兵政策解答 1.国家宪法和法律对公民应征入伍是如何规定的? <中华人民共和国宪法>规定:保卫祖国.抵抗侵略是中华人民共和国每一个公民的神圣职责.依照法律服兵役和参加民兵组织是中华人民共和国公民的光荣义务.<中华人民共和国兵役法>规定:中华人民 ...

  • 毕业范文1
  • 襄樊职业技术学院(毕业)论文 我院计算机专业机房维护方案设计与实现 专业班级:计算机网络技术0701 学 生: 学 号: 指导教师: 教学单位:电子信息工程学院 毕 业 届: 2010届 2010年6月1日 襄樊职业技术学院 电子信息工程学院 毕 业 设 计(论 文)课 题 任 务 书 一. 毕业设 ...

  • 网络技术专业毕业论文题目与撰写要求
  • 网络技术专业毕业论文题目与撰写要求 一.撰写要求 1. 论文题目可以从以下题目中选题或自行与导师协商选题. 2. 论文须按照各个题目要求进行撰写,在撰写过程中应及时与指导教师联系,汇报论文进度. 3. 论文撰写完成须经过指导教师审核通过后,才可打印上交. 4. 毕业论文须严格按照学院毕业论文格式要求 ...

  • 网上商城的设计与实现毕业论文
  • 重庆科技学院 毕业设计(论文) 题 目 网上商城的设计与实现 学 院 电气与信息工程学院 专业班级 计科2010-03 学生姓名 刘拉锁 学号 2010444415 指导教师 刘海玲 职称 讲 师 评阅教师 职称 2014年 5 月 25 日 学生毕业设计(论文)原创性声明 本人以信誉声明:所呈交的 ...

  • 论文模板(最新更改版本)
  • 西 安 邮 电 大 学 业 设 计(论 文) 目: JSP 用户注册登陆系统设计 学 业: 通信工程 级: 通工XXXX 班 XXX 徐健/刘毓 职称: 助教/副教授 毕业设计(论文)诚信声明书 本人声明:本人所提交的毕业论文< >是本人在指导教师指导下独立研究.写作的成果,论文中所引用 ...