大学毕业论文-—基于android教学平台下学生客户端设计与实现毕业.doc
J I A N G S U U N I V E R S I T Y本 科 毕 业 论 文 基于Android教学平台下学生客户端设计与实现Design and implementation of student client based on Android teaching platform学院名称: 计算机科学与通信工程学院 2013 年 6 月目 录第一章 绪 论41.1 课题背景和研究意义51.1.1 课题背景51.1.2 研究意义51.2 国内外发展状况61.3 论文主要工作7第二章 开发平台的搭建及相关技术介绍82.1 开发平台的搭建82.2 Android平台及SDK介绍92.2.1 Android平台的架构92.2.2 Android应用程序的构成102.3 Eclipse简介112.4 SQLite数据库11第三章 系统分析123.1 可行性研究123.2 用户需求分析133.3 系统需求分析133.3.1 系统功能需求133.3.2 系统目标143.4 流程分析143.5 分析建模143.5.1 建立实体-联系图143.5.2 系统功能流程图17第四章 概要设计184.1 数据库设计184.2 系统功能模块设计20第五章 详细设计215.1 学生登录注册功能模块225.2 学生个人信息功能模块235.3 选课功能模块235.4 课程作业布置功能模块245.5 留言板信息功能模块24第六章 运行测试256.1 学生登录注册功能模块256.2 学生个人信息功能模块286.3 选课功能模块286.4 课程信息查阅功能模块296.5 课程作业布置功能模块306.6 留言板信息功能模块31第七章 结束语31致 谢32参考文献32基于Android教学平台下学生客户端设计与实现摘要 如今我们生活在一个快速发展的数字化时代,随着科技的进步和发展,越来越多的人习惯于信息时代的生活。移动教学、移动办公逐渐从概念领域向现实领域所转变,信息数据随手可及。随着移动互联网的发展,智能手机已经成为最重要的终端设备之一,由此产生了以Android平台为代表的新一代操作系统。 在这样的行业趋势下,建立基于Android系统的教学平台显得尤为重要。传统的网络教学管理系统是采取PC机通过局域网连接服务器端的形式进行操作,缺少对移动终端的支持,学生和教师无法随时随地使用教学系统,给教学过程中师生之间的互动带来了一定的阻碍,往往会因为教学沟通上的问题影响到正常的教学计划和教学质量。 所以基于Android系统快速发展、人们的生活趋于移动互联网化和师生之间缺少实时交流等等这样的现状,本课题的研究是极具意义的,设计和实现基于Android教学平台下的学生客户端,可以简化一定的教学工作,提高师生之间沟通以及学生学习的效率,改善教学质量,方便师生完成教学和学习任务。 本软件系统采用目前广泛使用的Java开发语言,基于Android 2.3平台来进行开发,在Windows XP系统下,采用Eclipse开发工具进行开发和使用SQLite数据库存储数据;遵循软件工程的设计步骤:需求分析、概要设计、详细设计、程序编码、软件测试等进行设计和实现整个开发流程。关键词:Android Eclipse 智能手机 教学平台 学生客户端Design and implementation of student client based on Android teaching platformAbstract: Now we live in a fast-growing digital age, with the progress and development of science and technology, more and more people get used to the life of the information age. Mobile teaching, mobile office areas gradually from concept to reality transition areas, and everywhere you can get information about the data. With the development of mobile Internet, smart phones have become one of the most important terminal equipment, resulting in the Android platform as the representative of the new generation of operating system.In this industry trend, it is particularly important to build Android-based teaching platform. Traditional network teaching management system is to take the PC through the local area network (LAN) connection on the server side form, it is lack of support for mobile terminals. Students and teachers can't use teaching system anytime and anywhere, it brings interaction between teachers and students on teaching process of obstacles, often because of communication problems affect the normal teaching plan and teaching quality.Based on rapid development of Android system, and People's lives tend to mobile Internet technology, and lack of communication between teachers and students. This topic research is very meaningful. Design and implementation based on Android platform of teaching students the client, can simplify the job of teaching, improve the efficiency of communication between teachers and students, students' learning, improve teaching quality, teachers for teaching and learning tasks.This software system uses the current widespread use of the Java development language, based on the Android 2.3 platform to develop, under the Windows XP system, use Eclipse development tools to develop and SQLite database to store data. Follow the design of the software engineering steps: requirement analysis, outline design, detailed design, program coding, software testing and so on to carry on the design and realization of the entire development process.Key words: Android Eclipse Smartphone Teaching Platform Student Clients第一章 绪 论1.1 课题背景和研究意义1.1.1 课题背景基于Android的快速发展和人们的生活逐渐趋于移动互联网化,移动教学、移动办公逐渐从概念领域向现实领域所转变。传统网络教学管理系统是采取PC机通过局域网连接服务器端的形式进行操作,缺少对移动端的支持,学生无法随时随地使用该系统,给教学过程中师生之间的互动带来了一定的阻碍,往往会因为教学沟通上的问题影响到正常的教学计划和教学质量。设计和实现基于Android教学平台下的学生客户端,为广大师生的工作和学习提供了便利,不再受传统交流方式的时间限制和空间限制,该软件系统的实现可以简化一定的教学工作,提高师生之间沟通以及学生学习的效率,改善教学质量,方便师生完成教学、学习和管理任务。同时,我们可以发现智能手机是指像电脑一样可以通过下载安装软件来拓展手机出厂的基本功能的手机,一般具有智能手机操作系统。相对于非智能手机,无论在功能还是处理速度上都有很大的提高。目前全球市场份额排名前几名的智能手机操作系统有iPhoneOS、Symbian、BlackBerryOS、Windows Mobile和Android。其中Android最年轻,市场份额正迅速增加,Android作为一个通用的手机操作系统,任何一家厂商均可使用,并采用了联盟的方式,几乎世界上所有的大厂商都加入了谷歌手机开放联盟,如国外的知名企业:包括Google、HTC(宏达电)、T-Mobile、高通、摩托罗拉、三星、LG等,国内的知名企:中国移动、联通、电信和华为、联想等都加入到这个大家族中。显然,这些大公司的加入有助于自己推出Android相关的产品,同时也增强了Android的生命力。1.1.2 研究意义我们生活在这样一个快速发展的数字化时代,随着科技的进步和发展,越来越多的人习惯于信息时代的生活,信息数据随手可及。手机不再仅仅是用来实现打电话和发短信等基本的功能,基于智能手机强大的信息处理能力、可扩展能力和3G网络高速数据传输,越来越多的功能和业务将被开发出来并大规模的应用。移动互联网的飞速发展和移动平台的不断壮大,为教学管理系统的改善提供了崭新的渠道和手段,正因为智能手机显然已经成为最重要的终端设备之一,具有独立的操作系统,可以自由安装、卸载软件,具有强大的计算和存储能力,可以通过移动通信网络来实现无线网络接入,为随时随地使用教学管理系统客户端提供了条件,而且由此产生的以Android平台为代表的新一代操作系统发展迅猛,所以基于Android平台的教学管理系统自然而然地应运而生是这个时代的趋势。自2007年11月5日,Google发布了基于Linux平台的开源移动手机平台Android以来,Android根据其开放性、挣脱运营商的束缚、丰富的硬件选择、不受任何限制的开发商、无缝结合的Google应用等特色,在智能手机领域扮演着越来越重要的角色,采用Android操作系统的手机也越来越受到人们的青睐。智能手机已经与现代人的生活方式紧紧地结合在一起,成了人们出门时仅次于钥匙和钱包最普遍需要携带的个人用品之一。对于活跃的大学生而言,智能手机更是必不可少的随身物品,手机客户端这种形式的教学管理系统,更加能贴近大学生的生活习惯,并且很大程度上适合大学生这个年龄段的习性,从而催生了集移动通信技术、互联网技术和现代化教育于一身的移动教学管理系统,该软件系统的实现对高校中整体教学管理的效率和成效都有很大的促进作用。1.2 国内外发展状况目前国内大多数高校都是采用传统的B/S结构的教学管理系统,采取PC机通过局域网连接服务器的形式来进行操作,缺少对移动终端的支持。国内基于Android平台的教学管理系统还不够成熟,但随着移动互联网的发展、我国高等教育与教学的改革,数字信息化的教学管理系统在高校日趋广泛,智能终端强大的便携性和应用处理能力都将为移动教学管理系统的建成和成熟提供有力的技术支持。这样的趋势下,在可见的将来,移动教学管理平台将会成为高校教学教育中必不可少的助手。作为移动教学管理系统中学生客户端的平台Google Android,是一个崭新的并发展迅猛的手机操作系统平台,有以Google为首的40多家开放手机联盟(OHA)支持,使用开放源码策略,平台全部以开源的项目来构建,是完全开放的平台。一个共通的平台,使得智能手机的应用如同个人电脑的应用般多元化发展,考虑Android成熟的手机宽带上网功能以及整合Google网络服务的优势,其前景被广泛看好,而一些研究机构也着手于这方面的发展,将其应用在教育和学习之中。由于Android系统完全开放,其应用程序开发容易上手,是相当理想的开发和学习平台。上海电视大学通过实施“移动校园”计划,该校的8万多学生成为国内首批手机远程教育的受益者。该计划中有一个功能是:实时通知。该功能主要指班主任和学生保持联系。由于电视大学的特殊性,有时候学生不需要到学校里上课,班主任借助移动校园平台对学生发布各种通知。如何时交作业、何时考试、调整上课时间地点等。在这样的基础上,我们可以发现手机成为教育教学的一个环节是完全可行的。瑞典的爱立信等几家公司联合发起了名为“Telenor WAP Mobile Learning”研究项目,其主要研究内容就是使用移动手机的WAP功能为传统的课堂教学服务。研究报告中的课程是“3G应用导论”内容主要是UMTS及其未来应用,参加课程的学员每人拥有一部带有WAP功能的移动手机,该WAP学习平台具有预订服务、测试、课程评估功能,并且设计有意见箱功能。进行该课程学习后,学生者认为移动手机是他们学习该课程一种积极有效的辅助手段,最令他们欣赏的是离开课堂后可以随时随地对知识点进行有效的复习,作业和测试的结果可以及时反馈。从国内外各个研究中心及高校对移动教学、教育系统的重视程度来看,而且配合上智能手机的快速发展和Google Android平台的日渐成熟,无不表明了移动学习、移动教学管理系统将会成为国内外教学研究的热点。1.3 论文主要工作本论文对实现基于Android教学平台学生客户端的设计和实现进行了详细的阐述,本论文中软件系统的设计基于C/S结构,采用目前广泛使用的Java开发语言,基于Android平台来进行开发,在Windows XP系统下,采用Eclipse开发工具进行开发和SQLite数据库存储数据。并通过遵循软件工程的设计方法,完成需求分析,概要设计,详细设计以及测试的整个开发流程,保证系统的正常运行,并且界面与用户交互友好。对移动应用平台Android作了深入研究,分析了基于该平台开发教学中学生客户端具备技术上的可行性,对收集及设计的功能上的需求进行了分类和归纳,在此基础上设计了数据库的内容,然后详细设计并进行代码编写来实现功能,并在模拟环境下验证了该学生客户端的可用性。1.4 论文结构安排第一章主要对课题的背景、研究意义以及发展状况等进行了阐述,并讲述了本论文的主要工作以及论文的结构安排。第二章主要介绍了在设计过程中所运用到的开发平台和相关技术。第三章主要对系统进行初步的分析,包括可行性研究和需求分析等。第四章主要对整个系统的结构进行概要设计以及对数据库的设计进行说明。第五章主要对整个系统的各个功能模块的实现进行详细设计。第六章主要对整个系统的运行进行测试并对功能结果进行展示。第七章主要对整个设计过程和成果进行总结,并对课题进行进一步的展望。第二章 开发平台的搭建及相关技术介绍2.1 开发平台的搭建1、安装JDK 1.6:JDK(Java开发包:Java Development Kit)是一切Java应用程序的基础,该版本是较高版本,具有很多低版本所不具备的特性。Windows XP系统下,直接运行其.exe文件安装,安装完成后,在“我的电脑->属性->高级->环境变量->系统变量”中配置好Java_Home、classpath、path值。安装完成之后,可以检查JDK是否安装成功。打开cmd窗口,输入java version 查看JDK的版本信息,若出现如图1所示的信息,表示安装成功。图1 JDK安装成功的版本信息图2、安装Eclipse:Eclipse集成开发环境(IDE)不需要安装即可执行,下载完成后直接解压即可,第一次启动运行时会提示配置默认的工作空间,本论文中选择的路径是D:workspace。3、安装Android SDK:首先从官方网站Android Developer上下载Android在Windows平台上的SDK(软件开发包),解压后点击文件夹中的SDK Manager.exe即可下载所需要的SDK版本。然后就要将Android SDK路径下tools文件夹的绝对路径配置到环境变量的系统变量path中。4、安装Android开发工具扩展包ADT:启动Eclipse,选择菜单栏中的“Help->Software Updates”选项,选择“Available Software”标签,单击“Add Site”按钮,在输入框中的“Location”字段中输入网址(URL)“http:/dl- Tools后可以看到有Android DDMS和Android Development Tools,全部勾选,一步步next之后install安装成功后,提示重启Eclipse。5、配置Android SDK路径:重启Eclipse后,点击菜单“Window->Preference”,打开配置窗口,在左边面板中选择Android,在右边点击Browse选择Android SDK的路径,点击Apply、OK配置完成。6、创建AVD:为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse菜单栏中选择“Window->Android Virtual Devices Manager”, 点击右侧的New,填入或选择相关信息,点击Create AVD即可完成创建AVD。至此Android开发环境搭建完成。2.2 Android平台及SDK介绍 Android是Google公司推出的手机开放平台,和iPhone相似,Android使用了WebKit浏览器引擎,具有触摸屏、高级图形显示和上网功能,在手机上可以实现查看网站搜索、电子邮件、观看视频等功能,并且Android是一个对第三方软件完全开放的平台,开发者具有更大更广的自由度。SDK是指软件开发包(Software Developer Kit),是被软件开发工程师用来为特定软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具集合,Android SDK即为Android开发中的软件开发工具包。2.2.1 Android平台的架构Android平台自底向上由以下四个层次组成:Linux内核层、运行时库和其他库层、应用框架层、应用程序层。如图2所示。1、Linux内核层:Android底层是一个基于Linux内核来开发的独立操作系统,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件与其它的软件层之间。需要注意的是,这个内核操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准的Linux系统有所不同的。它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。YAFFS2(Yet Another Flash File System)文件系统是一个开源的专门为NAND Flash设计的文件系统,具有很好的可移植性,同时也是一种日志型文件系统。2、Android运行时库和其他库层:Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机,同时Android提供了丰富的库类支持且大部分为开源代码,如采用的数据库为SQLite。3、应用框架层:在应用框架层Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件。4、应用程序层:Android本身会附带一些核心的应用程序,包括e-mail客户端、短信程序、日历、地图、浏览器、通讯录等,目前所有的应用程序都是由Java语言开发的。图2 Android平台架构图2.2.2 Android应用程序的构成对于一个Android应用程序来说,是由四种构造块组织而成:Activity、Intent Receiver、Service、Content Provider。但是,并不是每一个Android应用程序都需要这四种构造块,以下是对四种构造块的一些说明:1、Activity:是Android构造块中最基本的一种。一个activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。Android使用了Intent这个特殊类实现在屏幕与屏幕之间移动。2、Intent Receiver:通过Intent Receiver实现应用能够对一个外部的事件做出响应,Intent Receiver在AndroidManifest.xml中注册,但也可以在代码中使用Context.registerReceiver()进行注册。当一个intent receiver被触发时,应用不必对请求调用intent receiver,系统会在需要的时候启动你的应用。3、Service:一个Service是一段长生命周期的,没有用户界面的程序。例如媒体播放器这个activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。4、Content Provider:应用程序能够将它们的数据保存到文件中、SQL数据库中,甚至是任何有效的设备中。Content Provider实现了应用数据与其它的应用的共享。一个Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。2.3 Eclipse简介Eclipse 是一个跨平台的、开放源代码的、基于Java 的可扩展自由集成开发软件,其支持众多的开发语言,而不仅仅是Java。Eclipse只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。只要安装相应语言的插件,Eclipse就可以支持该种语言的开发。目前,Eclipse已经可以支持C/C+、 COBOL、PHP、Perl、Python等多种语言。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。通过配置Android必要的开发组件和插件,使用Java编程语言,Eclipse将完整支持Android程序的开发。2.4 SQLite数据库SQLite是一个开源的嵌入式关系数据库,2000年由D.Richard Hipp发布。自几十年前出现的商业应用程序以来,数据库就成为了应用程序的主要组成部分,同时数据库管理系统也变得非常庞大和复杂,并占用了相当多的系统资源。随着嵌入式应用程序的大量出现,一种新型的轻量级数据库SQLite也随之产生。轻型的数据库SQLite是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。Android支持高效、快速的数据存储方式,应用程序可以使用适合的方式对数据进程保存和访问,其中提供了两个类,用于简化SQLite数据库的操作。第一个是SQLiteOp-enHelper,该类主要用于自动完成打开、关闭指定的数据库,当数据库不存在的情况下还可以创建数据库,并根据需要更新数据库。第二个是SQLiteDatabase类,该类只要用于查询数据库,向数据库中新建数据项、删除数据项。第三章 系统分析3.1 可行性研究可行性研究是为了弄清楚系统开发的项目是不是可以实现、是不是值得研究的过程,进行可执行性研究是非常必要且十分重要的,因为这是一个简化系统分析和系统设计的过程。如今智能手机等移动设备高速智能化,移动网络通信正在以前所未有的速度走进人们的生活、工作和学习,突破了时空的界限,从而提高了工作、学习的效率。教学管理系统是基于Android平台进行开发的,可以提高师生之间的沟通效率,并且很大程度上帮助师生解决了教学和学习上的问题。根据软件领域的可行性研究,主要考虑以下四点:1、技术可行性:开发平台Android是一个开源的平台,手机客户端采用Eclipse配合Android SDK来实现系统功能,开发过程中可以通过网络获取绝大部分的开源代码,并且Google提供了一套成熟又全面的API,所以手机客户端在技术上是可行的。2、数据可行性:本软件系统是教学管理系统的手机客户端,相关的学生、教师、课程、作业信息数据,可以参考现有相关的基于B/C结构的教学管理系统,来对数据库进行设计和构建。3、经济可行性:从成本方面来看,本系统的实现已拥有计算机和网络硬件等资源,而且Android是一个开放的平台,Android SDK、Eclipse和JDK都是可以免费下载的,成本不高;从效益方面来看,本毕业设计的客户端的设计和实现,是为了给教学管理带来便利,暂时还不会带来经济收益,但在经过一定程度上的完善,可以考虑在社会市场上进行推广。4、法律可行性:Android平台是开放的平台,代码都是开源的,并且本软件系统的实现是以作为毕业设计而非以盈利为目的,与商业无关,且是自主开发设计,因此不会构成侵权或其他责任问题,在法律上是可行的。经过以上几点的可行性分析,可以确定本软件系统能够进行开发。3.2 用户需求分析 现在大部分高校学生都拥有智能手机,智能手机已经成了学生在生活和学习中必不可少的日常用品。本论文研究的基于Android平台教学管理系统的学生客户端,主要面向的使用对象就是在校大学生。每位学生都拥有教学管理系统的个人帐号学生本人的学号和设置的密码,本软件系统对于学生的学习及生活非常重要,学生可以根据需求查询自己的个人信息、进行选课、查看课程信息和课程计划等,并且在和相关任课教师沟通关于课程计划、课程作业等方面都带来了很大的便利,此外学生还可以给任课教师留言,说明自己的疑惑或相关的问题,进行实时沟通。3.3 系统需求分析3.3.1 系统功能需求本课题的设计目标是在Android平台上实现教学管理系统的学生客户端,根据学生在日常学习中的相关需求来设计该教学管理系统的功能:(1)首先学生可以通过该系统实现:在没有账号的情况下可以注册并输入自己的个人信息、在有账号的情况下正确输入用户名和密码之后可以进行登录;(2)成功登录之后可以查看相关信息:查看个人信息、对教师发布的课程进行选课、查看已选课程的课程信息和课程计划;(3)查看相关任课老师布置的作业内容,确认提交作业,并查看作业的批改情况;(4)完成留言板功能,实现学生和任课教师之间的互动沟通,打破时间和空间的局限性。(5)要求该系统拥有美观的UI界面。3.3.2 系统目标(1)实现系统结构清晰流畅,学生可以很容易找到自己想找的功能,方便学生使用;(2)实现系统功能明确完善,集合学生的需求来设计相关功能,并进一步改进;(3)实现系统良好的可扩展性和可维护性;(4)实现系统可以根据学生的需求,添加或修改相关的功能。3.4 流程分析当学生运行系统程序时,会出现登陆界面,在拥有账号的情况下,可以直接登陆,在没有账号的情况下,可以先进行账号注册,登陆成功之后,可以进行个人信息、课程信息、作业内容等信息的查询,以及选课、确认提交作业、给任课教师留言等相关的操作。教学管理系统学生客户端的功能模块流程图如图3所示:教学管理系统学生客户端登录功能模块学生信息模块课程信息模块作业布置模块留言板模块登录功能注册功能查看信息修改信息查看信息查看作业确认提交添加信息修改信息删除信息进行选课图3 教学管理系统学生客户端功能模块图3.5 分析建模3.5.1 建立实体-联系图为了把学生的数据要求清楚、准确地描述出来,通过建立一个概念性的数据模型(也称之为信息模型)来实现。概念性数据模型是一种面向问题的数据模型,是按照学生的需求来建立的,描述了从学生角度看到的数据,反映了学生在使用系统时的现实环境。通过使用实体-联系图(ER图)来建立数据模型,包含了实体(即数据对象)、关系和属性3种基本成分,我们通常就是用实体、联系和属性这3个概念来理解现实问题的,因此,ER图比较接近人们的习惯思维方式,便于理解。用来描述现实世界的概念模型,在数据库系统概论中属于概念设计阶段,可以帮助开发者更加合理地去定制数据库内容,使得在开发过程中对数据库的各种操作(查询、添加、修改、删除等)变得更加容易。教学管理系统学生客户端的实体-联系图(ER图)的实体主要包括学生、教师、课程、作业、留言板实体。其中,由于每个学生可以选择很多课程,而每个课程可以有很多学生选,所以两者之间是多对多的关系;课程和作业之间是一对多的关系;每个学生可以完成多个作业,而每个作业可以能由多位学生提交,所以学生和作业之间是多对多的关系;每个学生可以留多条留言,而每条留言只能由一个学生来添加,所以学生和留言板之间是一对多的关系;每位教师可以教多门课程,每门课程由一位老师来任教,所以教师和课程之间是一对多的关系;每位教师可以查看多条留言,而每条留言由一位教师来查看,所以教师和留言板之间是一对多的关系;每位教师可以布置多个作业,每个作业只能由一位教师来布置,所以教师和作业之间是一对多的关系。教学管理系统的ER图如图4所示:mn学生教师课程作业留言板有教布置选查看提交留言nmnnm1n1111n图4 教学管理系统ER图部分实体图如下:(1)学生实体图包括七个属性,其中包括姓名、学号、密码、性别、班级、入学时间和出生日期,学号和密码两个属性作为身份验证,在登录功能模块中使用。学生实体图如图5所示。学生姓名学号密码性别班级入学时间出生日期图5 学生实体图(2)课程实体图包括五个属性,其中包括课程号、课程名、任课教师、课程信息和课程计划。课程实体图如图6所示。课程课程号课程名课程计划课程信息任课教师图6 课程实体图(3)作业实体图包括五个属性,其中包括课程号、作业号、学生号、作业内容和作业评分。作业实体图如图7所示。作业学生号作业号课程号作业评分作业内容图7 作业实体图(4)留言板实体图包括四个属性,其中包括课程号、留言号、留言者和留言内容。留言板实体图如图8所示。留言板留言号课程号留言者留言内容图8 留言板实体图(5)教师实体图包括七个属性,其中包括教师名、工号、密码、性别、职称、教学起始时间和出生日期。教师实体主要应用于教学管理系统的教师客户端,学生客户端不涉及到教师实体。教师实体图如图9所示。教师姓名工号密码性别职称教学起始时间出生日期图9 教师实体图3.5.2 系统功能流程图使用教学管理系统学生客户端的流程:首先是系统的主界面,在学生的账号存在的情况下可以直接输入账号(学号和密码)登录系统,从而进入主界面,而在学生还没有账号的情况下,要先进行账号的注册,输入自己的个人信息并设置密码,返回后再登录系统。成功登录系统后,可以根据所需求的功能,对各个功能模块进行选择。(1)如果是想查阅自己的个人信息,可以选择学生信息模块,若有错误信息可以对其进行修改并保存信息;(2)在没有已选课程的情况下,学生可以对教师发布的课程进行选课;(3)如果想是了解已选的相关课程信息和课程计划,可以选择课程信息模块,查阅自己需要的内容信息;(4)如果是需要查看已选课程中任课教师布置的作业内容,选择新作业子模块进行查阅;如果是需要确认是否提交了任课教师布置的作业,以及查看提交后任课教师是否批阅了作业,作业的评分又是多少,可以选择已交作业子模块进行查阅;(5)如果对任课教师有相关的留言需要反馈,可以选择留言板模块,对于相关不会的作业问题,或是课堂上不懂的知识点,或是想咨询任课教师是否有时间进行面对面交流等等,都可以在留言板模块对任课教师进行留言。教学管理系统功能流程图如图10所示:开始是否有账号?注册账号输入相关信息保存返回输入学号、密码正确?选择课程相关模块进行信息查看和操作退出结束