地图相册系统的设计与实现

摘 要

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,地图相册就是信息时代变革中的产物之一。

任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了地图相册。该系统基于B/S即所谓浏览器/服务器模式,应用Springboot框架,选择MySQL作为后台数据库。系统主要包括用户管理、相册管理、图片管理、敏感管理等功能模块。

本文首先介绍了地图相册的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

关键词: 地图相册;java语言;MySQL数据库;Springboot框架

Abstract

With the rapid development of information technology and network technology, mankind has entered a new information age. Traditional management technology has been unable to manage information efficiently and conveniently. In order to meet the needs of the times and optimize management efficiency, a variety of management systems came into being. All walks of life have entered the era of information management. Map album is one of the products of the reform of the information age.

Any system should follow the basic process of system design, and this system is no exception. It also needs to go through the steps of market research, demand analysis, outline design, detailed design, coding and testing, and design and implement the map album based on Java language. The system is based on B / s, the so-called browser / server mode, applies the springboot framework, and selects MySQL as the background database. The system mainly includes user management, album management, picture management, sensitivity management and other functional modules.

This paper first introduces the technical development background and development status of map album, and then follows the conventional software development process. Firstly, select the applicable language and development platform for the system, formulate the module and design the database structure according to the demand analysis, and then draw the function module diagram, flow chart and E-R diagram of the system according to the design of the overall function module of the system. Then, design the framework and write code according to the designed framework to realize each functional module of the system. Finally, test the preliminarily completed system, mainly including function test, unit test and performance test. The test results show that the system can achieve the required functions, and the operation condition is OK without obvious shortcomings.

Keywords: Map album; Java language; Mysql database; Springboot framework

目录

[++++摘++++ ++++要++++ 1](#摘 要 1)

[++++Abstract++++ 1](#Abstract 1)

[++++1++++ ++++绪论++++](#1 绪论)

[++++1.1++++ ++++课题背景++++](#1.1 课题背景)

[++++1.2++++ ++++课题研究现状++++](#1.2 课题研究现状)

[++++1.3++++ ++++初步设计方法与实施方案++++](#1.3 初步设计方法与实施方案)

[++++1.4++++ ++++本文研究内容++++](#1.4 本文研究内容)

[++++2++++ ++++系统开发环境++++ 3](#2 系统开发环境 3)

[++++2.1++++ ++++java语言++++](#2.1 java语言)

[++++2.2 Eclipse 开发工具++++](#2.2 Eclipse 开发工具)

[++++2.3 B/S架构++++](#2.3 B/S架构)

[++++2.4 MySQL 介绍++++](#2.4 MySQL 介绍)

[++++2.5 Springboot框架++++](#2.5 Springboot框架)

[++++2.6 Bootstrap 设计模式简介++++](#2.6 Bootstrap 设计模式简介)

[++++3++++ ++++系统分析++++](#3 系统分析)

[++++3.1++++ ++++系统可行性分析++++](#3.1 系统可行性分析)

[++++3.1.1++++ ++++经济可行性++++](#3.1.1 经济可行性)

[++++3.1.2++++ ++++技术可行性++++](#3.1.2 技术可行性)

[++++3.1.3++++ ++++运行可行性++++](#3.1.3 运行可行性)

[++++3.2++++ ++++网站现状分析++++](#3.2 网站现状分析)

[++++3.3++++ ++++功能需求分析++++](#3.3 功能需求分析)

[++++3.4++++ ++++系统设计规则与运行环境++++](#3.4 系统设计规则与运行环境)

++++3.5++++ ++++系统流程分析++++

++++3.5.1++++ ++++操作流程++++

++++3.5.2++++ ++++添加信息流程++++

++++3.5.3++++ ++++删除信息流程++++

[++++4++++ ++++系统设计++++](#4 系统设计)

[++++4.1++++ ++++系统设计主要功能++++](#4.1 系统设计主要功能)

[++++4.2++++ ++++数据库设计++++](#4.2 数据库设计)

[++++4.2.1++++ ++++数据库设计规范++++](#4.2.1 数据库设计规范)

[++++4.2.2 E-R++++ ++++图++++](#4.2.2 E-R图)

[++++4.2.3++++ ++++数据表++++](#4.2.3 数据表)

[++++5++++ ++++系统实现++++](#5 系统实现)

[++++5.1++++ ++++系统功能模块++++](#5.1 系统功能模块)

[++++6++++ ++++系统测试++++ 1](#6 系统测试 1)5

[++++6.1++++ ++++功能测试++++ 1](#6.1 功能测试 1)6

[++++6.2++++ ++++可用性测试++++ 1](#6.2 可用性测试 1)7

[++++6.3++++ ++++维护测试++++](#6.3 维护测试)

[++++6.4++++ ++++性能测试++++ 1](#6.4 性能测试 1)9

[++++6.5++++ ++++测试结果分析++++](#6.5 测试结果分析)

[++++结++++ ++++论++++ 2](#结 论 2)1

[++++参考文献++++ 2](#参考文献 2)2

[++++致++++ ++++谢++++](#致 谢)

1 绪论

1.1 课题背景

随着互联网的发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高地图相册查询效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。地图相册一直是当代用户的不选之一,于是传统模式无法满足用户需求,此时需要寻找有效便捷的网上地图相册就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理地图相册早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。

使用地图相册相对传统相册方式具备很多优点:首先可以大幅提高地图相册信息检索,只需输入相册相关信息就能在数秒内反馈想要的结果;其次可存储大量的相册信息,同时相册信息安全性有更高的保障;相比纸质文件来管理相册信息,地图相册更节省空间人力、物力资源。这些优点大大提高运营效率并节省运营成本。因此,开发地图相册对相册信息进行有效的管理是很必要的,不仅提高了相册查询,增加了用户信息安全性,方便用户及时反馈,增加了用户是否公开相册,更能提高地图相册网站的体验强度。

本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而Springboot框架,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。

1.2 课题研究现状

现今,越来越多的人乐于选择一项合适的管理方案,但是往往受到管理经验地限制,Internet作为新型网络崛起,网络进入人们生活,地图相册网站无疑是给用户提供更好平台,在这样成功的管理模式背景下,不仅方便用户查看相册信息进行编辑上传。

在线地图相册是计算机技术与地图相册结合的产物,社会发展速度的愈来愈快,以及社会压力变化的越来越快速,致使很多人采取各种不同的方法进行解压。大多数人缓解压力的方法,是选择看相册,心情愉悦地让自己沉浸在情节里面,以短暂的愉悦让自己得以释怀。

1.3 初步设计方法与实施方案

软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。

操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用Eclipse。Java开发技术。

1.4 本文研究内容

本文主要分为七个章节,第一部分为绪论,主要介绍了目前电脑技术发展状况、地图相册储存发展阶段,分析当前地图相册弊端以及使用信息技术来管理地图相册信息的好处。

第二部分为相关技术简介,主要介绍了各技术的发展历程,技术发展现状,技术优点以及选用该技术的原因等。

第三部分为系统分析,主要分析了软件设计所需要的功能。

第四部分为系统设计,主要进行了系统的架构设计、数据库设计等。

第五部分为系统详细设计。

第六部分为系统调试与测试,利用测试方法进行可行性测试、性能测试、系统测试等。

第七部分为总结与致谢,主要总结了程序设计的完成过程及完成情况,比对完成设计过程中施以援手的同学和老师表达中心的感谢和祝愿。

2 系统开发环境

2.1 java语言

Java语言是一个完全的面向对象的程序设计语言。面向对象编程语言的思想是把客观存在的事物看成是具有状态和行为的一类对象,然后通过抽象的方法找出相同一类对象的共同状态和行为,从而构成模型------类。类是Java程序设计语言的核心,是Java语言的基本抽象单元[7]。世间上的各种事物都是对象,都可以把它抽象成具有状态和行为的类。Java语言的主要特点有:

  1. Java语言是典型的面向对象的。它提供了类,类又提供了对象的模型,通过使用继承和多态的方法,可以实现代码的重用。
  2. Java语言是安全的。当代网络环境要解决的最大的问题就是安全问题。Java具有内部的安全措施,可以确保程序的安全与完整。
  3. Java语言的操作无关平台。Java程序可以在任何的系统中运行,只要安装了Java的运行系统。
  4. Java语言是多线程的。
  5. Java语言具有内存管理。Java可以自动地对内存进行管理,很好地利用了系统的资源,减少浪费。

2.2 Eclipse 开发工具

Eclipse在跨平台的自由集成开发环境(IDE)这方面非常的著名,也有很多的用户在使用,其实Eclipse只是一个框架和一组服务,需要通过插件组件来构建开发的环境,它是一个开放源代码并基于Java的可扩展开发平台。虽然Eclipse是使用Java语言开发的,但是它还支持很多的编程语言的插件,如:C/C++、COBOL、PHP等。

一开始Eclipse是由OTI和IBM两家公司的IDE产品开发组创建的,现在已经有150多家软件公司参加了Eclipse这个项目。其实Eclipse的核心内容很小,它所有的功能都是以插件的形式附加在Eclipse的核心上面的。Eclipse基本内核包括:图形API (SWT/Jface),Java开发环境插件(JDT ),插件开发环境(PDE)等。Eclipse它主要是由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成的,其中具体包括Eclipse Platform、JDT、CDT和PDE这四个部分组成的。JDT支持Java的开发、CDT支持C语言的开发、PDE用来支持插件的开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台

2. 3 B/S架构

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,员工工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构,如图2-1所示。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了员工的总体成本(TCO)。

|---|------------------------------------------------------------|
| |
| | |

图 2-1 B/S网络应用结构

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员, 从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

2. 4 MySQL 介绍

MySQL是一个受到许多程序开发人员喜欢的开源数据库管理系统,任何人都可以在网上下载、使用而且还不需要支付任何的费用。同时也可以研究、查看其源代码,并根据需要进行修改。与其他的大型数据库相比,MySQL的不足之处在于它规模小、功能比较有局限,但是对于中、小型应用系统而言是非常理想的,而且对于一些使用者来说它大大的节约了使用成本。它的功能强大,且方便用户使用,方便管理,运行速度还很快,安全性能高而且可靠稳定,受到许多开发中小型网站用户的喜欢。MySQL使用最常用的数据库管理语言结构化查询语言对数据库进行管理。MySQL是基于客户机、服务器的结构来实现。使用MySQL是不需要支付任何费用的,不仅如此MySQL是开源的,我们在开发时可以研究其中的源代码,可以根据自己的需要进行更改。当然与一些大型数据库相比,虽然MySQL有一些缺点,但是这款数据库管理系统对于小型的应用系统来说还是相当的有用的。

MYSQL数据库的特点:

  1. 核心线程的是完全多线程。这意味着在有多CPU的情况下它能非常容易地利用。

  2. 具有很好的跨平台性,可运行在不同的平台上。能够提供很多不同的使用者界面,例如:命令行客户端的操作,网页浏览器,以及各式各样的程序语言介面,包括支持C、C++、Java、Perl、PHP、Python和TCL API等。

  3. 多种列类型:1、 2、 3、4、和 8 字节长度的有符号/无符号整数(INT)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、SET和ENUM类型【1-2】。

2. 5 Springboot框架

本技术是Java平台的开源应用框架,其目的是简化Sping的初始搭建和开发过程。默认配置了很多框架的使用方式,自动加载Jar包,为了让用户尽可能快的跑起来spring应用程序。

SpinrgBoot的主要优点有:

  1. 为所有spring开发提供了一个更快、更广泛的入门体验;
  2. 零配置;
  3. 集成了大量常用的第三方库的配置;
  4. 提供准备好的特性。当今,Java领域的开发者机会都在使用SpinrgBoot,在开发领域逐渐成为领导者。

2.6 Bootstrap 设计模式简介

Bootstrap 是一组用于网站和网络应用程序开发的开源前端(所谓"前端" ,指 的是展现给最终用户的界面。与之对应的"后端"是在服务器上面运行的代码) 框架, 包括 HTML 、CSS 及 JavaScript 的框架,提供字体排印、窗体、按钮、导航及其他各 种组件及 Javascript 扩展,旨在使动态网页和 Web 应用的开发更加容易。Bootstrap 是 GitHub 上面被标记为"Starred"次数排名第四多的项目。Starred 次数超过 133,000, 而分支次数超过了 65,000 次。

3 系统分析

3.1 系统可行性分析

3.1.1 经济可行性

由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现。

3.1.2 技术可行性

本系统的开发使用Java作为系统开发的开发技术,开发环境选择 Eclipse,而B/S结构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性。

3.1.3 运行可行性

本系统作为以Java作为开发技术的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。

综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件。

3.2 网站现状分析

系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,网站管理者的工作量较大较繁琐。通过前期的调研总结出网站现有的对用户管理工作状况如下分析:

缺少统筹规划,如果一个网站在信息化管理中缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使地图相册信息变得井井有条,成为市场竞争中的一大优势。

要循序渐进,心急吃不了热豆腐,任何事情都不可能一蹴而就,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取管理者的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。

(3)信息安全措施不到位

隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。

(4)资源不能充分共享

资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于工会的发展存在不可或缺的帮助。

(5)现有系统可扩展性不高。

如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。

基于上述分析,地图相册应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对地图相册名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。

3.3 功能需求分析

系统功能需求分析是通过软件开发者在参与市场调研,管理者交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发的第一步,也是至关重要的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。

本系统采用自上往下的方法开发,基本定位如下功能:

本课题要求实现一套地图相册,系统主要包括用户模块功能模块。

(1)前台用户用例图如下所示:

相关推荐
公贵买其鹿17 分钟前
List深拷贝后,数据还是被串改
java
xlsw_3 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹4 小时前
基于java的改良版超级玛丽小游戏
java
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭5 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫5 小时前
泛型(2)
java
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端
南宫生5 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
转码的小石5 小时前
12/21java基础
java
李小白665 小时前
Spring MVC(上)
java·spring·mvc
GoodStudyAndDayDayUp6 小时前
IDEA能够从mapper跳转到xml的插件
xml·java·intellij-idea