
毕业设计开题报告
课 题 名 称: 农副产品交易平台的设计与实现
姓 名:
班 级:
指 导 教 师:
所 在 系 部: 计算机工程学院
专 业 名 称: 计算机科学与技术
南京工程学院
2015年 3 月18日
说 明
1.根据南京工程学院《毕业设计(论文)工作管理规定》,学生必须撰写《毕业设计(论文)开题报告》,由指导教师签署意见、教研室审查,系教学主任批准后实施。
2.开题报告是毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。学生应当在毕业设计(论文)工作前期内完成,开题报告不合格者不得参加答辩。
3.毕业设计开题报告各项内容要实事求是,逐条认真填写。其中的文字表达要明确、严谨,语言通顺,外来语要同时用原文和中文表达。第一次出现缩写词,须注出全称。
4.本报告中,由学生本人撰写的对课题和研究工作的分析及描述,应不少于2000字,没有经过整理归纳,缺乏个人见解仅仅从网上下载材料拼凑而成的开题报告按不合格论。
5.开题报告检查原则上在第2~4周完成,各系完成毕业设计开题检查后,应写一份开题情况总结报告。
毕业设计(论文)开题报告
| 学生姓名 | XXX | 学 号 | XXXXX | 专 业 | 计算机科学与技术 | |
| 指导教师姓名 | XXX | 职 称 | 讲师 | 所在系部 | 计算机工程学院 | |
| 课题来源 | 自拟课题 | 课题类型 | 软件工程 | |||
| 课题名称 | 农副产品交易平台的设计与实现 | |||||
| 毕业设计的内容和意义 | 1.毕业设计的内容: 本课题采用Java语言来开发一个网站,该网站主要用于农副产品交易平台(以下简称:“交易平台”)的初级设计与实现。网站拟在MYECLIPSE 上实现网页设计,在SQLSERVER数据库上实现数据存储以及数据支持。在软件运行时使用TomCat软件对环境进行支持。该课题的主要任务是设计一个用于农副产品信息化的一个平台,该平台可以查看农副产品的基本信息,包括产地、名称、数量等等。同时也需要支持简单的交易功能,由于农副产品的质量及价格具有相当大的波动性,故不进行价格固定,而是通过订单模式,对产品进行数量的预定,不涉及网上交易支付功能。同时,该网站可以通过相关部门的监督,以达到农副产品的市场监控以及调整功能。 2.毕业设计的意义 在信息高速发展的今天,各种各样的现实事物被放置网上进行抽象以及显现。网络交易平台以及信息公开平台的迅猛发展也是显而易见的。在日常生活中,人们不可避免的需要采购农副产品,当然,采购地点无非是超市以及农贸市场等。对于农贸市场的零售商和超市的采购员们来说,一个数量足,质量优以及价格低的进货渠道是必不可少的。但是由于信息的了解不足,很容易出现:到达批发市场后,发现所需货物数量不够,或者价格偏高以及质量不能达到要求等一个或者多个问题。这个必然会给自己带来一系列的麻烦,导致成本增加以及时间浪费等问题。交易平台通过信息的公开透明,使得农副产品的零售者们在进货的时候,能够根据交易平台提供的信息,准确明了的查找到合适的进货渠道,以及简单产品预定。这样就达到的进货成本降低、提高利润等目的。同样,农副产品的市场监督部门也可以通过这个平台对市场进行。 自己设计并实现一个交易平台,不论对技术和思想都是一个巨大的挑战。在设计与实现过程中,自然而然就对所学知识进行了深入的总结与提升,对于软件开发有了更多的经验。大胆尝试,勇于创新,在解决问题的同时,也在为将来的进入社会进行基础巩固。 | |||||
| 文献综述 | 一.实际应用方面的价值 零售商用户可以通过交易平台对农副产品在各个批发市场的分布、价格、质量以及交通路程有个初步的了解,可以在分析数据后选择最佳进货渠道; 批发市场用户可以根据交易平台反馈信息,作出正确应对,如:某产品库容较低,然而需求量较大,可以根据其他地区产品库存量进行大批量进货;还可以根据网上订单确定线下产品剩余量,便于其他渠道销售量控制等; 相关部门管理人员可以通过对市场监控,作出相应,如:控制物价,提醒用户注意各种突发情况,根据产地产品的空余量提醒批发市场用户对产品及时采购。根据零售商用户反馈,对于某些不法批发市场用户进行处理等等。 二.国内外的研究现状 现在国内外都在不断地加强信息化建设,如:政务公开,法律公开,以及网上办公等等。除此以外还有交易平台的飞速发展,从小如手机、文具、衣物等到大的如汽车房产等产品都开始实现了网上交易。然而,关于农副产品这块,据了解尚处于各种摸索尝试阶段,如:动植物疾病的网上诊断,智能大棚的远程控制等等。 三.相关技术与研发基础: 该课题主要编程语言为Java,其中涉及Spring Hibernate和Struts 2,涉及数据库为SQL Server 数据库和Tomcat Web服务器。 1.Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 2.Struts 2 是一个基于MVC架构的框架。MVC包含三个基础部分:model view和controller 。这三个部分以最小的耦合协同工作,以增加程序的可扩展行和可维护行。具有以下几个优点: 1)多个视图可对应一个模型。 2)模型返回数据与显示数据分离。 3)应用被分为三层,降低了各层之间的耦合,提供了应用的可扩展性。 4)控制层包含了用户请求权限的概念。 5)MVC更符合软件工程化管理的精神。 6)其基本流程如下: 7)Web浏览器请求一个资源。 8)过滤器dispatcher 查找请求,确定适当的Action。 9)自动对请求应用通用功能。 10)Action的execute方法通常用来存储和(或)重新获得信息。 11)结果被返回到浏览器。 3.提到Hibernate ,需要先了解下ORM(对象/关系映射)体系结构。 对象关系映射ORM(Object-Relation Mapping)是用于将对象与对象之间的关系对应数据库表与表之间的关系的一种模式。ORM通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。在数据库中,关系数据无法直接表达多对多关联和继承关系。所以,ORM一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。ORM系统一般包括四个部分: 1)对持久类对象进行CRUD操作的API, 2)用来规定雷和类属性相关性的查询语言或API 3)规定mapping metadata的工具 4)可以让ORM实现同事务对象一起进行dirty checking、lazy association 和其他优化操作的技术。 Hibernate 是一个轻量级的映射框架,作为模型层/数据访问层,通过配置文件和映射文件把Java对象或持久化队形映射到数据库中的数据表,然后通过操作PO,对数据库中的表进行各种操作。简单地说:Hibernate就是用于在Java端对数据库数据进行操作的一种行而有效的ORM框架。 4.Spring 是一个开源框架,为了解决企业应用开发的复杂行而创建的。主要优势之一就是其分层架构,分层架构允许选择使用任何一个组件,同时为 Java EE应用程序开发提供集成的框架。Spring框架的分层架构,由7个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理Bean的方式。 Spring框架的每个模块都是可以单独或者组合其他一个或多个模块联合实现。各个模块功能如下: 1)核心容器。提供Spring框架的基本功能,主要组件为BeanFactory,通过控制反转模式,将应用程序配置和依赖性规范和实际应用程序代码分开。 2)Spring上下文:向Spring框架提供上下文信息,包括企业服。 3)Spring AOP:通过配置管理特性,可以很容易地是Spring框架管理的任何对象支持AOP。 4)Spring DAO:JDBC DAO 抽象层提供了有用的异常层次结构,用来管理异常处理和不同数据库供应商抛出的错误消息。 5)Spring ORM: Spring框架中插入若干ORM框架,提供ORM的对象关系工具如Hibernate,遵从Spring的通用事务和DAO异常层次结构。 6)Spring Web模块:为基本Web的应用程序提供上下文。 7)Spring MVC框架:是一个全功能构建Web应用程序的MVC实现。 Spring的核心要点:支持不绑定到特定Java EE 服务的可重用业务和数据访问对象。 Spring的核心机制:依赖注入。 5. 数据库:数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此的数据集合。 应用数据库进行数据存储操作的优点: 1)实现数据共享 2)减少数据的冗余度 3)数据的性 4)数据实现集中控制 5)数据一致性和可维护行,以确保数据的安全性和可靠性。 6)故障恢复。 数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。 SQL Server数据库就是一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。 6.Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档。 当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流。 Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。其协议主要如下: ●应用层使用HTTP协议。 ●HTML(标准通用标记语言下的一个应用)文档格式。 ●浏览器统一资源定位器(URL)。 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。本课题使用该服务器。 四. 主要参考文献如下: [01] 刘新, 管磊等, 《 Java编程实战宝典 》. 北京:清华大学出版社,2014 [02] 李希勇, 《Java Web开发技术教程》. 北京:清华大学出版社,2014 [03] 赵晓峰, 《数据库原理与运用基础教程》. 北京:对外经济贸易大学出版社,2014 [04] 金松河, 王捷, 黄永丽, 《Java程序设计经典课堂》. 北京:清华大学出版社,2014 [05]邱勇 ,《WEB技术应用与实训》. 北京:北京理工大学出版社,2013 [06]赵永霞, 高翠芬, 涂洪涛, 《数据库原理与应用实践教程》. 武汉:华中科技大学出版社,2014 [07] 王斐, 《Java Web开发基础:从Servlet到JSP》. 北京:清华大学出版社,2014 [08]罗玉玲 主编,《J2EE应用开发详解》. 北京:电子工业出版社,2009 [09] (美) Michael Schrenk著 张磊, 沈鑫译, 《 Webbots, spiders, and screen scrapers : a guide to developing internet agents with PHP/CURL (Webbots、Spiders和Screen scrapers技术解析与应用实践)》. 北京:机械工业出版社,2013 [10] (美) Craig S. Mullins 《Database administration : the complete guide to DBA practices and procedures(DBA之道:数据库管理员的第一本书)》. 北京:机械工业出版社,2014 | |||||
| 研究内容 | 1.交易平台基本功能: 该平台主要用于农副产品的信息公开,方便批发商注1零售商注2以及管理员注3对农副产品的信息了解。零售商对农副产品价格、所属市场的了解,降低进货成本;批发商通过信息采集知道如何从产地进货,知道自己产品的预定情况;管理员对农副产品市场的监控提供依据。其具体功能如下: 1.管理员可以在网站发布信息,包括产品在产地的储量、价格波动以及质量变化(已经成熟可以采购、将要成熟需要等待、天气变化引起产品质量波动等等),同时也可以对市场进行监控,发现不法交易、交易纠纷的处理结果等等与市场管理相关的内容。 2.用户主要分成两种:批发商和零售商;批发商和零售商在网站创建账号后,需提交给管理员进行审批,以便于诚信经营、合法经营; 3.批发商在网站上发布自己所拥有的产品信息、大致的价格区间、产品的剩余量以及将要到达的产品信息; 4.零售商根据网站提供的信息进行查看检索,选择最佳的进货点,交易对象,必要时可以在网站进行简单的预定; 5.批发商根据零售商反馈的信息进行信息更新,如:产品已经被预定的数量、产品需求趋势等等; 6.零售商到达目标市场后,进行交易,有订单的网上订单状态更改,没有订单的批发商根据交易结果在网上更新相关产品的状态; 7.发生纠纷时,可以通过网上进行申诉,管理员接到申请后处理纠纷,将纠纷结果显示在网页上。 8.另外,还可以根据实际情况开展“聚划算”功能,即:可以有多个顾客注4在一个小区(居住地相互比较近),可以采取集中买菜,商家负责配送的模式。这样同时也方便了下一层客户——零售商的顾客。他们可以联合起来一起在网上下订单,让商家一次性将多个用户的小订单合成一个大订单(数量大),运用配送货物车辆,将产品运到顾客所在的小区,这样除去了顾客们去农贸市场采购的麻烦。顾客们足不出户,既可以在网上完成一段时间(根据需求设定采购计划)的农副产品需求。 二.数据库创建: 数据库主要包含以下几类基本信息,用于数据的存储: 1.产品:包括产品名称、产地、质量等基本信息; 2.用户:用户名称、密码、登陆名以及其他的身份信息; 3.用户组:管理员、零售商、批发商; 4.市场:位置、名称、负责人、编号等; 5.产地:产地名称、产品、编号等基本信息; 6.产品分布:拥有者、拥有量、所属市场、价格; 7.价格:当前价格、往日价格; 8.订单:订单日期、买卖双方、交易状态、交易时间、交易内容等; 其中:产品名称和产品分布需要对应、批发商与拥有者对应、市场要和所属市场对应等等相应链接。 三.数据库数据读写: 数据库创建后,页面中需要对数据进行处理,主要包括: 1.产品信息的新增、修改、删除、查找; 2.管理员对新建用户的审核; 3.用户数据的更改及确认; 4.零售商订单状态的新建; 5.管理员对纠纷的处理结果; 6.管理员对市场监控结果; 7.管理员从相关渠道得到的产品产地更新状态; 8.批发商对产品状态的修改; 9.批发商对订单状态的修改; 4.角色权限的区分 | 管理员 | 批发商 | 零售商 | ||
| 公告 | 全部(注) | 查看 | 查看 | |||
| 产品信息 | 查看 | 查看 | 查看 | |||
| 产地信息 | 全部 | 查看 | 查看 | |||
| 订单 | 查看 | 查看、处理 | 发起、取消、查看 | |||
| 纠纷 | 处理 | 发起、取消 | 发起、取消 | |||
| 账号 | 全部 | 申请、修改 | 申请、修改 | |||
| 市场信息 | 全部 | 个人修改 | 查看 | |||
| 交易记录 | 查看所有 | 查看本人 | 查看本人人 | |||
五.个人技能的提升:
这是一次难得的机会。通过这个课题的设计与实现,对于软件产品的开发有了深刻的体会和认识。各种功能模块的设计或许简单,但是将各个功能模块有机地结合起来,并不是那么容易。本课题所涉及到的功能模块不止一个,如一个苹果销售流程:
批发商采集苹果——发布商品信息——零售商查看——零售商预定——零售商批发······
这其中就涉及批发商数据输入、信息发布、页面查看、订单功能模块和交易终止模块。如何让各个模块互相之间完美衔接,这是从未有过的挑战。本课题就给予了这次实践的机会。
Java是当前相当流行的一种计算机编程语言,而SSH架构在网络飞速发展的同时,也在起着越来越重要的地位。本课题采用SSH架构进行设计实现,本来就是对SSH架构的一种练习,对于以后的SSH架构的更深层次的理解和掌握打下基础。
注1:批发商是指那些从事产地采购大量产品,用于批发销售给零售商、超市,从中获取差价的。
注2:零售商:指代专门从事农副产品零售的那些人和商店,如超市,农贸市场摊主等。
注3:管理员:指代市场监管人员、相关部门管理人员。
| 注4:顾客:一般值家庭主妇等去农贸市场、超市采购的那些人,采购的产品用于自己消费,而不是再次卖出。 | ||||||
| 研究计划 | 第1周(3.2~3.8): 查阅资料,整理Java开发基础,数据库基础 第2周(3.9~3.15): 对软件功能需求进行分析 第3周(3.16~3.22): 软件功能模块划分及软件界面设计 第4周(3.23~3.29): 撰写并提交毕业设计开题报告、英文资料翻译 第5周(3.30~4.5): 进行功能模块的详细设计 第6周(4.6~4.12): 进行各功能模块的编码 第7周(4.13~4.19): 进行各功能模块的编码 第8周(4.20~4.26): 进行各功能模块的编码 第9周(4.27~5.3): 软件相关模块的改进,进行综合调试运行 第10周(5.4~5.10): 软件相关模块的改进,进行综合调试运行 第11周(5.11~5.17): 对运行中发现的问题进行调整 第12周(5.18~5.24): 编辑交易平台维护及使用文档,完成网站设计 第13周(5.25~5.31): 撰写并提交毕业设计(论文) 第14周(6.1~6.7): 修改毕业设计(论文),提交毕业论文 第15周(6.8~6.14): 制作论文PPT;毕业设计(论文)答辩
| |||||
| 特色与创新 | 该网站平台着眼于人们日常经常接触到但是又容易忽视的一个地方:农副产品。在对经济快速发展的今天,各种各样的食物开始逐步走向餐桌。对于零售商们来说,一个方便,快速实惠的进货渠道是孽待解决的,该交易平台就是为了这些零售商们和批发商之间建立一个更加容易沟通的桥梁。让他们切身体会到信息快速发展带来的惊喜与方便。现在这个社会是一个信息化的时代,更是一个讲究效率的时代,降低成本,提高效率,这就是本人设计这个平台的主要目的所在。 | |||||
| 指导教师 意 见 | 指导教师签名: 2015 年 3 月16日 | |||||
教研室审查意见:
教研室主任 2015 年 3 月18日 | ||||||
