183_招投标系统
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
系统总体分析
4.1 系统总体功能模块
网上招投标系统要实现的主要功能是:用户注册,项目招标信息发布,招标信息查询,项目投标单位查看,项目竞标。在系统中,非注册用户可以浏览竞拍中的项目,但不可以参与项目拍卖和竞拍活动。当注册为本系统的会员后,可以实现招标和竞标等相关操作。下面是系统的总体功能模块如图4-1所示。
图4-1 系统总体功能结构 think58好,好think58 [版权所有:http://think58.com]
在页面浏览器中第一次进入该系统,所看到的是默认的首页,在该页面中主要包括一个系统功能简介和登录、注册等的链接。如果用户还没有自己的帐号,需要首先进行注册,单击首页中相应的链接,进入注册页面。用户正确填写注册信息后,系统将页面自动跳转到主页面,标记用户已经登录。对于已经注册过的用户,可以单击系统首页中的“登录”链接,进入登录界面,此时用户使用正确的帐号和密码登录系统后,页面将自动跳转到登录用户的欢迎界面。该页面对登录用户显示欢迎信息,并提供了一个简单的可供选择的菜单,通过该菜单,用户可以使用系统所提供的各种功能。本系统最主要的功能是招标与竞标,对于某些曾经有过交易记录的用户,该页面同时还会显示出用户在以前访问站点过程中为哪些项目竞过价。若用户单击该列表中的某个项目时,系统会弹出是否确认交易,如果用户确认,那么就可以完成该项目的交易了。 think58.com
[版权所有:http://think58.com]
4.2 用户注册模块
用户注册流程,当用户还没有成为本系统的会员时。如果需要成为会员,那么就需要注册为本系统的会员,才能进行相关的服务操作。如图4-2所示,此模块提供了用户信息的录入功能,首先在将用户注册信息添加到数据库的应用中时,调用了存储过程。实现了用户注册的功能。
think58.com [来源:http://www.think58.com]
[版权所有:http://think58.com]
否
是
图4-2 用户注册模块流程
4.3 标书下载模块
用户在注册为会员后,通过使用正确的帐号和密码即可登录系统。但是没有注册会员的用户只能浏览项目列表,但不能进行任何相关的操作。此时用户通过注册链接,单击注册进行注册为会员。此时用户就可以通过上述的两种方式进入系统,通过浏览项目列表后,若想采购某种项目,那么就需要下载标书了,如图4-3所示。
图4-3 标书下载模块流程 本文来自think58
[资料来源:http://www.THINK58.com]
4.4 项目信息发布模块
项目信息发布管理流程,如图4-4所示。此模块提供了项目信息的录入,编辑等功能。若想发布项目信息,首要条件是用户已经成为系统会员,然后可以添加要竞拍的项目,并编辑以添加项目的信息。 think58 [来源:http://www.think58.com]
图4-4 项目信息发布模块流程
4.5项目竞标模块
项目竞标模块的流程,如图4-5所示。此模块提供了用户从竞标项目列表到交易完成的全部功能。竞标结束时,会判断谁为出价最高的用户,此用户为竞拍此项目的成功者。竞拍成功的用户将会联系卖方,进行项目的交易。
think58.com
[资料来源:THINK58.com]
是 否
[资料来源:THINK58.com]
图4-5 项目竞标模块的流程 think58.com
5 数据库结构设计与实现
5.1 数据库逻辑结构设计 内容来自think58 [资料来源:http://think58.com]
think58好,好think58
[来源:http://www.think58.com]
内容来自think58 [版权所有:http://think58.com]
图5-1 设计关系模型
5.2 数据表的创建
在该系统中,作为买方和卖方的一个媒介,一方面由卖方发布项目的信息,另一方面由买方出价购买,由一段时间内的价高者获得此项目,最后买卖双方进行确认,完成网络销售的过程。因此该系统要满足以下的数据库需求分析:
招标投标系统需要提供信息的查询,保存,更新以及删除等功能,这就要求数据库能充分满足各种信息的输入和输出,通过上述系统功能的分析,根据招标投标系统的需求,总结如下的需求信息:
(1)用户需要注册才能进行招标投标等一系列的相关操作。
(2)在项目中,包括待招和已交易的项目信息。
(3)在投标中需要包含对每个项目的出价的信息。
(4)包含每个已被出价的项目和出价者的ID号。
(5)另外还需要包含用户招标的项目信息。
所以在该系统中共需要创建5个数据表,用于存放网络招投标管理系统所需要的数据。
在数据库模型中不仅列出了各个表中的所有字段,同时也标出了各表的主键和外键等重要的信息,如果仔细阅读前面关于系统功能分析及系统流程的介绍之后,一定可以很好地理解这些数据表中各字段所代表的含义,同时也应该思考为何各表时间的关系。
下表5-1至5-6是每个数据表的简要描述,以及它们与数据库中其他表关系的说明。在解决方案中依次具体的思考了每个表中字段的数据类型、键和null值等内容。下面是系统数据表5-1至5-6的简要描述。 think58好,好think58
[资料来源:THINK58.com]
表5-1 系统数据表的简要描述
表 描述
Person 包含系统中所有注册用户的资料
Item 包含待售或以售项目的信息
Bid 包含每个Item出价的信息
Sale 包含每项销售的信息,包括被出价的项目和出价者Id
Seller 包含Person出售的项目信息
表5-2 用户信息表(Person)
字段名 数据类型 长度 允许为空 是否为主键 说明
PersonID bigint 8 否 是 唯一标识
FamilyName varchar 255 否 登录名
GivenName varchar 255 否 真实名
EmailAddress varchar 255 否 邮箱地址
Password varchar 255 否 密码
StreetAddress1 varchar 255 否 单位地址
StreetAddress2 varchar 255 是 地址
City varchar 255 是 城市
State varchar 255 是 状态
PostalCode varchar 10 是 邮政编码
Country varchar 255 是 所属国家
Active char 1 是 行为
LastLogin datetime 8 是 最后登录时间
表5-3 Seller表
字段名 数据类型 长度 是否允许为空 是否为主键 说明
ID bigint 8 是 唯一标识
PersonID bigint 8 用户ID
ItemsListed int 4 所列项目
ItemsActive int 4 活跃项目
think58
[来源:http://www.think58.com]
LastActivity datetime 8 最后一项活动
内容来自think58 [来源:http://think58.com]
[版权所有:http://think58.com]
表5-4 Item表
字段名 数据类型 长度 是否允许为空 是否为主键 说明
ItemID bigint 8 是 唯一标识
ItemName varchar 500 项目名称
Description varchar 1000 是 项目描述
AskingPrice money 8 要求价格
NotifyPrice money 8 是 通报价格
SellerID bigint 8 卖方ID
ListingDate datetime 8 上部时间
ExpirationDate datetime 8 到期
ItemStatus varchar 10 状态
本文来自think58
[资料来源:http://www.THINK58.com]
[资料来源:THINK58.com]表5-5 Bid表
字段名 数据类型 长度 是否允许为空 是否为主键 说明
BidID bigint 8 是 唯一标识
ItemID bigint 8 项目ID
BidderID bigint 8 投标者ID
Timestamp datetime 8 时间戳
BidAmount money 8 投标金额
BidChange money 8 变更
表5-6 sale表
字段名 数据类型 长度 是否允许为空 是否为主键 说明
SaleID bigint 8 是 唯一标识
ItemID bigint 8 项目ID
WinningBid money 8 中标
BuyerID bigint 8 买家ID
sellerApproval char 1 卖方审批
BuyerAcceptance char 1 买方验收
Completiondate Datetime 8 竣工日期
5.3 创建表的脚本文件
数据表在创建完毕后,前面已经介绍了所有表数据表的结构、内容及各表之间的关系,还要生成SQL脚本文件。这里选择的是使用可视化工具还是使用SQL Server脚本文件在查询分析器中直接运行来创建一个表的脚本文件。
5.4 存储过程
为了遵循好的设计原则,可以使用良种方法对这些表进行访问。如创建一组存储过程,存储过程是Web应用程序后台数据存储的组成部分。应用程序与存储过程通信,而存储过程则与表通信。这意味着如果经常需要改变表的内容,就必须确保存储过程以同样的方式工作,这样才能确保应用程序继续工作。而且使用存储过程访问表比直接访问更快。 think58好,好think58
本系统的存储过程比较多,前面已经详细介绍各个存储过程的功能,下面将本系统的整个存储过程做简要的描述,如下表5-7所示。
表5-7 存储过程表
存 储 过 程 描 述
sp_bid_isp 添加一条用户的竞价
sp_Get_Bid_Details 获取某件项目所有竞价的详细信息
sp_item_dsp 删除某件项目
sp_get_highest_bid 获取某件项目的最高竞价
sp_item_isp 添加一件项目
sp_item_sel 返回某用户的项目
sp_item_usp 更新某件项目信息
sp_items_for_sale 返回所有可以竞价的项目
sp_login 处理用户登录事件
sp_my_winning_bids 返回某用户当前竞标于领先地位的所有项目
sp_person_isp 添加一个用户信息
sp_person_sel 通过用户名即邮件地址来查询一个用户
sp_person_sel_by_id 查询某条竞标信息的竞标者信息
sp_person_usp 更新用户信息
sp_sale_complete 完成某个项目的交易
sp_sale_isp 为某个项目增加一次成功的交易记录
[版权所有:http://think58.com]
上一篇:020_城市公交查询系统(asp.net+sql2000)
下一篇:022_教学辅助系统