基于Android的手机App选课系统的设计与应用_第1页
基于Android的手机App选课系统的设计与应用_第2页
基于Android的手机App选课系统的设计与应用_第3页
基于Android的手机App选课系统的设计与应用_第4页
基于Android的手机App选课系统的设计与应用_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要随着互联网通信技术的推广,智能手机已成人们生活中不可缺少的一部分。因此为智能手机终端添加更多内容丰富的应用功能提供了良好的平台。本系统是基于谷歌公司新推出的一款Linux平台的开源手机操作系统Android系统,利用Java语言,Eclipse为开发工具,通过对平台的系统架构和应用程序进行学习,设计出一款基于android的在线选课系统。本系统包括存储,删除,修改,满足了用户对在线选课的需求。此在线选课的设计遵循标准的开发流程,首先进行需求分析,然后确定在线选课的功能,再编写程序的代码,调试程序,运行程序,并对程序进行优化完善。本软件利用Android提供的各种组件对界面进行设计,能够很好

2、地支持用户体验。关键词:Android;手机;在线选课; IAbstractWith the promotion of Internet communication technology, smart phones have become an integral part of peoples lives. Therefore, it provides a good platform for smart phones to add more rich applications. This system is open source mobile phone operating system A

3、ndroid Google Corporation launched a new system based on Linux platform, using Java language, Eclipse development tools, learning through the system architecture and the application of the platform, designed a Android based online course system. The system includes storage, deletion, modification, t

4、o meet the users demand for online reading class online. This online course design follows the standard development process, first needs analysis, and then determine the online course function, then write the code debugging procedures, operating procedures, and procedures to optimize the sound. This

5、 software uses the Android provides each kind of component, carries on the design to the interface, can support the user experience very well.Key words: Android; mobile phone;online course selection;II目录摘要IAbstractII1绪论11.1课题研究的目的及意义11.2开发背景11.3研究现状11.4开发目标21.5开发环境22需求分析32.1系统可行性分析32.1.1技术可行性32.1.2经

6、济可行性32.1.3操作可行性32.1.4法律可行性32.2角色介绍32.2.1系统用户用例图42.2.2用例描述52.2.3系统的活动图72.2.4系统的部署图82.3功能模块描述92.3.1学生功能模块92.3.2教师功能模块92.3.3管理员模块102.4系统性能安全102.5性能需求分析113概要设计123.1任务概述123.1.1目标123.1.2需求规定123.2总体设计123.2.1处理流程123.2.2人工处理过程133.2.3系统中类图133.2.4系统中的时序图143.3接口设计193.3.1外部接口193.3.2内部接口193.4运行设计193.4.1运行模块的组合193

7、.4.2运行控制193.4.3运行时间193.5出错处理设计193.5.1出错信息193.5.2补救措施194数据库设计204.1数据分析204.2数据库的概念结构设计204.3数据模型的优化224.4 数据的物理结构设计255系统详细设计265.1设计原则265.2界面设计265.3系统功能模块设计285.3.1用户模块285.3.2登录界面315.3.3学生操作课程325.3.4学生浏览成绩335.3.5学生浏览课程346系统测试366.1运行366.2测试366.2.1测试的目的366.2.2测试的准则366.2.3测试的方法366.2.4测试用例37参考文献40结束语41致谢42附录4

8、3V1绪论1.1课题研究的目的及意义随着高等学校的教育与教学的改革,数字信息化的教学管理系统已普遍出现在高校。高等学校的学年制管理向学分制度管理体制的发展,使得网上选课系统在高校中的广泛的应用。传统的选课系统是以固定的形式访问互联网。虽然,这样的选课系统能满足大部分学生的选课需要。但是,在选课的高峰期,学校的服务器会因访问量过大而暂时瘫痪,导致学生不能立即进入系统进行选课。有时候为了选择自己喜欢的课程提前几个小时在电脑前面等候,不能做到随时随地的选课。而在当今社会,而Android手机也是人们生活中必不可少的。基于Android的手机App选课系统的用户无论是在任何地方。只要通过该移动客户端的

9、Android手机就能随时随地的登录系统进行选课。从而使用户远离电脑的束缚,在学校集中选课的时间可以不用去机房排队等候选课,大大的提高了学生的选课效率。这也给学生的带来便利。1.2开发背景由于现在大多数的高校的选课系统都是采用的浏览器/服务器(B/S)模式,这种模式相对最初的人工课程管理方便了许多,不在需要大量的人力,学生选课也不在排队拥挤,也不会因为网络瘫痪而对学校的服务器各种抱怨和吐槽,更不会因为选课而耽误正常的教学任务。B/S模式的选课系统只需要一台能访问网络的浏览器即可。只要基于Android的手机App选课系统服务器端提供选课功能、用户信息管理、考试成绩查询、 查询课程、成绩修改、选

10、课信息的通知功能等模块,在客户端的界面窗口就能看到相应的功能模块。传统的互联网的选课系统也存在很多不足,比如要进行选课操作时,就必须坐在接入网络的电脑前;而且课程开设的通知等也要通过老师通知才能知道,对于在上课的同学想要选择自己喜欢的课程,往往就带来了诸多不便。1.3研究现状智能手机已成人们生活中不可缺少的一部分,手机操作系统市场受终端厂商的参与力度、应用丰富程度、电信运营商支持和全球3G、4G网络普及所激发的用户对移动数据业务的影响。Android因为其便捷携带受到许多的商家的热烈欢迎。在未来一段时间内智能手机操作系统是炽手可热的阶段。基于Android的手机App选课系统未来会在高校选课应

11、用中有广阔的市场前景,良好的用户界面及人性化的操作会受到许多人的追捧,也会在未来的某个时候占据主导地位。1.4开发目标此次开发手机端学生的选课,提高了学生选课便捷,基于Android的手机App选课系统就能随时随地的登录系统进行选课。从而使用户远离电脑的束缚,在学校集中选课的时间可以不用去机房排队等候选课,大大的提高了学生的选课效率。这也给学生的带来便利。1)方便在学生和老师随时进行操作。2)方便学生和老师网上进行选课以及选课状态的查询。3)方便管理员高效地对选课进行各种操作。1.5开发环境系统的环境配置:Win7+mysql+Eclipse+ApacheTomcat 7.0.77该系统的所有

12、源代码在此环境下调试通过。本文主要分四个章节对整个系统进行详细的介绍。在第一个章节中,主要对该系统研究的目的和意义、开发背景、开发内容、开发目标以及开发环境进行介绍。第二章主要对开发该系统的可行性进行了分析,对整个系统的需求进行了描述,得到了整个系统的架构。第三章的主要内容是对数据库进行详细的设计。列举出与系统相关的实体和E-R图,得到了建立数据库所必须的数据表,以及对数据库数据的完整性和安全性进行了分析。第四章主要介绍了该系统的功能实现,列举了与部分功能相关联的实现界面。2需求分析基于Android的手机App选课系统要实现的目标是有效提高选课的便捷性,使教师和学生更加便捷选课在网上选课,查

13、看课程以及成绩,同时在很大程度上减少学生选课出现的各种问题,使我们的选课系统管理更加合理化、规范化。需求分析是系统设计的基础,也是整个系统设计能否成功的关键。2.1系统可行性分析每一个系统的开发都会有一定的资源的限制,所以在开发系统之前都要对这个系统进行可行性分析,要在较很短的时间内,以最小的代价,确定这个系统是否能够实现。这样可以减少人力、财力、物力的浪费并且还可以降低开发的风险。2.1.1技术可行性从基于Android的手机App选课系统的整体上看,其核心是数据库的应用。基本操作是对数据库中的记录进行增加、删除、查找和编辑。所以从数据库的方面来不会存在太大的技术问题。2.1.2经济可行性基

14、于Android的手机App选课系统对计算机的配要求不是很高,高校实验室里的电脑基本上就可以满足该配置。开发该系统以后,在很大程度上节省了时间,提高了工作效率,使学生和教师更加便捷,设计该系统在很大程度上节省所需要的成本,所以具有经济可行性。2.1.3操作可行性基于Android的手机App选课系统操作非常简单,只需要会简单地操作计算机系统。系统的界面简洁,进入界面进行操作会有相应的提示信息,所以具有操作可行性。2.1.4法律可行性基于Android的手机App选课系统是自行开发的选课系统所使用的相关软件都是开源的,对系统来说有很大的实用性。2.2角色介绍所有角色及操作介绍如下:学生:学生可以

15、进行注册、登陆、修改自己的密码、查询相关课程的安排、并且进行选课、可以查询选课成绩。教师:教师可以进行登陆、修改自己的密码、查询相关课程、进行学生选课成绩的修改和添加以及选课课程的时间,教室的安排。管理员:管理员可以进行登陆、修改自己的密码、管理员可以创建教师用户,并且管理和发布系统公告。2.2.1系统用户用例图该系统各用户的用例图:图2.1学生用例图图2.2教师用例图图2.3管理员用例图2.2.2用例描述1)用户登录(1)用例名称:中文名称:用户登录功能:验证用户的身份。(2)简要说明:用户登录用例的功能主要是用于确保用户在提供正确的用户账号、密码等信息之后,可以进一步使用该系统。(3)事件

16、基本流:1 用户请求使用该系统。2 系统显示用户登录信息输入界面。3 用户输入登录名,密码并确认操作。4 系统验证用户登录信息,如果用户输入的登录信息错误,系统显示提醒信息,并转向基本流2,如果用户输入的登录信息正确,则用户进入系统操作主界面。 2)学生注册(1)用例名称:中文名称:学生注册功能:学生新用户进行注册(2)简要说明:学生注册用例的功能主要是用于新用户进行注册以后才能登录并使用该系统。(3)事件基本流:1 学生请求注册。2 学生点击注册进入注册信息界面。3 学生进入注册信息界面,确认操作。4 系统验证用户注册信息,如果学生注册信息验证没有通过,系统显示提醒已经存在的用户信息,并转向

17、基本流2,如果注册通过,该用户信息注册成功。 3)学生选课(1)用例名称:中文名称:学生选课功能:选课学生进行选课(2)简要说明:学生选课用例的功能主要是学生进行选课。(3)事件基本流:1 系统安排学生的选课的课程2 学生请求选课。3 单击课程信息选择选课子菜单进入选课界面。4 如果系统安排了学生所有要选择的课程,则学生可以选择自己要选择的课程,点击选择则可以选课成功。系统中没有学生要选择的课程,学生不进行选课。4)学生查看选课(1)用例名称:则不会显示有课程要选。中文名称:查看已选课程功能:学生对选课进行查询(2)简要说明:学生查看选课用例的功能主要是学生要确认自己是否已经选课成功。(3)事

18、件基本流:1 学生请求查看选课2 单击选课查询,进入查询选课页面。3 选课成功则显示该门课程,选课未成功则不能显示。5)用户修改密码 (1)用例名称: 中文名称:修改用户密码 功能:用户修改自己的密码,以确保系统的安全性。(2)简要说明: 用户修改密码用例的功能主要是允许用户修改自己的密码。 (3) 事件基本流: 1 用户请求修改自己的密码。 2 系统显示密码修改界面。 3 用户输入旧密码、新密码。 4 系统对旧密码进行验证,再次要求用户输入新密码的确认密码。5 用户输入新密码确认密码。 6 系统比较新密码和新密码确认密码,根据比较结果执行下一步相应操作。新密码和新密码确认密码相同,继续执行下

19、一步骤。新密码和新密码确认密码不相同,返回基本流3。7 系统修改用户密码,并提醒用户密码修改已成功。8 用户要求结束用户密码修改任务。 9 系统结束用户密码修改界面的显示。 2.2.3系统的活动图活动图是基于对象的状态变迁所绘制的视图。它的主线是时间。为了满足这个活动,类的一些基本必要方法就可以初步确定。1. 学生对象活动图图2.4学生对象活动图2. 学生选课活动图图2.5学生选课活动图2.2.4系统的部署图部署图描述了一个运行时硬件的结点,以及在这些节点上运行的软件组件的静态视图。部署图显示了系统的硬件,安装在硬件上的软件,以及用于可连接异构的机器之间的中间件。创建一个部署模型的目的包括:图

20、2.6系统部署图在选课系统app中,系统包括四种节点,分别是数据库节点,由一台数据库服务器负责数据的存储,处理等;系统服务器节点,用于处理系统的操作。客户端节点:用于用户通过客户端登录系统进行操作。打印机节点:用于打印数据报表。2.3功能模块描述该系统的主要功能分为三个模块,分别为学生功能模块、教师功能模块、管理员功能模块。2.3.1学生功能模块学生首先进行注册,输入正确的用户名和密码,才能成功登陆。以学生身份登陆后,可以申请选课,浏览课程的时间、地址、和课程功能,也可以查询选课成绩,查询申请选课的状态。分为三个子模块:图2.7学生功能模块图1)成绩:学生根据自己所选的的课程去查询自己的成绩。

21、2)课程查询:学生可以查询选修课程的时间,地点,课程功能,对要选的课程做一些了解。 3)登录:学生首先进行注册,可以根据用户名进行登录,可以根据需要修改自己的密码。2.3.2 教师功能模块首先管理员要给老师创建用户名,老师以教师身份登陆。只有用户输入的用户名和密码正确,才能进入该系统,在系统内进行相关的操作。教师可以对管理员发布的授课通知进行选择,教师主要负责对学生选课成绩的添加和修改,以及对上课时间、地点安排和选修课程功能的添加,教师可以进行登录并且修改密码。分为三个子模块:课程信息管理、选课状态,登录信息模块:图2.8教师功能模块图2.3.3.管理员模块当用户输入的用户名和密码正确,才能进

22、入该系统,在系统内进行相关的操作。以管理员身份登陆后,进行发布选课通知,并且可以进行创建教师账户。主要分为三个模块。图2.9学生功能模块图2.4 系统性能安全 由于服务资源限制,该系统对用户的管理权限有着严格的控制。每个用户组的用户,在进行注册了以后才能登录。当用户进行登录时,如果用户信息和数据库的信息不匹配,则用户无法登录该系统。每个用户只有在前台登录以后,才能进行操作。没有注册和登录的用户,不能能浏览主页的公告信息不能进行深入的操作。每组用户都有明确的界定,同时也保证了普通用户无法对系统管理员、以及其他的用户信息进行操作,保证了用户信息的安全。当修改用户的密码时,只有用户输入原始密码,才可

23、以对密码进行更改。这样可以提高用户信息的安全性,与此同时也可以提高整个系统的安全性。2.5性能需求分析手机软件要有良好的用户体验,良好的用户体验体现在以下几个方面:1)界面友好用户界面要简洁直观,设计合理,方便用户操作,让用户操作起来比较舒服,并且UI视觉效应好。2)快速响应在用户的输入或请求,对于需要处理时间较长的部分,给予相应的提示。3概要设计本章节主要描述该系统的概要设计。主要说明整个系统的体系架构,以及架构中各个对象的操作顺序,为后期的工作提供依据。3.1任务概述该阶段将需求分析阶段得到的用例图转化为数据结构和软件结构。确定该系统有哪些功能模块组成、这些模块之间的信息传递以及确定各个模

24、块的接口以及人机界面。3.1.1目标这个阶段主要明确该系统的数据结构和软件结构。在后面的总体设计中还会给出各个接口的定义、各个模块的功能说明图以及数据结构的定义。3.1.2需求规定主要的输入及输出信息:学生基本信息、教师基本信息、管理员基本信息、系统公告信息、课程的基本信息.3.2总体设计3.2.1处理流程该系统根据不同的用户角色可分为三部分。分别为学生操作程序、教师操作程序、管理员操作程序.以下分别对该系统的这三大部分进行描述。1)学生操作学生操作主要的功能有登录注册、修改密码、课程查询、选课以及查看选课成绩。 (1) 用户进行登录,如果用户没有经过注册,则系统会提示用户进行注册。注册成功后

25、登录,如果用户输入的信息错误,则会提示错误信息。如果正确,则进入学生主页面。(2)在登录界面选择修改密码,则会进入修改密码的界面,输入用户名和新密码,点击确定,如果修改成功会提示成功信息,否则系统报错。(3)在学生主页面可以看到选修的课程,系统就会显示该课程的上课时间、地点以及该课程的功能。(4)在选课主页面选择课程警醒单击会弹出下拉菜单有3个选项选修和取消、查询成绩、查询信息。单击选查询成绩则会进入课程选修的界面,查看相关成绩。单击选修和取消则会进入课程选修的界面,查看相关信息,点击确定,如果选修成功会提示成功信息并提醒返回,否则系统报错。2)教师操作 教师操作主要的功能有登录、修改密码,上

26、课时间地点安排信息,修改成绩。(1) 用户进行登录,如果没有经过管理员创建的账户,则系统会提示用户密码错误。 管理员创建成功后登录,如果用户输入的信息错误,则会提示错误信息。如果正确,则进入教师主页面。 (2) 在登录页面选择修改密码,则会进入修改密码的界面,输入旧密码和新密码,点击确定,如果修改成功会提示成功信息,否则系统报错。 (3)在主页面选择接受管理员安排的授课信息,则会进入实验预约选修课程的界面,在选修的课程信息单击,出现下拉菜单出现各种选项输入输入相关信息,点击确定。如果课程的时间地点等信息体检成功后会提示成功信息并提醒返回查看信息,否则系统报错。3)管理员操作 管理员操作主要的功

27、能有登录、修改密码、发布选课信息通知、创建教师用户。(1) 用户进行登录,点击登录的按钮,进入登录页面,填入正确的用户名和密码,点击确定按钮,如果错误,系统会给出用户名或密码错误的提示信息,如果用户名和密码正确,则成功登入对应的主页面。 (2) 管理员修改密码。在登录主页面点击修改密码的按钮,就会进入修改密码的界面,填入旧密码,新密码,再确认一次密码,点击确定按钮。如果修改成功,会返回成功的提示信息,如果失败,系统会报错。 (3) 在管理员主页面点击发布通知按钮,将选修的名称和秀秀课程的功能进行发布提交给教师,由教师师确认是否授课。(4) 管理员可以进行教师用户名和密码的创建。3.2.2人工处

28、理过程系统公告的发布、教室的申请。3.2.3系统中类图类图是对象结构建模的一部分,类图描述了西同类中的静态结构。尽管其他模型可以帮助建模者发现被模拟对象的重要信息,但是它们不能揭示的信息必须求助于类图。类图模拟保证系统正常工作的所有必要资源。其他所有模拟如果想获取这些资源的信息,最终都必须访问类图。类图是代码生成的来源,也是逆向工程的的目标生成物。1)类图的生成图3.1类图2)系统中的其他类Datebase:数据库类3.2.4系统中的时序图1)学生选课时序图图3.2选课时序图2)学生退选时序图图3.3学生退选时序图3)学生查看已选课程时序图图3.4已选课程时序图4)学生查看成绩时序图 图3.5

29、查看成绩时序图5)教师同意授课时序图图3.6查看同意授课时序图6)教师取消授课时序图图3.7教师取消授课时序图7)教师修改成绩时序图 图3.8修改成绩时序图8)管理员创建教师用户时序图图3.9管理员创建教师用户时序图9)管理员发布课程信息通知时序图 图3.10管理员发布课程信息通知时序图 3.3接口设计3.3.1外部接口1)软件接口服务器可以使用Eclipse提供的对Mysql的接口,访问数据库,进行各种操作。服务器可以使用Mysql备份的命令,对数据库记录进行保存。2)硬件接口键盘和鼠标的输入,可以使用Eclipse的标准输入/输出,对其进行处理。打印机的链接和使用,可以使用Eclipse的

30、标准输入/输出,对其进行处理。3.3.2内部接口关于内部接口,各个模块之间可以采用函数调用、参数传递以及返回值的方式进行信息的传递。具体的参数结构将在下面的数据库设计中说明。对数据进行数据结构的封装,传递给相应的接口。3.4运行设计3.4.1运行模块的组合程序多窗口的运行环境为软件运行模块的组合。各个模块在软件运行过程中传递信息,进行数据的处理。3.4.2运行控制软件运行过程中,各个页面会向用户显示提示信息,让用户能快速、顺利的使用该系统。3.4.3运行时间在系统运行的时间内对系统作出的操作要快速的作出响应。3.5出错处理设计3.5.1出错信息1)输出出错提示信息。2)用户名或密码输入错误。3

31、.5.2补救措施1)重新启动系统。2)调试代码,修改数据库。3)中断系统工作。4)重新输入用户名或密码4数据库设计随着信息技术的高速发展,数据库已成为信息系统的核心。在数据库管理系(DBMS)的支持下,数据库管理系统对数据进行存储、检索、更新等操作。一个设计地很合理的数据库,在很大程度上可以提高整个系统的性能和效率。一个完整的系统是离不开数据库的,在系统的实际应用中,会涉及到大量的数据,而且这些数据之间可能会存在着某种关联。利用数据库管理这些数据,可以提高对数据库数据查询和更新的速度。目前,可以使用的数据库有很多种,如Access数据库、Oracle数据库、MySQL数据库、SQLServer

32、数据库。本系统使用的是MySQL数据库。4.1数据分析 该系统的数据关系是管理员对学生、教师、管理员的基础。学生、教师和管理员在前台登录后,才能进行相关操作。根据分析本系统的实体有学生、教师、管理员、课程。学生的属性有:学号、院系、姓名、性别、出生日期、入学时间、专业、班级。教师的属性有:教师编号、姓名、性别、职称、专业。管理员的属性有:管理员编号、姓名、密码、类型。课程的属性有:课程编号、课程名称、上课时间、上课地点、课程功能、是否授课。选课信息的属性有:学号、课程编号、考试成绩。每个学生、教师只能属于一个院系,每个学生可选多门课程或者不选,每个教师教授最多一门课程;学生进入查询系统后只能有

33、查询功能,教师进入则可以有修改成绩的权限,管理员有创建教师账户和发布选课信息等权限;用户登录时需要有一个用户名和密码。4.2数据库的概念结构设计1)学生实体图 图4.1学生实体图2)教师实体图 图4.2教师实体图3)管理员实体图 图4.3管理员实体图4)课程实体图 图4.4课程实体图在确定实体之后,就确定实体之间的联系。学生的主要功能是选课和查看成绩。一个同学可以同时选择多个选修课程。一个课可以有多个学生。学生选课的E-R图(“M、N”表示多对多的关系)如下: 图4.5学生选课图在该系统中,学生、指导老师、管理员都有查询的功能,若以指导老师可以授课为例,一位指导老师可以选择多个课程,一个课程可

34、以被多个老师选择。所有查询功能都是按这个模式进行的。查询时这两个实体之间的关系。指导老师查询实验的E-R图(“M、N”表示多对多的关系)如下: 图4.6教师授课图将以上所有实体进行整合在一起,这样就可以清楚明了该系统的各个实体之间的关系和操作。对以上关系进行总结得到整个系统的E-R图,如下所示:图4.7E-R图4.3数据模型的优化数据库逻辑设计的结果不是唯一的。关系数据模型的优化方法通常以规范化理论为指导,如下指导,如下:1)确定数据依赖。2)要将各个关系模式之间数据的依赖进行极小化处理,消除冗余。3)考察各关系模式之间是否存在部分函数依赖、传递函数依赖等。4)确定是否对某些模式进行合并或分解

35、。登陆表记录了用户的基本信息,并且设置了unique约束。Tenum和username是一对一的关系,即一个Tenum只有一个username,一个username只对应一名Tenum。username是登录系统时的账号,该账号不能重复。表的结构如下所示:表4.1登录表字段名字段类型约束控制完整约束条件usernamevarcharNotNullpasswordvarcharNotNulltypeintNotNull教师表记录了用户的基本信息,并且设置了unique约束。Tenum和username是一对一的关系,即一个Tenum只有一个username,一个username只对应一名Tenu

36、m。username是登录系统时的账号,该账号不能重复。表的结构如下所示:表4.2教师表字段名字段类型约束控制字段说明完整约束条件Tenumchar(10)NotNull教师编号主码usernamevarchar(10)NotNull姓名TeSexChar(2)NotNull性别Tetitlechar(10)NotNull职称Temajorchar(20)NotNull专业Lesson表记录了课程的基本信息,并且设置了unique约束。lesson和Cnum是一对一的关系,即一个Cnum只有一个Lesson,一个Lesson只对应一个Cnum。表的结构如下所示:表4.3课程信息表字段名字段类型

37、约束控制字段说明完整约束条件lessonchar(10)NotNull课程名Functionchar(10)NotNull功能Timechar(10)NotNull上课时间Cnumchar(10)NotNull课程编号主码AgreeInt(10)NotNull是否授课Classroomchar(10)NotNull上课教室student表记录了学生的基本信息,并且设置了unique约束。Stunum和username是一对一的关系,即一个Stunum只有一个username,一个username只对应一名Stunum。username是学生登录系统时的账号,该账号不能重复。表的结构如下所示:表

38、4.4学生表字段名字段类型约束控制字段说明完整约束条件StunumChar(13)NotNull学号主码usernamevarchar(10)NotNull姓名StuSexChar(2)NotNull性别Stubirthchar(10)NotNull出生日期StuadimChar(10)NotNull入学时间Stumajorchar(10)NotNull专业Stucollegechar(10)NotNull院系Stuclasschar(10)NotNull班级Grade表记录了学生的基本信息,并且设置了unique约束。Cnum和Stunum是多对的多关系,即一个Stunum可以选择多个课程,

39、一个Cnum选择多个Stunum。表的结构如下所示:表4.5选课表字段名字段类型约束控制字段说明完整约束条件StunumChar(13)NotNull学号主码CnumChar(10)NotNull课程编号主码Resultfloat(10)NotNull成绩4.4 数据的物理结构设计数据库物理结构,是指数据库在物理设备上进行存储的结构以及存取的方法,它依赖于一个选定的数据库管理系统。给一个给定的逻辑数据模型选择一个和应用要求最适合的物理结构的工过程,就是数据库的物理结构设计。通常关系数据库物理结构设计的内容主要包括:1)为关系模式选择存取方法。2)应该设计相应的关系、索引等数据库相关文件的物理存

40、储结构。5系统详细设计5.1 设计原则(1) 可靠性系统应该满足可靠性设计要求,并能保证系统长期安全的运行;(2)安全性系统应该具有必要的安全保护和密码保护措施;(3)容错性系统应该具有容错能量,有抗干扰能量。对各类用户的误操作有提示或者自动消除能量;(4)实用性注重运用成熟而且实用的技术,使系统能能产生良好的社会效益和经济效益;(5)易操作性坚持最终面向用户的原则,建立友好的用户界面,使用户操作简单直观,易于掌握。5.2界面设计(1) 通过如下的打登录界面,能够保护系统的安全性:图5.1登录图(2) 下面是管理员系统的主界面,通过菜单可以实现各个功能模块:图5.2管理员界面(3) 下面是学生

41、系统的主页面,通过菜单实现各个功能:图5.3学生主界面5.3系统功能模块设计5.3.1用户模块(1)用户注册流程用户注册流程功能主要针对学生用户,学生注册的具体流程如下图所示。进入注册页面后输入登录账号等注册信息,然后系统会判断用户输入的登录账号是否已被占用,如果被占用则返回注册页面并给出提示;如果没被占用。则把用户信息写入数据库。如何进入输入用户基本信息页面。图5.4学生注册登录流程图(2)用户注册页面在系统首页中单击“用户注册”按钮,就进入到注册页面。其运行效果如下:图5.5学生注册图(3) 用户登录流程用户流程图如下:图5.6用户登录流程图(4) 用户登录页面用户登录图如下:图5.7用户

42、登录图(5)密码修改流程密码修改流程图如下:图5.8密码修改流程图(6) 密码修改页面用户选择密码修改连接进入密码修改页面:package android.example.reading;图5.8密码修改图5.3.2登录界面在用户名和密码处输入用户名和密码,系统会由该用户输入的用户名来判断登入用户的身份是管理员还是老师或是学生,如果输入用户名密码成功后便会自动跳转到登入身份下的界面登录选课系统,如果输入有误则提示“输入的密码错误或者用户名不存在!”。图5.7用户登录图登录界面的主要动态代码如下:private OnClickListener btnListener = new OnClickL

43、istener() Overridepublic void onClick(View v) switch (v.getId() case R.id.btn_login_modify:startActivity(new Intent(Login.this, ModifyPwd.class);break;case R.id.btn_login_register:startActivity(new Intent(Login.this, Register.class);break;case R.id.btn_login_submit:String user = etUser.getText().toS

44、tring().trim();String pwd = etPwd.getText().toString().trim();save(user, pwd);check();break;default:break;5.3.3学生操作课程、图5.8学生选课操作图public boolean onContextItemSelected(MenuItem item) AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); / info包含了上下文菜单每一项的信息,比如info.position是上下文菜单项的

45、位置switch (item.getItemId() case R.id.menu_student_info:showInfo(info.position);break;case R.id.menu_student_result:showResult(info.position);break;case R.id.menu_student_select:select(info.position);break;default:break;return super.onContextItemSelected(item);;5.3.4学生浏览成绩图5.9学生查看成绩图public View getVi

46、ew(int position, View view, ViewGroup parent) LessonItem item = getItem(position);view = LayoutInflater.from(context).inflate(R.layout.sr_item, null);TextView tvName = (TextView) view.findViewById(R.id.tv_tr_name);TextView tvScore = (TextView) view.findViewById(R.id.tv_tr_score);tvName.setText(item.

47、username);tvScore.setText(item.result);return view;public void setResult(String string) try JSONArray array = new JSONArray(string);for (int i = 0; i array.length(); i+) JSONObject json = array.getJSONObject(i);LessonItem item = new LessonItem(json);list.add(item); catch (Exception e) e.printStackTr

48、ace();notifyDataSetChanged();5.3.5学生浏览课程图5.1学生浏览课程图public View getView(int position, View view, ViewGroup parent) LessonItem item = getItem(position);view = LayoutInflater.from(context).inflate(R.layout.lesson_item, null);TextView tvLesson = (TextView) view.findViewById(R.id.tv_lesson_name);TextView

49、 tvTime = (TextView) view.findViewById(R.id.tv_lesson_time);TextView tvRoom = (TextView) view.findViewById(R.id.tv_lesson_classroom);TextView tvScore = (TextView) view.findViewById(R.id.tv_lesson_score);tvLesson.setText(item.lesson);tvTime.setText(item.time);tvRoom.setText(String.valueOf(item.classr

50、oom);tvScore.setText(String.valueOf(item.result);if (item.isselect) / 如果已经选择该课程,背景显示黄色view.setBackgroundColor(Color.YELLOW); else view.setBackgroundColor(Color.WHITE);return view;public void setLesson(String result) list.removeAll(list);try JSONArray array = new JSONArray(result);for (int i = 0; i a

51、rray.length(); i+) JSONObject json = array.getJSONObject(i);LessonItem item = new LessonItem(json);list.add(item); catch (Exception e) e.printStackTrace();6系统测试6.1运行将系统与数据库连接后,打开数据连接,就可以连接数据库。6.2测试6.2.1测试的目的软件测试的目标和定义:1)测试是为了发现程序中的错误而执行程序的过程2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案3)成功的测试是发现了至今为止尚未发现的错误的测试在对选课系统系统测试时,也正是基于上述观点来进行的,测试的目的不是证明系统是完美的,而是发现问题,更好的解决问题,使系统不断完善,满足学生的需求。6.2.2测试的准则为了能设计出行之有效的测试方案,必须深入理解并正确运用指导软件测试的基本准则。下面列举主要的测试准则:1) 所有的测试都应该追溯到用户需求。2)应该在开始测试之前就制定出测试计划。3)Pareto原理应用到软件测试中。Pareto原理说明,测试发现的错误中80%很可能是由程序中的20%模块造成的。4)应该从“小模块”测试开始,并逐步进行“大模块”测试。5)穷举测试是不可能的。6)为了达

温馨提示

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

评论

0/150

提交评论