博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实实在在的写点程序。
🍅文末点击卡片获取联系🍅
技术:springboot+vue+mysql+java+Android
第一章 概述
1.1 研究背景
近些年,随着中国经济发展,人民的生活质量逐渐提高,对网络的依赖性越来越高,通过网络处理的事务越来越多。随着记录生活信息管理的常态化,如果依然采用传统的管理方式,将会为工作人员带来庞大的工作量,这将是一个巨大考验,需要投入大量人力开展对记录生活信息等相关工作进行管理,单一且反复的操作容易出错且不易被察觉,管理人员对此风险并不能完全归避。利用现代信息技术,设计开发一款记录生活APP,能够极大的节省人力物力、提高工作效率、降低工作成本。
1.2国内外发展现状
相比于国内,国外的线上管理系统建设比较早,在上世纪就已经很先进,但受七十年代的经济危机影响,导致部分国家发展缓慢,但也有些发达国家走群众路线,全面发展网络技术。
在国内,线下管理系统已经特别完善,它基于计算机技术,让系统具有信息化、科学化、自动化等特性。在计算机的辅助下,国内该类系统可使管理者提高信息的复用率,对数据的处理、备份等方面也有了显著的效率提升,这种有效的工作可使管理者能更快的做好决定,也实现了“无纸化”的信息管理方式。由于其功能特别完善,也导致系统比较庞大,所以在了解该类系统的功能、操作后,决定开发一款记录生活app,它的功能小,但是操作简单、快速、准确的特点,也体现了设计它的意义。
1.3研究内容
- 调研:通过网络、图书馆等渠道调查该课题的参考资料。
- 系统需求分析:对参考资料分类整理,设想需求与功能,再研究实现功能所需的开发工具、技术、数据库等。
- 系统概要设计:设计功能模块、流程、数据库模型、表与字段间的关系等。
- 系统实现:对系统用户以文字加截图的形式进行精细化分解。
- 系统测试:测试的作用和好处,测试的具体操作步骤,分析需求与测试结果是否一致。
第二章 开发工具及技术介绍
此次管理系统的关键技术和架构由Android开发平台、B/S结构、java技术和MySQL数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 Java编程语言
Java语言的发展距今己有二十多年的历史,Java在众多编程开发语言中依然稳居排名前三,这离不开Java技术体系的众多开发优势,相对比于其他编程开发语言而言,Java语言[}so]的入门使用非常简单,Java集成了丰富的类库和封装类,能够使开发者非常方便调用,拥有强大的技术基础作为支撑,非常适合大型软件的开发。由于Java语言是一门面向对象的编程语言,因此程序员只需要掌握基本的语法规则和清晰的编程思路便可以较好地开发应用程序。除此之外,由于Java语言具有跨平台和可移植性强的开发优点,因此可以在Android的应用程序开发中发挥其重要作用。在大型的软件项目开发中应用Java技术较为广泛,能够为企业项目需求提供成熟的解决方案。
常用的计算机程序编程语言有Java语言、Python语言、C语言以及C++语言。由于Java语言具有成熟的技术架构以及较为广泛的应用范围,因此深得编程人员的喜爱。
Java语言提供了try-catch异常处理、垃圾自动回收、内存动态分配等强大功能机制,Java语言具备简单性、健壮性、可移植性、多线程等优点,Java语言的强大特性能够降低软件后期的维护成本以及有效缩短软件研发周期,节省了企业的软件开发成本。本研究的记录生活案例项目正是以成熟的Java编程语言为基础的记录生活项目开发语言。
2.2 Android Studio介绍
Android Stuido是Google公司在2013年推出一款开源的、跨平台的安卓集成开发环境,它可以运行在Windows、Linux和OSX等操作系统上,专门为Android开发而设计打造的软件,是一款以IDEA为基础的,为安卓开发提供便利而改造的IDE,除去开源免费跨平台的优势外,选择它作为主要开发工具的理由还有很多。与IDEA和Eclipse相比,它具有以下优势:
(1)UI界面更漂亮,主题也变得丰富,并且支持背景自定义。
(2)软件启动速度、响应速度、内存占用都得到了很大提升。
(3)功能更加强大,Eclipse经常卡顿的问题在它身上不会出现。
(4)软件的提示补全功能更加智能,开发效率得到很大的提升。
(5)它还支持用户定义智能保存,再也不用手动保存了。
(6)软件还支持用户实时预览,开发者可以一边开发一边预览,大大提高了用户开发和调试的效率。
(7)完美的内置了兼容了命令行终端,对于喜欢命令行终端使用的人来说,也是一大福音。
(8)含有丰富的插件库,可以选择很多可提升工作效率的插件,搜索点击就可完成安装。
(9)具有完美的版本控制工具,如Git、SVN等。
2.3 MySQL数据库
MySQL是Oracle公司旗下的一个开源的关系型数据库管理系统(Relational Database Management System, RDBMS)}44} o MySQL支持使用多线程,充分利用了CPU的计算资源,可以选择InnoDB, MyISAM和MEMORY等作为存储引擎,提供了丰富的数据库管理工具。在索引功能的加持下,其具有非常高的查询效率,并支持主从、多节点集群等高可用部署模式。MySQL凭借其低廉的成本、可靠的数据库服务和出色的性能,目前己经成为绝大多数企业在进行项目开发时的首选关系型数据库。MySQL的体系结构如图2.1所示,具体可分为网络连接层、服务层、存储引擎层和系统文件层,分别完成建立连接、SQL解析与执行、数据存储与提取和数据交互等功能。
2.4 SPRINGBOOT 框架
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
2.5 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间[12]。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
第三章 系统分析
3.1功能需求分析
需求分析的首要任务是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
其中获得用户需求以后,就要可以将用户需求设计为系统的功能模块。在能及时的分析和发现有关需求的情况下,需要系统同时的跟进需求设计。在记录生活管理过程中还需要创建需求工作的数据分析,以便于后面的分析做总结。写入一个需求的报告内容,其中需要包含完整的描述需求、以及功能需求、模型等后续开发过程中还需要用到的部分资料。
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,记录生活管理功能是许多个可以测试的功能相结合的,正是由于这些功可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求。
3.2系统可行性分析
3.2.1技术可行性
该系统使用java技术开发,MySQL数据库同Springboot 框架联合开发并实现。对于以上描述的技术,在当代都是较为成熟的技术和平台,虽然它们都有自已的体系,但在程序员的眼里,它们的配合度是很高的,网上的相关博客中每个创建项目的帖子,它们都会出现,数据库负责管理数据,开发工具负责管理项目,技术负责代码的框架,既相互独立,又相互依赖。以上描述的工具、技术都已转化为自身的技能,所以从技术角色考虑是可行的,工作人员对于技术的关注度并不高,只要程序可用即可。
3.2.2 经济可行性
经济可行性,可分为两种,支出和收入,该系统属于研究型毕业设计,所以收入部分暂不考虑。支出可分为,设备、场地、开发环境、人力、时间等一切需考虑的因素,所有信息都是影响形成系统的一部分。设备:只需一台笔记本电脑,配套的输入设备;场地:暂定为图书馆与校内的自习室;开发环境:良好;人力:自身、指导老师、同学;时间:从选题到毕业为止,大约8个月。从以上描述可知,大部分条件已经满足,所以该系统不会存在经济方面的问题,所以是可行的。
3.2.3社会可行性
社会可行性,广义而讲可涉及到道德方面、法律方面、社会方面,每个方面都会影响系统的形成。本系统的是独立且没有任何传播性质的信息,更涉及不到道德层面,法律层面;本系统也没有触发法律,没有赌博、黄色等类型信息,同时也是遵从国家法律,不会显示任何触发法律层面的信息;社会方面,该系统是为方便客户提供更好的服务,是轻量级的记录生活,会为人们带来快速并有效查询的功能,也是具有贡献意义的。总体而言,该系统也是具有社会可行性的。
3.3系统流程分析
流程图是用具体的图形符号和相应的线条来表示系统执行的整个过程。因为这种图可以很容易地描述系统的一系列过程,所以它的所有图形符号都是比较关键的,基本上一个图形符号可以表示一个过程的一个步骤。流程图不仅提供了一个比较完整、全面的实施过程,而且可以发现整个团队协同设计过程中可能存在的缺陷和不足,便于在后续过程中及时对系统进行修正和改进。
通过流程图可以对系统的需求和相关流程进行分析,可以详细细分为各个部分的设计。对于设计人员来说在开发过程中要能够以流程图为基础,能够快速的提高自己的逻辑思维,并且也能够指导后续的操作在系统设计中最重要的部分就是程序的设计,然后具体的编写程序,流程图是设计过程中的重要工具,下面是流程图的部分设计。