14软件01班随着商品换代速度不断加快尤其在校园内很多可重复利用生的一_第1页
14软件01班随着商品换代速度不断加快尤其在校园内很多可重复利用生的一_第2页
14软件01班随着商品换代速度不断加快尤其在校园内很多可重复利用生的一_第3页
14软件01班随着商品换代速度不断加快尤其在校园内很多可重复利用生的一_第4页
14软件01班随着商品换代速度不断加快尤其在校园内很多可重复利用生的一_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要随着商品更新换代速度不断加快,尤其在校园内很多商品可重复利用,毕业生的一些旧商品也需要一个出售,大学生对商品的需求有明显的季节性特点,所需商品类型较为固定,所需服务呈多样化发展趋势,这些给校园二手市场创造了商机。提供的产品大多是二手货,不是以外观,新潮来吸引顾客,而是以它的适用性以及低廉的价格作为吸引亮点,为扩大市场占有率,商品的定价目标为薄利多销。每一所学校都有其特定的校园文化,在特定时期会对特定商品需求量增加。因为二手市场的产品竞争力较弱,价格是吸引亮点,高促销费用为了尽快让消费者接受二手市场,为打开市场,市场占有率做基础,由点到面,刚开始集中一两类产品,发展到能提供多种类型的商品,因

2、此开发一个基于 ASP.NET 的换物。根据需求,开发过程遵循的生命周期,采用三层架构,即将系统分为数据层、业务逻辑层、表示层,使用Visual Studio 2008作开发,C#作编程语言,SQLServer2005 作为数据库,开发出来的系统安全性高,扩展性强,界面也是用户十分容易使用的,具有简单,容易上手的特点。结构如下:首先阐述了该系统的开发目的和意义、内容以及相关现状研究综述;其次介绍了相关的开发工具及技术基础;接着对系统的需求进行了分析,并提出了具体的设计方案和数据库模型;然后展现了整个系统的具体实现,包括数据库的设计和连接,各功能模块的实现;最后对该系统进行了严格的测试。:换物;

3、三层架构;ASP.NET目录摘要I1绪论11.11.2系统开发背景及意义1可行性分析.21.2.3技术可行性1经济可行性2操作可行性21.3课题研究内容、要求及目标32系统开发模式、工具及环境4系统开发模式4Brower/Server 模式及其特点6本系统的开发模式及其特点7开发环境的选择7数据库工具的选择9需求分析103.1 引言10编写目的10读者对象11功能描述11系统数据库的设计134.1 概述134.2 数据库设计13系统的详细设计与实现19345三层架构19创建数据库20在 Visual Studio 2008 中建立站点20数据库的连接20具体功能的实现205.

4、5.56系统测试29测试的基础29测试的原则29白盒测试和黑盒测试30测试的准则30测试基本要求3..4检查31易用性测试32功能检查32容错性测试32参 考 文 献33致谢351 绪论1.1 系统开发背景及意义随着近几年来微机技术、网络技术及相应技术的迅猛发展,人们的学习、工作、生活已越来越离不开计算机了,从网上获取最多的信息已成为一种潮流,于是的行业想到通过计算机来掌握大量的信息从而了解特定的用户需求。在当前社会上,许多的各种类型的电子商务类纷纷建立,可以很大程度上的解决人们信息资源的闭塞以及地域上的限制。人们在工作和生活中,也存在的

5、许多各种类型的二手商品或不用的商品,造成很大的浪费。因此,换物的出现很好的解决了此种问题。为用户提供一个供需,用户可以将自己不用的东西放在网上,也可在网上找到自己需要的东西,实现物品的交换,以达到物尽其用,还可以非常方便的发布自己的需求,交换自己想要的物品,浏览别人发布的信息,还可以对各种交换的商品进行留言评论。由此可见,该系统只是一个物品交换,与一般的电子商务类又有本质的区别。1.2 可行性分析1.2.1 技术可行性本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。由于采用数据库技术并且用

6、户的应用领域对数据精确度的要求不是太高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的。根据本系统的功能需求,采用 ASP.NET 与 SQL 2005 数据库引擎进行开发。而SQL2005 作为一种快速的、多线程、多用户和健壮的数据库服务器,根据第测试结果,在千万级的数据环境中依然保持较高的执行速度。因此在技术层面上,是完全可行的。而且 SQL 是一个非过程化的语言,可用于所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统及许多其他类型的终端用户。基本的 SQL 命令只需要很少时间就能学会,令在几天内便可掌握。

7、SQLServer 功能强大,而且很多信息管理系统都是用 SQL Server 作理系统的开发是可行的。,对体育场地预约管ASP.NET 是微软公司继 ASP 之后推出的新一代 Active Server Pages,他不是 ASP的简单升级,是微软发展的新的体系.NET 的一部分。同以前的 Web 开发模型相比, ASP.NET 具有增强的性能、Visual Studio 世界级的工具支持、灵活性、简易性、可管理性、可缩放性、自定义性、扩展性,以及完全性等数个重要的优点。同时,代码分离、ADO.NET 技术,以及全新的开发语言 C#更是给作者带来了更快捷、更方便的操作。SQL SERVER

8、是一个关系数据库管理系统(DBMS),数据库处理的基本结构,采取关系型数据库模式,但是在 SQL SERVER 的数据库处理中,则是使用了面象的操作方式。作者根据它的这个特点,配合数据设计的基本原则及数据库的范式要求对数据库进行设计。1.2.2 经济可行性本环节通过分析新系统的成本效益,其中包括估计项目开发的成本,开发费用和今后的运行、费用以及新系统将获得的效益,估算开发成本是否高于项目预期的全部经费。下面具体列出了成本和效益的分析:物物交换,这种始于原始社会的交易方式在 21 世纪的今天仍然被广泛应用着,不得不说,这种交易方式有它独特的。随着现代的发展,互联网与物物交换相结合形成的非主流电子

9、商务方式也蕴藏着巨大的商机。国外的换物纷纷涌现,国内的换物也崭露头角。1.2.3 操作可行性由于计算机应用的普及,大多人对计算机管理模式和具体操作都很熟悉。在进行系统设计时,将会充分考虑用户的,使得操作简单;数据输入迅速、规范、可靠;统计准确;适应力强;容易扩充。尽量把的操作量降低,使其在界面友好的环境中工作。所以本系统的使用对来说具有操作可行性。一种开发是否能够取得成功,一是市场的需求,二是开发所需要开发工具,以及开发技术和当时硬件的发展水平。从这两个方面而言,基于 ASP.NET 的换物的开发是可行的。1.3 课题研究内容、要求及目标通过前期构想决定采用 ASP.NET+SQL Serve

10、r 完成本课题的设计,另外采用Visual Studio 2008 作为开发工具。按照如上构想具体做到如下几方面的研究:搜集有关换物方面的知识,详细了解其业务流程。了解所要使用的开发工具,掌握其使用方法。按照工程理论,做出需求分析、概要设计、详细设计等。为保证系统的安全性,做出安全分析,决定采用验证的方式实现系统的安全保障。该要求采用三层架构方式实现。要求熟练掌握.NET 中基本控件及数据绑定控件的使用;在代码的编写上要考虑代码重用的等;在设计上,要考虑到易用性,操作简单,交互性好。2 系统开发模式、工具及环境2.1 系统开发模式计算机系统的发展出现两个显著的特点:计算机系统由封闭系统开放系统

11、;计算机系统由集中式系统向分布式系统过渡。客户机 /服务器 (Cnt/ Server)模式和rant(Brower/ server)就是这两种趋势的代表。客户机/服务器技术的基本原理就是把数据处理与应用程序分开,分别交给数据库(server)和工作站(cnt)执行。数据库服务器上的数据仅需存贮后可以被很多不同的应用存取。数据库服务器处理的仅仅是数据请求,并将所请求的数据(而非整个文件)传送给应用程序。因此,对数据库服务器来说,它的功能主要是:数据的完整性和安全性,错误恢复以及改户并发存取和修改数据。而客户机就集中在用户和应用程序之间的交互性作业。与其它类型的系统比较,Cnt/Server 方式

12、主要有以下一些特点:(1)具有更高的效率:它通过一种有效的任务分割,使服务器和工作站各司其职,极大地提高了整个计算机系统的性能,同样的设备,运用不同的组合方式,就会得到完全不同的效果。同时,由于大部分数据处理工作都转给了数据库服务器,网络上传输的主要是数据请求和少量的特定数据,因此网络拥挤状况也得到很大的改善。(2)具有更灵活的扩展性:这种方式为用户的设备更新提供了便利的途径。因为系统的功能被一分为二,从理论上讲,当基本的软、硬件设备更新时,如果不改变服务器的配置,就不会对前端产生任何影响。对用户的应用开发和培训方面的投资也进行了最大程度的保护。(3)工作站具有更大的独立性:用户不必局限于一种

13、类型的系统和。在一个以 SQL Server 为基础的客户机/服务器系统中,其工作站可以是 IBM 兼容的 PC 机,Machosix 工作站或它们的任意组合。此外,它们可以运行若干种操作系统中的任意一种。这种工作站的独立性的必然结果是应用程序的独立性,因为各种工作站并不都需要去使用相同的数据库管理系统应用,用户可以继续使用他所熟悉的去访问数据库。(4)数据具有更高的安全性:因为所有的数据处理工作都交给了数据库管理系统,它可以提供保护数据的任何服务,诸如加密文件的数据库时的实时磁带备份,磁盘镜象等等。它还可以提供某种类型的事务处理,去保持对数据库修改的和纠正服务器情况下所出。客户机/服务器技术

14、的出现对具有巨大的影响,它促进了分布式系统的发展,为异构系统间的互连和互操作提供了良好的途径,又更好地满足联机事务处理系统的需要。目前因特网上的大多采用这种方式未组建计算机系统。2.1.1 Brower/Server 模式及其特点近年来,互联网迅猛发展,基于图形化的网络测览器的开发,更加推动了信息网的发展。随着ernet 用户数的迅速增加,TCP/IP 协议已被各计算机与网络厂商以及局域网普遍应用,它们都想与ernet 连接以获得广大用户普遍接受。同时各的资源来满足其经营和发展的需要。从C想是在nt/ Server 到Brower/Server 已成为一种必然的趋势。Brower/Server

15、 的基本思网络上采用ernet 的 TCP/IP 作为通讯协议,并以ernet 的 Web 模型作为标准,通过简单的浏览界面,方便地提供电子邮件,文件传输,电子公告和服务器等方式与rnet 连接以实现企业数据查询等服务,还可以通过或网上的用户对ernet 进行浏览查询,同时对外提供信息服务。主要由三部分组成:浏览器,WWW 服务器和参数据库服务器。浏览器是一个标准的客户端应用,为系统提供的操作界面;WWW 服务器既可作测览服务器,也可用作应用服务器:作为浏览服务器时,用来HTML 文件,并通过 HTTP 协议在浏览器和服务器之间的连接,供用户浏览;作为应用服务器时,它可执行的应用程序,并嵌套

16、HTML 文件,由用户在客户机上启动,在服务器上执行,并通过标准的通用网关接口程序(CGI)或各厂商提供的API数据库运行结果,再通过浏览器输出,数据库则用来存取数据信息。以目标为中心,实现各类信息的包容与广泛的信息共享。因为它突破传统结构的限制,人们可以轻易地以共同的,共同的利益,共同的范围,共同的工作目标为中心组织信息交流,实现广泛的信息共享。信息的提供者和使用者融为一体。技术的开放性的,是经过标准化组织制定的。以 Web 为它所基于的标准是开放的,非的技术了与无关的而简单的交流方式。较低的管理成本客户机/服务器模式中,开发必须处理多种,每个上有和升级,需要较高的成本。Web 应不同的文件

17、,必须在每一台客户机上进行用具有较低费用,允许在中心服务器上安装应用程序,需要时可将它到客户机,用低。另外由于这种技术简明易用,培训费用也很低。自我服务。每个人都在这种信息系统上各取所需,无需他人帮助说明或解释,能够实现客户化的自我服务。在B/S 结构中以 WEB 为中心,基于 TCP 协议和 HTTP 协议,改变了传统 C/S 结构下的客户机/服务器的二层结构,形成客户机/应用服务器/数据服务器的三层结构。客户端通过浏览器发出 WEB 的 HTTP 请求,有 WEB 服务器接受客户请求,通过接口数据库服务器,数据库服务器处理查询请求,并将结果返回 WEB 服务器,最后由WEB 服务器将结果转

18、化为 HTML 文档及传回客户端浏览器。B/S 结构大大减轻了客户端的负担。由于基于 TCP/IP 协议和 HTTP 协议,很好的解决了跨问题,。但当 HTML 文档量大,将导致数据系统的开放性,通用性强,扩展性强,易于的传输效率降低。同时 HTML 文档难以加密,安全性较差。2.1.2 本系统的开发模式及其特点通过对 C/S 与 B/S 的比较,本系统采用 B/S 开发模式。B/S 系统的三层结构即把程序按照分工及业务逻辑分割成几个相对独立的程序,一般划分为界面层、业务处理层、数据层。业务处理根据需要又可以再进一步分割,使程序之间的关系变得清晰、耦合小。由于程序进行了分割,它们就可以安装在不

19、同的机器上。一般情况下,界面层的程序安装在客户机上,业务处理层安装在应用程序服务器上,数据层安装在数据库服务器上。而工作实际中,界面层的程序也是从应用程序服务器上。2.2 开发环境的选择在进行开发之前,首先决定的第一个问题就是,该使用什么开发环境来编写该系统?以目前常见的网络程序语言来说,主要有JSP、ASP、.NET 几种。还有Visual Studio、Eclipse、Borland JBuilder 等,这些并不是程序语言,而是程序语言在建构程序时的“集成开发工具”,不过它们在设计的过程中也占有相当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进试与排错,因而对整体进度具有决

20、定性的影响。选择程序语言为.NET。基于以下几点:ASP.NET 是微软推出的基于.NET的新一代 Web Forms 窗体和 XML WebServi的开发。相对于 ASP 而言,ASP.NET 不仅仅只是 ASP 的一个简单升级。ASP.NET 是建立在公共语言运行库上的编程框架,可用于服务器上生成功能强大的 Web程序。它与 ASP 早期的版本相比有很多不同之处。从外观上看,ASP.NET 和 ASP 是相近的,但是从本质上是完全不同的。ASP.NET 几乎全是基于组件和模块化,每一个页,对象,和 HTML 元素都是一个运行的组件对象。在开发语言上,ASP.NET 抛弃了VBSCRIPT

21、 和JSCRIPT,而使用.NET Framework 所支持的 VB.NET,C#.NET 等语言作被转换成了类并编译成了一个 DLL。由于为其开发语言,这些语言生成的网页在ASP.NET 是编译执行的,所以它比 ASP 拥有了更高的效率。ASP.NET 是一个的 Web 开发,它提供开发创建企业级 Web 应用程序所需的服务。尽管 ASP.NET 的语法基本上与 ASP 兼容,但是它还提供了一个新的编程模型和基础结构以提高应用程序的安全性、缩放性和稳定性。通过逐渐向现有的 ASP应用程序增加 ASP.NET 功能,可以地使其增大。ASP.NET 是一个编译的、基于.NET 的环境;Visu

22、al C#和可以用任何.NET 兼容的语言(包括Visual Basic.NET,JScript .NET)创作应用程序。另外,整个.NETFramework 可用于任何 ASP.NET 应用程序。开发可以很容易地从这些技术受益,这些技术包括管理的公共语言运行库环境、类型安全、继承等。ASP.NET 有许多新的特性,其主要优点有以下几点:简易性,自定义性和扩展性,增强的性能,安全性,强大工具支持,强大,可管理性,可缩放性和可用性。简易性ASP.NET 应用了公共语言运行库中的托管服务,这简化了程序的开发。自定义性和扩展性用户可以使用自己编写的自定义组件或扩展组件替换 ASP.NET 运行库的任

23、何子组件。(3)增强的性能ASP.NET 是在服务器上运行的编译好的公共语言运行库。ASP.NET 可利用早期绑定、实时编译。本机优化和外盒缓存等服务,所以在编写代码行之前就已显著提高了性能。(4)安全性ASP.NET 应用了 Windows 系统内置的全性。验证机制,这样可以保证应用程序的安强大工具支持ASP.NET 框架应用了 Visual Studio.NET 集成开发环境中的工具箱和设计器。强大ASP.NET 应用是基于公共语言的运行库的.NET 的框架类库。消息处理和数据解决方案都可与 Web 无缝语言分割应用程序。,ASP.NET 可以选择最适合应用程序的语言,或跨多种(7)可管理

24、性ASP.NET 采用基于文本的分层配置系统,弱化了将设置应用于服务器环境和 Web应用程序的操作。ASP.NET 框架应用程序在部署时只需将必要的文件将 ASP.NET 框架应用程序部署到服务器,不需要重新启动服务器。(8)可缩放性和可用性到服务器即可ASP.NET 增加了专门用于在环境和多处理环境中提高性能的功能。另程受到 ASP.NET 运行库的密切监视和管理,以进程行为新进程,以保持应用程序始终可以处理请求。死锁时,可立即创建2.3 数据库工具的选择SQL Server 2005 作为微软在Windows 系列上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的

25、业务建立在 Windows上的用户都会对它有相当的亲切感。区别于FoxPro、Acs 数据库,SQL Server 2005 是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的 SQL 语言、扩展的特性(如、OLAP、分析)等功能。而像过程、触发器等特性,也是大型数据库才拥有的。3 需求分析3.1 引言3.1.1 编写目的需求分析是是开发期的第一个阶段,也是关系到开发成败的关键步骤。需求分析阶段要解决,是让用户和开发者共同明确将要开发的是一个什么样的系统,准确、完整和规范化的需求是开发成功的关键,项目中40%60%重要的地位。都是在需求阶段埋下的祸根,因此,需求分析在开发中占有非常本

26、文通过详细描述物流系统的功能需求、性能需求、质量属性需求、安全需求以及其它需求,为后续概要设计、整体设计、(系统)测试、用户文档等工作提供基础与约束。3.1.2 读者对象本文档的读者对象包括:用户、需求分析、设计及测试。3.2 功能描述本主要包括两大部分:前台部分和部分。前台部分模块首页模块、搜索模块、需求中心模块、换品中心模块、换客中心模块及会员中心模块。(1)交易。首页模块:实现用户登录功能,显示需求、换品、的成功搜索模块:可以“按换品”或“按换客”进行搜索,支持模糊查询。需求中心模块:按时间顺序分页显示需求列表,可以查看需求的详细信息。换品中心模块:按时间顺序分页显示换品列表,可以查看换

27、品的详细信息,对换品进行留言,申请交换等。(5)换客中心模块:按时间顺序分页显示换客列表,可以查看换客的详细信息,换客的换品信息,需求信息等。(6)会员中心模块:会员登录后,可以在此模块实现,个人信息的,的修改,发布、修改、删除自己的需求,发布、修改、删除自己的换品,管理自己发送的和自己收到的交换请求,管理自己的留言,修改自己的头像等。前台部分系统功能结构图如图 3.1 所示。前台部分换品中心搜需求中心网站首页换客中心会员中心索留言交换商品修改头像我的需求我的换品我的交换我的留言修改资料修改密码退出登录图3.1前台部分系统功能结构图部分包括会员管理模块、友情管理模块、换品管理模块及系统管理模块

28、。(1)会员管理模块:主要实现会员的添加、修改、删除、查看等。(2)友情管理模块:主要实现友情的查看、添加、修改、删除等功能。(3)换品管理模块:主要实现换品的查看、删除等功能。(4)系统管理模块:主要实现登录的修改。4 系统数据库的设计4.1 概述完成的需求分析后,就可以开始设计了。在开发时期,设计阶段是最富有、最需要发挥创造精神的阶段。系统的总体设计阶段就是要把分析阶段产生的需求说明转换为用适当表示的设计的方案。4.2 数据库设计一个较好的系统在设计时要做好分析工作,并且要按照一定的次序将其完成,首先做好数据的分析,设计好数据库。在分析数据库的建设问题时,首先就要从需求分析中获取系统中要用

29、的数据,将其规划好,抽取实体及其属性,建立模型。以下为系统所有要使用的数据,以E-R 图的形式表示如下。管理员实体包括、登录名及信息,管理员E-R 图如图 4.1 所示。登录名图4.1 管理员E-R图友情实体包括、友情名、友情地,友情E-R 图如图 4.2 所示。友情友情名友情地址图4.2 友情E-R图管理员会员实体包括:用户,用户名,所在城市,个性签名,个人头像,时间。如图 4.3E-R 图所示。个性头像所在城市用户会员个性签名用户名时间E_图4.3 会员E-R图需求实体:包括,需求的物,需求的说,阅读次数,发布人,。如图4.4 需求E-R 图所示。阅读次数需求的物发布人图4.4 需求E-R

30、图换品交换申请实体包括,减缓物品,被交换物品,请求人,状态,请求时间。如图 4.5 所示。请求人状态交换物品请求时间被交换物品图4.5 换品交换E-R图换品交换需求留言实体包括,换名编,留言内,回复内,留言人编,留言人名,回复人编,回复人名,留言时,回复时。如图 4.6 所示。回复人编回复人名换名编留言内留言留言时回复内回复时留言人编留言人名图4.6 留言E-R图由前面的数据分析可建立如下几张表,包括管理员信息表、友情信息表包括、会员信息表包括、需求信息表、换品交换信息表、及留言信息表。(1)管理员信息表包括,字段,管理员信息表如表 4.1 所示。表4.1管理员信息表(2)友情信息表包括、友情

31、名、,友情网字段。友情信息表如表 4.2 所示。表4.2友情信息表序号列名数据类型长度小数位标识主键允许空默认值说明1fid40是是否2fnamevarchar500是友情名称3httpvarchar1000是友情序号列名数据类型长度小数位标识主键允许空默认值说明1aid40是是否2unamevarchar500是3pwdvarchar1000是(3)会员信息表包括:用户、用户名、所在城市、个人签名、个人头像、时间字段,会员信息表如表 4.3 所示。表4.3会员信息表(4)需求信息表包括:、需求的物品、需求的说明、阅读次数、发布人、发布时间字段,需求信息表如表 4.4 所示。表4.4需求信息表

32、序号列名数据类型长度小数位标识主键允许空默认值说明1did40是是否2titlevarchar500是需求的物品3memontext160是需求说明4total140是0阅读次数5sid40是发布人6atimedatetime83是getdate序号列名数据类型长度小数位标识主键允许空默认值说明1uid40是是否用户2lnamevarchar500是用户名3pwdvarchar500是4sexvarchar100是5age40是6cityvarchar500是所在城市7varchar1000是8gexingvarchar1000是个性签名9loarchar500是个人头像10regdateda

33、tetime83是getdate时间(5)换品交换信息表包括、交换物品、被交换物品、请求人、请求时间等字段,换品交换信息表如表 4.5 所示。表4.5换品交换信息表(6)留言信息表包括:,物品,留言内容,留言回复,留言人,留言人名,回复人,回复人名,留言时间字段,留言信息表如表 4.6 所示。表4.6留言信息表序号列名数据类型长度小数位标识主键允许空说明1mid40是是否240是物品3memontext160是留言内容4ansntext160是留言回复5sid140是留言人6sname1varchar500是留言人名称7sid240是回复人8sname2varchar500是回复人名称9ati

34、medatetime83是留言时间10htimedatetime83是回复时间序号列名数据类型长度小数位标识主键允许空说明1eid40是是否2140是交换物品3240是被交换物品4sid40是请求人5flag40是状态6etimedatetime83是请求时间5 系统的详细设计与实现当对数据表的设计完成后,即要对系统功能和模块进行设计。在本次设计中,主要通过 Visual Studio 2008,利用 ASP.NET 中的Request(主要实现获取表单中的数据),Response(主要实现输出相关内容),Ses(主要实现用户登录信息的)几大对象的属性和方法,以及 SQL 语句,完成系统功能和

35、模块的设计以及界面的设计。数据库SQL Server 和 ASP.NET 通过 ADO.NET 来实现,ADO.NET 使用内置的 DataSet对象作为数据的主要接口。利用SQL 语句完成数据的查询,添加,修改,删除,筛选,分组等功能。5.1 三层架构三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据层(DAL)。区分层次的目的即为了“高内聚,低耦合”的。其中,表示层,位于最顶层,离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层,针对具体问题的操作,也可以说是对数据

36、层的操作,对数据业务逻辑处理。数据层:该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。在本系统中通过分析研究,最终创建 6 个项目组成一个完整的解决方案。(1)DBUtility用于数据库的操作,封装了一些常用的数据库操作类库。(2)Common封装了一些常用的类库,如 js 弹出处理等。框,输入验证,字符串的(3)M将每种实体创建一个对应的类,对每个实体就创建这个类的对象。(4)DAL数据DButility。层,用于封装对数据库的操作,M,Common,(5)BLL业务逻辑层,M,Common,DAL。(6)WEBUI 层,界面的显示,M,Common,BLL。5.2

37、创建数据库打开SQL Server,通过菜单中的新建,然后选择新建空数据库,设置好数据库名。根据数据库的逻辑结构设计,选择使用设计器创建表来创建各个模块所需的数据表。5.3 在 Visual Studio 2008 中建立站点打开 Visual Studio 2008,在菜单栏中选择“新建”“解决方案”,然后按屏幕提示操作,首先是给解决方案命名SP,然后按提示建立解决方案。5.4 数据库的连接数据库操作类 AosySql.cs 采用以下代码连接:5.5具体功能的实现用户,此页面实现用户的,其中用户名、为必填项,不能为空,如果为空将无法继续,所有关键验证才用 js 实现验证。并且用户名加了重复验

38、证,如果用户名重复,则弹出“用户名已存在”,停止提交,修改用户名后,可以再次提交。主要界面如图 5.1 所示。/数据库连接字符串(web.config来配置) private sic stringConnstr=ConfigurationManager.AppSettingsSqlConnStr.ToString();using (SqlConnection conn = new SqlConnection(Connstr)/对象tryconn.Open(); /打开数据库连接/数据库操作catch (SqlException exp)/如果打开连接失败,就关闭连接,并抛出异常conn.Clo

39、se();throw new Exception(exp.Message);图5.1用户界面主要实现代码如下。/验证代码string err = ;/判断用户名是否存在if (bll.Exists(txt_lname.Text)err += 用户名已存在n;if (txt_pwd.Text != TextBox1.Text)err += 两次输入不一致!n;/如果出错,则弹出提示信息,并返回 if (err != )Msg.Show(err); return;try/用户模型,并赋值SP.M.students m= new SP.M.students(); m.lname = txt_lnam

40、e.Text;m.pwd = txt_pwd.Text;m.sex = radLst_sex.SelectedValue; m.age =.Parse(txt_age.Text);用户登录,此功能实现用户的登录,将index.aspx 页面中输入的用户名、,通过调用封装好的 BLL 方法与数据库中的用户名、进行对比,如果存在即为合法用户,并进入系统,否则弹出错误提示。具体界面如图 5.2 所示。图5.2 登录界面m.city = txt_city.Text; m.= txt_.Text;m.gexing = txt_gexing.Text;/根据用户,设置用户默认头像m.logo = radL

41、st_sex.SelectedValue = 男 ? nan.gif :nu.gif;/将用户信息提交到数据库,并根据返回值,弹出相应的提示信息 if (bll.Insert(m)Msg.ShowAndRedirect(成功,请登陆!, index.aspx);elseMsg.Show(失败!);/捕捉异常,如果有异常,就弹出相应的异常信息并返回 catch (Exception exp)Msg.Show(失败!原因: + exp.Message);主要实现代码如下所示。需求中心,此栏目主要实现用户需求的列表显示,按时间顺序,分页显示,每页显示 10 条,可以单击“详细信息”查看每条需求的详细

42、信息。具体界面如图 5.3 所示。/验证输入是否为空,如果为空,则弹出相应的提示并返回 if (this.TextBox1.Text.Length = 0)Msg.Show(用户名不能为空); return;if (this.TextBox2.Text.Length = 0)Msg.Show(不能为空); return;/用户操作类SP.BLL.students bll = new SP.BLL.students();/过滤字符string Pass = this.TextBox2.Text.Replace(, );/根据输入的用户名和,调用相应的方法,返回用户信息DataSetds=bll.

43、GetData(*,lname=+ this.TextBox1.Text.Replace(, ) + and pwd= + Pass + );/判断输入是否正确,如果正确则进入,反之则弹出提示信息,并返回if (ds.Tables0.Rows.Count 0)DataRow dr = ds.Tables0.Rows0;/把管理员信息存入SesSessid = druid.ToString();Seslname = drlname.ToString();/跳转到会员中心Response.Redirect(/Default.aspx);elseMsg.Show(您输入的用户名或不正确); retu

44、rn;图5.3需求中心界面主要实现代码如下所示。申请交换换品页面,此页面实现换品的交换功能,如果没有登陆则无法使用此功能,如果登录的用户没有添加换品,也无法使用此功能。如果符合以上两个条件,此页面会在换品中列出登录用户的所有换品,从中选中一个要交换的换品,后点“申请交换”,即可提交交换请求,随后等待被交换用户的确认,可以在会员中心中,查看请求的状态。具体界面如图 5.4 所示。/总共数count = 0;/设置查询条件,默认为空 string where = ;/根据封装好的方法,返回需求信息DataSet ds = bll.GetData1(a.* , b.logo , lname , wh

45、ere , AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1) , AspNetPager1.PageSize, o ount);AspNetPager1.RecordCount = count;/绑定数据源 Repeater1.DataSource = ds;Repeater1.DataBind();图5.4申请交换换品界面主要实现代码如下所示。/换品操作类SP.BLL.products bll = new SP.BLL.products();/根据传递的换品,得到相应的换品信息SP.M.productsm= bll.Get

46、M(.Parse(Request.QueryStringid.ToString();/判断换品是否存在if (m!= null)lbpname.Text = m.pname.ToString();/判断是否是自己的换品if (Sessid.ToString() = m.sid.ToString()Msg.Custom(alert( 不能自己和自己交换!);javascript:self.close(););return;/判断此换品是否已被交换 if (m.flag=1)Msg.Custom(alert( 此 物 品 已 成 功 交 换 , 不 允 许 再 被 交 换 !);javascrip

47、t:self.close();); return;/绑定自己的换品RadioButtonList1.DataSource = bll.GetData(, pname , sid= + Sessid.ToString();RadioButtonList1.DaextField = pname; RadioButtonList1.DataValueField = ; RadioButtonList1.DataBind();/判断,如果自己没有换品,就弹出提示信息,并关闭窗口if (RadioButtonList1.Items.Count = 0)发布需求页面,此页面实现用户需求的发布,需求的说明采

48、用 FCKeditor 文本编辑器,FCKeditor 是目前互联网上最好的编辑器,功能强大,支持多种浏览器,无限制,可以和多种WEB 语言融合,多语言支持,操作起来就跟MS WORD 一样简单。具体界面如图 5.5 所示。图5.5发布需求界面主要实现代码如下所示。try/需求模型,并赋值SP.M.needs m= new SP.M.needs(); m.title = txt_title.Text;m.memo = fck_memo.Value; m.total1 = 0;m.sid =.Parse(Sessid.ToString();/将需求信息提交到数据库,并根据返回值,弹出相应的提示信

49、息 if (bll.Insert(m)Msg.ShowAndRedirect(发布信息成功!, my_needs.aspx);Msg.Custom(alert( 请 先 添 加 换 品 后 , 才 能 进 行 此 操 作 !);javascript:self.close();); return;界面,此页面实现登录用户的修改。具体界面如图 5.6 所示。修改图5.6修改界面主要实现代码如下所示。try/判断两次输入是否一致,如果不一致,则弹出提示信息,并返回if (TextBox1.Text = TextBox2.Text)/用户操作类SP.BLL.students bll = new SP.

50、BLL.students();/账号模型并赋值SP.M.students m= new SP.M.students(); m.uid =.Parse(Sessid.ToString(); m.pwd = txt_pwd.Text;/调用封装好的方法,得到账号信息DataSet ds = bll.GetData(*, uid= + m.uid + and pwd=elseMsg.Show(发布信息失败!);/捕捉异常,如果有异常,就弹出相应的异常信息并返回 catch (Exception exp)Msg.Show(发布信息失败!原因: + exp.Message);+ m.pwd + );/判

51、断账号是否存在,如果不存在,说明输入错误,并弹出相应的提示信息,并返回if (ds.Tables0.Rows.Count 0)m.pwd = this.TextBox1.Text;/更新新,并根据返回的信息,判断是否修改成功bll.ExecuteUpdate( pwd= + m.pwd + , uid= +m.uid);Ses.Abandon();Msg.ShowAndRedirect( 修 改 成 功, 请 重新 登陆 ! ,./index.aspx);elseMsg.Show(原不正确,请重新输入!);elseMsg.Show(两次输入不一致!);/捕捉异常,如果有异常,就弹出相应的异常信

52、息并返回 catch (Exception exp)Msg.Show(修改失败!原因: + exp.Message);6 系统测试系统测试采用分块功能测试的办法,逐个分块测试,保证每个模块的功能达到要求,最后将各模块连接进行整体系统测试。首先是地图基础功能测试,然后地图附加功能测试,之后是附加功能测试,最后将整个系统功能整体测试。基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过测试中隐藏的错误和缺陷,以考虑是否可以接受该产品。而从开发者的角度出发,则希望测试成为表明产品中不存在错误的过程,验证该已正确地实现了用户的要求,确立人们对质量的信心。因此,会选择那些导致程序

53、失效概率小的测试用例,回避那些易于程序错误的测试用例。同时,也不会着意去检测、排除程序中可能包含的副作用。显然,这样的测试对完善和提高质量毫无价值。因为在程序中往往存在着许多预料不到,可能会被疏漏,许多隐藏的错误只有在特定的环境下才可能出来。如果不把着眼点放在尽可能查找错误这样一个基础上,这些隐藏的错误和缺陷就查不出来,会遗留到运行阶段中去。如果站在用户的角度,就应当把测试活动的目标对准程序中存在的错误。在选取测试用例时,考虑那些易于发现程序错误的数据。测试的目标是想以最少的时间和人力找出中潜在的各种错误和缺陷。如果成功地实施了测试,就能够发现中的错误。测试的附带收获是,能够证明的功能和性能与

54、需求说明相符。此外,实施测试收集到的数据为可靠性分析提供了依据。6.1 测试的基础6.1.1 测试的原则在完成某能模块后,都要进行一下系统测试。检验所完成的这一模块是否能实现预计的功能。其目的是方便整个系统的实现。系统测试是将需测试的,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持、数据和等其他系统元素及环境结合在一起测试。在实际运行使用环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现与系统定义不符合或与之的地方。在 Web 工程过程中,基于 Web 系统的测试、确认和验收是一项重要而富有性的工作。基于 Web 的系统测试与

55、传统的测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而, ernet 和 Web的不可预见性使测试基于 Web 的系统变得Web 的系统研究新的方法和技术,下面的测试,并列出测试的结果。因此,须为测试和评估复杂的基于依照需求分析的结果进行一系列有针对性6.1.2 白盒测试和黑盒测试黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试。注重于测试的功能性需求。采用这种测试方法,测试者把被测程序看成一个黑盒子,完全不要考虑程序的结构和特性,只知道该程序输入和输出之间的关系或程序功

56、能,依靠能够反映这一关系和程序功能的需求规格说明书,来确定测试用例和推断的正确性。白盒测试又称结构测试、逻辑驱动测试或基于程序本身的测试。测试者把被测程序看成一个盒子,而这个盒子是打开着的,以程序的内容来设计测试数据。采用这种测试方法,测试对被测试程序的结构是清楚的。从程序的逻辑结构入手,按照一定的原则设计测试用例,对的逻辑路径进试,在程序的不同点检查程序的状态,来判定其实际情况是否和预期的状态相一致。白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖率的测试”,并以此为目标,应该朝着提高覆盖覆盖率的方向努力,找出那些已被忽视的程序错误。最常见的程序结构覆盖有: 语句覆盖分

57、支覆盖或判断覆盖条件覆盖判断/条件覆盖路径覆盖。6.1.3 测试的准则附加工功能测试包括框模块、WebView 模块两个模块进试。框模块需要测试该模块在不同大小索引图标、标题内容多少不同的情况下界面结构是否出现异常,以及最多内容以及最少内容情况下显示是否出现异常。WebView 模块测试是测试 WebView 是否能够显示更新的消息,显示界面是否出现异常。测试应该从“小规模”开始,并逐步进行“大规模”测试。通常,首先重点测试单个程序模块,进一步的测试重点转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。应该在测试开始之前的相当长时间,就制定出测试计划。一旦完成了需求模型就可以着手制定测试

58、计划,在确定了设计模型之后就可以立即开始设计详细的测试方案。因此,在编码之前就可以对所有测试工作进行计划和设计。把 Pareto 原理应用于测试。Pareto 原理,测试发现的错误中的 80%很可能是由程序中 20%的模块造成的。当然,问题是怎样找出这些可疑的模块并彻底地测试。穷举测试是不可能的。所谓穷举测试就是把程序所有可能的执行路径都检查遍的测试。即使是一个中等规模的程序,其路径排列数也是非常大的,由于受时间、人力和资源的限制,在测试过程中不可能执行路径的每一种组合。这就表明,测试只能证明程序中有错误,不能证明程序中没有错误。但是,通过精心设计测试方案,有可能充分覆盖程序逻辑并确保把过程设

59、计中使用的所有条件都检查一遍。所有的测试都应该能追溯到用户需求。正如前面讲过的,测试的自标是发现错误。从用户角度看,最严重的错误是导致程序不能满足用户需求的那些错误6.2 测试基本要求6.2.1 内容检查检查整个页面的布局,检查是否完整;检查有无被覆盖的文字或其他显示对象;检查有无超出边界范围的控件;通读页面上所有文字,检查有无错字、漏字、拼写错误;在需要大量重复测试的页面,布局、显示方面只需要测一次。6.2.2检查该页面是否正常并显示;页面上是否页面上所有的对象都可加载;页面加载的时间能否可接受吗,如果时间太长,请;检查页面上的所有连接,检查连接是否可工作,连接到的页面正确性;每个页面的加载霎时间是配置测试的责任,但如果发现不正常,可。6.2.3 易用性测试所使用的语言是否明白易懂;命令、提示、信息是否具有协调的含义;用户是否总是可以知道自己所处的位置;用户是否总是可以知道系统当前的状态;导航是否方便;操作是否方便;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论