免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文基于3G手机的移动教务系统的设计与实现The Design and Implementation of the Senate SystemBased on 3G Mobile Phones姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指 导 教 师: 教授年 月摘 要随着移动通信与Internet的飞速发展及相互融通,GPRS使无线网络高速接入到Internet成为现实,移动用户从而可以享受到Internet提供服务。移动教务系统是基于3G手机的应用程序,它能够使用户随时随地的与教务系统服务端联系,从而获取相关的信息,随着手机的不断普及以及性能的不断提升,为教务系统从传统的PC机到手机的移植提高了很好的条件。2007年11月,34家手机和技术开发商组成OHA与Google联合推出了基于Linux内核的开源移动操作平台Android。本文系统将以它作为实现的平台。本文首先给出了系统的研究背景,对当前的手机操作系统及发展现状做了简单的介绍。进而相信的分析了Android的特征、架构及Android应用的构成和工作机制,并对Android与其他手机操作系统进行了比较,说明了Android在手机操作系统中的优势。本文针对移动环境下的特点,对基于3G手机的移动教务进行了分析,建立需求模型,从而确定该系统实现的主要功能,并绘制系统流程图。该系统的整体架构是基于典型的CS模式,并分别对服务端与客户端的主要功能模块进行了详细的设计,然后使用Android SDK包含的相关服务支持的包来实现系统,并通过Android SDK提供的模拟器和调试工具来测试系统。关键词:Android;3G;移动教务AbstractWith the mutual intermediation and the rapid development of Internet and mobile communications,GPRS makes the high-speed wireless network access to the Internet come true,so mobile users can enjoy Internet services. Mobile Educational System is an application that based on 3G mobile phones; it allows users to contact with the system server to obtain the relevant information at anytime, anywhere. The growing popularity of mobile phones as well as performance on the rise creates a very good condition for the Educational System transplanting from a traditional PC to mobile phones.November 2007, OHA (composed of 34 mobile and technology developers) and Google, launched an open source mobile platform Android ground on Linux kernel. This system will be an implemented platform. This paper starts with the study background of the Mobile Educational System and the brief introduction on the current mobile operating systems and their developments. Further detailed analysis of the characteristics, structure, composition and working mechanism of Android, then illustrating the advantage of the Android phone operating system compared to other systems.This paper analyses the Mobile Education ground on 3G mobile phones, builds the demand model in order to make sure the main functions of the system completing and draws the system flow chart on account of the characteristics of mobile environments. The overall system architecture is based on the classic CS model and detailed design on the server and the clients main function modules. Then achieving and testing the system using the supporting service-related packages and emulators, debugging tools in the Android SDK separately.Key words: Android; 3G; the moving senate 目 录第一章 绪论11.1 引言11.2 手机操作系统的发展现状11.3 论文组织结构2第二章 Android的架构分析32.1 Android特征32.2 Android架构42.2.1 应用程序52.2.2 应用程序框架52.2.3 库和运行环境52.2.4 Linux内核62.3 Android应用的构成和工作机制62.3.1 Activity62.3.2 Broadcast Intent Receiver92.3.3 Service92.3.4 Content Provider92.4 Android与其他手机操作系统的比较102.5 本章小结11第三章 基于3G手机的移动教务系统的设计123.1 总体设计123.1.1 运行环境123.1.2 主要功能模块133.1.3 功能需求与程序的关系153.2 接口设计163.2.1 用户接口163.2.2 内部接口163.3 系统数据库设计173.3.1 数据库设计要点173.3.2 数据结构与程序的关系203.4 系统出错处理设计243.4.1 出错信息243.4.2 系统维护设计243.5 本章小结24第四章 系统主要功能模块的实现254.1 登录模块实现254.1.1 模块描述254.1.2 流程逻辑254.2 管理员模块实现274.2.1 模块描述274.2.2 功能274.2.3 模块的结构274.2.4 流程逻辑294.3 教师模块实现324.3.1 模块描述324.3.2 功能334.3.3 模块结构334.3.4 逻辑流程354.4 本章小结39第五章 系统测试及运行结果405.1 系统测试405.2 运行结果405.3 本章小结47第六章 总结与展望486.1 论文总结486.2 展望48参考文献50致谢52ContentChapter 1 Introduction11.1 Introduction11.2 Development of Mobile Operating Systems11.3 Thesis Organization2Chapter 2 The Analysis of Android Framework32.1 Android Features32.2 Android Framework42.2.1 Application52.2.2 Application Framework52.2.3 Libraries and RunTime52.2.4 Linux Kernel62.3 Android Application Form and Mechanism 62.3.1 Activity62.3.2 Broadcast Intent Receiver92.3.3 Service92.3.4 Content Provider92.4 Android Mobile Operating System, Comparison with others102.5 Summary11Chapter 3 The Design of 3G-based Mobile Phone Senate System123.1 Design123.1.1 RunTime123.1.2 Main Function Modules 133.1.3 Relationship Between Functional Requirements and Procedures153.2 Interface Design163.2.1 User Interface163.2.2 Internal Interface163.3 Database Design173.3.1 Database Design173.3.2 Relationship Between Data Structures and Procedures203.4 Error Handling System Design243.4.1 Error Message243.4.2 System Maintenance Design243.5 Summary24Chapter 4 The Implementation of Main Function Module254.1 Login Module Implementation254.1.1 Module Description254.1.2 Process Logic254.2 Administrator Module Implementation274.2.1 Module Description274.2.2 Function274.2.3 Module Structure274.2.4 Process Logic294.3 Teacher Module Implementation324.3.1 Module Description324.3.2 Function334.3.3 Module Structure334.3.4 Process Logic354.4 Summary39Chapter 5 System Test and Operation Results405.1 System Test405.2 Operation Results405.3 Summary47Chapter 6 Conclusion and Prospect486.1 Thesis Conclusion486.2 Prospect48References50Acknowledgement52VII致谢第一章 绪论1.1 引言随着3G的到来,无限带宽越来越高,使得更多内容丰富的应用程序布置在手机上成为可能,如移动互联网冲浪,视频通话,视频点播,在线听歌看书,内容分享等。为了承载这些数据应用及快速部署,手机功能将会越来越只能,越来越开放,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭1,因此为了实现这些需求,必须有一个开放性很强的开发平台来支持,在此由Google公司发起的OHA(Open Handset Alliance)联盟走在了业界的前列,与2007年11月推出了开放的Android平台,任何公司及个人都可以免费获取到源代码及开发SDK。由于其开放性和优异性,既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品,因此Android平台得到了业界广泛的支持,具有很大的市场发展潜力。将教务系统从传统的PC机转移到手机上,虽然无法完全实现PC机上的全部功能模块,但是通过把教务系统常用模块如公告信息,个人信息管理,课程管理,成绩管理等转移到手机上,可大大方便教师与学生使用该教务系统,并及时的获取和管理教务信息。1.2 手机操作系统的发展现状Sysbian2是一个实时性。多任务型的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML、以及3G技术。Windows Mobile3系列操作系统是从微软计算机的Windows操作系统上变化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存,存储卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Palm OS4是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Palm在其它方面还存在一些不足,如Palm操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件和硬件设备来实现。其代表性的产品有Palm505.、Palmm500.。Palm III等。Linux5系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开发自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。但是Linux操作系统也还存在一些不足,集成开发环境和基于Linux的产品与PC的连接性比较差等。1.3 论文组织结构本文首先分析了系统的研究背景,简单介绍了当前手机操作系统的发展现状。第二章,介绍了Android的特征、Android的架构以及Android应用的构成和工作机制,并对Android与其他手机操作系统进行了比较,说明了Android的优势。第三章,介绍了系统的总体框架和主要功能模块,并在充分明确需求的基础上,明确系统的基本设计,解决该系统需求的模块设计问题,并完成各个模块之间的接口和数据结构设计。第四章,实现了设计中所描述的主要功能模块,并通过模块逻辑流程图和部分代码的分析,对实现的详细过程做进一步的描述。第五章,介绍了手机教务系统的系统测试和运行结果第六章,最后论文总结了毕业设计所作的工作,分析了存在的问题,并指明今后的改进计划。第二章 Android的架构分析Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套手机软件方案。它开放了基于Linux内核6以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。2.1 Android特征应用框架7:用于开发可重用可替代的组件。Dalvik虚拟机8:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。内嵌浏览器:基于开源的浏览器网页排版引擎WebKit9。优化的图形:强大的自定义二维图形库。基于OpenGL ES 1.010标准的3D图形功能,在移动3D开发中有这至关重要的地位。SQLite数据库:SQLite11提供结构化的数据存储,它是一款轻型免费的开源数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音视频和静态图像格式,如MP3、JPG、PNG等。Open Core12是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现的。通过Open Core,程序员可以方便快速的开发出想要的多媒体应用程序。GSM技术13:Glogal System for Mobile Communications,全球移动通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。蓝牙、EDGE、3G、WiFi14:蓝牙和WiFi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data for GSM Evolution),是增强型数据速率GSM演进技术。强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测以及Eclipse IDE的开发插件。Eclipse是个集成的开发环境。2.2 Android架构Android作为一个移动设备的开发平台,其软件层次架构15-16包括了一个操作系统(OS),中间件(Middle Ware)和应用程序(Application)。Android的软件框如图2-1所示,其软件层次结构自上而下可以分为以下几个层次。n 应用程序(Applications);n 应用程序框架(Application Framework);n 各种库(Libraries)和Android运行环境(RunTime);n 操作系统层(OS)。图2-1 Android架构2.2.1 应用程序Android的应用程序通常涉及用户界面和用户交互。Android的应用程序目前以Java语言进行编写。Android本身提供了桌面、联系人、电话和浏览器等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。Android这种开放而强大的平台给每一个程序开发者提供了公平的机会,每一个开发者都可以加入移动互联的世界,共同推动移动互联的发展。2.2.2 应用程序框架普通的开发者可以使用Android核心应用程序使用的系统API。Android中的应用开发框架设计的非常巧妙,通过这套应用框架,各种组件可以被用户的应用重复利用,各种服务也可以被各种应用重复利用。常见的应用程序框架:n 一组Views(UI组件)。这些UI组件包括列表list,文本框textbox,按钮button等。通过这些UI组件,可以构建应用程序的视图部分。n Content Providers。提供了一种机制使得应用程序可以实现数据的互访和共享。n Notification Manager。它能让程序将组件的警示信息显示在状态栏上。n Activity Manager。它管理着应用的生命周期,并且提供了应用页面退出的机制。而Android的应用是多个Activity的交互构成的。2.2.3 库和运行环境Android应用程序框架之下是一套C/C+函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库、基于WEB应用的安全协议SSL、用于点阵和矢量字体渲染的FreeType以及SQLite引擎等。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机。所有的Android应用都运行在它自己的进程里,该进程是一个Dalvik虚拟机的实例。Dalvik虚拟机的可执行文件被封装成Dalvik可执行格式(.dex)。这是被优化过的最小内存依赖的格式,Java编译器(dx工具)将注册了的和运行时用到的类编译成.dex格式。2.2.4 Linux内核Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型、Linux内核也同时作为硬件和软件栈之间的抽象层。2.3 Android应用的构成和工作机制对于一个Android应用程序17-19来说,一般由Activity、Broadcast Intent Receiver、Service、Content Provider四个部分组成,但并不是每个Android应用程序都必须有这四个部分。在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。此配置文件是每个Android应用程序所必需的,用于定义应用程序的组件,组件的功能以及必要的条件等。Android应用的构成和工作流程图如图2-2所示。图2-2 Android应用的构成和工作流程2.3.1 ActivityActivity20是构成应用程序中最重要的构造块,在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过条用setContentView(View)方法来显示自己的用户界面。 Activity的生命周期在Android中,Activity拥有四种基本状态:包括Active/Running,Paused,Stopped和Killed。下图2-3显示了Activity的重要状态转换,矩形框表明Activity在状态转换之间的回调接口,开发人员可以重载实现以便执行相关代码,椭圆形表明Activity所处的状态。图2-3 Activity的状态转换在上图中,Activity有三个关键的循环:n 活动的整个生命周期,从首次调用onCreate(Bundle)开始到onDestroy()结束。Activity在onCreate()设置所有的“全局”状态,在onDestory()释放所有的资源。例如:某个Activity有一个在后台运行的线程,用于从网络下载数据,则该Activity可以在onCreate()中创建线程,在onDestory()中停止线程。 n 活动的可见生命周期,从调用onStart()开始到onStop()结束。在这段时间,可以看到Activity在屏幕上,尽管有可能不在前台,不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等,例如:可以在onStart中注册一个IntentReceiver来监听数据变化导致UI的变动,当不再需要显示时候,可以在onStop()中注销它。onStart(),onStop()都可以被多次调用,因为Activity随时可以在可见和隐藏之间转换。n 活动的后台生命周期:从调用onResume()开始到onPause()被调用为止。在这段时间内活动处于其他所有活动之前,并与用户进行交互。一个活动可以不断地在resumed状态和paused状态之间变换。例如:当设备准备休眠时,当一个Activity处理结果被分发时,当一个新的Intent被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。 Activity之间的切换Android使用了Intent类来实现活动之间的切换工作。Intent是Android的灵魂,程序跳转和传递数据的时候基本上就是依赖于Intent,它负责对应用中的一次操作的动作,动作涉及的数据和附加数据进行描述。根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。在应用中,可以以两种形式来使用Intent:n 直接Intent:指定了component属性的Intent(调用setComponent(ComponentName)或者setClass(Context,Class)来指定)。通过指定具体的组件类,通知应用启动对应的组件。n 间接Intent:没有指定component属性的Intent。这些Intent需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中确定满足此Intent的组件。2.3.2 Broadcast Intent Receiver可以使用BroadcastReceiver来让应用对一个外部的时间做出响应。例如,当下载一个程序成功完成的时候,可以利用BroadcastReceiver来处理,BroadcastReceiver不能生成UI,也就是说对于用户来说不是透明的。BroadcastReceiver通过NotificationManager来通知用户这些事情发生了。BroadcastReceiver既可以在AndroidMainfest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册,只要是注册了,当事件来临的时候,即使程序没有启动,系统也在需要的时候启动程序。各种应用还可以通过使用Context.sendBroadcast()将它们自己的intent broadcast广播给其他的应用程序,实现应用之间的通讯。2.3.3 ServiceService是一种程序,它可以运行很长的时间,但是它却没有用户界面,它是运行于应用程序后台的服务,在用户进行其他活动的时候,这个服务将一直运行在后台直到用户停止该服务或服务运行结束。启动一个Service的两种方式及对生命周期的不同影响:n 通过startService启动。Service启动的时候回经历生成-开始(onCreate-onStart)过程,Service停止的时候直接进入销毁过程(onDestroy)。如果是调用者自己直接退出而没有调用stopService,Service将在后台一直运行,直到下次调用者再启动,并明确调用stopService。n 通过bindService启动。提供bindService启动Service,其只会运行onCreate,这时候将TestServiceHolder和TestService绑定在一起,如果TestServiceHolder退出了,Service就会调用onUnbind-onDestroyed,所谓绑定在一起就共存亡了。2.3.4 Content Provider在Android系统中,数据是私有的,一个Content Provider类实现了一组标准的方法接口(如query(),inset(),update(),delete()方法等),从而能够让其他的应用保存或读取此Content Provider的各种数据类型。也就是说,一个程序可以通过实现一个Content Provider的抽象接口将自己的数据暴露出去。外界根本看不到,也不用看到这个应用暴露的数据在应用中是如何存储的,即用数据库存储还是用文件存储还是通过网上获得这些都不重要,重要的是外界可以通过这一套标准而统一的接口和程序里的数据打交道。使用Content Provider能够灵活的替换底层使用的存储设备,是开发者可以专注于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据迁移性。2.4 Android与其他手机操作系统的比较我们主要从手机操作系统的Portability、Reliability、Connectivity、Product Diversity、Open Platform、Kernel Size、Standards、Security和Special Features这九个方面进行了比较,具体的比较结果如下表2-1。表2-1 手机操作系统对照表比较条件AndroidWindows MobileSymbianPortability基于Linux+Java,具有跨平台的特点,并允许所有厂商和个人在其基础上进行开发可以运行于不同的平台,但是有些应用程序依赖于特点的硬件平台基于标准的架构,对其他制造商的软件开放,但是Symbian大部分应用于特定的手机上Reliability好好好ConnectivityGSM telephony,EDGE Bluetooth,3D,Wi-FiGSM telephony,Wi-Fi Bluetooth,Infra redGSM telephony。Wi-Fi Bluetooth,Intra redProduct Diversity积极参与软件的发展和帮助扩展操作系统,是相关的产品对市场开放积极参与软件的发展和帮助扩展操作系统,是相关的产品对市场开放积极参与软件的发展和帮助扩展操作系统,是相关的产品对市场开放Open Platform开放过于封闭过于封闭Kernel Size250kb300kb200kbStandards好,基于Java,具有跨平台的特点,具有很大的优势比较好比较好Security好好好Special Features开源的WebKit引擎,优化的Dalvik在计算机市场占有优越的地位,在计算机和手机之间同步比较容易无文献7对上表比较的九项每一项以1分、0.5分、0分三个级别来进行评分,综合各项评分,最后得到的评分结果是Android8.5分,Windows Mobile5.5分,Symbian 6.5分。Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策赢得手机制造商的广泛支持。而且在其平台上集成了不少优秀的工程加入到Android中来。相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域占有很大的优势,其功能也将会越来越强大。2.5 本章小结本章对Android平台的特征,架构以及Android应用的构成和工作机制进行了详细的分析。对于Android应用程序来说,主要有Activity、Broadcast Intent Receiver、Service和Content Provider四个部分组成。Activity是Android的灵魂,是应用程序中最重要的一种构造块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。最后对Android与其他的手机操作系统从九个方面进行了比较,说明了Android的优势。第三章 基于3G手机的移动教务系统的设计本章我们介绍了系统的总体框架,介绍了本系统的主要功能模块,并在充分明确需求的基础上,明确系统的基本设计,解决该系统需求的模块设计问题,并完成各个模块之间的接口和数据结构设计。3.1 总体设计3.1.1 运行环境 Android开发系统要求开发基于Android的应用软件所需要的开发环境如表3-1所示。表3-1 开发系统需求参数所需项版本要求说明备注操作系统Windows XP软件开发包Android SDK选择最新版本的SDK截止目前,最新版本为2.1IDEEclipse IDE+ADTEclipse 3.3(Europe),3.4(Ganymede)ADT开发插件选择“for Java Developer”其他JDKJava SE Development Kit 6单独的JRE不可以,必须要有JDK Android软件开发包 n JDK 1.6,可到/javase/downloads/index.jsp处下载。n Eclipse 3.4(Europe),可到/downloads/下载Eclipse IDE for Java Developers。n Android SDK2.1,可到处下载。n ADT(Android Development Tools)插件。 ADT插件介绍Android为Eclipse定制了一个插件,即Android Development Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速地建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。ADT的安装可通过Eclipse到对应的网站进行远程安装,如果失败可下载到本地再安装。3.1.2 主要功能模块该系统是基于Android平台开发的移动教务系统,在3G手机市场日趋成熟,3G应用异彩纷呈的现状,依托3G技术和手机终端,手机教务可以改变以前单一服务的方式,用户可以利用手机进行各种教务信息的管理如:课程管理、成绩管理、个人信息管理等。手机教务从一定程度上克服了地理位置的限制,从而更加方便教师和学生获取教务信息。详细功能如图3-1所示。图3-1 系统功能模块从上图可知本系统主要包含管理员模块,教师模块以及学生模块(本人主要负责完成管理员模块和教师模块),其中管理员模块包含公告管理模块和用户管理模块,教师模块又包含个人信息模块、公告信息模块、课程管理模块和成绩管理模块:n 管理员模块: (1)公告管理模块:主要用于查看和修改公告信息; (2)用户管理模块:主要用于管理用户信息,包括公告、管理员、教师、学生信息的添加和删除。n 教师模块: (1)个人信息模块:主要用于查看和修改自己的个人信息,包含个人信息详情和修改密码两个内容。 (2)公告信息模块:主要用于查看教务公告信息 (3)课程管理模块:主要用于管理课程信息,包含课程的添加和删除,以及个人课程表的显示。 (4)成绩管理模块:主要用于管理学生课程成绩,包含成绩的录入与修改包图:从总体上,系统负荷MVC的分层模式,将表示层,业务逻辑层和数据持久层相分离。其中表示层主要为页面代码部分。业务逻辑层主要包含了处理业务以及实现主要功能的各个Activity,而数据持久层将与数据库密切联系,保存数据信息。系统包图如图3-2所示。图3-2 系统包图3.1.3 功能需求与程序的关系为了更加明确的了解系统各项功能需求的实现同各块程序的分配关系,现用一张表来说明,如表3-2所示。表3-2 功能需求与程序的关系功能需求LayoutActivityDataBase登录main.xmlloginfail.xmlMyAndroidLoginFailAdministratorDataBaseTeacherDataBaseStudentDataBase公告管理list_message.xmlmsg_show.xmladd_message.xmlshow_message_infoMsgActivityAddMessageDeleteMessageShowMessageActivityEditMessageActivityMsgDataBase管理员管理administratoraddadministratorlistadministratorAddAdministratorInfoAdministratorActivityDeleteAdministratorAdministratorDataBaseTeacherDataBaseStudentDataBaseMsgDataBase教师管理teacheraddteacherlistteachershowteacherTeacherActivityTeacherInformationShowTeacherInformationAddTeacherDeleteTeacherModifyPasswordTeacherDataBaseStudentDataBaseMsgDataBaseCourseDataBaseRoomDataBaseScoreDataBase学生管理studentaddstudentliststudentshowstudentStudentActivityStudentInformationShowStudentInformationAddStudentDeleteTeacherModifyPasswordTeacherDataBaseStudentDataBaseMsgDataBaseCourseDataBaseScoreDataBase课程管理addcourselistcourseAddCourseDeleteCourseShowCourseTeacherDataBaseStudentDataBaseCourseDataBase3.2 接口设计3.2.1 用户接口用户通过运行软件来访问教务系统。系统响应方式:打开软件主界面。3.2.2 内部接口内部接口设计包括雨雾逻辑层的接口设计以及业务逻辑层与数据持久层的接口设计。业务逻辑层的接口设计:Activity的整个生命周期都定义在下面的接口方法中,所有方法都可以被重载。所有的Activity都需要实现onCreate(Bundle)去初始化设置,大部分Activity需要实现onPause()去提交更改过的数据,当前大部分的Activity也需要实现onFreeze()接口,以便恢复在onCreate(Bundle)里面设置的状态。public class Activity extends ApplicationContext protected void onCreate(Bundle icicle);protected void onStart();protected void onRestart();protected void onResume();protected void onFreeze(Bundle outIcicle);protected void onPause();protected void onStop();protected void onDestroy(); 业务逻辑层与数据持久层的接口设计:定义了AdministratorDataBaseInfo,TeacherDataBaseInfo,TeacherDataBaseInfo,MsgDataBaseInfo,CourseDataBaseInfo,RoomDataBaseInfo以及ScoreDataBaseInfo七个接口使得业务逻辑层与数据持久层之间能够更好的传递数据。3.3 系统数据库设计3.3.1 数据库设计要点系统采用Android平台自身所带的SQLite数据库来存储用户信息以及其他的一些数据信息。使用Content Provider将SQLite资料库系统封装起来,让应用程序直接使用Content Provider所提供的界面函数。使用Content Provider能够屏蔽数据库的差异性。因为SQLite数据库只是众多资料库储存系统之一,还有更多的其他资料储存系统,各系统的界面并不尽相同。Content Provider提供了共同而一致的界面,让应用程序能独立于特定的资料库系统。因为应用程序与资料库系统就能进行松散耦合,提升数据库系统的可替换性,而不同考虑底层使用的是何具体数据库。将Content Provider写到AndroidMainfest.xml配置文件中,让Android启动时,就立即启动Cont
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年县直事业单位招聘公共基础知识真题200道及参考答案【满分必刷】
- 中国农业科学院北京畜牧兽医研究所动物生物安全与公共卫生防控科技创新团队招聘2人备考题库附答案
- 2026年房地产经纪协理之房地产经纪操作实务考试题库附完整答案(全优)
- 2025上海宋庆龄幼儿园工作人员招聘2人备考题库附答案解析
- 2025广东汕头市潮阳区卫健系统招聘医学类专业技术人员笔试备考题库附答案解析
- 2025北京大学光华管理学院招聘劳动合同制工作人员1人历年真题库带答案解析
- 中共南部县委组织部关于2025年南部县党政机关公开考调工作人员(16人)笔试备考试卷附答案解析
- 2025中山市科学技术协会所属事业单位招聘事业单位人员1人历年真题库带答案解析
- 疫情防控安全公开课课件
- 2026中国牧工商集团有限公司校园招聘8人参考题库带答案解析
- 2025品质工作总结
- 2025年大学《林学-森林经理学》考试模拟试题及答案解析
- 中国球墨铸铁管配件行业市场规模及未来投资方向研究报告
- 高一历史上学期期末冲刺模拟卷02-统编版高一《历史》上学期期末考点大串讲
- 2025眼科行业发展前景研究报告
- 工厂天然气安全培训课件
- 物业法律法规培训
- 2025秋南水北调生态环保工程有限公司招聘(15人)笔试考试备考试题及答案解析
- 招标代理机构合同范本
- 【MOOC】《动物生理学实验》(华中农业大学)期末考试慕课答案
- 全国大学生职业规划大赛《蒙医学》专业生涯发展展示【高职(专科)】
评论
0/150
提交评论