网上购物系统结构化分析.docx
《网上购物系统结构化分析.docx》由会员分享,可在线阅读,更多相关《网上购物系统结构化分析.docx(25页珍藏版)》请在冰豆网上搜索。
![网上购物系统结构化分析.docx](https://file1.bdocx.com/fileroot1/2023-6/12/33329cfe-7351-405a-9580-d9bee6bd9725/33329cfe-7351-405a-9580-d9bee6bd97251.gif)
网上购物系统结构化分析
软件工程课程设计
基于ASP.NET的网上购物系统
专业:
计算机科学与技术
班级:
11级计科
:
莹
学号:
2014年12月
摘要
随着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所示。
N
2.3数据流程分析
数据流图是描绘系统逻辑模型的图像工具,它描述了系统的组成部分及各部分的联系,以及信息流和数据转换。
在线购物业务首先由商家将商品信息通过系统管理模块提供的商品管理功能录入数据库;然后购买者在注册为网站会员之后即可选购所需商品,选购完成之后选择付款方式和送货方式,之后即可提交订单。
商家管理员每天都会处理购买者下达的新订单,并予以执行。
本系统的顶层数据流程如图2-2所示。
接下来把系统分解为销售和管理两大加工,主要的数据由买家输入,主要包括注册信息、登录信息、选购商品信息的输入,输出的则是订单信息。
对于系统管理模块来说,主要的数据由卖家输入,主要包括商品信息、新闻信息的输入,输出的则是系统销售模块所看到的所有信息。
第二层数据流程如图2-3所示。
图2-3第二层DFD图
继续分解,可获得第三层数据流图。
其中图2-4由销售子系统扩展而成。
在图2-4中,销售子系统被分解为5个子加工,编号从1.1至1.5。
审查有效性时,首先要校核用户的信息是否与用户信息表(F2)相符,查找商品时还要通过商品信息表(F1)检查。
把选择的商品加入购物车,并填写订单,存入订单信息表(F3)。
从上述DFD图导出网上购物系统的SC图,如图2-5所示。
第3章系统设计
本章节的总体目标是将上一章节需求分析阶段得到的目标系统的逻辑模型,变换为目标系统的物理模型,具体将从系统的结构设计和数据库的设计两方面进行讲解。
简单的说就是根据上一章节中需求分析的”做什么”,确定系统应该”怎么做”。
3.1总体功能结构设计
系统结构和功能是系统设计的核心部分,通过系统结构图可以清楚的看出整个系统的结构。
针对每个结构模块分别做分析,为以后的设计和实现打下基础。
根据功能需求,本系统总体上分销售模块和系统管理模块,销售模块功能供购买者使用,系统管理模块功能供商家管理员使用。
系统总体结构如图3-1所示。
3.2模块功能设计
本系统分销售模块和系统管理模块,每个模块又有若干个子模块构成,其中销售模块主要包括:
商品展台、购物车、会员管理、新闻管理、注销登录等子模块。
系统管理模块主要包括:
商品管理、订单管理、会员管理、新闻管理、注销登录等子模块。
具体的模块功能设计如下。
3.2.1销售模块
系统销售模块主要让商品购买者使用,可以进行各类商品信息的浏览和订购功能,系统销售模块的结构如图3-2所示。
系统销售模块具体功能设计如下:
1、商品展示功能:
包括新上架商品展示、特价商品展示、销售排行榜、分类商品信息展示和被选定的商品详细信息展示。
每类商品都是根据数据库中商品信息表中的特定字段进行划分的,如特价商品是根据降价幅度是否大于百分之二十、新品是根据上架时间是否在三天或一周之内、排行榜是根据购物者下订单的多少。
购物者可通过此模块实现浏览商品信息的目的。
2、购物车功能:
包括选定商品至购物车,查看、清空购物车;在购买者提交购物车(提交订单)之前,所有已选定的商品信息是存放在购物车实现类文件的DataSet数据集中。
当提交购物车之后,该数据集中的信息就被写入数据库。
在用户未登陆之前,不能够使用购物车提交功能,如果选择了购物,那么系统会提示用户登录。
3、会员管理功能:
包括了注册、登录、索回密码等功能。
对于注册功能,需要用户输入的信息取决于数据库中会员信息数据表中的字段;并通过各类型的验证控件实现校验。
登录和索回密码功能所需的数据也是从会员信息数据表中得到。
4、新闻管理功能:
将数据库中的新闻信息数据表中的信息动态绑定至网站首页,同时允许用户单击了某条特定的新闻标题后查看相应新闻的详细信息。
5、注销登录功能:
保证在注册会员注销后清空其登录时候保持的信息,如会话信息、购物车信息等。
3.2.2系统管理模块
系统管理模块的功能由发布商品的商家使用,可以进行注册会员、商品信息、订单、动态新闻、在线调查等内容的管理,系统管理模块的结构如图3-3所示。
系统管理模块具体功能设计如下:
1、商品管理功能:
具体包括对商品信息进行添加、编辑、删除等操作。
对于新上架的商品,可以上传图片供购买者查看;对于已录入数据库的商品信息,可进行编辑和删除等操作。
2、订单管理功能:
具体包括对订单信息进行查看、执行等操作。
3、会员管理功能:
具体包括对已注册会员信息进行编辑、删除等操作,同时可手动添加会员信息。
4、新闻管理功能:
可实现对新闻的增加、删除、编辑等功能。
5、注销登录功能:
可实现让商家管理员退出后删除所有登录期间存储的信息,如Session信息。
3.3数据库设计
系统分析结束后进入设计阶段,抽象地分析数据,理解数据之间的关系,建立E-R模型,然后对数据库进行概念结构设计和逻辑结构设计。
由于SQLServer2000能够以极高的效率完成各种数据库查询,并能方便的使用存储过程,同时它的图形化用户界面,使系统管理和数据库管理更加直观、简单。
另外由于对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
所以本系统采用了SQLServer2000进行数据库的存储管理与维护。
3.3.1概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念结构设计,这一步是数据库设计的关键。
一般采用自底向上的方法进行数据抽象和结构设计。
在本系统中涉及到的实体如下所示:
1.管理员(管理员ID、登录账号、登录密码、权限级别)
2.会员(会员ID、登录名、真实姓名、登录密码、所在城市、住址、邮政编码、证件号码、证件类型、电话号码、手机号码、、密码提示问题、问题答案)
3.商品(商品ID,所属类别、商品名、商品介绍、单位,原价、现价、市场价格、购买次数、库存、图片、输入时间、最近更新时间、是否新品)
4.订单(订单ID、订单下达者、付款方式、送货方式、订单下达日期、执行状态、订单描述)
5.新闻(新闻ID、新闻标题、新闻内容、录入时间)
6.在线调查(投票ID、投票标题、投票起止日期、A答案及其选票数)
7.订单明细信息(订单详细信息ID,所属的订单号,对应的商品ID,对应商品价格、对应商品数量)
8.商品大类信息(商品大类ID,商品大类名称)
9.商品小类信息(商品小类ID,商品小类名称,所属商品大类ID)
在该系统中,各个实体的关系为:
一个管理员可同时管理会员、商品、订单、新闻、在线调查、商品类别等多个实体对象,并且它们之间都是一对多的关系;一个会员实体可以下达多条订单信息实体,而一条订单信息又可对应多条订单明细信息实体;一条订单明细包括一个商品实体;一个商品大类信息拥有若干商品小类信息实体,而一个商品小类实体信息又拥有多个商品实体。
各个实体之间的关系如图3-4所示。
3.3.2逻辑结构设计
系统数据库设计的优劣直接影响到以后网站与数据连接的速度和更新查询的复杂度。
本节介绍本系统基于关系数据库的数据库总体结构设计及数据表的设计。
本系统的数据库设计是在系统功能分析后,依据系统的需求目标而做出的设计。
本系统为基于ASP.NET的在线购物系统,所以最重要的数据表就是存放商品详细信息数据表、注册会员信息表、商品类别信息表、订单信息表等,表3-1为本系统所涉及到的数据表。
表3-1数据表列表
表名
主要属性
My_Goods
商品信息(商品ID,商品名,所属类别,价格,库存,购买次数,图片……)
My_Member
会员信息(会员ID,登录名,登录密码,,密码提示问题,问题答案……)
My_Manager
管理员信息(管理员ID,登录账号,登录密码,权限级别)
My_SuperType
商品大类信息(商品大类ID,商品大类名称)
My_SubType
商品小类信息(商品小类ID,商品小类名称,所属商品大类ID)
My_Order
订单信息(订单ID,订单下达者,付款方式、送货方式、执行状态……)
My_Order_Details
订单详细信息(订单详细信息ID,所属的订单号,对应的商品ID……)
My_Vote
投票信息(投票ID,投票标题,投票起止日期,A答案及其选票数……)
My_BBS
新闻信息(新闻ID,新闻标题,新闻内容,录入时间)
3.3.3数据表详细设计
各个数据表之间主键和外键之间存在某种关系,他们的对应关系一般是商品ID、会员ID、类别ID、订单ID、管理员ID等各个元素的主键相链接的,关系图如图3-5所示。
本系统中共涉及以商品信息表和商品类别表为中心的9张数据关系表。
下面列出了本数据库中主要涉及到的数据表:
1.商品信息数据表(My_Goods):
该表中存放系统销售模块商品的所有信息,该表字段及其类型定义如表3-2所示。
表3-2商品信息表(My_Goods)
字段名
字段类型
可否为空
描述
ID
bigint
NotNull
商品ID(主键)
typeID
int
NotNull
所属商品类别ID(外键)
goodsName
varchar(200)
NotNull
商品名称
introduce
text
Null
商品描述
unit
Varchar(6)
NotNull
商品单位
price
float
NotNull
原价
nowPrice
float
NotNull
现价
marketPrice
float
NotNull
市场价格
buyTimes
int
NotNull
购买次数(默认值为0)
stocks
int
NotNull
库存数量
picture
Varchar(100)
Null
商品图片(默认值是一张已存在的图片路径)
INTime
datetime
NotNull
商品录入时间
updateTime
datetime
Null
商品最近更新时间
newGoods
int
NotNull
是否新货(0:
不是;1:
新货。
默认值为0)
2.会员信息数据表(My_Member):
该表中存放在系统中注册的会员的所有信息,该表字段及其类型定义如表3-3所示。
表3-3会员信息表(My_Member)
字段名
字段类型
可否为空
解释
ID
int
NotNull
会员ID(主键)
userName
Varchar(20)
NotNull
登录名称
trueName
Varchar(20)
Null
会员真实姓名
passWord
Varchar(20)
NotNull
登录密码
city
Varchar(20)
Null
所在城市
address
Varchar(100)
Null
所在地址
postcode
Varchar(6)
Null
邮政编码
cardNO
Varchar(24)
Null
证件号码
cardType
Varchar(