(定稿)王波丽基于web的宠物领养助养系统的设计与实现0905170329 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科毕业论文(设计) 论文题目:基于web的宠物领养助养系统的设计与实现
学生姓名:***
学号:**********
专业:计算机科学与技术
班级:计本0903班
指导教师:**
完成日期: 2013 年 5月 16 日
基于web的宠物领养助养系统的设计与实现
内容摘要
为了解决流浪动物泛滥问题,各省市先后出现了公有或私有的动物救助站,但是因为区域限定、资金短缺、宣传困难等问题,流浪动物的领养、助养发展缓慢。
但是随着Internet技术的发展,尤其是电子商务的快速普及,为动物的领养、助养的普及与快速发展提供了良好的条件。
虽然网络上已有一些相关的救助网站,但因信息更新不及时、地域限制、人力物力资源匮乏等问题造成有领养意向和条件的爱心人士的不能或者推迟领养;救助站内部又存在动物泛滥、资金紧缺的情况;不能形成一个良性循环。
因此开发一个在线的宠物领养助养系统就成了当务之急。
本文主要介绍了基于的宠物领养助养系统,该系统凭借web服务器和客户的浏览器,利用网络高效率、低成本、及时更新的特点,为爱心人士提供交易平台。
管理员在Internet上发布或审查、修改宠物信息、管理订单和配送方式、报表;会员可以查阅、搜索、发布、领养或助养宠物。
为爱心人士提供全天候的、更好、更快的服务。
为流浪动物提供一次新生的机会。
关键词:宠物领养助养
Pets Adoption or Sponsorship System Based on Web
Abstract
To solve the overflowing problem of vagrant animals, some provinces have appeared publicly or privately animal rescue shelters. The salvation is slow development, because of limited areas, shortage of funds, publicity difficult issues. But with the development of Internet technology, especially the rapid spread of e-commerce, animal adoption and help are raising. Although several salvations developed the related web sites, some sympathetic members can not or postpone adoption or help because of geographical restrictions, lack of resources and the information’s update slowly. The salvations are shortage of funds and have many animals that are waiting for help. Because it is a vicious circle, so developing an online pet adoption sponsor system is urgent.
This paper describes the pet adoption or sponsorship system based on , which used the web server and the client browser. Because it has high efficiency, low cost, and update timely features, the web can provide a good trading platform for everyone. The administrator can publish, review or modify pet information and also manage orders or delivery method, research reports. Memberships can access, search, publish, adoption or help pets. This software provides an all day and faster good service, in order to provide a new life opportunity for vagrant animals.
Key words: pet adoption sponsorship
目录
一、绪论 (3)
二、系统可行性分析与开发相关技术 (4)
(一)可行性分析 (4)
1. 技术可行性 (4)
2. 经济可行性 (4)
3. 运营可行性 (4)
4.敏感性分析 (4)
5.法律可行性 (4)
(二)相关技术 (5)
1.C# (5)
2.Session技术的使用 (5)
3.Visual Studio 2008 (5)
4.SQL Server 2000 (6)
5.存储过程的使用 (6)
三、需求分析 (8)
(一)系统总体分析 (8)
1.业务流程图 (8)
2.系统结构图 (9)
(二)数据描述 (10)
1.实体属性图 (10)
2.E-R图 (13)
3.数据字典 (13)
4.数据库表关系图 (17)
5.数据流图 (17)
四、系统详细设计 (20)
(一)会员登录模块 (20)
(二)会员注册模块 (21)
(三)宠物查询模块 (21)
(四)宠物详细信息 (22)
(五)宠物车 (24)
(六)会员订单管理 (26)
(七)管理员登录模块 (27)
(八)宠物信息添加模块 (27)
(九)宠物信息修改模块 (29)
(十)管理员订单管理模块 (30)
(十一)管理员报表功能 (30)
五、系统实现 (32)
(一)系统主界面 (32)
(二)会员模块 (33)
1.助养界面 (33)
2.注册界面 (34)
3.详细信息页面 (35)
(三)管理员模块 (36)
1.主界面 (36)
2.宠物管理界面 (36)
六、系统测试 (39)
(一)测试范围 (39)
(二)测试计划 (39)
(三)主要的测试内容 (40)
1.功能测试需求 (40)
2.功能测试计划 (40)
3.功能测试测试用例 (41)
(四)测试总结 (45)
结论 (46)
致谢 (47)
参考文献 (48)
一、绪论
动物作为人类的宠物已经有几千年的历史了,尤其是猫和狗因其天性被人类所喜爱和推崇,好多的成语故事、俗语等都与它们有关。
但是,近几年来由于生活节奏的加快,人们的压力增大,没有时间和空间去照顾宠物,所以弃养宠物的家庭增加,越来越多的流浪动物不仅对动物的生活甚至生存造成影响而且也对人类的生活造成影响。
据北京《娱乐信报》报道,兽医专家称流浪猫狗更易传播疾病,“街头流浪的猫狗身上携带鼠疫等病毒、跳蚤等寄生虫的几率要远远高于家养宠物”。
除此之外,大量的流浪猫、狗对城市环境、交通以及公共卫生安全也构成了严重的隐患,也是对生命的不尊重。
同时有些家庭却因为没有找到合适的宠物而遗憾。
目前,动物的救助还处于初级阶段,存在救助的区域受限制、投资较大、场地偏僻、信息更新发布困难等诸多问题。
这些情况导致动物救助所的动物处于“入多出少”的情况,这种情况导致收容所的经济、场地等问题日益严峻。
在网络技术飞速发展的今天,电子商务对人们的影响越来越大,小到衣物的买卖,大到房屋的交易都可以通过电子商务来进行。
人们也越来越习惯足不出户,完成很多的个人事务。
依赖于Internet的优势,将动物的领养助养与其相结合,开发一个基于网络的宠物领养助养系统,刻不容缓。
本论文描述了基于Web的宠物领养助养系统开发的整个流程。
会员通过在互联网访问该平台,会员可以根据自身需要、家庭环境、宠物的情况等因素来决定救助方式。
当然考虑到动物本身和会员本身的条件,网站管理员有权利阻止会员的救助方式也可以对动物的受救助情况进行动态管理,并依据国家法律规定确定会员是否有领养的权利;最后,领养人可以通过平台上传动物的生活照进行领养反馈。
二、系统可行性分析与开发相关技术
(一)可行性分析
可行性研究[ 1 ]的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。
下面将从技术可行性、经济可行性、运营可行性、敏感性分析、法律可行性五个方面进行描述:
1. 技术可行性
目前,实体收容所的某些工作存在盲目性、随意性、局限性不能很好的救助流浪动物。
若本系统开发成功,则对他们的工作有很大的帮助。
本系统的开发利用Microsoft SQL Server2000作为后台的数据库,它是一个支持多会员的新型数据库,适用于大中规模的数据量需求。
使用Visual 作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
2. 经济可行性
传统的领养助养模式中,会员要投入大量的财力和时间用于动物的选择和运输,收容所需要大量的人力物力进行宣传和救助流浪动物就这样还不能有效做到合理的交易。
而该系统为商家提供了随时随地查看所有商品信息的功能,也使得收容所能在短时间内充分了解当前动物的情况,从何制定合理的配送计划,达到配送成本最小化、供货效率最大化。
这样就能为收容所节约大量的人力资源投入,所以在经济上、该系统的开发是可行的。
3. 运营可行性
1)本系统操作简单,易于理解,只需通过简单培训,上手较快,营运环境要求低。
2)面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。
4.敏感性分析
系统生存周期短、系统故障负荷量不是很大、处理速度要求快、设备和软件配置变化对支出和效益的影响小。
5.法律可行性
本系统是自主开发设计,因此不会构成侵权,在法律上是可行的。
(二)相关技术
熟悉而简单的开发平台、开发语言、数据库会给系统开发带来事半功倍的效果。
所以宠物领养助养系统采用Visual Studio 2008作为开发平台;C#语言作为主要的后台开发语言;SQL server 2000作为数据库的头号选择。
1.C#
目前主流的动态网站的设计技术有ASP、PHP、.NET和JSP等。
而其中最受欢迎的是.NET和 上支持多种语言的开发,如C#和VB。
本系统采用C#语言[2]作为开发语言。
采用C#开发,有以下几个原因:首先,Microsoft C#是一种简单的、流行的、面向对象的、类型安全的编程语言,它是为生成运行在.NET Framework上的、广泛的企业级应用程序而设计的。
其次,它较容易上手,特别是和JSP比较起来,能够在短时间内开发出一个较完整的系统。
最后,C#是本人学习时间最长、也是本人最熟悉的编程语言,采用该语言将为系统的开发节省时间
2.Session 技术的使用
Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
Session中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个Session。
在中Session对象[3]简单来说就是服务器给客户端的一个编号。
当一台www服务器运行时,可能有若干个会员浏览器正在访问这台服务器上的网站。
当每个会员首次与这台www服务器建立连接时,就与这个服务器建立了一个Session,同时,服务器会自动为其分配一个SessionID,用以识别这个会员的唯一身份。
这个SessionID是由www服务器随机产生的一个由24个字符组成的字符串。
这个唯一的SessionID是有很大的实际意义的。
当一个会员提交表单时,浏览器会将会员的SessionID自动附加在HTTP头信息中,这是浏览器的自动功能,会员不会觉察到。
当服务器处理完这个表单后,将结果返回给SessionID所对应的会员。
Session对象主要用于存储一定生命周期内某个会员的个人信息。
声明以及存取变量的具体语法格式如下:
Session[“变量名”]//声明一个Session对象变量;
Session[“变量名”]=变量值//存储Session对象变量值;
变量=Session[“变量名”]//获取Session对象变量值,这里需要注意,Session对象返回的变量将是Object对象,会员需要进行相应的类型转换。
3.Visual Studio 2008
Microsoft Visual Studio2008是一个平台,在这个平台上可以使用多种语言开发Windows应用程序、 Web应用程序、移动Web应用程序以及XML WEB Service等。
.NET框架由三个主要部分组成:公共语言运行库、统一类库的分层集合和称为的Active Server Pages组件化版本。
Visual 是一套完整的开发工具,用于生成应用程序、XML Web Services、桌面应用程序和移动应用程序。
Visual 、Visual C++.NET、Visual C#.NET和Visual J#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
鉴于Visual C# .NET开发平台和C#语言的这些优点,所以本系统采用了以上平台和语言。
4.SQL Server 2000
目前市场上已有的数据库系统包括MYSQL、Access、Microsoft SQL Server 2000、Oracle(9i、10g、11g),其中以后两种数据库最为普遍。
本系统采用的是Microsoft SQL Server 2000[4]数据库系统,原因如下:
A.SQL Server 2000是微软公司的大型数据库管理系统,它的主要特点有:
a.强大的查询与管理功能。
b.强大的数据库开发功能。
c.扩大了对SQL语言的支持。
d.大量使用可视化的界面操作工具。
e.支持面向对象的程序设计。
f.多平台支持。
g.支持网络应用。
B.SQL Server 2000是本人接触基于关系型数据库系统以来学的最早也是时间最长的一个数据库系统,而且T-Sql语句也是本人最熟悉的查询语句,采用该种数据库对保证系统开发过程的顺利进行将有很大的帮助。
C.虽然Oracle可在所有主流平台上运行,解决了系统运行过程中的跨平台问题;但是它的企业管理器使用过程较为复杂。
而SQL Server2000虽然只能在Windows上运行,但SQL Server2000在Windows 平台上的表现以及它和Windows操作系统的整体结合程度、使用方便性、和Microsoft开发平台的整合性都比Oracle强的很多。
D.Oracle适用于大型项目,而SQL Server 2000适用于中小型项目,根据本系统中用到的数据表以及数据表之间关系的复杂程度,SQL Server 2000提供的功能足以满足系统需求。
5.存储过程的使用
存储过程在概念上[4]类似于程序中的函数。
它们获取输入参数,以黑盒模式运行并返回相应信息。
与函数不同的是,存储过程由数据库引擎执行,而不是在程序中执行。
也就是说,将信息输入到存储过程或从中输出信息都必须通过与数据库交互的技术来完成。
在Visual 中,本人们可以使用完成该任务。
使用存储过程不像解释执行的SQL语句那样在提出请求时才进行语法分析和优化工作,这样运行效率就高了,它提供了在服务器端快速执行SQL语句的有效途径。
存储过程同时也降低了客户机和服务器之间的通信量。
客户机上的应用程序只要通过网络向服务器发出存储过程的名字和参数,就可以让RDBMS执行许多的SQL语句,并执行数据处理。
只有最终结果才返回客户端。
并
且存储过程可以方便实施企业规则,可以把企业规则的运算程序写成存储过程放入数据库服务器中,由RDBMS管理,既有利于集中控制,又能够方便地进行维护。
当会员规则发生变化时只要修改存储过程,无须修改其他应用程序。
三、需求分析
(一)系统总体分析
宠物领养助养系统采用四层架构的设计模式[5],使得应用程序设计更加合理,便于日后维护。
四层架构分为:
1)IE会员表示层:包括会员:宠物查询、宠物领养、宠物助养、注册、留言、收藏、宠物车、在线充值、运输、回访、助养金明细查看等模块;管理员:宠物管理、宠物助养金管理、领养管理、宠物类型管理、会员管理、订单管理、运输方式管理等模块。
为人们的宠物的领养助养提供最简单、最快速、最安全的服务体系;
2)业务逻辑层(BLL):调用数据访问层的功能,来对于特定表的数据操作类,使得数据库的访问操作更加简单和快速;
3)数据访问层(DAL):包括了连接数据库、数据库的读写、断开数据库等通用数据操作;
4)数据库层保存了整个网站的所有数据。
1.业务流程图
在线领养助养首先由管理员将宠物信息通过宠物管理功能录入数据库;然后会员在注册为网站会员之后进行宠物的搜索查看,也可以进行留言发布宠物。
如果要领养助养宠物只要符合条件就可以申请领养助养宠物,选择领养/助养,若选择助养则进行加入宠物车、在线支付即可提交订单;选择领养则在完成支付之后选择送货方式,之后才可提交订单。
若是助养则可以查看每月助养金花费明细;领养则要每月上传宠物近照以便管理回访。
管理员每天都会维护宠物信息,进行会员发布宠物信息的审核、查看留言、管理会员、处理会员下达的新订单,并予以执行,也会将助养金额的明细进行记录和通知会员还可以在条件允许的条件下进行宠物的回访。
本系统的顶层业务流程如图3-1所示。
图3-1宠物领养助养系统的顶层业务流程
2.系统结构图
本系统会员分为游客、会员、管理员三个角色。
系统结构图3-2所示:
图3-2 宠物领养助养系统功能图
管理员权限:
1)管理员具有管理会员的权限主要是:删除违反协议、长时间不登录等会员的会员信息。
2)管理员具有管理宠物的权限主要是发布新宠物信息、删除已死亡宠物信息、修改宠物领养助养状态信息、审核会员发布的宠物等。
3) 管理员具有管理订单的权限,包括:修改订单状态、审核订单、取消不合理订单、确认订单等
4)管理员具有管理宠物类别的权限,包括:添加、删除、修改宠物类别信息。
5)管理员具有管理货运类别的权限,包括:添加、删除、修改货运类别信息。
6)管理员具有管理领养宠物的权限,主要是修改领养信息。
7)管理员具有出具宠物助养金的月明细表的义务,主要用来让会员明白助养金的流向。
会员权限:
1)会员具有浏览网站中所有的宠物信息、留言发布需要救助的宠物信息的权限。
2)会员具有按关键字检索宠物的权限。
3)个人信息管理:修改个人注册信息。
4)密码管理:找回密码、修改密码
5)为会员卡充值,进行助养或领养金的支付。
6)添加、查看或删除个人收藏
7)将选中的宠物放入宠物车。
8)查看、增删宠物车中的宠物
9)若助养则直接提交订单;领养提交订单并填写必要的收件信息。
10)若直接助养则直接修改宠物助养金信息。
11)查看包括运费在内的总金额
12)查看助养宠物的月消费明细单。
13)上传领养宠物的近况照片,以便管理员回访。
14)留言信息管理:添加留言
15)退出登录
游客权限:
1)游客具有浏览网站中所有的宠物信息的权限,主要是查看宠物信息。
2)游客具有按关键字检索宠物的权限。
3)游客具有注册为会员的权限
(二)数据描述
1.实体属性图
实体是指客观存在并可相互区别的事物,而属性则是实体所具有的某一特征,一个实体可以由若干个属性来刻画[6]。
图3-3 宠物信息属性图
图3-4 订单属性图
图3-5 会员信息属性图
图3-6 管理员属性图
图3-7 留言属性图
图3-8 收藏信息属性图
图3-9 明细表信息属性图
2.E-R图
E-R图[7]也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
图3-10系统E-R图
3.数据字典
数据字典[8]是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
数据项是数据的最小组成单位若干个数据项可以组成一个数据结构数据字典通过对数据项和
数据结构的定义来描述数据流、数据存储的逻辑内容。
以下为本系统中的数据项:表3-1为信息表,存储系统中的会员信息。
包括会员的会员名、姓名、密码等信息。
其详细设表3-1会员信息表(A_User)
表3-2为管理员表,存储系统中的管理员信息。
其详细设计结构如表3-2所示。
表3-2 管理员信息表(A_Admin)
表3-3为宠物表,存储系统中的宠物信息。
其详细设计结构如表3-3所示。
表3-3 订单信息表(A_Animal)
表3-4为宠物类型表,存储系统中的宠物类型信息。
其详细设计结构如表3-4所示。
表3-4 宠物类型信息表(A_AnimalTypeInfo)
表3-5为宠物车表,存储系统中的收藏信息。
其详细设计结构如表3-5所示。
表3-5 宠物车信息表(A_Shopcart)
续表3-5 宠物车信息表(A_Shopcart)
表3-6为留言表,存储系统中的留言信息。
其详细设计结构如表3-6所示。
表3-6 留言表(A_Comment)
表3-7为订单表,存储系统中的订单信息。
其详细设计结构如表3-7所示。
表3-7 订单信息表(A_OrderInfo)
表3-8为送货方式表,存储系统中的送货方式信息。
其详细设计结构如表3-8所示。
表3-8 送货方式(A_Comment)
表3-9为回访表,存储系统中的回访信息。
其详细设计结构如表3-9所示。
表3-9 回访表(A_Images)
表3-10为明细表,存储系统中的账目明细信息。
其详细设计结构如表3-10所示。
表3-10 报表信息(A_Money)
数据结构是计算机存储、组织数据的方式。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
数据结构往往同高效的检索算法和索引技术有关。
以下为本系统的数据结构定义:
表3-11为系统数据结构,罗列系统中的系统结构信息。
其详细设计结构如表3-11所示
表3-11 数据结构
续表3-11 数据结构
s7 运送方式保存运送方式的相关
信息
送货类型、服务费用
s8 订单信息保存会员的订单信息会员名、订单数量、宠物名称、下单时间、送货方式、服务金额、总金额、收货人姓名、电话、地址Email、邮编、是否已运送
s9 留言信息保存会员的留言信息宠物编号、留言内容、留言人、时间
s10 明细账目保存助养花费明细账目编号、会员名、宠物编号、宠物名称、助养总金额、花费项目、花费金额、剩余金额
4.数据库表关系图
图3-11数据库表关系图
其中:表的主键:表间关系(外键)
5.数据流图
数据流图[8](Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
图3-12 顶层数据流图
收收收收收收
图3-13 会员数据流图
图3-14 管理员数据流图
图3-15 a3订单管理数据流图
四、系统详细设计
总体设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他们之间的联系。
在此之后,按软件开发工程化的观点,应进入系统的详细设计阶段。
(一)会员登录模块
在进行网站后,会员通过登录系统登录[9]输入会员名和密码,若和数据库的信息相匹配,则转到会员页面;若输入的会员名和密码有误,则系统会提示会员名或密码错误。
流程图如图4-1所示:
图4-1 会员登录流程图
(二)会员注册模块
在进行网站后,若为游客,则点击会员注册即可进入到会员注册界面。
填写信息,进行注册。
当然输入会员名之后,先要进行检测,看此会员名可不可以注册。
流程图如图4-2所示:
图4-2 会员注册流程图
(三)宠物查询模块
无论是游客还是会员都可以通过宠物查询模块,找到喜欢或者希望助养领养的宠物。
查询采用模糊查询方式,不论输入宠物的名称、类型、编号都可以查询。
流程图如图4-3所示:
图4-3 宠物查询流程图
(四)宠物详细信息
查询浏览宠物界面,点击详细按钮进入宠物详细信息界面,显示包括宠物年龄、类型等各个信息。
无论会员还是游客都可以查看宠物的详细信息。
但是会员可以领养助养宠物。
宠物详细信息助养流程图如图4-4所示,领养宠物必须符合国家法律规定,和收容所制定的领养规则,所以会员在领养时必须看清楚领养规则,以便于领养到合适的宠物。
流程图如图4-5所示:
图4-4 宠物助养信息流程图
图4-5 宠物领养信息流程图
(五)宠物车
选择了宠物之后,若决定领养或着选择的助养方式为按月助养,则加入宠物车。
然后进行加入订单,在线支付的流程图如图4-6所示:
图4-6 加入宠物车流程图
(六)会员订单管理
会员通过宠物车的处理按钮,将助养或领养信息加入订单,订单可以直接处理即支付助养或领养金;或者进行删除订单的操作流程图如图4-7所示:
图4-7 会员订单管理流程图
(七)管理员登录模块
管理员是通过后台管理登录到系统管理员界面的。
在进入网站后,点击后台管理,输入会员名和密码,若和数据库的信息相匹配,则转到管理员页面;若输入的会员名和密码有误,则系统会提示会员名或密码错误。
流程图如图4-8所示:
图4-8 管理员登录流程图
(八)宠物信息添加模块
管理员负责宠物的信息的发布,包括宠物的图片路径、领养金额、助养金额等信息,只有管理员发布宠物信息之后,会员才可以进行宠物的领养助养。
管理员进入管理员主界面,选择宠物管理,。