2024年4月18日发(作者:)

移动设备平台开发

App开发详解

项目名称:

院 系: 计算机学院

专业班级:

学 号:

学生姓名:

APP文档说明

一、需求分析说明

(阐述系统的功能以及如何针对课题进行的调研)

二、系统分析与设计

(包括数据库的设计、ER图、系统流程图)

三、系统具体实现

(界面、功能及关键代码介绍)

四、总结与展望

一、系统功能需求分析

随着信息时代的到来,越来越多的新技术正在不断的给人们的日常生活带来

很大的便利,手机等一些移动设备也成为了现代生活必不可少的一样生活工具。

原来的固定在图书馆的图书管理系统已经不能完全满足学生用户以及图书管理

员对时间和空间的要求。基于Android的图书管理系统是一款运行在Android移

动设备的系统,它可以满足相关人员的需求和操作。它能使图书管理员轻松、方

便、随时随地的对图书信息进行增加、删除、修改、和查询,以及对用户信息的

审核、修改、和删除还包括对用户的借阅信息进行管理;使得图书用户能够对图

书信息进行及时的查询、借阅和取消。图书管理系统通过移动设备对图书信息和

用户信息进行管理,具有现实中完整的图书管理步骤,完全的虚拟实现现实。真

正的实现了节约资源、提高效率,大大的方便以及丰富了相关人员的日常生活等

功能作用。

1.1 系统登录功能

本功能可进行权限的区分,使管理员和图书借阅者都可使用本系统,并根据

角色的不同,具有不同的界面和功能。

1.2 图书借阅归还及图书管理功能

1、图书录入功能

本功能需实现让管理员能够录入图书的图书名称、作者、出版社、出版时间、

图书简介等图书信息,进而使得图书信息保存在图书管理系统中;

2、图书查询功能

本功能需实现管理员或图书借阅者可以根据图书的图书名称、作者、出版社、

出版时间、图书简介等图书信息对图书进行查询;

3、图书信息修改功能

本功能需要满足图书管理员对图书的图书名称、作者、出版社、出版时间、

图书简介等图书信息的修改编辑功能;

4、图书删除功能

本功能需要满足图书管理员可以删除以及录入在图书管理系统内的图书信

息的功能;

5、图书借阅功能

本功能需实现图书借阅者可以方便的查询图书信息和借阅图书、管理员可以

方便的管理借阅出的图书的功能;

6、图书归还功能

本功能需实现图书借阅者可方便的归还已借阅的图书的功能。

1.3 用户注册及用户管理功能

1、用户注册功能

本功能需实现图书借阅者可以填入姓名、身份证号等必要的信息以注册系统

用户,进而可以有权限进入图书管理系统进行相应的操作;

2、管理员添加用户功能

本功能需实现管理员可以添加管理员用户和图书借阅者信息的功能;

3、管理员审核用户注册信息功能

本功能需实现管理员通过查看用户注册信息进行审核,通过审核后用户注册

的信息才能成为有效信息才能进入图书管理系统用户界面进行操作,未通过审核

而被驳回的用户无法进入图书管理系统进行相应的操作。

1.4 预约图书功能

1、用户预约功能

本功能需实现用户可方便的预约已经查询出的图书的功能,通过预约该图书

让图书信息中的剩余数量减少一本使得用户可以明确查出图书的数量;

2、预约管理功能

本功能需实现管理员可方便的对图书预约情况进行管理的功能,通过该功能

使得用户预约的图书信息明确的显示在管理员端的图书管理系统上,更加方便操

作和管理。

1.5可行性分析

目前许多学校的图书管理系统都是固定在图书馆内或者基于Web的一些形

式的系统,这样的方式既困难又浪费时间和成本,而且还很容易出错。可行性分

析的目标是用最小的代价尽快确定问题是否能够解决,以避免盲目投资带来的巨

大浪费。所以应该使用先进科技技术开发方便省时的基于Android的图书管理系

统,Android是基于用Java语言开发

[7]

。不仅能够提高相关人员的工作效率和降

低成本,而且能够减少易出现的错误。我所设计的基于Android的图书管理系统

主要有以下几点优势:

1、经济可行性

经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行

和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。因为

本系统主要是作为毕业设计由我们毕业生自己设计开发的系统,很多的开发环境

都可以在网上收索完成,一些功能的源代码也可以在网上找到,加以修改既可以

完成。因而在经济上的投入不算多,而系统设计完成后既可以投入使用,在使用

的时候只需将软件安装在手机或平板等移动设备上即可投入使用,完全不需要其

他的经济消耗。当系统投入运行后可以为学校或者相关部门节约大量的人力、物

力,其所带来的效益也会远远的大于系统软件的开发成本费用。因此,因此,在

经济上是可行的

[8]

2 、技术可行性

要求利用现有的设备、软件及技术人员,看是否能够达到目标,这是技术可

行性研究中要考虑的一个问题。本次要开发的图书管理系统是基于Android的系

统,Java语言是一种面向对象的编程语言,也是当今社会中最流行的一门语言,

使用Eclipse来开发Android的系统,而Sqlite数据库是Android系统中自带的

一种数据库,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系

统来讲,它的处理速度比他们都快

[9]

。利用这些工具软件既可以轻松完成图书管

理系统的设计与开发。因此,本次基于Android的图书管理系统的项目开发在技

术上是绝对可行的。

3 、社会可行性

随着数据化、信息化技术的迅速发展,当今社会人们利用手机等移动设备来

管理信息也已经发展成为了一种导向和趋势,而自动化管理也逐渐开始取代了传

统的手工操作。所以开发本系统的目标不仅可以提高工作效率,减轻劳动强度,

而且还会提高准确率,具有很好的社会意义

有一定的社会可行性的。

[10]

。因此,本项目的设计和开发是具

综上所述,开发本次基于Android的图书管理系统从经济上、技术上以及社

会上都是完全可靠的。

二、系统分析与设计

2.1系统实现目标

面对图书馆复杂的图书管理工作,开发系统首先是要满足目前的要求,又能

适应后期扩展,所以系统性能应符合以下几个原则:

1、安全性:系统安全性是指既能保全存储的数据信息的安全,又能保证系

统本身的安全。

2、实用性:要求可容纳的最大同时请求数和访问速度,符合实际管理。

3、数据库设计合理:这就要求在设计数据库的时候要保证数据的合理冗余、

一致性、规范化存储数据、合理选择数据类型。

本系统为图书借阅者以及图书管理员提供了基本的图书信息自动化管理功

能,适应于普通图书管理人员及图书借阅者的使用需求。

本系统使用身份验证及审核机制,能更有效的避免非法的访问。图书借阅者

注册个人信息或登陆的时候,用户必须提供有效的信息并进行验证,通过对象保

存帐号、密码以及相关信息,防止非法用户非法登录及恶意破坏。根据用户的不

同类型,访问权限级别也不同,按权限可分为:图书借阅者和图书管理员两个权

限。

2.2 系统总体结构

通过对系统的总体要求进行分析得出系统可以分为图书借阅者的前台操作

和图书管理员的后台的图书信息管理。

系统设计不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系

统设计,功能模块的设计是关键。由于本系统可执行的是一般性质的图书管理工

作,本系统具有一般适用性,其所实现的功能满足图书馆对日常工作的图书管理,

方便管理员和图书借阅者的日常生活。系统应在前面说到的功能需求分析的基础

上进行设计和实现。首先,整个系统分成几个小的模块,小的问题,然后,进一

步细分模块,添加细节。

1、登录功能

系统账户分2个模块:图书管理员和图书借阅者两个权限。各个模块登录的

界面是不同的,登录时需要验证用户名和密码以及用户的权限是否与数据库中的

匹配,验证通过后才允许账户登录图书管理系统。

2、图书管理员功能

图书管理员通过用户名和密码进入图书管理系统,可以实现四大功能:图书

管理、取书点管理、用户管理和预约管理。图书管理功能包括增加图书信息、删

除图书信息、查询和修改图书信息;取书点管理功能包括增加取书点信息、删除

取书点信息、查询和修改取书点信息;用户管理功能主要是管理用户注册的信息,

包括注册用户或管理员信息、删除用户注册的信息、审核用户注册的信息、驳回

用户注册的申请以及修改用户信息,保证图书管理系统的登陆信息的安全性。

3、图书借阅者功能

图书借阅者通过用户名和密码进入图书管理系统的用户界面,用户权限主要

实现三个方面的功能:查询图书信息功能、借阅图书功能以及借阅管理功能。查

询图书信息功能主要是根据图书的几个基本信息,如:图书名、作者、出版社、

分类等信息查询所需要查看或预约的图书信息;借阅图书功能主要完成用户对需

要的图书进行借阅的功能;借阅管理功能主要是对图书借阅者的借阅信息进行管

理,可以查看已借阅的图书信息以及对已借阅的图书进行取消借阅的功能。

由系统的登录功能设计画出图书管理系统的登录图如下:

系统登录界面

错误信息提示

N

身份验证

Y

图书管理员界面图书借阅者界面

退出系统

图2-1 系统登录图

由系统的总体设计说明画出图书管理系统的总体结构图如下:

图书管 理系统

图 书 管 理 员

图 书 借 阅 者

图2-2 系统总结构图

2.3 数据库设计

在前文的系统功能需求分析阶段,我们搞清楚了要开发的这个系统需要“做

什么”的问题,形成一个系统目标的逻辑模型来。然后我们所要做的就是要把软

件需要“做什么”的这个逻辑模型转换成“怎么做”的一个物理模型,最后再着

手实现系统的需求。这其中数据库的设计是其中非常重要的部分,也是系统设计

中最基本的一个部分,因此选择合适的数据库并创建合理的结构式开发程序是首

要的问题。数据库系统是现代信息系统基础设施

[11]

。本系统的数据库将采用

Android自带的Sqlite数据库进行设计与管理,Sqlite数据库在前文已作介绍,这

里不在赘述。根据以上章节对系统所做的需求分析和系统设计,规划出本系统中

使用的数据库实体分别为管理员实体、课程信息实体、老师信息实体、学生信息

实体等,各个实体具体的描述如下图所示:

描述概念模型的常用工具就是实体——联系方法,即E-R模型

[12]

图书信息实体

ISBNN号

作者

分类

剩余数量

出版年份

出版社

页数

简介

书名

图2-3 图书信息实体图

用户信息实体

姓名

密码

身份证ID

图2-4 用户信息实体图

邮箱

电话

性别

管理员信息实体

管理员账号

管理员密码

管理员权限

图2-5 管理员信息实体图

取书点信息实体图

取书点名称

取书点地址

图2-6 取书点信息实体图

预约管理信息实体

借阅人姓名

预约时间

取书点

图2-7 预约管理信息实体图

2.4 逻辑结构设计

本系统的数据结构比较清晰,依据课程管理系统的功能要求,主要设计出数

据库的表有:用户信息表(user)和图书信息表(books)。

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为数据模型

相符合的逻辑结构。本系统选用的是Sqlite数据库,关于数据库表结构设计如下

所示:

表2-1 用户信息表(user)

列名

Name

Password

id_card_num

Telphpne

Sex

Email

类型

varchar(20)

varchar(20)

varchar(20)

varchar(15)

varchar(4)

varchar(50)

表2-2 图书信息表(books)

意义

姓名

密码

身份证号码

电话号码

性别

邮箱

列名

name

author

type

publisher

pub_time

left

page_count

isbbn

introduce

类型

varchar(50)

varchar(20)

varchar(30)

varchar(50)

varchar(20)

Int

Int

varchar(30)

varchar(200)

意义

图书名称

图书作者

图书分类

出版社

出版时间

馆存该图书数量

图书页数

ISBBN号

图书简介

三、系统实现

3.1 实现系统的关键技术

根据第一章所设计的Android应用软件系统功能框架和界面的设计,分析出

实现这些功能和界面所需的各个关键的技术点,并深入研究这些关键技术点,这

些技术点包括:

(1)Android的xml文件的编码规则;

(2)系统各种界面布局的实现方式;

(3)系统中Activity的创建以及Activity间的自由切换;

(4)Sqlite数据库的使用;

(5)使用信息提示框的弹出;

(6)以及图片资源的加入。

下面举例介绍数据库的关键技术:

SQLiteOpenHelper类是Android下操作Sqlite的内部实现类,它封装了大部

分函数和操作数据库的具体功能,帮助创建数据库和数据库版本管理。

使用必须创建一个子类来实现其onCreate(SQLiteDatabase),

onUpgrade(SQLiteDatabase, int, int)方法,同时任意实现onOpen(SQLiteDatabase)

方法,同时打开数据库操作必须保证数据库存在,如果不存在则创建它,并且对

其必要的升级,维护其保持一个最佳的状态。

使用本类提供内容开始创建数据库是非常容易的,首先必须对数据库进行升

级,以避免在数据库启动后长期使用而阻塞数据。

3.2 登录界面

对于一个完整的图书管理系统,不仅要求功能完整、操作简单,还要有良好

的设计风格和另人耳目一新的界面。对于一个系统来说,登录界面是很重要的,

登录界面设置了进入本系统的用用户名和密码,防止非法用户进入本系统进而破

坏系统安全和所保存的数据,故只有合法的用户在输入正确的密码和选择正确的

权限后方可进入相应的系统界面,否则将会提示“帐号或密码输入错误”,此时

需要重新输入帐号和密码,直到通过系统验证,才可进入系统

[13]

。未注册过的用

户第一次进入需要注册新用户信息,注册完成后需要等待管理员对注册的信息进

行审核,通过管理员审核的用户信息才能进入图书管理系统,否则无法进入图书

管理系统。这些功能使得图书管理系统对其使用者有了一定的限制,不仅增加了

系统的安全性及保密性,而且便于系统的控制和管理,更加有利于系统的维护。

图3-1 系统登陆界面

界面切换功能的实现,填写完账号和密码后,点击登陆按钮,登陆按钮被设置为

了监听,点击后会把用户填写的信息和数据库里的信息匹配,相符的话,则跳转

到登陆后的主界面。

3.3 图书管理员界面

功能描述:图书管理员是整个系统保持正常运行的关键因素。在图书管理员

界面主要有四个大功能:在图书管理功能中图书管理员可以对系统的图书信息进

行管理,有增加图书信息、删除图书信息、修改图书信息和查看图书信息四个子

功能,可以保证图书管理系统中图书信息的准确性;在取书点管理功能中,管理

员可以对取书点信息进行管理,有增加取书点信息、删除取书点信息、修改取书

点信息和查看取书点信息四个子功能,使得取书点的信息能够被用户所识别;在

用户管理功能中,管理员可以对用户及管理员信息进行注册和管理,包括注册管

理员信息、注册用户信息、审核用户注册信息以及删除用户信息和修改用户信息

等功能,这确保了系统和资料的安全性和保密性;在借阅管理功能中,管理员可

以对用户的借阅信息进行查看和管理,从而使得图书的借阅信息能够被管理员所

了解,使得图书管理系统正常的运行。

图3-2 图书管理员界面

3.4 图书借阅用户界面

功能描述:图书借阅用户登录图书管理系统后,可以按照自己的需求查找自

己想要寻找的图书的信息,查找的方式可以按照图书信息中的分类、作者、书名、

出版社等信息进行图书的检索,点击需要查看的图书即可出现所需图书的全部具

体信息;需要借阅图书时在出现图书具体信息后点击下方的借阅按钮即可进行图

书的预约;在“我的预约列表”功能中,用户可以对自己已经预约的图书进行管

理操作,包括查看已预约的图书和取消已预约的图书等功能。这些功能不仅使得

图书借阅用户能够通过图书管理系统更加清楚的了解图书信息,而且能更快速的

对自己需要的图书进行预约和管理,保证了图书管理系统的实时性和有效性。

图3-3 图书借阅用户界面

四、总结与展望

本文详细的论述了基于Android的图书管理系统的设计与实现的过程,通过

长达五个多月时间的毕业设计,使我有机会做专业的基本理论,基本的实现了学

以致用。虽然在大学期间也做过一些课程设计,但是那些相对较为简单的系统不

足以让我学到很多专业性的知识。此次的毕业设计是将之前大学所学习到的所有

的知识结合在一起设计出的较为全面、综合的一个图书管理系统。当然还有很多

自己不会或者不熟悉的知识方面,遇到这样的问题时我会上网查找资料、向老师

请教以及请同学帮忙等,汲取了很多他人的智慧。慢慢的通过不断的探索和学习,

在设计系统的时候自己也从开始的手足无措变得越发熟练起来,渐渐的我发现自

己越来越喜欢自己的专业,也很想更加深入的去学习计算机相关知识,这是本次

毕业设计最为让我欣喜的一件事。

虽然本次的毕业设计系统已经顺利的实现,但是由于在实际的开发过程中自

己的能力有限,时间不够充分,使得系统的功能不够完善,系统的稳定性不足。

现就本系统进行一定的项目构想和展望,希望随着进一步发展软件设计的技术和

时间的推移,在接下来的开发中丰富和完善系统的功能。具体的展望有以下两点:

1、系统通用性的问题

通过本系统可以基本实现各大高校的图书管理的工作。但是为了增加系统的

通用性,我们可以考虑通过二次开发系统把该系统推广到全省乃至全国各个高校

和地区的图书管理工作,使得人人都能方便、快速的了解图书信息。

2、系统的完善性问题

此次毕业设计的图书管理工作中的图书入库等一般工作虽然实现了,但是在

科技发达的今天还需要对系统进行一个字一个字的输入信息还是比较麻烦的,所

以在今后的开发中应设计二维码或者条形码扫描技术,通过软件对图书的扫描便

可以直接将图书信息全部存入软件中,这样就节省了管理员许多的工作。另外本

系统的设计界面还不够美观,希望在今后的开发中逐步完善。