网上购物系统面向对象.docx
《网上购物系统面向对象.docx》由会员分享,可在线阅读,更多相关《网上购物系统面向对象.docx(22页珍藏版)》请在冰豆网上搜索。
网上购物系统面向对象
天水师范学院
课程设计
网上购物系统
2014/12/1
专业:
计算机科学与技术
班级:
11级计科
姓名:
郑莹
学号:
20111030141
摘要
随着Internet技术的飞速发展,人们的生活和Internet的关系越来越密切,现代商业发展的结果必然是电子商务。
电子商务凭借先进的信息手段,以高效的方式活动,从而大大提高了社会生产力。
经过多年的发展,电子商务已经有了一定的成果,但是电子商务的普及率还是低,归根结底是电子商务的安全性没有得到完善的解决。
本文重点针对网上购物系统的分析以及设计。
本系统是使用ASP.NET和SQLSERVER数据库为工具开发的,采用B/S结构的管理系统。
本系统运行在MicrosoftWindowsIIS服务器环境下,可以由计算机通过IE浏览器的登录上该购物网站进行浏览使用。
该网上购物系统,包括前台在线购物系统和后台商城管理两个大模块。
首先进行注册,取得注册账号,确保客户的合法性。
然后登录网站,进行商品选购,并放入购物车,以便结帐时进行确认。
选定商品后,进行网上支付。
本文按照需求分析、系统分析、系统设计、系统实现和测试分别进行阐述。
关键字:
ASP.NET,购物系统,B/S
第1章绪论
当代的世界正在逐步向信息经济时代过渡,如何充分的利用信息高速发展的优势为人们服务成为当今社会的首要选择。
购物——这个词与每个人的生活息息相关,它的市场是非常庞大的,抓住了这个市场将会给社会和经济带来极大的效益。
然而采用传统的贸易方式必须要将货物配送到每一个地区才能达到销售的目的,存在着不可忽视的人力物力消耗大的弊端。
因此一个实用、高效、稳定的可实现在线购物的在线购物系统正是商家利用信息提高效率、服务质量的最佳选择。
1.1开发背景以及课题意义
随着中国市场经济的日趋成熟和计算机技术和网络技术的发展,人们对信息的获知程度和广度都提出了更高的要求。
尤其是近年来,商品的种类变得五花八门,人们在采购货物的时候对商品类别、型号、用途的要求也各不相同,如果采用传统的将各种类别不同型号的商品都配送至每个可能需要该商品的地区,就会增加很多配送方面的成本;同时,买家必须到商店里面去亲自选购所需的商品也是传统购物方式的弊端。
因此,中国企业面对的竞争压力也越来越大,企业要想生存,就必须有一种高效、便于客户购物和支付的购物形式。
因此网上购物这种新的商业运营模式就被越来越多的商家运用到竞争中去,并得到了大多数客户的认可,这种基于浏览器、服务器实现的购物方式已经初具规模,一些在线购物网站的成立,改变了人们已往传统的购物观念。
中国电子商务的发展始于90年代初,相对于欧美地区来说,中国在该领域的起步较晚,但是发展势头很好、发展迅速。
中国有占世界上很大比例的网民数量,这些为电子商务在中国的发展奠定了基础。
同时中国政府在电子商务方面做了大量工作,进行了积极有益的探索,大大促进了国内电子商务的发展。
但是到目前为止,诚信评价机制不健全,东西部差异明显,普及程度不足,是制约中国电子商务发展的三大瓶颈。
目前市场上已存在的在线购物网站有淘宝网、当当网、亚马逊、唯品会、聚美优品等,这些网站是中国电子商务发展成果的最真实写照。
例如淘宝,它适合个人用户和企业用户,可满足买家选购货物以及商家出售货物。
淘宝网里存放了很多的商品信息,也许正是因为里面的信息过于庞大,它并不适合所有企业、特别是小型企业。
因为根据企业的营销目标,企业是要赢得客户、达到自身销售效益的最大化;但是如果将自己的商品信息发布到浏览量很大的淘宝网上,那么客户在淘宝上搜索所需商品信息的时候,很可能会因为看到了其他类似的商品信息就放弃了对原来那个商家商品信息的搜索。
本系统是结合当前传统购物方式消耗大量人力物力的弊端、以当前市场上已经存在的B2C、C2C等在线购物网站为模型,开发出适合于大部分中小型企业以及个体用户的网上购物系统。
本课题是在大学期间学习数据库相关知识的基础上,熟悉VisualStudio2008开发环境并能熟练使用C#编程语言的同时,运用软件工程理论知识,开发出的一套基于ASP.NET的在线购物系统。
在系统开发的过程中能够应用所学的知识,并促进作者更深入的学习C#的相关特性、积累更多SQLServer2008的相关应用知识,这样不仅能将所学的书面知识和实际应用结合起来达到学以致用的目的,同时也为以后的工作和学习积累经验。
1.2系统开发环境的选择
系统开发的平台和选择语言的优劣及相互协调的程度,将直接影响到开发的效率和系统的质量。
1、编程语言的选择
本系统采用C#语言作为开发语言。
目前主流的动态网站的设计技术有ASP、PHP、.NET和JSP等。
而其中最受欢迎的是.NET和JSP。
.NET上支持多种语言的开发,如C#和VB。
本系统之所以采用C#开发,有以下几个原因:
首先,MicrosoftC#是一种简单的、流行的、面向对象的、类型安全的编程语言,它是为生成运行在.NETFramework上的、广泛的企业级应用程序而设计的。
其次,它较容易上手,特别是和JSP比较起来,能够在短时间内开发出一个较完整的系统。
最后,C#是我学习时间最长、也是作者我最熟悉的编程语言,采用该语言将为系统的开发节省不少时间。
2、开发环境的选择
Microsoft.NETFramework是一个平台,在这个平台上可以使用多种语言开发Windows应用程序、ASP.NETWeb应用程序、移动Web应用程序以及XMLWEBService等。
.NET框架由三个主要部分组成:
公共语言运行库、统一类库的分层集合和称为ASP.NET的ActiveServerPages组件化版本。
VisualStudio.NET是一套完整的开发工具,用于生成ASP.NET应用程序、XMLWebServices、桌面应用程序和移动应用程序。
VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
鉴于VisualC#.NET开发平台和C#语言的这些优点,所以本系统采用了以上平台和语言。
1.3系统数据库环境的选择
目前市场上已有的数据库系统包括MYSQL、Access、MicrosoftSQLServer2008、Oracle(9i、10g、11g),其中以后两种数据库最为普遍。
本系统采用的是MicrosoftSQLServer2008数据库系统,原因如下:
1.SQLServer2008是作者接触基于关系型数据库系统以来学的最早也是时间最长的一个数据库系统,而且T-Sql语句也是作者最熟悉的查询语句,采用该种数据库对保证系统开发过程的顺利进行将有很大的帮助。
2.虽然Oracle可在所有主流平台上运行,解决了系统运行过程中的跨平台问题;但是它的企业管理器使用过程较为复杂。
而SQLServer2008虽然只能在Windows上运行,但SQLServer2008在Window平台上的表现以及它和Windows操作系统的整体结合程度、使用方便性、和Microsoft开发平台的整合性都比Oracle强的很多。
3.Oracle适用于大型项目,而SQLServer2008适用于中小型项目,根据本系统中用到的数据表以及数据表之间关系的复杂程度,SQLServer2008提供的功能足以满足系统需求。
第2章系统分析
系统需求分析要回答新系统要“做什么”。
本章节从系统的可行性、最终使用者(用户)的角度以及系统中各类数据的流向分析了系统是否值得开发、应提供哪些功能模块。
通过本章内容,使得分析者深刻的理解和认识系统,并能将其完整、准确地表达,不仅起到沟通用户和开发者的作用,还是后续工作的依据。
2.1可行性分析
随着电子商务的不断发展和计算机技术、网络安全的不断发展、生活节奏的不断加快、工作压力的日益增大,越来越多的人选择网上购物。
近几年物价不断上涨,房价的不断增高、人工成本的不断增大,为了降低成本,实现利益最大化,越来越多的人选择在网上开店,节约成本,提高效益。
以上这些问题和需求说明了开发网上购物系统的必要性,并结合最新的.NET技术及B/S架构,开发出满足商品和卖家的需求。
2.1.1技术可行性
网上购物系统采用的都是比较先进成熟的技术,开发方法采用应用广发的B/S的框架,开发平台也是比较成熟的VisualStudio2008,编程技术采用微软公司推出的新一代ASP.NET编程技术,数据库也是采用微软公司开发的MicrosoftSQLSERVER2008数据库的模式开发系统。
这就在很大程度上提高了系统的稳定性、操作的简单性、后期维护的简单方便性、可以不断扩展的性能,缩短了系统开发周期,并保证了系统对大数据量做出快速的处理。
ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制型。
同时也给WEB开发人员提供了更好的灵活性,它可以制作出动态的网页,有效地缩短WEB应用程序的开发周期。
随着人们生活节奏的加快、工作压力的增大,信息技术的不断发展、Internet技术的应用广泛,越来越多的人会选择在网上购物,尤其是对于B/S框架结构,方便易用,更为广大程序开发人员掌握。
所以开发基于B/S的网上购物系统在技术上是可行的。
2.1.2经济可行性
从经济学角度看,开发成本极其低,大大提高人们的工作效率,减少逛街购物消耗的时间和体力,促进人们进行网上交易的方便性和快捷性。
2.2系统需求分析
在线购物过程的实现与传统的购物方式不同。
首先,在线购物的整个过程都是通过网络进行的,购买者无法看到商家和商品,对商品信息的了解只能通过网络。
在线购物的一般流程是:
商家将新上架的商品信息通过系统管理功能发布到网上,然后购买者通过系统销售模块浏览商品详细信息,并且可以根据自己的需要搜索更具针对性的商品信息。
为了便于管理,购买者必须注册为网站的会员后才能选择购买特定的商品,并选择付款方式和邮递方式,并且可以在商品到达之后,检查商品的实际效用是否跟网上描述的相符,并进行相应的评论,以供其他购买者参考。
本系统的角色主要为普通购物用户和管理员服务。
普通购物用户在使用本系统的购物功能前,必须先注册账号。
在注册页面中填写个人信息,如使用本系统的账号、密码和邮箱等。
在提交表单和完成注册后,系统将保存信息,以方便管理员管理用户信息和联系用户。
如果用户已经在系统中注册过,可以在登录页面输入账号和密码。
如果信息正确,用户就可以购物,否则只能做一般的页面浏览。
进入系统后,用户也可以选择维护自己的信息,比如修改账号、密码和邮箱等。
如果直接进行购物,系统可以让用户首先浏览商品信息,使之对商品的数量和种类有一个大概的了解。
如果用户对某件商品感兴趣,就可以选择查看其详细信息,接着选择将商品加入购物车,或继续查看其他商品。
当购物结束时,用户首先要浏览一下已经保存在购物车中的商品项目,包括数量、单价及总价。
这时用户可以更改任何已保存在购物车中的商品数量。
如果确定要够买购物车内的商品,系统即生成一份订购商品的订单(包括所有商品的名称、单价、小计和总价),然后由用户填写包括用户姓名、联系电话、地址等信息,并提交订单。
以后,系统自动将用户信息、信用卡信息和购物总价发送到银联系统,由银联系统验证信用卡信息并执行扣款,并将银联系统操作成功与否的信息返回到系统。
系统根据银联系统的操作结果,向用户发送E-mail,提示用户操作成功与否的信息,如果扣款成功,就与物流系统连接,安排给用户派送购买的商品。
管理员进入系统时,首先要输入口令。
如果检查通过,就可以对系统中的信息进行维护和管理,其主要工作包括:
管理用户信息,包括启用或冻结用户帐号。
当有些用户有不正常操作时,如填写订单时使用不存在的信用卡号码,应将此用户账号冻结,但管理员无权修改客户信息。
管理系统中的商品信息,例如有新的商品时,管理员可向系统中添加此商品。
当商品信息的价格或规格发生变化时,管理员也可以对他们做修改,使用户及时了解商品的最新情况。
若某件商品没有存货或不再出售时,管理员可删除系统中的此项商品记录。
管理客户的订单。
及时获得客户的资料,以便与客户联系。
要求系统对数据库的存取速度要尽量快,并保证系统在配置完成以后24小时都可用。
还要求系统有较高的安全性,当生成订单时,用户的信用卡号码要在网上传输,所以必须提供额外的安全措施。
由以上需求分析可以得到系统的用例图,如图2-1所示。
该用例图包含9个用例、4个参与者。
用例的编号和名称是:
1.注册,2.登录,3.维护个人信息,4.浏览商品信息,5.维护购物车,6.生成订单,7.维护顾客信息,8.维护商品信息,9.管理订单。
参与者的名称是:
顾客,管理员,银联系统,物流系统。
2.2.1用例规约
1注册
1-1简要说明
本用例用于向顾客提供注册功能。
每位顾客必须注册后才能购物。
注册信息包括使用本系统的账号、密码和邮箱等。
注册完成后,系统保存这些信息,以方便管理员管理及联系用户。
1-2事件流
1-2-1基本流
当用户注册时,开始执行以下基本流:
系统要求用户填写个人信息,包括使用本系统的账号、密码和邮箱等。
用户填写个人信息。
系统验证用户所填写的信息的格式和内容。
保存该用户
1-2-2备选流
用户信息验证错误:
如果系统检测到用户输入的信息格式或内容有错,例如账号中含有非法字符、输入密码不一致等,会给予错误提示,并清空填写错误的文本框,要求用户重新输入。
用户信息保存失败:
如果系统发现数据库中已经保存了同样账号的用户记录,会向用户报告保存失败的错误信息,并使页面跳回注册页面,要求用户修改注册信息。
1-3前置条件
用户必须首先访问网上购物的首页,然后单击注册。
1-4后置条件
如果该用例成功,系统数据库中增加一条该用户的信息。
否则,系统维持原状。
2维护个人信息
2-1简要说明
本用例用于给顾客维护个人信息。
包括修改本人的账号、密码和邮箱等信息。
2-2事件流
2-2-1基本流
当顾客查看并修改个人信息时,开始执行以下基本流:
系统返回给当前顾客在系统数据库中目前存储的个人信息。
顾客可以对本人信息的一项或几项进行修改。
顾客向系统提交修改后的个人信息。
2-2-2备选流
顾客输入的新信息验证错误:
如果系统检测到顾客输入的信息格式或内容有错(如输入新密码和确认新密码不一致等),会向顾客给予错误提示,并清空填写有误的文本框,要求用户重新输入或取消修改的操作。
2-3前置条件
顾客必须首先登录系统,然后才能进入本用例。
2-4后置条件
如果本用例成功,顾客在系统数据库中的个人信息会被修改。
否则,系统维持原状。
以上通过两个用力规约介绍了网上购物系统的建立面向对象的用例模型的过程。
2.2.2用例分析建模
用例模型是面向对象分析最常用的一种模型,是以模型中的每个用例为研究对象的,不需要考虑实现的细节。
通常把这样从用例开始的分析过程称为用例分析,在这一阶段定义的类为分析类。
目的是为后续的设计活动提供必要的铺垫。
下面分别对注册、维护个人信息、维护购物车、生成订单和管理订单等5个用例进行用例分析,并建立静态模型和动态模型。
2.3.1注册
1.确定分析类
如图2-2所示为注册用例的分析类。
边界类:
本例使用“注册表单”来抽象顾客与系统交互的图形界面。
控制类:
本例控制类为“注册控制者”,负责接收边界类“注册表单”的消息,将其发给实体类。
实体类:
本用例只涉及顾客的注册,所以实体类也只有“顾客”。
2.静态模型
用图2-3所示参与类图描述各类之间的关系。
各个类之间都是单向关联。
3.动态模型
动态模型描述系统的动态行为,表现了对象在不同时刻的动态交互。
本例将注册用例行为分派到这些类对象中,用时序图和协作图来建立动态模型。
时序图注重对象间消息的发送和接收的顺序,而协作图着重于协作对象之间的交互和链接。
如图2-4和图2-5所示是注册用例的时序图和协作图。
首先由顾客输入注册时需要填写的个人信息,“注册控制者”接收由“注册表单”发送过来的信息,由顾客实体类在数据库中验证是否已有相同的账号。
若顾客所填信息符合要求。
则“注册控制者”向顾客实体类发送添加顾客的消息,将该顾客添加到数据库中。
2.3.2维护个人信息
1.确定分析类
如图2-6所示为维护个人信息用例的分析类。
边界类:
本例使用“维护个人信息表单”来封装面向顾客这个参与者的接口。
控制类:
本例控制类为“维护个人信息控制者”,负责接收边界类“维护个人信息表单”的信息,将其发给实体类。
实体类:
顾客。
2.静态模型
用图2-7所示参与类图描述各类之间的关系。
如图所示,各个类之间都是单向关联关系。
3.动态模型
维护个人信息可能出现两种情况。
其一是顾客仅仅查看其在注册时填写的个人信息,不加修改;二是查看后接着修改个人信息。
如图2-8和图2-9所示是维护个人信息的时序图和协作图。
顾客申请查看其在注册时填写的个人信息,通过“维护个人信息表单”向“维护个人信息控制者”发出获得其信息的请求,顾客实体类从数据库中取得该顾客的个人信息,交付“维护个人信息表单”加以显示。
然后顾客对他的个人信息进行编辑修改,之后发送给“维护个人信息控制者”,最后由其向顾客实体类发送更新顾客信息的消息。
这样,数据库中该顾客的记录将被修改。
2.3.3维护购物车
1.确定分析类
如图2-10所示为维护购物车用例的分析类。
边界类:
设计一个边界类来封装面向顾客这个参与者的接口,即“维护购物车表单”。
控制类:
本用例的控制类为“维护购物车控制者”,负责接收边界类“维护购物车表单”的信息,然后将其分发给实体类。
实体类:
本用例涉及的实体类“购物车”和“购物项目”。
2.静态模型
用图2-11的参与类图描述各类之间的关系。
由于控制类“维护购物车控制者”接收来自边界类的信息并分发给实体类,所以它与边界类和实体类都存在着关联关系。
3.动态模型
如图2-12和图2-13所示是维护购物车的时序图和协作图。
在顾客进行维护购物车之前,首先向“维护购物车表单”发送“查看购物车”的消息,从“维护购物车控制者”获取当前购物车的信息。
当购物车实体类从数据库中取得当前购物车的信息后,即用“维护购物车表单”加以显示。
接下来顾客便可进行确认操作,如删除购物车中的商品和修改商品数量等。
2.3.4生成订单
1.确定分析类:
如图2-14所示为其分析类。
边界类:
有两个边界类,它们分别是“生成订单表单”和“银联系统”。
控制类:
本例的控制类为“生成订单控制者”,负责接收“生成订单表单”的信息,并将其发给实体类。
实体类:
本例涉及的实体类为“订单”。
2.静态模型
用图2-15的参与类图描述各类之间的关系。
3.动态模型
在识别上述类之后,通过建立交互图,将生成订单用例的行为分派到这些类对象中。
用时序图和协作图(如图2-16和图2-17所示)来建立动态模型。
顾客
顾客确定要购买购物车中的商品后,填写姓名、地址和银行账号等信息,然后由“生成订单表单”想控制者发送“生成订单的消息”,接着从购物车中获取当前购物车中的商品,计算所有商品总价之和并加入订单,这样,订单实体类就负责向数据库中添加新订单信息。
最后,将生成的订单发送给银联系统进行处理。
2.3.5管理订单
如图2-18所示为其分析类。
边界类:
本例有三个边界类,即管理订单表单、银联系统和物流系统,分别与3个参与者进行交互。
控制类:
按照每个用例设计一个控制类的原则,本例只设置“管理订单控制者”一个控制类。
实体类:
银联系统要发送订单反馈信息,管理员要获取订单反馈信息,所以涉及的实体类有“订单”和“顾客”。
2.静态模型
用图2-19的参与类图描述各类之间的关系。
在这一类图中,各个类之间都属于单向关联。
3.动态模型
为提高动态模型的可读性,看起来更加简洁,这里将它分绘为两部分,即由银联系统发送订单反馈信息;管理员获取订单反馈信息,并发送成功扣款的订单。
其时序图和协作图如图2-20和2-21所示。
首先由边界类银联系统获得订单反馈信息,然后发送给“管理订单控制者”,由其向实体类订单发送信息,再由实体类订单负责登记反馈信息到数据库中。
第3章系统设计
面向对象设计的任务是将分析阶段建立的分析模型转变为软件设计模型。
在基于面向对象分析阶段确定了问题领域的类/对象以及它们的关系和行为的基础上,就可以开始面向对象设计了。
它主要考虑“如何实现”的问题,其注意的焦点从问题空间转移到解空间,着重完成各个不同层次的模块设计。
因此,它不仅要说明为实现需求必须引入的类、对象以及它们之间是如何关联的,描述对象间如何传递消息和对象的行为如何实现。
下面针对系统的注册、维护个人信息、维护购物车、生成订单、管理订单等5个用例,展示网上购物系统的类/对象设计。
3.1网上购物系统的类/对象设计
1.为注册用例进行类/对象设计
图3-1显示了注册用例的类/对象,以及各个类之间的关系。
其中各个类增加了属性以及方法。
2.为维护个人信息用例的类/对象设计
图3-2为维护个人信息用例的类/对象,以及各个类之间的关系。
其中各个类增加了属性以及方法。
图3-2维护个人信息用例的类/对象
3.为维护购物车用例的类/对象设计
图3-3为维护购物车用例的类/对象,以及各个类之间的关系。
其中各个类增加了属性以及方法。
图3-3维护购物车用例的类/对象
4.为管理订单用例进行类/对象设计
图3-4为管理订单用例的类/对象及各个类之间的关系。
其中各个类增加了属性以及方法。
图3-3管理订单用例的类/对象
第4章系统实现
第5章系统测试