基于安卓智能课程表打印版_第1页
基于安卓智能课程表打印版_第2页
基于安卓智能课程表打印版_第3页
基于安卓智能课程表打印版_第4页
基于安卓智能课程表打印版_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

基于安卓的智能课程表课程设计姓 名 张竞超 学 号 1630100001 院、 系 信息学院 专 业 农业信息化 指导教师 夏江 摘要:随着智能手机的快速发展,各种应用软件也得到了越来越多的人的关注。目前,在安卓软件市场中我们可以找到各种需求的软件,课程表管理类的软件也是随处可见的。本系统基于 Android 平台为学生用户群体设计一款新的课程管理软件。实现了每日视图、周视图、上课提醒、上课期间响铃模式切换、单双周(默认全部)等基本功能,另外还提供了当前周设计、签到记录设计、考试提醒、签到与成绩统计分析、分享等功能,以更好地满足用户对一款课程表应用需求。关键词:Android;课程表;SQLite目录1. 引言 .12. 系统分析 .22.1. 系统实现目标 .22.2. 系统运行环境 .22.3. 系统开发环境 .32.4. 后台数据库 .33. 总体设计 .43.1. 系统总体设计描述 .43.2. 系统模块图 .53.2.1. 系统总体结构 .53.2.2. 系统模块描述 .63.3. 数据库总体设计 .73.3.1. 数据库设计介绍 .73.3.2. E-R 图 .73.3.3. 数据库表设计 .84. 详细设计和系统实现 .94.1. 详细设计和系统实现 .94.2. 功能模块的设计和实现 .94.2.1. 课程数据增、删、改模块 .104.2.2. 数据库读写模块 .234.2.3. 系统设置模块 .264.2.4. 系统中其他功能的实现 .285. 评估测试 .335.1. 测试环境 .335.2. 测试计划 .345.2.1. 交互测试 .345.2.2. 功能测试 .355.3. 测试结果与评价 .396. 结 论 .4011. 引言随着智能手机的快速发展,各种应用软件也得到了越来越多的人的关注。目前,在安卓软件市场中我们可以找到各种需求的软件,课程表管理类的软件也是随处可见的。其中智能课程表在 Android 市场中占有一定的空间,甚至一些公司也开发了这一类的应用软件,例如:超级课程表。这款软件得到很多学生的大力支持。在大学生中,所学课程的种类繁多、上课地点的不断变化、课程的临时修改和添加,让学生们疲于不断的记忆上课的教室、地点和是否有更改。这类软件操作复杂,界面不宜辨识。另一类软件,基本上都是只实现了课程表设置、查询和上课时间提醒功能等。根据学校教学纪律规定,在课堂教学时间段内,学生和教师都不容许接听电话。目前在上课时,教师和学生一般都是把手机设置为静音或震动模式,没课时再设置回来。学生和老师都经常可能会发生上课时忘记设置手机的情况。正上着课,手机铃声突然响起来了,既分散了学生的注意力,也打断了老师的讲课思路。出于这两点,我想做一款解决这两个矛盾的课程表,也就是自己的课题设计。22. 系统分析2.1.系统实现目标目标 1:既然作为一款课程表类 app,自然是需要课程的基本管理即增、删、改、查,其中“ 增” 的方式是手动添加;删除录入的信息,但是在数据库中不是真正的删除,作为一个字段的标记式删除,首先这么设计的原因是系统不会处理过多数据,这也让 Undo Bar 的实现成为可能;“改”提供了对录入信息的修改;“查 ”在系统的各处都有体现,从数据库拉取数据,提供各种信息的显示。目标 2:上课提醒、以及上课自动切换震动模式。可以让学生在上课前知道下一节是什么课,上课切换震动也是为学生提供便利防止上课铃声响打断老师的讲课思路。目标 3:课程总表,对一星期的课表一目了然,同时可以直接在总表中创建课程,还有快速判断时间的设计。目标 4:签到统计,每周每次课的签到信息,集中显示以了解自己的上课情况,对自身做出监督。目标 5:考试提醒,对考试的设定以及提醒功能。目标 6:考试成绩与签到的分析柱状图,提供一个图谱用来了解自己上课情况与成绩的关系。目标 7:分享,将上课、签到、成绩信息分享到其他应用程序。2.2.系统运行环境“智能课程表 ”是基于移动平台,如今的移动领域有 Apple 的 iOS,Google的 Android,以及 Microsoft 的 Windows Phone 三大平台,其中 Android 的市场份额在三大平台中是最大的,因为 Android 的框架结构中处于顶层的是应3用开发层,且是基于 Java 语言的开发。本“智能课程表”故采用 Android 平台为广大的大学生提供一个课程管理的解决方案。为了设计更好的用户体验,系统采用 Android 4.4 的 SDK 开发,这直接导致的是低于此版本的 Android 是无法使用本应用的,因为应用到了 4.4 所特有的特性。系统运行环境:平台 Android,SDK 版本 4.4+。2.3.系统开发环境Android 的应用层软件的开发是基于 Java 的,故开发环境选择的是 Eclipse,开发 Android 需要安装 Google 提供的 ADT 插件,虽然 Google 在 发布了自己的基于 idea 的开发工具 Android Studio2.2 版本,但是由于目前市场教程大部分还是关于 Eclipse,故继续使用 Eclipse 来调试。Android 的 SDK使用版本是 4.4,另外 JDK 版本是 1.6。2.4.后台数据库SQLite 简介:SQLite 是一个开源的嵌入式关系数据库,它在 2000 年由 D.Richard Hipp 发布,它的减少应用程序管理数据的开销,SQLite 可移植性好,很容易使用,很小,高效而且可靠。SQLite 嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。 SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适合用于嵌入式设备。需要做的仅仅是把它正确的编译到你的程序。SQLite 具有零配置、可移植、 Compactness、简单、灵活、可靠的特点。SQLite 架构:SQLite 采用了模块的设计,它有三个子系统,包括八个独立的模块构成。因此移动平台的数据库解决方案大多是采用 SQLite,能够满足开发者的一般数据的存储需求。43. 总体设计3.1.系统总体设计描述系统的设计阶段的需要解决的问题是构建整个项目的大体框架,因为如果自己没有一个明确的框架,那么代码写到后面的话也就是越来越乱,剪不断理还乱的结果了。所以说设计的阶段很重要,例如建房子需要先把图纸画好,就算是动工也是先打好框架。同样软件工程也是一门工程学,所以同样需要对要设计的系统“ 画” 一个设计的框架。总体设计是软件开发人员根据软件需求说明书的要求,运用结构化程序设计思想,将软件自上而下逐层分解成多个软件模块,直到分解成每一个模块只具有单一的功能,能用一个或几个程序实现的树形结构为止。总体设计阶段还要定义个模块的数据传递关系,数据的存储关系,输入输出格式,已经对运行环境的要求。经过需求分析阶段的工作,课程管理系统所需要完成的功能即需要做什么已经了然于心了,现在就是设计整个系统的工作了。总体设计过程可分为两个主要阶段:功能设计,根据大学生们对课程管理的需求做出相应的功能上的决策,结合网上调研跟线下的调查决定设计这个应用的相应功能;结构设计,确定整个软件的结构,由哪些子类别所组成。其中功能设计是在需求分析的基础上进行的,这里的“功能”其实是泛指,例如软件所要实现的功能,还包括系统设计时候的数据处理,实现功能的算法。而结构设计,是将整个系统按照不同的功能和层次划分为一个个相对简单而独立的模块,每个模块实现系统的某一项具体功能,自顶向下,逐步细化,这样增加了软件的可复用性,且对于代码的结构则更加清晰明了,阅读起来也更加的有条理。53.2.系统模块图3.2.1. 系统总体结构模块层次图,是描述软件层次特性的工具,描述某个模块负责管理控制哪些模块以及上下级模块或者是统计模块之间的数据传递关系,能够清楚的表明系统的结构,并可用来粗略的估计系统的规模。优点也是显而易见的,能够很清楚的表达系统结构,保证思路清晰,缺点是只能粗略的表达而不能表达整个系统的逻辑。根据需求分析得到的数据流图,由用户的需要以及完善系统所添加的一些功能得到系统的模块层次图。系统主要实现数据录入(添加

温馨提示

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

评论

0/150

提交评论