软件工程课程设计 - 网上拍卖系统的设计与实现

更新时间:2024-01-10 11:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

网上拍卖系统的分析与设计

摘要:“网上拍卖”类网站是目前电子商务的一个重要模式, 网上拍卖交易行为正高

速发展, 商家希望通过拍卖的形式快速在网上销售自己的产品。文中详细介绍了C#技术以及分析了基于C#建立网上拍卖系统的技术手段,深入探讨了如何利用C#技术实现与Access数据库连接的方法。

系统采用界面与业务逻辑分离的三层结构设计,把业务逻辑封装,提高了系统的安全性、可维护性、重用性和可扩展性。

关键词:网上拍卖, C#,Access

目录

引言 ..................................................................... 1 1 绪论 ................................................................... 2

1.1 系统需求 .......................................................... 2

1.1.1 销售展示模块 ................................................ 2 1.1.2 商品信息发布模块 ............................................ 2 1.1.3 商品查询模块 ................................................ 2 1.1.4 购物车模块 .................................................. 2 1.1.5 拍卖结账模块 ................................................ 2 1.2 系统预览 .......................................................... 2 1.3 系统特点 .......................................................... 3 2 系统的可行性与需求分析 ................................................. 5

2.1 可行性分析 ........................................................ 5 2.2 开发环境 .......................................................... 5 2.3 需求分析 .......................................................... 6 3 系统设计 ............................................................... 7

3.1 系统设计思想 ...................................................... 7

3.1.1 功能的独立化、模块化。 ..................................... 7 3.1.2 三层架构设计思想 ........................................... 7 3.1.3 系统实现的功能 ............................................. 8 3.2 系统层次概框图 .................................................... 8 3.3 系统模块详细介绍 .................................................. 9

3.3.1 前台模块 .................................................... 9 3.3.2 后台模块 ................................................... 10

4 数据库设计 ............................................................ 11

4.1 数据库需求分析 ................................................... 11 4.2 数据库逻辑设计 ................................................... 11 5 详细设计 .............................................................. 15

5.1用户注册 ......................................................... 15 5. 2 管理员操作的分析与实现 .......................................... 15 5. 3 操作用户的功能的分析与实现 ...................................... 16 5.4 操作商品的分析与实现 ............................................. 17 6 结束语 ................................................................ 19 参考文献 ................................................................ 20 附录: .................................................................. 21

引言

现在人们越来越认识到软件工程在软件开发中的重要作用。目前国内软件在开发中还没有对软件开发的过程进行明确规定,文档不完整,也不规范,软件项目的成功往往归功于软件开发组的一些杰出个人或小组的努力。这种依赖于个别人员上的成功并不能为全组织的软件生产率和质量的提高奠定有效的基础,只有通过建立全过程的改善,采用严格的软件工程方法和管理,并且坚持不懈地付诸实践,才能取得全组织的软件过程能力的不断提高,使软件开发更规范合理。

第 1 页 共28页

1 绪论

1.1 系统需求

1.1.1 销售展示模块

销售展示是一个商店应具备的最基本的一项功能。主要实现将数据库中的各类商品显示于网页上,并进行一些简单的商品介绍,如商品价格及商品的简介,通过商品的展示才能让拍卖者找到自己想要购的商品。该功能应在首页中完成。 1.1.2 商品信息发布模块

商品信息发布是指在“网上拍卖系统”中发布一些带有促销性质的新闻、消息、用以提示购买者。如:显示近期销售量较好的一些商品,做出商品销售的排行榜,网站内的公告及分类商品的显示。该功能应在首页中完成[1]。 1.1.3 商品查询模块

商品查询在“网上拍卖系统”中也是一项很重要的功能,主要帮助用户快速地找到想要购买的商品。在一个规模较大的商店中,如果没有这项功能,用户将很难找到所需要的商品,这个“网上拍卖系统”的吸引力将会因此大大降低,为了适应拍卖者的需要,要实现商品的全站搜索,只要在全站搜索中键入关键字就可以找到与它匹配的相应信息 1.1.4 购物车模块

购物车是“网上拍卖系统”中最重要的部分。“网上拍卖系统”的目的是实现商品的销售。因此为客户提供一个方便、操作简单、个性化的购物车将会大大提高用户在网上拍卖的兴趣。 1.1.5 拍卖结账模块

购书结账是用户在商店购买商品后必然要做的一件事。目前在互联网可实现的结账方式较多,很多银行也开办了网上银行。一些大型的电子商务活动也可利用网上的金融工具进行结账。但是在目前由于技术和法律上的一些问题,网上在线结算和支付还未普及使用,我觉得目前可采用货到付款的方式。

1.2 系统预览

用户进入系统后的第一个界面如图1.1所示。从图中可以看出,用户进入系统后就可以注册成为会员、查看商品信息,可以按关键字或者分类来查询商品,还可以方便快捷地通过导航栏转到系统的其他功能模块。

第 2 页 共28页

图1.1 用户进入系统后的页面

图1.2是用户登录系统后的页面,通过左侧的工具条可以快速切换到要进行的操作页面。而通过顶部的页面可以进入系统帮助、退出系统、快速发布商品、购买商品等功能。中间的页面一开始显示了用户是否有未读的新短信,如果有新信息则可以通过链接快速阅读,系统显示的“上次登录时间和IP”则可以使用户提早发现是否有人在盗用你的帐号。在用户选择了左侧相应的功能后则出现实现此功能的页面[2]。

1.3 系统特点

本设计的拍卖系统具有以下特点。

(1) 页面模块化:本系统在界面设计上采用了模块化处理的思想,把很多页面共有的部分集成一个模块,例如页面的头、尾,这样在开发的时候遇到这类相似的页面部分就不再需要重新编写,而只要以一句:<%@include file=”top.asp”%>就可以重用这部分的内容,大大提高了系统的开发效率。

第 3 页 共28页

(2) 三层结构设计:本系统采用三层结构设计,将不同的复杂的数据库操作或是业务逻辑计算划分为独立的模块封装,作为用户界面和数据库之间的中间件,所有的数据库操作由用户界面通过调用.NET来完成,提高了系统的安全性和可移植性。

(3) 管理员模块采用双重密码认证:进一步提高系统的安全性。

(4) 面向对象设计:在系统中将用户、商品、管理员等都封装成了类,同时每个类都有相应的操作类,从而提高了对数据库操作的安全性和程序的可扩展性。

(5) 人性化设计:本系统的开发借鉴了淘宝网的导航样式,使系统的导航系统清晰明朗,这样不管用户位于系统的哪个位置,都能找到需要的功能。

第 4 页 共28页

2 系统的可行性与需求分析

2.1 可行性分析

可行性研究就是预开发软件系统的总体目标,给出它的功能、性能、可靠性以及其他方面的要求。其目的是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决[4]。

下面从四个方面分析本系统的可行性: (1)

技术可行性

本网站采用Microsoft Access 2003进行后台数据库的管理、操作和维护,用 Macromedia Dreamweaver8 和HTML、ASP进行前台界面设计、与后台数据库的接口、数据的录入、查询、浏览等功能。根据ASP的特点与Dreamweaver8强大的方便快捷的开发工具,以及他们当前的广泛实际应用,充分说明本网站在技术方面可行。

(2)

经济可行性

经济可行性分析(能否赢利)是,从经济的角度分析网站系统的规划方案有无实现 的可能和开发的价值;分析网站系统所带来的经济效益是否超过开发和维护网站所需要的费用。经济上的可行性是企业行为的基础。由于网上拍卖系统的开发设计是为完成课程设计任务而进行的,所以不存在赢利问题。所在此也就不讨论经济可行性问题。

(3)

开发环境可行性

网站开发需要的开发环境需要装有windows98系统以上的电脑上运行,这样的配置在当今已经不能成为难题,而服务器方面,只需要一台安装了IIS(Internet Information Services)服务的计算机即可。所以开发环境可行性是没有任何问题的。

2.2 开发环境

商城系统开发环境如下:

(1) 硬件配置环境:CPU:AMD4600+、内存:2G DDR800、硬盘:160G (2) 操作系统::Microsoft Windows xp sp3

(3) Web服务器: IIS 5.1 是windows xp中自带的Internet信息服务组件。 (4) 数据库:开发过程中数据库工具采用了Access2003。因为IIS默认支持Access数据库,这样在变更编程所用的计算机时不用重新设置,且Access使用起来比较方便、符合web服务器对数据库的要求。

(5) 编码工具:采用Macromedia Dreamweaver8编写VBScript和JavaScript来实现

第 5 页 共28页

ASP动态网页的编码,同时也用它来设计网页前台的框架

(6) 美化工具: Photoshop 9.0;是图片处理比较方便的工具, 可以用来在网页中添加图片,使系统界面更加美观、友好。

2.3 需求分析

需求分析就是发现、求精、建摸、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是说,需求分析的第一步是尽可能了解当前用户的情况和需要解决的问题。 (1) 市场分析

为了满足市场的需求,软件的设计必须有一定的市场针对性。拍卖系统软件是为了针对现在消费群体的增加和购物品种的增大而造成的人工管理压力而设计的辅助店主进行商品销售的一种小型购物软件。它以其独特的功能和良好的适应性和兼容性来适应市场发展的需求,并且由于其尚处于继续改进的阶段,改进的拍卖系统软件将不断的涌向市场。 (2) 软件功能分析

根据高校管理的实际要求,结合拍卖管理的实际过程,系统应该实现以下功能: 1) 掌握本拍卖系统范围内所有用户的基本情况,包括编号,姓名,登录口令等。 2) 基于拍卖系统的基本功能管理,本系统可以提供给管理员类用户及普通类用户

使用。不同的用户类型所能完成的功能不同。管理员类用户可以网站常规设置、商品管理、信息管理、用户管理、数据处理以及对本系统内人员信息进行维护和更新等;普通用户类用户主要是购物,论坛留言,查询商品等。

3) 适时的商品信息更新。商品信息的更新由管理员类用户完成。普通用户类用户

不允许对试题进行更新。

(3) 软件的非功能性需求

作为一种软件产品,除了在功能方面必需达到用户的基本要求以外,还必需在意一些非功能方面的因素,诸如:软件的用户操作界面的美观和简洁,以及界面图标的标准化和规范化。软件要有一定的兼容性,应该兼容当前的主流操作系统平台,象WINDOWS 98/NT/Me/2000/XP/2003 等。硬件方面应当要求配置低一点,象这样的小型开发软件应该适用于现大多数的计算机网络系统。而且,最好是可以适应打印机等其它硬件设备,而本软件就很好地做到了这一点。

第 6 页 共28页

3 系统设计

3.1 系统设计思想

系统设计思想决定了一个系统设计的成败也从某种角度反映了一个系统的生命力。此系统采用了三层架构的设计思想做到了功能的独立化和模块化。

3.1.1 功能的独立化、模块化。

ASP是嵌入了.NET代码的HTML,两种标记混杂在一定程序上使开发更为方便,但也存在混杂的代码容易出错,且出错时不方便使用开发工具来设置断点排查。三层架构设计使用专注开发逻辑层。

同时系统将涉及复杂操作的不同功能独立出来,作为一个模块来设计,在需要用到特定功能的程序中,仅仅做出调用即可。这种做法不仅避免了程序代码中一些不必要的重复更重要的是使整个系统层次结构更为清晰,方便了以后系统功能的增加,缩减了开发成本[3]。

3.1.2 三层架构设计思想

此次设计采用“用户界面-业务处理层-数据存储层”的三层架构设计,它的工作原理如图3.1所示。

采用三层架构以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程序上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。

第 7 页 共28页

用户界面 业务处理层 数据存储层 浏览器 操作 Tomcat 拍卖系统操作界面 对象 .NET 数据库 结果集 图3.1 基于浏览器/服务器模式的三层结构系统功能模块图

3.1.3 系统实现的功能 (1) 用户界面部分。

产品选购,出价(可以按各种不同的分类进行查询)。 根据关键字和类别搜索商品。 查看商品的详细信息。

用户注册、登录、密码找回、查看和修改个人信息。 发布和修改拍卖商品信息 向用户发送短信。 (2) 后台管理部分。

对现有商品的管理:查看、删除商品。 用户管理:修改、删除、查看、增加用户。 分类管理:添加、修改、删除商品分类。 系统管理:查看、删除系统配置信息。 向用户发送短信。

3.2 系统层次概框图

系统分为前台和后台两个模块,前台主要用来提供给系统注册用户或者游客浏览、查看商品,并提供注册的模块,系统注册用户通过登录后还能管理自己的信息和对指定

第 8 页 共28页

的商品参与竞拍。

系统的系统层次概框划分如图3.2所示。

用户注册(regedit.asp) 用户登录(login.asp) 用户操作(User_home.asp) 搜索商品(search.asp) 前台 查看商品(viewcat.asp) 发布商品(sell.asp) 拍卖系统 系统帮助(help.asp) 登录(login.asp) 后台 管理用户(users.asp) 管理商品(cat.asp) 管理短信(message.asp) 系统配置(config.asp) 商品分类(sort.asp)

图3.2 系统层次概框图

3.3 系统模块详细介绍

通过上面的分析可以对系统的模块做进一步的细分。 3.3.1 前台模块

(1) 用户登录模块。已经注册的用户进入系统,必须先进行登录,并且在该页面提供了用户密码找回的功能。

(2) 用户注册模块。首先申请用户名,这个用户名必须是惟一的(系统使用无刷新地提交信息进行的用户名的判断),然后填写姓名、密码、Email、用户所在地等用户信息。填好后提交资料就会被保存到用户数据表中。

(3) 用户操作模块。此模块需要用户登录后才能操作。用户登录后才可以进行商品

第 9 页 共28页

的发布和对指定的商品出价了。同时还包括了向用户发送短消息,以及修改用户的登录密码的功能。

(4) 商品查看模块。实现查看商品详细信息的功能,商品的详细信息包括商品的名称,介绍,发布时间,拍卖情况,查看发布此商品的用户的信用记录以及出价情况,并且用户能通过这个页面进入商品出价的模块。

(5) 查看用户信用模块。实现查看发布商品的用户的详细信用的功能。

(6) 商品出价模块。此模块需要用户登录后才能进入,可以根据商品的拍卖方式选择“拍卖”还是“一口价”的模式出价。

3.3.2 后台模块

(1) 管理员登录模块。为了系统的安全,进入后台管理页面要进行管理员身份的双重验证,并且使用了验证码的技术。

(2) 用户管理模块。管理员可以添加、删除用户以及修改已经注册的用户的密码。 (3) 商品管理模块。对已经发布的商品进行管理。

(4) 系统配置模块。对拍卖系统的相关信息进行管理,以扩大此系统的应用范围。 (5) 商品分类管理模块。对商品分类进行管理。 (6) 短信管理模块。对用户发出的短信查看或者删除。

第 10 页 共28页

4 数据库设计

4.1 数据库需求分析

根据系统的需求,数据库中需要创建以下数据表。

(1) 用户信息表:用于存放注册用户的资料以及用户登录情况。 (2) 管理员信息表:用于存放管理员的信息和权限。 (3) 商品主分类信息表:商品的主要分类。

(4) 商品子分类信息表:商品的子分类,和子类的父类。 (5) 短消息信息表:记录用户之间互发的短信。 (6) 用户评价信息表:交易结束后用户的评价信息。 (7) 商品信息表:记录用户发布的商品的信息。

(8) 用户出价信息表:用于记录用户对相关商品的出价信息。 (9) 系统配置信息表:用于存放系统相关配置信息。

4.2 数据库逻辑设计

数据库需求分析设计完毕后,现在可以将上面的需求分析转化为数据库系统所支持

的实际数据模型,也就是数据库的逻辑结构,可以作出各表的关系图[4],如图3.1所示。

网上拍卖系统数据库中各个表的设计结果如下面的表格所示。每个表格表示在数据库中的一个表。

如表4-1所示为用户信息表,记录了系统中所有用户的详细信息。

表4-1 users用户信息表

Field uId isAllowLogin isLoginIn lastLoginTime lastLoginIp msgCount Type bigint int int datetime varchar int Null - - - Yes Yes - Key PRI - - - - - Default - 0 0 - - 0 Comment 用户标识 是否允许用户登录 用户是否已经登录 最后一次登录时间 最后一次登录IP 收到的新消息数 第 11 页 共28页

nickName password username address email credit degrade haoping zhongping chaping varchar varchar varchar varchar varchar int int int int int Yes Yes Yes Yes Yes - - - - - - - - - - - - - - - - - - - - 0 0 0 0 0 用户的昵称 用户密码 用户名 地址 邮箱 信用等级 等级 好评 中评 差评 图4.1所示为创建的用户表信息

图4.1 用户信息

如表4-2所示为记录用户所发布的商品的详细信息的表。

表中cid为主键设为自动增长。uId为users表中uid的外键,cmain为sort表中sid

的外键,csub为subsort表中ssid的外键,这些外键能保证商品的完整性。cend表示商品的拍卖是否已经结束。climit用来限制出价用户的等级也就是说只是当用户的好评数达到climit的限制时才能对商品出价,这样可以维护卖方的利益。model代表商品出售的方式是拍卖还是一价成交的方式。chot用来记录商品被用户浏览的次数,作为热点商品的参考[5]。

表4-2 cat商品信息表

Field CatID Type Number Null - Key PRI Default Comment 主键,递增 第 12 页 共28页

CatName ParentID Catmain Child CatCatpic Cattime Catcdays Catcend Catchot Catclimit Catstartbid Catincrement Catykj Catmodel varchar Number int Number varchar datetime int smallint int int int int int smallint - — - - Yes Yes - - - - - - - - - - FK FK - - - - - - - - - 0 - 0 0 - - 0 0 0 0 0 0 0 0 商品名称 数目 商品主分类 商品子分类数目 商品图片地址 发布商品的时间 出售的天数 是否已经结束 商品关注的程序 用户的等级 开始价 增加等级 一口价 商品出售的模式 如图4-2所示为记录用户对商品出价情况的信息表。

图4.2商品的详细信息

表中pid为主键设为自动增长。cid为商品表cat中cid的外键,这样可以保证用户

第 13 页 共28页

的出价都是针对已经发布的商品发出的。username为出价的用户名称。howmuch代表

用户对此商品出了多少钱。

表4-3 bid用户出价信息表

Field bid cid username btime howmuch Type int int varchar datetime float Null - - - - - Key PRI FK - - - Default - - - - - Comment 出价的标识 对就的商品标识 出价的用户名 出价的时间 出了多少钱

第 14 页 共28页

5 详细设计

5.1用户注册

买卖双方药进行物品的买卖,先必须进行注册,注册后系统会自动的发一封电子邮件到用户注册所用的邮箱,等待注册用户的确认,防止用户乱注册。注册界面如图5.1所示。

图5.1 用户注册界面

5. 2 管理员操作的分析与实现

这个类的名称是Admin位于Admin.asp包中,主要处理管理员登录和退出系统的事件。Check()用于检查输入的用户名和密码是否和数据库中的相符,logOut()方法在数据表中记录用户退出系统的事件,upInfo()方法用于在管理员登录系统成功后更新fh_admin表中的对应记录。

主要功能函数如下。 public boolean check() public void upInfo() public void logOut()

操作界面如图5.2所示。

第 15 页 共28页

// 检查用户的用户名和密码。 // 更新登录信息。 // 用户退出系统的函数。

图5.2 管理员操作界面

5. 3 操作用户的功能的分析与实现

该类的主要功能是对用户登录系统时进行验证和记录登录的相关信息,如登录时间

和登录时的IP地址。用户登录时调用函数check()检验用户的合法性,如果用户输入的用户名和密码是正确那么再次检查isAllowLogin()的返回值,判断系统是否允许用户登录进入系统中,然后再检查LoginIn()的属性判断用户是否已经是登录系统了,如果这一系列的检查都通过了的话,就调用Info()来更新用户登录的信息。 登录后的用户操作图如图5.3所示。

第 16 页 共28页

图5.3 用户登录系统后的操作页面

在处理用户退出的操作则比较简单直接调用logOut(),将用户数据表里相关用户的

isLoginIn字段设置为0,表示用户已经退出系统了。

主要功能函数如下。 public boolean check() public void upInfo() public void logOut()

// 检查用户的用户名和密码。 // 更新登录信息。 // 用户退出系统的函数。

这个类中的属性和方法的UML图如图5.5所示。

5.4 操作商品的分析与实现

该功能是操作商品的属性,是普通用户和管理员共用的,其中通过设置属性priv来约定用户的身份是普通用户还是管理员。

用户发布商品时,通过ASP的自省机制设置了商品类Cat的所有属性字段,再赋值给此类的cat属性,通过调用add()方法就能发布一条新的商品信息。当用户需要更新自己发布的商品的信息时,函数update()就可以提供这样的功能,它能够修改商品在数据库的相关属性。函数getInfo()是用来取得指定cid的商品的相关信息。

第 17 页 共28页

管理员操作商品时可以通过设置权限位priv为自己的权限,delete()函数的功能就是提供给管理员删除商品信息的接口。

主要功能函数如下。 public boolean update() public boolean getInfo() public boolean delete() public boolean add()

//更新对应商品的信息。 //得到指定商品的信息。 //删除指定商品。 //增加新商品。

拍卖品操作界面如5.4所示。

图5.4拍卖品操作

拍卖物品界面图如5.5所示。

图5.5 拍卖物品界面

第 18 页 共28页

本文来源:https://www.bwwdw.com/article/qn0o.html

Top