的要求。由于原Mysise系统仅仅支持PC端的使用,而新系统则是针对移动端的支持,故而有开发的必要。
可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和理论知识得出以下五点的可行性分析:
(1)技术上的可行性。
由于选用的开发平台Android是一个开源的平台,这意味着开发者可以获取绝大部分的开源代码,并且Google提供了一套成熟又全面的API,对于系统的开发,基本上不存在较大技术难点。
(2)数据获取的可行性。
由于开发的系统是一个校园信息管理系统,因为必须存在一个学生信息的数据库。目前的情况将导致我们无法直接得到提供的数据库,而我们选用了另外一个方法。因为该系统与PC端的数据一致,而PC端的使用载体是浏览器,这样我们便可以在Android上使用JSoup技术解析HTTP网页而获取所需要的信息数据。
(3)运行可行性。该系统需要搭建Android平台开发环境,使用AVD虚拟机,并且能正常连接网络,就可以正常运行。
(4)经济可行性:该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。
(5)法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。
通过以上的可行性分析,我将在Android平台开发环境下,采用Java语言和Eclipse编程工具,对该系统进行研究开发。
3.3 系统运行环境需求
1、开发者(PC端):
系统开发工具:Eclipse3.7
运行平台:Windows XP / Windows 7 / Linux
运行环境:Java jdk-1.6、Android_2.3.3_SDK、 ADT 16.01
模拟器参数:Android 2.3.3 AVD (分辨率480*800、推荐内存256MB)
2、使用者(移动设备端):
移动终端系统需求:Android系统
移动终端硬件需求:屏幕分辨率480*800、CPU主频>=640MHz、运行内存RAM>=256M、可用内存ROM>=64M
网络需求:WIFI / GSM / WCDMA / CDMA2000
3.4 用户需求分析
本课题研究的校园信息管理系统——Mysise系统,主要面向的使用对象是XX大学XX软件在校大学生。
每位XX在校学生都拥有Mysise系统帐号(唯一的及密码),系统对于学生的学习及生活非常重要。大部分学生拥有Android系统智能手机或者平板电脑,且习惯使用移动设备来完成可能的日常应用,当然也渴望Mysise系统Android客户端来为其学习生活提供便捷。无论在教学区还是生活区,较好的网络覆盖为其使用网络应用提供了保障。
3.5 系统的设计目标
本课题的设计目标是在Android平台上实现一个校园信息管理系统。要求该系统拥有美观的UI界面,供用户登录、查看信息使用,包括:查看个人信息、查看课程表、查看考试时间、查看考勤信息等功能。系统拥有快速的操作体验,代码编写使用了多线程技术,使得界面显示与网络连接、数据处理可以同时进行。系统信息数据来源取自PC端系统的网络,保证了准确与同步。
3.6 用例分析与建模
3.6.1 用例1 登录
参与者:用户
前置条件:正确已经存在。
目的:进入系统
综述:
1.用户填写及密码
2.系统验证信息,将用户填写的信息传送到系统验证。
3.登录成功,显示主菜单信息。
替代过程:使用该系统的用户必须先登录,若登录失败,是由于客户输入的帐号或者密码错误,系统允许客户重新输入。
3.1 登录模块用例图
3.2 用户登录流程图
3.6.2 用例2 主菜单
前置条件:登录成功。
参与者:用户
目的:让用户选择要执行的功能
综述:本界面设置4个功能按钮,让用户选择要执行的功能,随后执行响应的操作。
代替过程:如果用户注销登录,则进入用例1。
3.3 主菜单功能用例图
3.6.3 用例3 查看个人信息
前置条件:于用例2选择了个人信息按钮。
参与者:用户
目的:让用户查看个人信息
综述:
1.查看基本信息:用户进入此功能页面能看到个人基本信息。
2.查看必修课信息:用户进入此功能页面能看到必修课信息。
3.查看选修课信息:用户进入此功能页面能看到选修课信息。
代替过程:
1. 该界面下方设置3个功能按钮,可选择查看需要的信息。
2. 如果用户返回,则进入用例2。
3.4 个人信息功能用例图
3.6.4 用例4 查看课程表信息
前置条件:于用例2选择了课程表按钮。
参与者:用户
目的:让用户查看课程表信息
综述:查看当天课程表信息
代替过程:
1. 该界面下方设置5个功能按钮,可选择查看星期一到星期五的课程信息。
2. 如果用户返回,则进入用例2。
3.5 课程信息功能用例图
3.6.5 用例5 查看考试时间表
前置条件:于用例2选择了考试时间按钮。
参与者:用户
目的:让用户查看考试时间表
综述:查看目前的考试时间安排
代替过程:如果用户返回,则进入用例2。
3.6 考试时间功能用例图
3.6.6 用例6 查看考勤信息
前置条件:于用例2选择了考勤信息按钮。
参与者:用户
目的:让用户查看考勤信息
综述:查看当前学年学期的考勤信息
代替过程:如果用户返回,则进入用例2。
3.7 考勤信息功能用例图
4 系统的功能模块设计
4.1 Mysise系统功能结构图
4.1 系统功能结构示意图
4.2 系统的功能分析与要求
经过前期的思考和研究,总结出该系统需要完成的一些具体功能,分析如下:
1、能完成网络连接并实现真实帐号登录
2、能完成对板块页面的解析并获取需要的信息数据,通过后台逻辑处理,实现查看信息的显示。
3、使用多线程同步处理前台界面的刷新和后台网络处理。
4、可考虑添加的周边功能,例如XX新闻、XX地图。
4.3 系统功能模块的设计
4.3.1 个人信息模块
4.2 个人信息模块流程图
4.3.2 课程信息模块
4.3 课程信息模块流程图
4.3.3 考试时间模块
4.4 考试时间模块流程图
4.3.4 考勤信息模块
4.5 考勤信息模块流程图
4.4 系统用例图
4.6 用户前台系统用例图
4.7 程序后台系统用例图
5 系统具体实现—逻辑处理模块实现
5.1 项目结构示意图
5.1 项目结构示意图
5.2 多线程技术在项目上的应用
在跳转到每一个功能页面的时候,因为单线程的顺序逻辑执行,会出现这样的情况:只有执行完前一句代码才会执行下一句代码。而我们的程序表现出来给用户的页面信息又是必须先从网络获取数据后再表现出来,这样的网络工作相对来说是比较耗时的,同时也就会使程序跳转后出现黑屏的情况,只有等待网络工作处理完后
上一篇:
Android图书管理系统论文
下一篇:
试论APP广告在手机中的应用