毕业设计(论文)-基于Android平台020模式下的APP“懒人帮”.docx_第1页
毕业设计(论文)-基于Android平台020模式下的APP“懒人帮”.docx_第2页
毕业设计(论文)-基于Android平台020模式下的APP“懒人帮”.docx_第3页
毕业设计(论文)-基于Android平台020模式下的APP“懒人帮”.docx_第4页
毕业设计(论文)-基于Android平台020模式下的APP“懒人帮”.docx_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宁夏理工学院毕业设计 毕业设计题目名称基于Android平台o2o模式下的App“懒人帮”学院电气信息工程学院专业计算机科学与技术 学生班级学号计科13101班指导教师摘要智能手机的普及,代表的不仅仅是技术的飞跃,同时极大地提高了人们的工作效率,丰富了人们的生活。在智能手机的促发下,一大批“懒人”为了满足自己懒得需求,服务类APP应运而生。也为智能手机终端添加更多内容丰富的应用功能提供了良好的平台。本系统是基于谷歌公司新推出的一款Linux平台的开源手机操作系统Android系统,利用Java语言,Eclipse+SDK+ADT为开发环境,通过对平台的系统架构和应用程序进行学习,设计出一款基于Android平台o2o模式下的“懒人帮”服务类的APP。本系统包括任务发布、领取,商家加盟,地图定位和评分等功能,满足了用户“懒”的需求,从而可以解放自己,节省大量时间。“懒人帮”的设计遵循标准的开发流程,首先进行需求分析,然后确定“懒人帮”的功能,再编写程序的代码、调试程序、运行程序和测试程序,并对程序进行优化完善。本软件利用Android提供的各种组件对界面进行设计,能够很好地支持用户体验。关键词:Android;“懒人帮”;任务全套设计加扣 3012250582AbstractThe proliferation of smartphones represents not only a leap in technology, but also a huge increase in the efficiency of peoples work and the richness of peoples lives. A number of lazier apps have been created to satisfy the need to be lazy. It also provides a good platform for adding more content to the smartphone terminal. This system is based on Googles new company a Linux platform open source mobile operating system, Android system, using the Java language, the Eclipse SDK + + ADT for development environment, through the platform of the system architecture and application study, designed a based on Android platform o2o mode of lazy people help service class of the APP. This system including task distribution, collect, merchants to, map location and rate, and other functions, meet the needs of the users lazy, in order to liberate themselves, save a lot of time. Lazy people to help the design follow the standard development process, demand analysis first, and then determine the function of lazy people to help, to write a program code, debugging process, run the program, and optimize the program. This software USES the various components that Android provides to design the interface, which will support the user experience well.Keywords: Android. A lazy person to help; Task; 目录摘要IABSTRACTII1 绪论11.1 设计背景11.2 国内外研究现状11.3 发展趋势21.4 论文结构32 相关技术介绍42.1 总体描述42.2 程序语言及相关技术42.3 Android框架分析42.4 开发平台62.4.1 软件环境62.4.2 硬件环境63 需求分析73.1 可行性分析73.1.1 技术可行性73.1.2 经济可行性73.1.3 运行可行性73.1.4 法律可行性73.2 用户需求分析73.3 系统功能分析83.3.1 任务功能83.3.2 商家加盟83.3.3 地图定位93.3.4 即时通讯93.4 项目设计原则93.4.1 实用性原则93.4.2 占用资源少原则93.5 系统功能模式93.5.1 系统数据流图93.5.2 系统用例设计113.6 数据字典124 数据库设计164.1 概念结构设计164.2 逻辑结构设计184.3 物理结构设计194.3.1 确定数据库的存储结构194.3.2 数据库关系图205 系统设计和实现265.1 准备工作265.2 总体设计265.3 详细设计和实现功能275.4 界面的实现285.5 功能模块实现305.3.1 任务发布模块实现305.3.2 商家加盟模块实现325.3.3 管理员模块的实现335.3.4 即时通讯模块的实现356 系统测试366.1 测试的定义和目的366.2 软件测试方法366.2.1 白盒测试366.2.2 黑盒测试366.3 测试发现的问题及解决方法39参考文献40结束语41致谢42431 绪论1.1 设计背景当今社会的生活节奏越来越快,人们对手机的依赖性也越来越高,由于手机市场发展迅速,智能手机在生活中已经越来越泛滥。而作为手机各个功能中最为基本的服务类APP,也成为人们生活中必不可少的一个模块。在这人与人关系愈加密切的时代,“懒”成了生活中的一种趋势,基于Android平台o2o模式下的APP“懒人帮”刚好有效的满足了人们的这一需求。随着社会的发展,生活节奏的不断加快,忙碌是现代人的真实写照,“懒人帮”的出现就是现代社状况的衍生。是生活节奏的加快,引起的生活方式的改变。为了能够最大化的节省人们的宝贵时间,把用户认为的无意义的,但又必须花时间去做的事,这些时间节省下来。尤其是在现代生活节奏越来越快的情况下,他们不愿意或者没时间去走出工作室或者走出房间去饭店享受一顿美味,不愿意花时间去等待做饭的过程、不愿花时间去上商场为自己买一些生活必需品等等。针对于这种现代人越来越“懒”的现象,尤其是在大学校园里面,许多学生因为不愿意自己去做很多事情,或者是由于自身繁忙等一些因素,不能及时地亲身去自己做。在这种背景下,“懒人帮”的设计就很好的满足了用户“懒”的需求。1.2 国内外研究现状目前在国内比较受大众追捧的服务类软件有:美团、饿了么、58同城等,这些软件都是抓住用户的某一个方面或者几个方面的需求,去针对性的解决满足用户的需求而设计的。用户通过对这些软件的使用,有效的提高了用户的生活和工作效率,这些服务类软件几乎在80%以上的用户手机上都会安装。而一些热度相对较低的服务类软件也在悄然出现在人们的眼球里,比如飞毛腿、蜂鸟派送、懒人听书、懒人社区等。这些软件的功能就比较单一,只能满足用户某一方面的需求。因此用户的对他们的使用量相对来说较少。但是新推出的一些共享单车软件,却热度不仅不低,反而超过了一些老牌的服务类软件。在国内的许多经济发展较快的城市,共享单车软件几乎成为了人们手机中必备对的一款软件,有些甚至安装了几款共享单车软件,比如摩拜单车、ofo、小蓝单车、小鸣单车等同时出现在人们的手机安装应用中。据调查研究发现人们使用服务类软件 情况的根据自己的实际需求和社会环境的影响共同决定的。比如外卖类服务软件的流行,是因为不管从事什么行业的人,都离不开对饮食的需求。而共享单车软件之所以能够从兴起到发展用了不到短短半年时间就能迅速吸引用户,是因为他解决了人们的出行问题,依托在城市交托环境拥堵的条件下,使用共享单车便很好的解决了人们的出行问题。服务类APP在用户手机上占据了用户手机应用的一半以上,而娱乐和办公类型的APP却只是手机中的一小部分。人们在对手机的应用上越来越倾向于依赖手机去为自己服务,去使用手机节省一些时间,来提高生活和工作效率。1.3 发展趋势随着生活节奏的加快,为了适应不断进步的社会,人们不得不花去大量的时间去工作和学习。除了工作和学习之外,空余时间将会越来越少。在这种背景下,安卓应用在未来的走势,也将会越来越侧重于服务类APP的开发。从目前已存在的服务类APP的应用量来看,服务类APP在未来很长一段时间将会成为用户手机上的比不可少的应用。从现在的服务类APP的使用状况分析,我们不难看出,服务类APP的用户使用量是根据用户不同的需求决定的。目前人们的需求主要分为四大类,分别是衣食住行的需求。穿衣方面的需求:目前正在趋于成熟的智能穿戴软件,就很好的为用户提供了这方面的需求。“智能穿戴设备”是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。穿戴式技术在国际计算机学术界和工业界一直都备受关注,只不过由于造价成本高和技术复杂,很多相关设备仅仅停留在概念领域。随着移动互联网的发展、技术进步和高性能低功耗处理芯片的推出等,部分穿戴式设备已经从概念化走向商用化,新式穿戴式设备不断传出。这将很好的解决用户穿戴的需求;饮食方面的需求:当下热度相当高的美团外卖、饿了么等订餐APP,在解决用户饮食方面的需求时,通过实时更新商家的美食信息,给用户提供及时准确的美食信息。能够让用户足不出户的就可以享受到各种特色美食。这将会为用户节省大量的等待时间,用户利用订餐APP,只需要花费网上下订单的时间,就可以享受美食,从而把节省下的时间用来做其他的事,在提高工作效率和生活质量方面,订餐APP就显得尤为重要;居住方面的需求:一直以来,对于打拼的青年群体来说,住房问题始终是困扰他们的一大难题。这群人由于没有足够的资金支持,在选择房子的时候,会尽量选择价格低的房子,但是价格低的房子房源信息来源少,仅仅靠路边的小广告是很难找到合适的。而安居客APP的出现,恰恰针对性的解决了这一难题,他们可以直接在安居客上通过定位查看附近的房源信息,不需要浪费时间和精力,就可以查看大量的可靠房源信息;出行方面的需求:自2012年,滴滴打车在北京中关村诞生,并于同年9月9日正式在北京上线后,人们在出行时就又多了一种选择。而2016年迅速崛起的共享单车在解决城市道路交通拥堵问题方面做出来巨大的贡献。给用户提供的不仅仅是环保和健康,同时,在给近距离出行和无车一族的出行的用户,提供了方便。通过对人们衣食住行需求的分析,我们不难看出,服务类APP的下载和使用量,是根据人们的不同需求情况来决定的。而且随着现代化步伐的不断加速,人们为了能够跟上时代的步伐,节省大量宝贵的时间。由此看见在目前的时代下,服务类APP给人们带来的便利是巨大的,将会在未来一段时间有着很客观的发展前景。服务类APP将会在很长一段时内热度迅速上升,将会呈现一片良好的发展态势。1.4 论文结构第1章:绪论。介绍了“懒人帮”研究的背景、现状和研究意义以及未来的发展趋势。第2章:相关开发技术的介绍。第3章:系统需求分析。主要是用户需求的分析、系统功能的分析、可行性分析、项目设计的原则,系统数据流分析和数据字典等。第4章:数据库设计。包括概念结构设计、逻辑结构设计和物理结构设计第5章:详细设计和实现。准备工作、详细设计、界面的实现和功能模块式实现等。第6章:系统测试。包括测试的定义和目的、软件测试方法和测试发现的问题。2 相关技术介绍2.1 总体描述本设计采用C/S结构,使用MySQL作为后台数据库,Java为开主要发语言,后台管理员功能是基于Servlet框架使用Jsp进行开发。最终设计出一款客户端服务端互相通讯的“懒人帮”软件。从而实现客户端能够登陆注册、发布任务、领取任务、商家加盟、地图定位、发布商品和个人信息修改等功能,后台管理员实现对加盟商家的管理功能。2.2 程序语言及相关技术1)Java SE为在移动设备和嵌入式设备(比如手机、平板、电视机顶盒等)上的运行的应用程序提供一个健壮且灵活的环境。Java SE在用户界面、网络协议、安全模型等方面具有很强的灵活性和健壮性。且Java SE规范的应用程序可实现一次编写,处处运行。Java语言提供类的继承,Android系统的编程就很好的利用了这一性质。总之,Java语言是一个面向对象的程序设计语言。这种优良的特性使Java应用程序具有无比的健壮性和灵活性,而且通过内置的API(应用程序接口)可大大节省资源的开销,提高编程效率。2)Jsp是基于Java语言的动态网页技术,具备Java的技术简单易用、面向对象、跨平台、安全可靠等特点。对后台管理员界面的设计至关重要。3)Json(JavaScript Object Notation) 是一种轻量级的数据交换格式。Json采用完全独立于语言的文本格式,这些特性使Json成为理想的数据交换语言。2.3 Android框架分析Android系统架构为四层结构,从上层到下层依次是应用程序层、应用框架层、系统运行库层、Linux内核层。Android系统架构如图2.1:图 2.1 Android系统架构图1) 应用程序层Android平台不仅仅是操作系统,也包含了许多应用程序,比如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是 用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。2) 应用程序框架层应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。主要组件如下:活动管理器:管理各个应用程序生命周期以及通常的导航回退功能;窗口管理器:管理所有的窗口程序;通告管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息;包管理器:管理所有安装在Android系统内的包;位置管理器:管理地图服务的相关功能。3) 系统运行库层系统库:是应用程序框架的支撑,连接应用程序框架层与Linux内核层的重要的纽带。4) Linux内核层Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。2.4 开发平台2.4.1 软件环境软件运行环境:Android操作系统4.0版本及以上。语言环境:简体中文。编译环境:Windows7 64位操作系统。安卓端编译工具:Eclipse INDIGO+Android SDK+ADT服务器端编译工具:Eclipse Neon2+Tomcat72.4.2 硬件环境软件测试机型:华为mate8编译环境:索尼VAIO笔记本,CPU InternetCore i5,RAM 4G3 需求分析3.1 可行性分析3.1.1 技术可行性本系统利用Eclipse、MySQL和Tomcat等开源软件,主要开发语言是Java,后台涉及到部分Jsp和HTML。这些开发语言在大学的四年里都有涉略,因此对于该系统的开发,在技术上是可行的。3.1.2 经济可行性本系统使用Eclipse免费开发的工具进行开发,后台服务器使用Tomcat搭建模拟服务器。数据储存使用轻量级数据库MySQL,操作简单,成本低廉,最快的时间完成对系统的开发设计,无须过多的经济投入。在以后的测试中,我们只需要一台电脑作为后台服务器就可以,客户端即可在同一台电脑上使用模拟器运行,也可以在平时使用度 手机上进行真机测试。在经济适用的效益方面是非常可行的。3.1.3 运行可行性本系统操作简单,是一款基于C/S(Client/Server)架构模式的设计,要求用户具有一定的智能手机操作经验即可。因为Android系统操作本身就很简单本程序中全部的空间均继承于Android,所以用户对控件本身的操作并不陌生。因此系统的操作可行性分析得出,操作简单,易于用户使用。所以在操作方面,不需要任何培训和指导就能进行操作使用,所以在操作方面是可行的。程序开发在索尼VAIO笔记本上进行。索尼VAIO笔记本搭载了InternetCore i5处理器和4GB的运行内存,在开发和测试的时候需要同时运行客户端和服务端。这将会耗去电脑大约2G的内存,再运行其他一些系统程序,预计耗费内存达到电脑内存的百分之八十。而华为mate8机型则主打大运行内存,本设计的一个重要原则就是占用内存小,因此也满足测试的使用。经过对电脑硬件环境和测试机型的分析可以得出该电脑环境可以支持本设计的开发,该手机也完全能够适用本设计的测试。3.1.4 法律可行性本系统的开发,完全由本人在指导老师的指导下设计开发。不存在盗版,侵权,不参与商用,不侵犯国家、学校的相关制度,因此具有法律可行性。3.2 用户需求分析在凡事讲究时效性和经济性的今天,手机服务类APP备受用户的青睐。手机的使用更多的是帮助人们完成一些事,有些人使用手机挣钱,有些人使用手机去使自己的工作效率得到提高等等。总而言之,当下手机的使用总是满足用户的某些需求的。而本设计的功能是通过对在校大学生的情况进行分析而确定的。目前在校大学生存在的一个显著的特点就是“懒”,大学生往往因为各种各样的原因,而抽不出时间去完成一些必须要做的事情。比如某大学生整天忙于跟着导师在实验室做项目,从而不想去浪费时间离开实验室去享受一顿饱餐,这时,他就可以使用此软件,把自己让人带买饭的需求,以任务的形式发布出去,让别人来帮忙买好送去。在另一方面,相对于一些用户,比如临近毕业的大学生,可以申请加盟,成为加盟用户。把一些自己觉得丢了可惜,但是又不想带走的东西,在该平台以商品的形式发布出去。或者一些商家也可以在该平台发布自己的商品。另外,为了能够更好地提高用户的体验度,在本系统添加地图定位功能,用户通过定位功能,直接快速准确的把任务目的地确定。通过对用户的需求进行分析,在本系统的开发过程中,需要实现的功能就很明确了。在该系统的开发过程中,需要为用户提供的功能主要分为以下四个模块:任务发布和领取、商家加盟、地图定位和即时通讯模块。3.3 系统功能分析本系统主要目的是用户通过使用手机来节省时间,提出实用功能。具体的讲,本系统通过固有的接口,从任务发布功能,商家加盟功能,地图定位功能出发,充分实现了对用户的帮助,解放用户的时间,帮助用户提高工作和生活效率。具体实现如下目标:任务发布领取、商家加盟、地图定位和即时通讯等功能。3.3.1 任务功能1) 任务发布这项功能可以说是整个设计的核心,用户使用这项功能,能够最大化的节省时间,把一些用户认为没有意义但是又必须花时间去完成的事情,以任务的形式,发布在该平台上,让别人代替自己去完成,并支付合适的佣金。2) 任务领取用户登陆后,可在该平台领取任务。这样不仅仅可以在自己空余时间的情况下完成一些事情,同时又拥有一个赚取佣金的机会,尤其是大学生群体,可以在领取任务的时候轻松赚取佣金,以补贴生活所用。充分符合用户的现实需求。3.3.2 商家加盟商家加盟功能,是给用户提供一个在此平台上销售自己商品的机会。如果该系统的使用者同时拥有个人的商铺,或者需要售卖自己的商品,那么,在此平台,用户可以通过申请商家加盟,等待管理员确认核实申请信息,通过之后便可以发布自己的商品。此项功能不仅仅丰富了该系统的内容,同时也是一个很好的电商平台,实现了销售的多元化。通过对该功能的分析,满足想要使用该平台作为电商系统用户的需求。3.3.3 地图定位定位功能是大多数应用都存在的一项功能,这项功能相当的实用,它不仅仅可以在用户填写个人地址时,给用户提供方便,而且还有很多其他用处。比如用户在一个自己不熟悉的地方想要确定自己的位置,那么定位功能就可以很好的为用户提供服务了。本系统的定位功能,旨在定位用户所发布任务的位置或者任务完成的目的地。通过对此项功能的分析,这项功能可以很好的为用户提供位置服务,有效的提供了位置服务需求。3.3.4 即时通讯用户在领取任务时,可以在领取之前选择与发布者进行交流,以确定任务的详细信息。这项功能的存在,使得该系统更显得完善,也是用户很实用的需求之一。3.4 项目设计原则3.4.1 实用性原则本系统的设计,一切是以用户的需求为出发点,遵循用户实用性原则,设计目的是为了服务用户,节约用户时间。因此设计的最基础的原则就是实用性原则。围绕此原则,对本设计进行合理的延伸。3.4.2 占用资源少原则本系统是运行在Android智能手机终端上的,众所周知,Android手机系统的运行卡顿问题始终存在,哪怕手机内存已经升级到了6G或者8G,但是使用时间久了,依然会出现卡顿的现象,这是因为手机的内存和CPU的制约。因此,如何节省手机资源占用,这就是编程的一个至关重要的原则。只有给用户带来良好的用户体验,才是该系统能否获得用户认可的关键。3.5 系统功能模式3.5.1 系统数据流图数据流图(Data Flow Diagram):简称DFD,它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。本系统设计有管理员、用户两种类型,当用户下载使用该软件时,在首次登陆之前必须先注册账号,把注册账号信息传输到服务器。在登陆的时候通过使用httpPost请求数据,通过json解析,把请求的数据(字符串类型)进行解析,重新转化为json类型的对象,进行登陆。管理员负责后台的用户信息的管理操作。图3.1 顶层数据流图图3.2 用户0层数据流图图3.3 懒人帮系统1层数据流图3.5.2 系统用例设计用户使用该软件注册登陆后,可把自己不方便完成的事以任务的形式发布出去,也可领取别人发布的任务。当用户需要在该平台售卖自己的商品的时候,可通过申请商家加盟,成为加盟用户。加盟申请通过后,可以在该平台发布自己的商品。图3.4 用户用例图管理员账户不可自己注册,管理员账户是固定的,该系统分配的管理员数目在创建数据库时创建的。每个管理员在登陆时会被告知固定的一个管理员账号。管理员在在后台可以实现对用户商家加盟的申请进行管理。管理员审核用户申请填写的个人信息,如符合要求,既可通过用户的申请,否则管理员拒绝用户的申请 。图3.5 管理员用例图3.6 数据字典表3.1 数据项描述数据项名称含义说明别名类型长度取值范围取值含义与其他数据项逻辑关系用户id唯一标识一名用户用户主键整型自增,无特殊含义与任务id,信誉id,加盟商家id等呈1对n关系account用户登陆标识登陆名称字符型64用户自行注册password用户登陆验证标识确认身份登陆密钥字符型64用户自行设置一个账号只能有一个密码phone用户个人信息必填内容,能联系到该用户的手机号字符型1符合手机号规则的11位字符串用户输入自己所使用的手机号headPath用户上传的本地图片路径字符型64balance用户发布任务模拟佣金整型余额默认1000,以便用户能够发布任务school标识所在学校字符型64Address标识用户的个人位置信息字符型11个人位置表3.1 (续)数据项名称含义说明别名类型长度取值范围取值含义与其他数据项逻辑关系content用户发布的任务内容字符型64任务的内容 money 标识用户发布任务的佣金整型任务佣金taddress任务交接目的地字符型64符合地址格式地址sendTask发布任务用户的ID外键整型一个用户可以发布多条任务receiveTask领取任务用户的ID外键整型一个用户可以领取多条任务state任务状态整型0或者1默认为0没有领取状态,1则为领取状态一个账户可以有多个好友,呈一对多的关系sendIsScore发布任务者的信用分整型receiveIsScore发布任务者的信用分整型一个好友只属于一个分组,一个账户可以拥有多个分组score用户的信誉分整型一条信誉分记录对应一个用户salerName 加盟商家的名字字符型8加盟者填写的名字storeName 加盟者的商铺名称字符型20加盟者自行填写 Sstate用户申请加盟的状态整型0或者10未通过,1代表通过表3.2 数据结构描述数据结构名称含义组成用户该系统的主体数据结构用户ID,登陆账号,密码,信誉分,账户余额,学校,电话,头像,地址任务所发布的任务数据结构任务ID,任务主键,任务类型,任务名称,任务内容,任务佣金,任务状态,任务发布者ID,任务接受者ID表3.2 (续)数据结构名称含义组成商家用户群体分化出的具有发布商品权限的数据结构 商家ID,加盟用户ID,商家名称,商铺名称,商铺地址,加盟状态,用户id信誉分用户信誉情况的数据结构,定义了用户信誉相关信息 记录ID,所属用户ID,信誉分商品定义了加盟商家发布的商品 商品ID,发布商品者ID,商品名称管理员审核并管理加盟申请的数据结构 管理员ID,管理员账号,管理员密码,表3.3 数据流描述数据流说明数据流来源数据流去向组成用户注册信息注册时用户输入信息用户注册用户账号,密码注册反馈信息注册完信息提示注册用户注册是否成功用户账户信息用户注册后录入数据库的信息注册用户表用户id,登陆账号,账号密码用户登陆信息用户登陆时输入的信息用户登陆用户账号,密码登陆反馈信息登陆信息输入后信息反馈登陆用户登陆是否成功用户名/密码登陆时从数据库中查询的信息用户表登陆登陆账号,密码完善的用户个人信息用户登陆后强制补充的个人信息用户用户个人信息表宿舍地址,学校,电话,任务信息用户提交的任务信息用户任务表类别,名称,任务目的地,任务内容,任务佣金加盟信息用户申请成为加盟商用户加盟列表真实姓名,商铺名称,商铺地址或个人地址,联系电话商品信息加盟用户发不的商品信息加盟用户商品表商品名称,商品发布者id,商品id管理员登录信息登陆已存在的管理员账号管理员表登陆管理员账号,管理员密码,管理员id表3.4 数据存储描述数据存储说明输入数据流输出数据流组成存取方式用户表记录用户基本信息用户账户信息用户账户信息用户id,登陆账号,密码随机存取表3.4 (续)数据存储说明输入数据流输出数据流组成存取方式任务表标识任务是否被领取任务表任务表任务id,任务内容,任务名称,接受状态,发送者id,接受者id,任务目的地,任务佣金随机存取商品表记录发布的商品商品表商品表主键,商品名称,发布者id随机存取商家加盟记录表记录申请加盟的以后信息商家加盟表商家加盟表加盟记录id,加盟用户id,加盟用户地址,商铺名称,加盟者手机号,真实姓名随机存取管理员表记录管理员信息信息管理员表管理员表主键,id,账号,密码随机存取信誉表记录用户信誉情况信誉表信誉表主键,信誉分,外键(打分者id)外键(所属用户id)随机存取用户个人信息表记录用户填写的个人信息用户个人信息表用户个人信息表主键,外键,地址,学校,电话,头像地址,余额随机存取表3.5 处理过程描述过程名输入数据流输出数据流处理过程简要说明注册用户个人信息注册反馈信息,用户账户信息用户注册时执行,注册成功返回注册成功信息并将用户帐户信息加入至用户表,否则返回注册失败信息。登陆用户登陆信息登陆反馈信息用户登陆时执行,用户名和密码都正确进入主界面并返回登陆成功信息,否则返回登陆失败信息。发布任务用户发布任务发布信息反馈用户发出发布指令,发布成功系统提示,否则提示发布失败信息。领取任务领取任务列表的任务领取成功反馈信息用户领取任务之后,在任务列表不显示领取成功的任务项,任务表中任务状态改变。申请加盟用户提交加盟信息加盟列表用户申请加盟,提交加盟信息到后台,提交成功,提示等待管理员审核。发布商品加盟用户发布商品信息商品记录加盟用户提交发布的商品,发布成功反馈成功信息,并在商品列表展示。4 数据库设计4.1 概念结构设计数据中的各实体及实体之间关系表示图:1) 管理员实体图图4.1 管理员实体及属性2)用户实体图图4.2 用户实体及属性3)任务实体图图4.3 任务实体及属性4)用户发布任务实体关系图图4.4 发布任务实体图5)用户领取任务实体个关系图图4.5 领取任务实体图6)管理员管理用户加盟申请实体关系图图4.6 用户加盟申请实体关系图7)系统整体实体关系图图图4.7 系统关系实体图4.2 逻辑结构设计将E-R图装换为关系模型的转换规则如下:1) 将每一个实体类型转换成一个关系类型,实体的属性为关系模式的属性。 2)联系转换为关系联系转换为关系模式,联系转换成关系模式时,要根据联系方式的不同采用不同的转换方式:(1)1:1联系转换方法:将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性与为联系本身的属性和与该联系相关的另一个实体集的码。(2)1:N 联系转换方法:将联系转换为一个独立关系,其关系的属性均与该联系相连的各实体集的码以及联系本身组成,而该关系的码均为n端实体集的码。还可以在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。(3)M:N 联系的转换方法:在向关系模型转换时,一个M:N联系转换为一个关系。转换方法为:与该联系转换的个实体集的码以及各联系的本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。将上述E-R模型转换为关系模型如下:“管理员”和“申请加盟”合并,联系形成的关系和n端对象合并。管理员(管理员ID、管理原账号、管理员密码、管理加盟申请、用户ID)用户(用户ID、用户账号、用户密码、用户是否为加盟商家、用户信用分、是否删除该用户)“用户”和“领取任务”合并,联系形成的关系和n端对象合并用户表(用户ID、用户账号、用户密码、领取任务、任务ID)任务信息表(任务ID、任务类型、任务名称、任务地址、任务佣金)“用户”和“发布任务”合并,联系形成的关系和n端对象合并用户表(用户ID、用户账号、用户密码、领取任务、任务ID)任务信息表(任务ID、任务类型、任务名称、任务地址、任务佣金)4.3 物理结构设计4.3.1 确定数据库的存储结构本系统共涉及七张表,分别是用户表、管理员表、商品表、商品个人信息表、任务信息表、加盟商家信息表、信誉表。根据项目需求,本系统将建立以下数据库表:1)用户表(user):用于存储用户的注册信息2)用户信息表(personmessage):用于存储用户在个人中心填写的个人信息3)任务表(task):用于存储任务的信息4)加盟商家表(salerapplyrecord):用于存储加盟的商家的信息5)信用表(reputation)用来记录用户的信用信息6)管理员表(admin)用于存储管理员的信息7)商品表(goods)用于存储商品信息4.3.2 数据库关系图创建数据表的代码如下:1)管理员表创建DROP TABLE IF EXISTS admin;CREATE TABLE admin ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(8) DEFAULT NULL, password varchar(12) DEFAULT NULL, del int(11) DEFAULT 0, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;2)商品表创建DROP TABLE IF EXISTS goods;CREATE TABLE goods ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(8) DEFAULT NULL, uid int(11) DEFAULT NULL, del int(11) DEFAULT 0, PRIMARY KEY (id), KEY uid (uid), CONSTRAINT goods_ibfk_1 FOREIGN KEY (uid) REFERENCES user (id) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;3)用户个人信息表DROP TABLE IF EXISTS personmessage;CREATE TABLE personmessage ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT NULL, balance int(11) DEFAULT 1000, headPath varchar(64) DEFAULT NULL, school varchar(16) DEFAULT NULL, address varchar(64) DEFAULT NULL, phone varchar(11) DEFAULT NULL, del int(11) DEFAULT 0, PRIMARY KEY (id), KEY uid (uid), CONSTRAINT personmessage_ibfk_1 FOREIGN KEY (uid) REFERENCES user (id) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;4)信誉表的创建DROP TABLE IF EXISTS reputation;CREATE TABLE reputation ( id int(11) NOT NULL AUTO_INCREMENT, uid1 int(11) DEFAULT NULL, uid2 int(11) DEFAULT NULL, score int(11) DEFAULT NULL, del int(11) DEFAULT 0, PRIMARY KEY (id), KEY uid1 (uid1), KEY uid2 (uid2), CONSTRAINT reputation_ibfk_1 FOREIGN KEY (uid1) REFERENCES user (id), CONSTRAINT reputation_ibfk_2 FOREIGN KEY (uid2) REFERENCES user (id) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;5)商家加盟信息表的创建DROP TABLE IF EXISTS salerapplyrecord;CREATE TABLE salerapplyrecord ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT NULL, salerName varchar(8) DEFAULT NULL, storeName varchar(12) DEFAULT NULL, address varchar(64) DEFAULT NULL, state int(11) DEFAULT 0, del int(11) DEFAULT 0, PRIMARY KEY (id), KEY uid (uid), CONSTRAINT salerapplyrecord_ibfk_1 FOREIGN KEY (uid) REFERENCES user (id) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;6)任务表的创建DROP TABLE IF EXISTS task;CREATE TABLE task ( id int(11) NOT NULL AUTO_INCREMENT, type int(11) DEFAULT 0, name varchar(8) DEFAULT NULL, content varchar(12) DEFAULT NULL, money int(11) DEFAULT NULL, address varchar(64) DEFAULT NULL, sendTask int(11) DEFAULT NULL, receiveTask int(11) DEFAULT NULL, state int(11) DEFAULT 1, sendIsScore int(11) DEFAULT 0, receiveIsScore int(11) DEFAULT 0, del int(11) DEFAULT 0, PRIMARY KEY (id), KEY sendTask (sendTask), KEY receiveTask (receiveTask), CONSTRAINT task_ibfk_1 FOREIGN KEY (sendTask) REFERENCES user (id), CONSTRAINT task_ibfk_2 FOREIGN KEY (receiveTask) REFERENCES user (id) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;7)用户表的创建DROP TABLE IF EXISTS user;CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT, account varchar(8) DEFAULT NULL, password va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论