ASP.NET实训报告
项 目 组: 简简单单项目组
专 业: 计算机软件技术
学 院: 软件职业技术学院
指导教师: 倪鹏
实训时间: 2012年3月15日 至 2012年5月6日
软件职业技术学院CCUTSOFT
第一部分 团队构成及分工
第二部分 系统开发进度计划
第三部分 系统概述
第四部分 系统规划
第五部分 系统需求分析
第六部分 系统数据库设计
第七部分 系统总体设计
第八部分 详细设计级代码
第九部分 实训总结
第十部分 参考文献
第1章 团队构成及分工 3
第2章 系统开发进度计划 4
第3章 系统概述 1
3.1 电子商务介绍 1
3.2 电子商务系统 1
3.2.1 基础电子商务系统 2
3.2.2 电子商务系统环境 3
3.3 电子商务系统Web平台的开发方式 4
3.3.1 Web平台的体系架构 4
3.3.2 Web服务器平台 4
3.3.3 Web平台的开发方法 7
第4章 系统规划 8
4.1 系统规划概述 8
4.1.1 系统规划的目标,任务和主要工作 8
4.1.2 系统战略规划 9
4.1.3 组织的信息需求分析 9
4.1.4 资源分配 9
4.2系统规划特点 9
4.2.1 系统规划工作的特点 9
4.2.2 项目实施前期工作 10
4.2.3电子购物商城系统的总体设计思路 10
4.2.4电子购物商城的建设原则 11
第5章 系统需求分析 12
5.1 需求分析 12
5.2 用列需求 12
5.2.1 功能性需求概述 12
5.2.2 用列模型 13
5.3 系统流程 13
5.4 系统逻辑 13
5.4.1 数据流图 13
5.4.2 数据流图 14
第6章 系统数据库设计 17
6.1数据库概念设计 17
6.1.1 数据库设计规范 17
6.1.2 数据库逻辑设计 17
6.1.3 数据字典 18
第7章 系统总体设计 23
7.1 系统体系结构 23
7.2 系统总体功能结构 24
7.3 系统总体物理结构 25
第8章详细设计及代码 28
8.1 统设计系 28
8.1.1 数据访问层设计 28
8.1.2 业务逻辑层设计 30
8.1.3 用户表示层设计 31
8.2 系统流程图 32
8.3系统子功能设计 33
8.3.1会员子模块功能设计 33
8.3.2管理员子模块功能设计 37
8.4代码清单 40
第9章总 结 74
团队构成及分工
职能 成员 项目角色 任务分工 成 绩 签 字 组长 张晓波 项目经理
测试人员 数据库设计 组员 李恩宇 编码人员 编写代码 潘成志 界面设计人员 设计、编写文档 王海燕 需求分析人员 需求设计
陈圆圆 数据库设计 界面设计人员
指导教师签字:
年 月 日
系统开发进度计划
序号 任务名称 开始时间 完成时间 持续时间 1 确定题目 3月15日 3月15日 1天 2 需求分析 3月16日 3月27日 12天 3 详细设计 3月28日 4月10日 14天 4 编码 4月20日 4月26日 7天 5 测试 4月27日 4月28日 2天 6 编写文档 4月29日 5月6日 8天
第3章 系统概述
3.1 电子商务介绍
电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。目前,国际上对电子商务尚无统一的定义。一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境下,通过服务器的运用,实现消费者的网上购物、企业间商业交易的一种新型交易运营模式。即电子商务=Web(服务器)+IT(信息技术)+企业业务。
① 电子商务的类型:从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务 (B2B)、企业与消费者之间的电子商务(B2C)、企业与政府之间的电子商务 (B2G)、政府与消费者之间的电子商务(G2C)、企业内部的电子商务。
② 电子商务的本质特点:电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。
电子电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。要实现全过程的电子商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。
3.2 电子商务系统
电子商务系统是保证以电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的交易双方必须拥有相应的信息技术工具为保证交易双方进行等价交换,必须提供相应的货物配送和支付结算手段。此外,为保证企业、组织和消费者能够利用数字化沟通渠道,保证交易能顺利进行配送和支付,需要由专门提供服务的中间商参与,即需要电子商务服务商。一个完整的电子商务系统1所示:
图3.1 电子商务系统
3.2.1 基础电子商务系统
基础电子商务系统包括Internet信息系统、电子商务服务商、企业、组织与消费者、实物配送和支付结算五个方面。这五方面有机地结合在一起,缺少任何一部分都可能影响网上交易的顺利进行。
Internet信息系统Internet信息系统是指企业、组织和电子商务服务商在Internet的基础上开发设计的信息系统。Internet信息系统的作用是提供一个开放、安全和可控制的信息交换平台。它是电子商务系统的核心和基石。
电子商务服务商 Internet作为蕴藏巨大商机的平台,需要有一大批专业化分工者进行相互协作,为企业、组织与消费者在Internet上进行交易提供支持。电子商务服务商就起着这种作用。
电子商务服务商主要有以下四种:接入服务商(InternetAccessProvider,IAP),它主要提供Internet通信和线路租借服务。服务提供商(InternetServiceProvider,ISP),它主要为企业建立电子商务系统提供全面支持。一般企业、组织与消费者上网时只通过ISP接入Internet,由ISP向IAP租借线路。内容服务提供商(InternetContentProvider,ICP),它主要为企业提供信息内容服务,如财经信息、搜索引擎。应用服务系统提供商(ApplicationServiceProvider,ASP),它主要是为企业、组织建设电子商务系统时提供解决方案。
企业、组织与消费者企业、组织与消费者是网上交易的主体,他们是进行网上交易的基础。企业电子商务系统是由基于Intranet基础上的企业管理信息系统、电子商务站点和企业经营管理组织的人员组成。?企业内部网络系统企业在组建电子商务系统时,应该考虑企业的经营对象是谁,如何采用不同的策略与这些客户进行联系。一般说来,可以将客户分为三个层次并采取相应的对策。对于特别重要的战略合作伙伴,企业允许他们进入企业的Intranet系统直接访问有关信息;对于与企业业务相关的合作企业,企业同他们共同建设Extranet,实现企业之间的信息共享;对普通客户,则可以通过Internet进行联系。
企业管理信息系统企业管理信息系统的作用是在组织中发挥收集、处理、存储和传送信息以及支持组织进行决策和控制。根据组织所具有的不同功能,可以将信息系统划分为营销、制造、财务、会计和人力资源等信息系统。要使各职能部门的信息系统能够有效地运转,必须实现各职能部门信息化。
根据组织内部不同的组织层次,企业管理信息系统可划分为操作层、知识层、管理层、战略层四种信息系统。操作层是支持日常管理人员对基本经营活动和交易进行跟踪和记录。知识层是用知识和数据支持工作人员的工作,帮助公司整理和提炼有用的信息和知识。管理层是用来为中层经理的监督、控制、决策以及管理活动提供服务。战略管理层,主要是注视外部环境和企业内部制定和规划的长期发展方向等问题。
电子商务站点电子商务站点起着承上启下的作用,一方面,它可以直接连接到Internet,顾客或者供应商可以直接通过网站了解企业信息并与企业进行交易。另一方面,它将市场信息同企业内部的管理信息系统连接在一起,将市场需求信息传送到企业的管理信息系统,使企业可以根据市场的变化组织经营管理活动。
企业电子商务系统是由上述三个部分组成。企业内部网络系统是信息传输的媒介,企业管理信息系统是信息加工、处理的工具,电子商务站点是企业拓展网上市场的窗口。
实物配送进行网上交易时,如果用户与消费者通过Internet定货、付款后,不能及时送货上门,便不能实现满足消费者的需求。因此,一个完整的电子商务系统,如果没有高效的实物配送物流系统支撑,是难以维系交易顺利进行的。
支付结算一个完整的网上交易,它的支付也应该是在网上进行的。但由于目前网上交易尚处在演变过程中,诸多问题尚未解决,如信用问题及网上安全问题,因而许多网上交易并不是完全在网上完成交易的。电子商务系统环境电子商务系统在提供交易所必须的信息交换、支付结算和实物配送这些基础服务的同时,还将面临使用信息技术作为交易平台带来的新问题。如信息安全问题、身份识别问题、信用问题、法律问题、隐私问题、税收问题等。
上述问题的解决必须从外部市场环境开始着手。对于信用、税收问题需要通过制定相关经济政策进行推进。对于安全和身份识别问题需要通过技术进步来保证。对于法律和隐私等问题则需要加强电子商务方面的立法。对于推动消费者上网购物,则需要全社会的参与和引导。因此,发展电子商务是一项系统性的工程,它需要企业主导、政府引导和社会参与。
3.3 电子商务系统Web平台的开发方式
3.3.1 Web平台的体系架构
Web平台的三层分布式体系结构为图3.3所示。
图3.3 Web平台的三层分布式体系结构
三层分布式体系结构的第一层是客户端表示层、客户层 仅仅是整个应用系统的图形界面表示;处于第二层的应用服务层,有一台或多台服务器组成,其中Web服务器主要负责对客户端应用程序的集中管理,应用服务器(Application Server)主要负责应用逻辑的集中管理,即事务处理;处于第三层的是数据中心层,有数据库系统,主要负责数据的存储和组织、数据库的分布式管理、数据库的备份和同步等等。
电子商务的应用可以看作一个客户与电子商务站点之间的一系列交互过程。整个交互过程从客户端所浏览的一个页面开始。用户单击该页面上的一个按钮或链接就产生一个请求,该请求通过HTTP传递到Web服务器上,Web服务器将页面中的请求及有关数据取出来传给应用服务器,应用服务器调用相关的商务逻辑,实际上是一个Web应用程序,进行相应的处理,从外部数据库服务器存取数据,然后将结果传回Web服务器,Web服务器再将数据结果转换为页面的形式传给浏览器,于是在客户端产生了新的页面。该页面是这一次请求的结果,也是下一次请求的开始。
3.3.2 Web服务器平台
在电子商务系统的开发中,Web服务器平台的选择是至关重要的,它包括Web服务器操作系统和Web服务器软件,而Web服务器软件通常又决定了将采用什么样的操作系统。Web服务器平台决定了电子商务网站的可靠性、对客户的服务能力,以及为了维持网站运行所需要付出的代价。只有选择了正确的产品以及作 出相应正确的设计,电子商务系统才可以成为商家和顾客之间进行沟通的良好途径。三种最常用的Web服务器平台是:基于Apache HTTP Server的服务器平台、基于网景的NES的服务器平台、基于微软的IIS的服务器平台。微软的Windows2000 Server + IIS架构的Web服务器平台功能强大,配置灵活,支持目前流行的多种服务器端 开发技术,开发成本低、周期短、维护相对简单,很适合中小企业进行电子商务系统的开发,我们采用了基于微软的IIS的Web服务器平台。下面就三种Web服务器平台的特点作一比较。
1.基于Apache HTTP Server的服务器平台
Apache是一种功能强大、高灵活性、高可扩展性的免费Web服务器软件。通过灵活的配置,Apache Web服务器可以实现诸多强大的功能, Apache源代码开放,所以很容易与第三方模块相结合,便于进一步扩展功能,定制成适合自己需要的系统。Apache可运行在多种操作系统及硬件平台上,但通常是与Linux操作系统搭配来组建Web服务器平台。如果采用Linux+ Apache架构,可以搭建大型Web服务器平台,实现复杂的企业级电子商务系统。由于Linux和Apache都是免费的软件,只需要花费很低的成本就可以搭建出灵活的电子商务系统Web平台,但是它的开发是复杂而艰巨的,由于Linux和Apache都是开放的、不断扩展中的软件,还不是很完善,系统的配置和维护比较困难,需要专业人员的参与,对于小型的企业电子商务系统并不适合。
2.基于网景的NES的服务器平台
网景公司的Netscape Enterprise Server (NES)是一个非常流行的Web服务器平台,很适合开发复杂的企业级网站,几乎可以在所有流行的操作系统上运行,包括Digital、Unix、HP-UX、Solaris和Windows NT等。因特网上很多有名的网站都是用NES开发的。NES功能强大,拥有广泛的第三方组件及工具支持,而且支持多种编程模型。NES通常构建在Linux或Unix类操作系统上,一般适用于开发大型的企业电子商务系统。
3. 基于微软的IIS的服务器平台
微软公司的Internet Information Server (IIS)是因特网上非常流行的WWW服务器软件,既适用于小网站,也适合于交易量很大的企业级网站。目前,IIS只能运行在Windows NT或Windows 2000 Server上。IIS内有一个集成的搜索引擎,允许用户用多种工具(包括ASP、ActiveX Data Objects以及SQL数据库查询)来创建搜索表,IIS允许用远程浏览器对服务器进行管理,支持多个虚拟主机。此外由于引入了ASP技术,你可以很方便的利用它来创建动态网页。Windows 2000 Server +IIS的架构是当前非常流行的一种Web服务器平台,它的配置和开发都比较容易,很适合中小企业开发B2C型的电子商务系统。
4. Web平台的动态设计技术
目前比较流行的Web开发技术有:CGI, ASP, PHP, JSP,ASP.NET等。在本电子商务系统的开发中,我们主要采用了目前比较流行的,来自微软公司的Web动态设计技术ASP.NET。
1 CGI技术
CGI(公共网关接口Common Gateway Interface)是最古老的Web程序设计方式,它提供了一个外部应用程序与Web服务器交互的标准接口。CGI最大的好处在于其与浏览Web站点的用户之间的交互能力,使信息网关、反馈机制、访问数据库、订阅和查询等一系列灵活复杂的操作得以实现。CGI程序可以使用Perl, C, C++等任何能够形成可执行程序的语言编写,跨平台性能极佳,几乎可以在任何操作系统上实现。但是CGI开发很复杂,且不具备事务(Transaction)处理功能,会大量挤占Web系统的资源,影响系统的运行效率。
2 ASP技术
ASP(Active Server Pages)内含于IIS中,提供了一个服务器端的脚本运行环境,现在的IIS5.0已经支持ASP3.0了。利用它可以产生和运行动态的、交互的Web服务应用程序。与常见的在client端 实现动态主页的技术如Java Applet、ActiveX Control、VBScript、JavaScript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器,而Client端 技术的Script命令则是由浏览器来解释执行的。ASP的优点是使用Script(描述性的语言),不需要编译,可嵌入到Web页面中,并且由于ASP在服务器端 解释执行,开发者可以不必考虑浏览器是否支持。ASP的缺点是它的跨平台能力差,目前只能运行在微软的Web服务器上,且安全性不好,需要注意经常下载微软发布的补丁程序。
3 PHP技术
PHP是一种跨平台的服务器端的嵌入式脚本语言,它大量地借用C、Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速写出动态页面。它可以在Windows、Unix、LinuxWeb服务器平台上正常运行,还支持IIS、Apache等通用服务器软件,用户在更换服务器平台时,只需要作少量的改变即可。PHP最大的好处在于它是完全免费的,可以不受限制的获得源码,使得开发者容易加入自己的特色。PHP的缺点在于虽然它支持目前大多数的数据库,但是提供的数据库接口不统一,比如对Oracle、My SQL、Sybase
4 JSP技术
JSP是Sun公司推出的新一代站点开发语言,它最大的特点是将Web程序设计的逻辑处理和内容与外观设计隔开,通过使用JSP标记和小脚本来生成页面上的动态内容。在服务器端,JSP引擎解释JSP标记和小脚本,生成所请求的内容,例如通过访问JavaBeans组件,使用JDBC/JDO技术访问数据库,并且将结果以HTML或XML页面的形式发送回浏览器。由于JSP页面的内置脚本语言是基于Java编程语言的,拥有Java编程语言“一次编写,各处运行”的跨平台无关性的好处,开发效率高,安全性好。
5 ASP.NET技术
NET 框架是 .NET 平台中居于核心地位的编程引擎NET 框架是高生产率的、基于标准的多语言应用程序执行环境,处理基本杂务和减轻部署任务。应用程序执行环境管理内存,解决版本控制问题以及提高应用程序的可靠性、可伸缩性和安全性。公共语言运行库是 .NET 框架中的引擎,它提供了一个安全的托管执行环境,并且旨在用于支持开发人员使用多种不同的语言来创建应用程序。它有统一的类型系统并允许跨语言继承和调试。通过使用 .NET 框架,开发人员就拥有了速度最快、效率最高的生成应用程序的方法通过其核心安全功能提供保护客户机和服务器的方法。由于公共语言运行库在核心层透明地处理安全性,因此开发人员可将精力集中于应用程序逻辑。开发人员仍然可以随时使用和扩展安全模型。CGI技术由于开发复杂,效率也不是很高,现在已经很少有人再用它来开发Web应用程序。ASP和PHP技术则在国内比较流行,但是由于PHP自身的缺点,并不是很适合开发电子商务系统,JSP在国际上比较流行,适合开发一些企业级电子商务系统,但现在 在国内运用的还比较少,在技术上和成本上要求都比较高。因此对于一些中小企业开发B2C型电子商务系统,采用微软的IIS+ASP方式,开发周期短,成本低,通过引入XML技术来描述及传送数据内容,可以开发出灵活的电子商务应用,但是ASP的跨平台能力差,目前只能运行在微软的Web服务器上,且安全性不好,需要注意经常下载微软发布的补丁程序。因此,本系统采用ASP.NET+IIS5.0、SQL Server 2000为开发工具,具有良好的扩展性。
3.3.3 Web平台的开发方法
本系统主要运用了MVC来阐述该系统的开发过程,经过系统规划、系统需求分析 、系统数据库设计、系统总体设计、系统详细设计和测试逐步完成系统各功能的实现,将计算机作为管理决策的支持手段,融入日常业务的各个环节,使得管理更加规范,同时也能够更好的为顾客服务,该系统大大提高了工作效率,为公司带来了更好的社会效益和经济效益。
第4章 系统规划
4.1 系统规划概述
凡事预则立,不预则废。科学的规划对于任何需要经过较长时间努力才能实现的事情都是非常重要的。
规划,一般是指对较长时期的活动进行总体的、全面的计划。现代社会组织,特别是企业的结构和活动内容都很复杂,实现一个组织的信息管理计算机化需要经过长期的努力,因而必需对一个组织的管理信息系统的建设进行规划,根据组织的目标和发展战略以及管理信息系统建设和客观规律,并考虑到组织面临的内外环境,科学的制定管理信息系统的发展战略和总体方案,合理安排系统建设的进程。
4.1.1 系统规划的目标,任务和主要工作
系统规划是管理信息系统生命周期的第一个阶段,是管理信息系统的概念形成时期,这一阶段的主要目标,就是制定出管理信息系统的长期发展方案,决定管理信息系统在整个生命周期内的发展方向、规模和发展进程。
系统规划阶段的主要任务是:根据组织的整体目标和发展战略,确定管理信息系统的发展战略,明确组织总的信息需求,制定管理信息系统建设总计划,其中包括确定拟建系统的总体目标、功能、大致规模和粗略估计所需资源,并根据需求的轻、重、缓、急及资源和应用环境的约束,把规划的系统建设内容分解成若干开发项目,以长期分批进行系统开发。
上述三项任务也规定了管理信息系统规划工作进程的三个主要阶段,这就是包曼(B.J.Bowman)和戴维斯(G.B.Davis)等人提出的管理信息系统规划三阶段模型的基本框架,如图4.1所示。
图4.1 系统规划的三个阶段
4.1.2 系统战略规划
这一阶段的关键是要使管理信息系统的战略与整个组织的战略和目标协调一致。要进行的工作有:
1、 评价组织的目标和战略。
2、 根据组织的目标和战略确定管理信息系统的使命,对管理信息系统的建设或更新提出报告。
3、 对目前管理信息系统的功能、应用环境和应用现状进行评价。
4、 制定建设管理信息系统的政策、目标和战略。
4.1.3 组织的信息需求分析
1 确定目前和规划中的组织在决策支持和事务处理方面的信息需求,以便为整个组织或其主要部门提出管理信息系统的总体结构方案。
2 制定主要发展计划,即根据发展战略和系统总体结构,确定系统和应用项目的开发次序和时间安排。
4.1.4 资源分配
制定为实现主开发计划而需要的硬、软件资源、数据通讯设备、人员、技术、服务、资金等计划,提出整个系统的建设的概算。
4.2系统规划特点
4.2.1 系统规划工作的特点
由于管理信息系统的建设耗资巨大,历时较长,技术复杂且涉及面广,系统规划是这一复杂工作的起始阶段,这项工作的好坏将直接影响到整个系统建设的成败。因此,我们应该充分认识这一阶段工作所具有的特点,以提高系统规划工作的科学性和有效性。
1、 系统规划工作是面向长远的、未来的、全局性和关键性的问题,因此它具有较强的不确定性,非结构化程度较高。
2、 其工作环境是组织管理环境,高层管理人员(包括高层信息管理人员)是工作的主体。
3、 系统规划是为整个系统建设确定目标、战略、系统总体结构方案和资源计划,因而整个工作过程是一个管理决策过程。同时,系统规划也是技术与管理相结合的过程,它确定利用现代信息技术有效的支持管理决策的总体方案。
4、 系统规划人员对管理与技术环境的理解程度、对管理与技术发展的见识,以及开创精神与务实态度是规划工作的决定因素。
5、 规划工作的结果是要明确回答规划工作内容中提出的问题,描述出系统的总体概貌和发展进程,为系统的发展制定一个科学而又合理的目标和达到该目标的可行途径,而不是替代后续阶段的工作。
4.2.2 项目实施前期工作
企业实施电子商务系统,要有目的、有计划、有组织及在正确的方法指导下分步实施。电子商务系统实施的前期工作是关系到是否能够取得预期效益的非常重要的一步。
企业实施电子商务系统总体上分为两个阶段:前期工作和项目实施。之所以这样分是考虑前期工作主要以企业自己提出工作安排为主,而后再转入电子商务系统的项目实施,此时是以咨询机构或软件公司的实施方法为主。概括地说,企业要推行电子商务系统,一般有以下几个原因:
1 企业领导的认识,认为电子商务系统能对企业有一定的促进作用。
2 企业管理人员的认识,认为电子商务系统能对企业有一定的促进作用,进而向领导提出建议书。
3 市场的导向,如政府机构的指令和建议,同行业的实施应用,还有媒体的宣传等。这些因素导致企业对电子商务系统产生兴趣,进而去了解与立项。
4 企业自身的需求。企业确实因为要解决某些问题,要树立企业良好的社会形象及充分利用丰富的网络资源为其拓展销售渠道,获取最大限度的经济效益。经过认证认为电子商务系统是这些问题的解决方案。
4.2.3电子购物商城系统的总体设计思路
随着科学技术日新月异的发展,崭新的传播媒体——因特网诞生了。在Internet和Web迅猛发展的今天,数字设计技术对21世纪的平面设计家提出了许多挑战。面对新时代的到来,人们无不感到社会经济和文化所经历着的快速而深刻的变化,一张结构合理、制作精美、创意独特、风格鲜明的网页,不仅能够传递最丰富的信息,同时还能给人以美的艺术享受,也树立了公司企业、服务机构等的良好社会形象,获取最大限度的经济效益。
电子购物商城设计是一种建立在新型媒体之上的新型设计,它与传统媒体相比有许多的不同,它在信息传播方面具有声、像、图、文、视觉、听觉、互动的特点,通过视觉传达各种各样的商品信息,而且更新和修正较为快捷方便,可以在任何时间更新,而不受时间和地域的限制。电子购物商城系统的总体设计思路:
1 需求的综合叙述:主要是说明建站的总体需求和期望的目标浏览者,并且确定希望浏览者所能看到的设计与所需购买商品的最终效果,建站需求是设计策划网站功能的第一步。
2 网站的基本功能描述:主要包括描述网站浏览者如何运用这个网站,网站管理员如何管理,具体到一步一步的功能细节描述,以及如何运用相应的技术去实现建设目标和商业需求。
3 网站的信息布局图:网站的信息布局图是网站各模块或各网页的直观图,主要目的是提供一个明晰的网站导航直观图,以及分模块或网页的网站层次结构分布图。
4 数据流程图及数据库示意图:这是网站建设蓝图中的技术部分,主要直观地说明网站使用与维护的数据流程,分析数据来源;以及浏览者和网站管理者如何运用与更新网站数据。
4.2.4电子购物商城的建设原则
为了达到电子购物商城系统的目标和功能,在系统建设的过程中应遵循以下原则:
1 统一规划、分步设计。
信息系统的建设是长期的和艰巨的,应根据用户对信息的需求和公司的经济承受能力,对系统进行统一规划,突出重点,逐步建设,尽可能的缩短系统开发周期。
2 坚持标准化和可行性。
利用当前市场上比较先进的技术和相对成熟的产品,并向国际标准、国家标准、工程标准、相关行业标准和暂行规定、以及其他通用规则靠拢,要尽可能避免使用非标准化的协议和软件,要贯彻模块独立、接口开放、遵循标准的原则。另外,还要根据行业的特殊性,尽可能的为用户考虑,但不能束缚新技术的发展。
3 保证系统的稳定性和安全性。
4 保证网络系统的先进性和有效性。
5 操作简单、人机界面友好,便于用户理解和使用。
第5章 系统需求分析
5.1 需求分析
本网上购物系统是基于B/S架构,本网站系统的开发主要是方便用户购买商品,减少供应商店面费用。
本系统共有三类用户:
普通用户是指没有登陆权限(主要指网络用户),以匿名用户的身份访问系统网站。此类用户主要有浏览系统信息、查看商品信息,注册成为会员。把本网站设为首页,添加到收藏夹,联系开发人,查看交款方式,退换货原则,配送范围,交易条款,保密协议等操作。浏览的内容包括:商品信息、商品分类信息。
商城会员:这类用户拥有普通用户的所有权限;普通用户可以注册成为会员,并根据会员ID和密码登陆系统,登陆之后可以对更改自己的信息但会员ID做为数据库表主键不能修改。会员登陆后可以查看商品信息,查看各种分类商品信息,将商品添加到购物车中。修改购物车中商品数量,或是删除某些不想要的商品。如果会员发现网城卡内余额不足还可以进行充值。
系统管理员:系统管理员主要负责管理着系统后台信息;主要有订单管理,商品管理,会员管理,物流管理和系统管理。订单管理有未确认订单和已确认订单管理,未付款订单和已付款订单管理,未发货和已发货订单管理,未归档和已归档订单管理。 商品管理主要有商品添加和商品管理,商品类别添加和商品类别管理。会员管理主要有添加管理员和管理管理员,管理会员。物流系统主要有支付方式添加和管理,配送方式添加和管理,配送地点添加和管理。系统管理主要是上传管理。
因此,本系统主要功能是对商品进行管理规划,方便会员购买。
5.2 用列需求
5.2.1 功能性需求概述
1 商品信息展示
2 会员注册
3 会员登陆
4 会员信息修改
5 购物车管理
6 会员充值
5.2.2 用列模型
参与者汇总
游者:查看商品信息和注册成为会员
会员:查看商品信息和购买商品,修改个人信息等
管理员:管理商品信息,管理用户信息等
5.3 系统流程
网上购物系统为顾客提供一个类似于超级市场的网络界面。通过网络界面,会员登录后执行各种操作,非会员可以查找商品信息,查看首页面的最受欢迎商品等信息。
5.4 系统逻辑
这一阶段的主要目标是明确用户的信息需求,系统管理管理人员完成各自工作任务的信息需求。确定系统的逻辑功能,提出系统的逻辑方案,是系统分析阶段的最终成果,是系统分析的最后一项活动,也是形成系统分析结果的关键工作,这一阶段不但要利用前几个活动的工作成果,而且要在此基础上进一步调查、明确问题、进行创新。
本系统的逻辑模型主要以数据流图和数据字典为描述工具。在对电子购物商城的管理方式和业务流程进行分析和研究的基础上,通过对系统的初步调查和详细调查,按信息系统中应有的数据流和数据结构来勾画系统的概貌。
5.4.1 数据流图
数据流图四种基本成分组成:
外部项(外部实体)、加工(数据加工)、数据存储、数据流。
数据流图基本图例,如图5.3所示。
图5.3 基本数据流图
本电子购物商城订单审核数据流程图为例,其顶层数据流图,如图5.4所示。
图5.4 系统审核订单数据流程图
5.4.2 数据流图
数据流图重点在描述以处理逻辑为中心的数据的流入与流出,而对数据本身未加描述,影响了用户对数据流图的理解。数据字典是对数据流图的很好的补充,它是数据流图上所有成分的定义和解释的文字集合,它是对数据流图的各种成分起注解、说明的作用,同时它还对系统分析中其他需要说明的问题进行定义和说明。系统分析人员把不便在数据流图上注明而对于系统分析应该获得,对整个系统开发以至将来系统运行与维护是必须的信息尽可能放入数据字典。
数据字典对数据流图的描述尽可能说明下列问题:
1 什么?(是什么或是什么)
2 何出?(在何处来或者来自何处,去向何处)
3 何时?(何时出现,时间长短)
数据字典描述的主要内容有:数据流、数据元素、数据存储、加工和外部项,其中数据元素是组成数据流的基本成分。在系统分析中,数据字典起着重要的作用。它包含关于系统详细信息。一般说来,系统分析人员把不便在数据流图上注明而对于系统分析应该获得,对整个系统开发必需的信息,尽可能放入数据字典,部分数据字典如下所示。
数据流
系统名:提交订单 编号: F1
条目名:订货公司 别名: 来源: 客户 去处:P1接收订货信息 数据流结构:
合同编号+客户名称+签订日期+商品型号+数量+单价+总价+供货日期
+付款情况+签订人员+备注 简要说明:营销人员根据客户要求签订订货合同,随时了解合同付款情况。 表5.1 数据字典:数据流
数据元素
系统名:销售订货 编号: F2
条目名:签订日期 别名: 数据流:F1订货要求 存储处:订货客户记录 数据元素属性:
代码类型: 日期型
取值范围: 2004-2010
意义: 客户签订订货合同的时间 简要说明:由营销人员填写订货合同。 表5.2 数据字典:数据元素
数据存储
系统名:销售订货 编号: D2
条目名:订货客户记录 别名: 存储组织:订货客户记录
记录数:
数据量: 主键:客户编号
副键: 记录组成:
合同编号、客户名称、签订日期、商品型号、数量、单价、总价、供货日期、付款情况、签订人员、备注 简要说明:营销人员根据订货客户记录为客户准备商品。 表5.3 数据字典:数据存储
加 工
系统名:销售订货 编号: P1
条目名:确定价格 别名: 输入:客户订货要求 输出:价格和订货客户记录 处理逻辑:
1、营销人员根据客户要求,向客户介绍价格。
2、如果是再次订货客户,应按原有下浮折扣点定价格。
3、第一次接触新客户,根据是否是直接用户介绍价格。
4、根据客户采购用量大小,掌握价格下浮程度。
5、根据客户付款方式的差别,掌握价格确定最终成交价格。 简要说明:营销人员根据市场价格和有关优惠政策介绍价格。 表5.4 数据字典:加工
外部项
系统名:销售订货 编号: P2
条目名:客户资料 别名: 输入数据流: 输出数据流: 主要特征:
客户编号、客户名称、所在省、电话区号、联系电话、传真、联系人、手机、地址、邮编、跟踪业务员、客户性质、备注 简要说明:客户的基本情况。 表5.5 数据字典:外部项
第6章 系统数据库设计
6.1数据库概念设计
6.1.1 数据库设计规范
数据库命名规则:db_数据库名称,每个英文单词第一个字母大写;
表命名规则:tb_表名称,每个英文单词第一个字母大写;
字段命名规则:每个英文单词第一个字母大写;
字段时间格式:所有时间格式采用2008-12-20 23:23:02的形式
6.1.2 数据库逻辑设计
图6.1 数据路设计图
6.1.3 数据字典
系统管理员表(tb_Admin):管理系统管理员账号和密码的表,主要属性有:用户名和密码。系统管理员根据用户名密码登陆后台系统。
表名:tb_Admin 字段名 数据类型 长度 主外键 字段说明 备注 AdminID varchar 32 主键 管理员ID 非空 Password varchar 32 无 管理员密码 非空 表6.1 系统管理员表
会员区域表(tb_Area):网站会员购物地点,主要属性有:AreaID,AreaKM。
系统可以根据会员区域表收取会员需要运输商品的运输费。
表名:tb_Area 字段名 数据类型 长度 主外键 字段说明 备注 AreaID varchar 50 主键 区域ID 非空 AreaKM varchar 50 无 送货距离 无 表6.2 送货路程表
会员购物信息表(tb_BuyInfo):会员购物信息统计表,主要属性有:BuyID,
GoodsID,Num,SumPrice,MemberID。
表名:tb_BuyInfo 字段名 数据类型 长度 主外键 字段说明 备注 BuyID varchar 50 主键 购物单号 非空 GoodsID varchar 50 无 商品ID 无 Num int 32 无 商品数量 无 OrderID varchar 50 无 订单号 无 SumPrice varchar 50 无 总价格 无 MemberID varchar 50 外键 会员ID 无 表6.3 会员购物信息表
商品类别表(tb_Class):商品类别显示表,主要属性有:ClassID,CategoryUrl。
主要管理所有商品种类及其简易图标。
表名:tb_Class 字段名 数据类型 长度 主外键 字段说明 备注 ClassID varchar 50 主键 商品种类ID 非空 CategoryUrl varchar 50 无 商品标识图标 无 表6.4 商品类别表
商品信息表(tb_GoodsInfo):商品信息表主要负责存储商品名称,商品类别,商品图标,商品图片,商品价格,商品重量等信息。主要属性有:GoodsID,ClassID,GoodsIntroduce,GoodsBrand,GoodsUnit,GoodsWeight,GoodsUrl,MarketPrice,MemberPrice,Isrefinement,IsHot,AddDate,IsDiscount。
表名:tb_GoodsInfo 字段名 数据类型 长度 主外键 字段说明 备注 GoodsID varchar 50 主键 商品名称 非空 ClassID varchar 50 外键 商品类别 非空 GoodsIntroduce Text 250 无 商品介绍 无 GoodsBrand varchar 50 无 商品品牌 无 GoodsUnit varchar 50 无 商品计数单位 无 GoodsWeight float 16 无 商品重量 无 GoodsUrl varchar 50 无 商品图片地址 无 MarketPrice float 16 无 商品市场价格 无 MemberPrice float 16 无 商品会员价格 无 Isrefinement bool 1 无 是否精品 无 IsHot bool 1 无 是否热销 无 AddDate datetime 32 无 上传日期 无 IsDiscount bool 1 无 是否特价 无 表6.5 商品信息表
商品图片表(tb_Image):商品图片表,主要用来存储商品的图片,主要属性有:ImageID,ImageName,ImageUrl。
表名:tb_Image 字段名 数据类型 长度 主外键 字段说明 备注 ImageID varchar 50 主键 商品图片ID 非空 ImageName varchar 50 无 商品图片名称 无 ImageUrl varchar 50 无 商品图片地址 无 表6.6 商品图片表
会员信息表(tb_Member):会员信息表,主要用来存储会员的一些基本信息,如会员ID,会员性别,会员密码,会员真实名字,会员联系方式(电话号码。E_mail,所在城市,家庭住址,邮政编码等),现有RMB,上一次登陆时间。主要属性有:MemberID,Sex,Password,TrueName,Phonecode,Emails,City,Address,PostCode,AdvancePayment,LoadDate。
表名:tb_Members 字段名 数据类型 长度 主外键 字段说明 备注 MemberID varchar 50 主键 会员ID 非空 Sex bit 1 无 会员性别 无 Password varchar 50 无 会员密码 无 TrueName varchar 50 无 会员真实名字 无 Phonecode varchar 50 无 电话号码 无 Emails varchar 50 无 Email 无 City varchar 50 无 所在城市 无 Address varchar 200 无 地址 无 PostCode varchar 10 无 邮编号码 无 AdvancePayment varchar 50 无 现有存款 无 LoadDate datetime 32 无 上次登录时间 无 表6.7 会员信息表
订单信息表(tb_OrderInfo):订单信息表主要用来存储会员每次订单信息,主要属性有:OrderID,OrderDate,GoodsFee,TotalPrice,ShipFee,ShipType,PayType,MemberID,ReceiverName,ReceiverPhone,IsConfirm,IsPayment,IsConsignment,IsPigeonhole,ReceiverPostCode,ReceiverAddress,ReceiverEmails。
表名:tb_OrderInfo 字段名 数据类型 长度 主外键 字段说明 备注 OrderID varchar 50 主键 订单ID 非空 OrderDate Datetime 32 无 订单提交日期 无 GoodsFee varchar 50 无 商品价格 无 TotalPrice varchar 50 无 商品总费用 无 ShipFee varchar 50 无 运输费 无 ShipType varchar 50 无 运输方式 无 PayType varchar 50 无 付款方式 无 MemberID varchar 200 无 会员ID 无 ReceiverName varchar 50 无 接收人名字 无 ReceiverPhone varchar 50 无 接收人电话 无 IsConfirm bit 1 无 是否确认 无 IsPayment bit 1 无 是否付款 无 IsConsignment bit 1 无 是否托付商品 无 IsPigeonhole bit 1 无 是否托运 无 ReceiverPostCode Char 10 无 接收人邮编 无 ReceiverAddress Varchar 200 无 接收人名地址 无 ReceiverEmails Varchar 50 无 接收人邮件 无 表6.8 订单信息表
付款方式表(tb_PayType):付款方式表主要存储会员的付款方式,主要属性有:PayID,PayWay。
表名:tb_PayType 字段名 数据类型 长度 主外键 字段说明 备注 PayID varchar 50 主键 付款ID 非空 PayWay varchar 50 无 付款方式 无 表6.9 付款方式表
邮寄方式表(tb_ShipType):邮寄方式表,主要负责存储商品发送的方式。比如:邮寄,快递。主要属性有:ShipID,ShipWay,ShipFee,ClassID。
表名:tb_PayType 字段名 数据类型 长度 主外键 字段说明 备注 ShipID varchar 50 主键 邮寄ID 非空 ShipWay varchar 50 无 邮寄方式 无 ShipFee varchar 50 无 邮寄费用 非空 ClassID varchar 50 外键 商品类别 非空 表6.10 商品方式表
购物车信息表(tb_ShopCart):购物车信息表,主要负责存储会员临时性添加的一些商品,主要属性有:CartID,GoodsID,Num,MemberPrice,MarketPrice,MemberID,GoodsWeight。
表名:tb_ ShopCart 字段名 数据类型 长度 主外键 字段说明 备注 CartID varchar 50 主键 邮寄ID 非空 GoodsID varchar 50 外键 邮寄方式 非空 Num int 50 无 购买数量 非空 MemberPrice float 50 无 会员价格 非空 MarketPrice float 16 无 市场价格 非空 MemberID varchar 50 外键 会员ID 非空 GoodsWeight float 16 无 商品重量 非空 表6.11 购物车信息表第7章 系统总体设计
系统的总体设计是指整个系统由哪些部分组成,以及各部分在物理上、逻辑上的相互关系,包括硬件部分和软件部分。为了实现系统的总体功能,提高系统的各项指标,总体结构设计的主要任务是将整个系统合理的划分为各个功能模块,正确地处理模块之间与模块内部的联系以及它们之间的调用关系和数据联系,定义整个模块的内部结构。
7.1 系统体系结构
目前,Web项目较为流行的开发模式是三层逻辑体系结构,本系统的开发按照Windows DNA (Windows Distributed Internet Application,分布式互联网应用结构),采用基于XML的三层B/S体系结构。Windows DNA提供了一种开发三层结构Web应用程序的通用方法是一个电子商务开发的良好环境。
MVC的设计思想简介,MVC的设计思想将平台划分为表现层、业务层、数据访问层、数据库层。
表现层(Presentation Tier)对应于MVC的V(View),负责系统的表示逻辑,主要是每个.aspx 页面。
业务层(Business Tier)体现系统的业务逻辑。业务层起到了Business Delegate的作用,屏蔽了表示层,有利于重用业务模型。
数据访问/集成层(Data Access/Integration Tier)负责进行数据访问及系统间交互操作。数据访问组件负责与关系型数据库打交道,进行具体的增删改查(CRUD)操作。系统集成代理/适配器组件负责与软件产品和外部系统打交道,交换数据和消息。数据访问/集成层组件意识不到业务层的具体逻辑,通过约定的接口让业务层来调用。MVC三层逻辑体系结构如图7.1所示。
图7.1 三层逻辑体系结构
7.2 系统总体功能结构
根据系统分析的结果数据流程图所描述的系统的逻辑模型,把数据流程图上各个处理模块进一步分解,确定系统的层次结构关系,把逻辑模型变为物理模型。
在管理信息系统的设计过程中,系统划分的一般原则如下:
1、子系统要具有独立性。即应把相对独立的事务处理过程作为一个子系统。这样的子系统具有较高的内聚性,与其它的藕合较弱,便于软件开发、使用及日后系统维护。
2、子系统的划分结果应使数据冗余度较小。应避免部分数据在多个子系统中出现,尤其是修改,以保证系统的安全性、可靠性和数据的一致性。
3、子系统的划分应能满足目前和日后管理上的需要,功能应齐全,操作要方便且为今后发展留有接口。
4、子系统的划分应以该单位的管理职能为依据。应尽量避免过分依赖于组织机构,以防止机构变更后为系统带来不必要的麻烦。
从公司的组织结构上出发,把整个管理信息系统划分成多个子系统。每个子系统的功能相对独立,但是子系统之间有必要的数据联系。
对电子购物商城系统的数据流图采用变换中心法和事务中心法进行分析,对其逐步进行功能分解,直到分解成为含义明确、功能单一的单元功能模块,从而得到系统的功能模块结构图,即系统的功能图。如图7.2,反映了电子购物商城的系统功能模块的划分。
图7.2 电子购物商城系统功能模块结构图
1、前台模块详细功能描述
其中,用户信息管理以及订单和购物车是禁止匿名用户访问的内容。
商品信息模块:
精品商品浏览(首页显示最精美的商品列表)、热销商品浏览(首页显示点击率最高的商品列表)、特价商品浏览(价格特别优惠的商品列表)、商品分类浏览、商品详细信息。
购物车模块:
添加商品到购物车、购物车信息修改、结账。
用户信息管理模块:
注册新用户、登录、用户修改密码、用户个人资料管理。
订单模块:
查询个人订单列表、查询某笔订单的详细信息。
2、后台模块详细功能描述
管理员信息管理:
登录;添加新管理员、删除管理员:修改密码;管理员日志(记录管理员的每个操作,由超级管理员进行查询)。
商品信息管理:
添加、删除商品类别;添加、修改、删除商品信息。
用户信息管理:
查询用户信息、修改账户金额。
订单管理:
管理订单是否确认,是否发货,是否付款,是否归档。并且对相应信息进行查询(支持多参数查询)。
7.3 系统总体物理结构
电子购物商城各个部门在不同的地点办公,网络拓扑结构以交换机为基础,各部门通过主交换机连接到公司主服务器,电子购物商城有五个不同办公地点的办公处组成。根据这个特点,系统利用微机局域网作为系统的基本物理结构。为了提高系统的可靠性和可扩展性,网络采用以网络集线器为基础,以双绞线为传输介质的星型结构。在每个业务发生点以及每个管理员分别配制微型计算机作为系统结点工作站,系统功能的实现,子系统间的数据共享与交互通过网络服务器完成。电子购物商城的系统网络拓扑图如图7.3所示。
图7.3 电子购物商城系统网络拓扑图
系统具体物理配置如下:
利用公司已经架设好的企业局域网,主服务器采用:服务器、交换机、网络集线器,传输介质采用10M屏蔽双绞线为介质的星型网络拓扑结构,服务器作为系统功能实现和数据共享中心,应具有较好的性能和可靠性。在此基础上再配上一台提供web服务的服务器和一台SQL SERVER 2005数据库服务器即可实现对本系统的全部物理支持。
系统具体硬件配置如下:
1、WWW服务器:INTER P4 2.4 512M DDR ROM 80GB 硬盘。
2、数据库服务器:INTER P4 2.4 512M DDR ROM 80GB 硬盘。
3、客户机:目前流行的PC兼容机。
4、网络连接设备:路由器、交换机、打印机、扫描仪等。
系统具体软件配置如下:
1、操作系统:Microsoft公司Windown2000Server,网络协议采用TCP/IP协议,
客户机 WINDOWS 2000/XP。
2、WWW服务器:IIS 5.0以上
3、数据库软件:SQL SERVER 2005。
第8章详细设计及代码
8.1 统设计系
在系统总体设计阶段已经提到过本系统采用MVC体系架构,但MVC架构具体是怎么实现的呢?下面我将介绍数据访问层,业务逻辑层,用户表示层的实现。但我们可以先看本系统的程序结构图,如图6.1。
图8.1 程序结构图
图中的D\...\NetShop\就是NetShop系统的用户表示层,它控制着会员和管理员页面显示。BusinessManager 对应着MVC中的业务逻辑层。Numensoft.Data和MappedClasses对应着MVC中的数据访问层。
8.1.1 数据访问层设计
数据访问/集成层(Data Access/Integration Tier)负责进行数据访问及系统间交互操作。数据访问组件负责与关系型数据库打交道,进行具体的增删改查(CRUD)操作。本系统的数据访问层有MappedClasses.dll和Numensoft.Data.dll组成。其中Numensoft.Data.dll主要负责对数据库的操作,MappedClasses.dll则是数据库表生成类的集合。这里主要介绍Numensoft.Data.dll。如图6.2所示,Numensoft.Data.dll中的NumensoftSqlConnection.cs类主要负责数据库的操作。
图8.2 Numensoft.Data.dll结构图
图8.3 NumensoftSqlConnection.cs结构图
在NumensoftSqlConnection.cs中使用了泛型技术,从业务层的Web.config读取数据库的连接字符串。根据连接字符串创建ADO.NET对象。下面是实现代码。
public NumensoftSqlConnection(T Instance)
{
Type t = Instance.GetType();
MappedTableAttribute atrri = t.GetCustomAttributes(typeof(MappedTableAttribute), true)[0] as MappedTableAttribute;
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[atrri.ConnectionStringName];
this.factory = DbProviderFactories.GetFactory(settings .ProviderName );
this.con = this.factory.CreateConnection();
this.adpt = this.factory.CreateDataAdapter();
this.builder = this.factory.CreateCommandBuilder();
this.CustomerSelectAdpt = this.factory.CreateDataAdapter();
this.con.ConnectionString = settings .ConnectionString ;
this.cmd = this.con.CreateCommand();
this.selectCmd = this.con.CreateCommand();
this.selectCmd.CommandText = this.GetSelectSqlStatement(typeof(T));
this.adpt.SelectCommand = this.selectCmd;
//生成SQL语句
this.builder.DataAdapter = this.adpt;
this.builder.ConflictOption = ConflictOption.OverwriteChanges;
this.adpt.InsertCommand = this.builder.GetInsertCommand(true);
this.adpt.DeleteCommand = this.builder.GetDeleteCommand(true);
this.adpt.UpdateCommand = this.builder.GetUpdateCommand(true);
}
根据创建的ADO.NET对象构造数据库操作的一系列操作,如8.4:
图8.4 NumensoftSqlConnection方法
8.1.2 业务逻辑层设计
业务层(Business Tier)体现系统的业务逻辑。业务层起到了Business Delegate的作用,屏蔽了表示层,有利于重用业务模型。它是数据访问层和用户显示层的桥梁,使得用户显示层不需要直接操作数据库访问层对数据库进行操作,这有利于数据访问层的固化。如图8.5所示。
图8.5 BusinessManager.cs
在这里BusinessManager.cs主要是对数据访问层NumensoftSqlConnection.cs创建对象并引用相应的方法和做一些处理。
8.1.3 用户表示层设计
业务层(Business Tier)体现系统的业务逻辑。业务层起到了Business Delegate的作用,屏蔽了表示层,有利于重用业务模型。图8.6是用户显示层的主要架构。
主菜单区
各模块的信息链接
显示区 提示区 图8.6 页面结构图
用户显示层主要是一些功能显示和提醒,后面将继续介绍功能模块的设计,这里就不多讲了。
8.2 系统流程图
处理过程设计要根据模块划分以及结构化程序设计的基本原则,对每个程序模块中的详细处理过程进行设计,设计的工具有程序流程图、合图(N-S图)、过程设计语言、判定树和判定表等,本系统中采用的是程序流程图,如电子购物商城前台系统程序流程图,如图8.7所示。
图8.7 流程图
8.3系统子功能设计
8.3.1会员子模块功能设计
1、 商品信息模块
商品信息经过数据访问层从数据库提取出来经用户显示层界面绑定,形成如下的图示。
图8.8 商品信息显示1
图8.9 商品信息显示2
代码设计:如下为精品商品的绑定数据的代码。
BusinessManager.BusinessManagertb_GoodsInfo bm = new BusinessManager.BusinessManagertb_GoodsInfo();
tb_GoodsInfo goodsinfo = new tb_GoodsInfo();
DLrefinement.DataSource = bm.GetDataTable(goodsinfo);
DLrefinement.DataBind();
2.购物车模块
购物车是指会员临时购进还未进行付款结账操作时商品信息管理的一个结构。进入购物车及购物车显示图如下:
图8.10 购物车入口
图8.11 购物车
3. 用户信息管理模块
用户信息管理模块包过注册新用户、会员登录、会员修改信息等操作。效果图如下:
图8.12 会员登陆登陆成功框
图8.13 会员注册
图8.14 更改会员信息
8.3.2管理员子模块功能设计
管理员子模块功能设计介绍的是系统管理员具有的一些功能和操作,简要的说有管理员信息管理,商品信息管理,用户信息管理,订单管理等操作。下面是管理员首页。
图8.15 管理员首页
1. 管理员信息管理
管理员信息管理包过添加管理员,修改管理员信息等操作。
图8.16 管理员登陆
图8.17 添加管理员
图8.18 管理管理员信息
2.商品信息管理
商品信息管理包过商品添加,商品管理,商品类别添加,商品类别管理功能,商品查询等功能。
图8.19 商品信息添加
图8.20 商品信息管理
3. 用户信息管理
商品信息管理类似与管理员信息管理,这里就多做陈述。
4.订单管理
订单管理包过订单是否确认,订单是否付款,订单是否发货,订单是否归档。以及根据订单是否确认,订单是否付款,订单是否发货,订单是否归档查询订单信息。订单管理图例如下。
图8.21 订单管理
图8.22 订单查询
8.4代码清单
%@ Page Language=C# AutoEventWireup=true CodeFile=Item.aspx.cs Inherits=ItemPage %
%@ Register Src=~/Control/Header.ascx TagPrefix=uc1 TagName=Header %
%@ Register Src=~/Control/Foot.ascx TagPrefix=uc2 TagName=Foot %
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN /TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlns=/1999/xhtml
head runat=server
title%=txtTitle %/title
link href=index.css rel=stylesheet type=text/css /
link href=../index.css rel=stylesheet type=text/css /
link href=../index.css rel=stylesheet type=text/css /
link href=../index.css rel=stylesheet type=text/css /
/head
body
form id=form1 runat=server
div
uc1:Header id=Header1 runat=server/uc1:Header
div id=ConItemCol
asp:FormView ID=FormViewItem runat=server
ItemTemplate
table width=940 border=0 align=center cellpadding=0 cellspacing=0
tr
td width=442 height=502 rowspan=15 valign=topimg src=%# Eval(ItemBigImage)% width=440 height=500 //td
td width=18 rowspan=15 valign=top bgcolor=#f9ffec/td
td width=480 height=28 valign=middle class=ItemLine商品名称:asp:Label ID=LaItemName runat=server Text=%# Eval(ItemName)%/asp:Label/td
/tr
tr
td height=28 valign=middle class=ItemLine市场价:%# Eval(AgoraPrice)%/td
/tr
tr
td height=28 valign=middle class=ItemLineVIP价:%# Eval(VipPrice)%/td
/tr
tr
td height=28 valign=middle class=ItemLine会员价:asp:Label ID=LaPrice runat=server Text=%# Eval(MemberPrice)%/asp:Label/td
/tr
tr
td height=28 valign=middle class=ItemLine地区:%# Eval(Area)%/td
/tr
tr
td height=28 valign=middle class=ItemLine新鲜度:%# Eval(Fresh)%/td
/tr
tr
td height=28 valign=middle class=ItemLine品牌:%# Eval(Brand)%/td
/tr
tr
td valign=middle class=ItemLine style=height: 28px点击次数:%# Eval(ClickTime)%/td
/tr
tr
td height=28 valign=middle class=ItemLine出售总量:%# Eval(Sale)%/td
/tr
tr
td height=28 valign=middle class=ItemLine剩余:%# Eval(Remnant)%/td
/tr
tr
td height=28 valign=middle class=ItemLine是否为推荐的商品:%# Eval(Comment)%/td
/tr
tr
td height=28 valign=middle class=ItemLine/td
/tr
tr
td height=56 valign=middle class=ItemLine
asp:ImageButton ID=Shopping runat=server ImageUrl=Image/putcart.gif OnClick=Shopping_Click //td
/tr
tr
td height=28 valign=top class=ItemLine/td
/tr
/table
/ItemTemplate
/asp:FormView
nbsp;
/div
uc2:Foot id=Foot1 runat=server/uc2:Foot
/div
/form
/body
/html
%@ Page Language=C# AutoEventWireup=true CodeFile=Login.aspx.cs Inherits=Login %
%@ Register Src=~/Control/Header.ascx TagPrefix=uc1 TagName=Header %
%@ Register Src=~/Control/Foot.ascx TagPrefix=uc2 TagName=Foot %
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN /TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlns=/1999/xhtml
head runat=server
title会员注册中心 开心商城网/title
link href=index.css rel=stylesheet type=text/css /
script language=javascript type=text/javascript
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject(Microsoft.XMLHTTP);
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function AjaxCheckName(){
createXMLHttpRequest();
var getName=document.getElementById(UserName).value;
var url=CheckNameHandler.ashx?userName=+getName;
xmlHttp.open(POST,url,true);
xmlHttp.onreadystatechange=resultCheckName;
xmlHttp.send(null);
}
function resultCheckName(){
var txtRound=document.getElementById(RoundName);
if(xmlHttp.readystate==4){
if(xmlHttp.status==200){
var txtGetResponse=xmlHttp.responseText;
if(txtGetResponse==0){
txtRound.className=Login_ErroRound;
txtRound.innerHTML=错误;
}
else if(txtGetResponse==1){
txtRound.className=Login_ErroRound;
txtRound.innerHTML=已被注册;
}
else{
txtRound.className=Login_RightRound;
txtRound.innerHTML=正确;
}
}
}
}
function CheckName(){
var txtName=document.getElementById(UserName);
var txtRound=document.getElementById(RoundName);
var txtReg=/^[\w]{6,10}$/;
var IsBool=txtReg.test(txtName.value);
if(IsBool){
txtRound.className=Login_RightRound;
txtRound.innerHTML=*;
}
else{
txtRound.className=Login_ErroRound;
txtRound.innerHTML=错误;
}
}
function CheckPassOne(){
var txtPassOne=document.getElementById(UserPassOne);
var txtRound=document.getElementById(RoundPassOne);
var txtReg=/^[A-Za-z0-9_]{6,15}$/;
var IsBool=txtReg.test(txtPassOne.value);
if(IsBool){
txtRound.className=Login_RightRound;
txtRound.innerHTML=*;
}
else{
txtRound.className=Login_ErroRound;
txtRound.innerHTML=错误;
}
}
function CheckPassTwo(){
var txtPassOne=document.getElementById(UserPassOne);
var txtPassTwo=document.getElementById(UserPassTwo);
var txtRound=document.getElementById(RoundPassTwo);
if(txtPassTwo.value==txtPassOne.value){
txtRound.className=Login_RightRound;
txtRound.innerHTML=*;
}
else{
txtRound.className=Login_ErroRound;
txtRound.innerHTML=错误;
}
}
function CheckEmail(){
va
文档评论(0)