让学生选择好合适的大学与喜欢的专业都成了有待解决的问题。
1.2 开发原因
基于以上的现状,我决定在本科阶段自己开发一个基于Android平台的高考宝典系统,使高中学生可以通过手机应用程序轻松浏览高考课程知识、高校信息、热门专业与高校招生动态。
1.3 开发环境及运行环境
1.3.1 开发环境和使用工具
(1)手机客户端:Eclipse+JDK 1.6+SDK 2.2+ADT
(2)Web服务端:Visual Studio 2010+ .NET Framework SDK
(3)服务器:IIS 7.5
(4)数据库:SQL Server 2005
(5)开发所用电脑的配置如下:
处理器:Inte(R) Core(TM)2 Duo CPU 3710167@qq.com 2.20 GHz
内存:3.00GB
硬件空间:80GB
1.3.2 建议的运行环境
手机客户端:Android手机系统2.2或以上版本
Web服务端:Internet Explorer 5.5或以上版本
1.4 系统目标
在Android手机上做高考宝典系统是一个学习性质的尝试,动机主要除了兴趣以外,主要是为了更好的深入学习计算机科学与技术这门学科,学习在移动终端开发应用程序。同时也希望这个高考宝典系统有一定的使用价值,使用户可以真正通过这个应用程序提高自己学习的效率与学习成绩。无论在上下学的路上、还是入寝之前,都可以打开高考宝典浏览查看自己需要的知识、高校信息、专业信息与招生动态。
1.6 可行性分析
1.6.1 技术实现可行性
随着移动网络的发展,手机上网人数日益增多,人们已经习惯通过手机网络的方式在网络上进行即时信息的交流和接受服务。
开发高考宝典系统已经非常成熟,首先,从硬件上讲,现在的只能手机速度现在已经不是问题,大容量高速度的手机存储卡十分普遍,同时无限网络的速度普遍可以达到100M,这些为电子商务的运行打下坚实的基础。从软件的角度上讲,Anroid操作系统具有非常强大的功能,可以让Java程序人员在Android操作系统的手机上开发各种软件。同时,开发手机客户端的工具Eclipse也相当成熟。有了这些技术的支持,我们成功开发一个移动手机客户端没有任何技术风险。
此外现在已有不计其数的软件采用手机客户端--->Web服务端--->数据库的模型开发手机应用程序,因此此项技术早已完全成熟。
1.6.2 软件经济可行性
(1)硬件成本:
开发终端:PC一台。
测试终端:Android一部。
所使用硬件均为本人已有硬件,因此无任何硬件成本。
(2)软件成本:
所使用软件均为开源软件和破解软件,因此无任何软件成本。
1.6.3 开发环境可行性
(1)Eclipse:目前最主流的Android开发工具。采用最新的INDIGO版本
(2)Android SKD 2.2:Android开发工具包,提供强大的开发文档与应用编程接口。
(3)JDK 1.6:JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
(4)Visual Studio 2010:用来开发高考宝典系统Web服务端。
(5)SQL Server 2005:用来提供后台数据库支持。
1.6.4 总体可行性结论
通过上面的所有的可行性分析,这次毕业设计所做的高考宝典系统中的项目方案已经十分成熟,继续下一步的开发工作是完全可行的。
2 系统需求分析
2.1 数据流图
图2-1 顶层数据流图
图2-2 手机客户端数据流图
图2-3 Web服务端端数据流图
2.2 数据字典
(1)管理员信息数据字典
(2)高考课程数据字典
(3)高考课程知识数据字典
(4)高校信息数据字典
(5)专业信息数据字典
(6)招生动态数据字典
2.3 方案论证
2.3.1 系统结构论证
C/S(Client/Server)结构即客户机/服务器结构,其中服务器是网络的核心,客户机是网络的基础,客户机通过网络从服务器或得所需要的资源;Client是运行客户端程序的机器,Server是运行服务器程序的机器。C/S结构充分利用了客户机与服务器两端的硬件优势,将一部分工作交由客户机来处理,只需要将结果通过网络发送给服务器,这样不仅节省了网络流量,还大幅减少了服务器的负载,进而可以减少服务器的响应时间,改善用户的使用体验。
B/S(Browser/Server)结构即浏览器/服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。本软件需要在Android手机上编写一个客户端的软件供用户进行信息的浏览,而不会使用到浏览器的任何功能,因此该系统模式不适合Android高考宝典系统。
综上所述,由于本系统是基于Android平台的手机应用系统,因此选用C/S结构。
2.3.2 Web服务端技术论证
ASP.NET:服务器控件使用很方便,可以直接在代码里设置它的属性,可以代替相应的html代码,显示查询的表格可以很方便地赋值给datalist等控件一个属性,然后调用databind()就行了,这样就可以生成相应的表格了。还有,校验控件使用非常方便,web编程很繁琐的一个地方就是表单校验,校验控件几乎不用进行什么设置就可以校验了,不用你写JS脚本,但是,缺点也有,没有三层这种模型,每个实体的数据库操作都要重写一遍,虽然你也可以封装进一个类里面,但是,构造函数的参数通常相当多,而且,每次需要的构造函数也不同,比如同样的表单信息,用在注册里时,需要填写的信息和你在后台浏览该注册信息时的更新的字段肯定是不同的,这样,如果硬要封装,使用也是很不方便的。
JSP:跨平台,struts的技术对于三层模型使用起来非常方便,可以封装一个实体的所有数据库操作,便于重用,第一次开发可能会慢些,以后维护和二次开发非常方便的,校验可以用validator技术,比起传统校验,要方便,但比起ASP.NET要麻烦,而且,每次修改配置文件,都要重启服务器,ASP.NET就不用,也有类似于ASP.NET的视图状态功能。免费的类到处都是,而微软的东西想找免费的很难,你只能用它提供的,如果没有,你就别用了。?
综上所述,本系统Web服务端技术选用ASP.NET。
2.3.3 数据库论证
当前流行的Web数据库管理系统有SQL Server、Oracle、DB2、Sybase等,小型企业多使用Access。
在Web服务器端,考虑到该系统未来的扩展性和建成之后可能产生的大量数据IO操作,小型数据库Access不适合。而Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,对硬件要求高,而且与SQL Server相比,快速的熟练起来比较困难,需要有长期的实践和摸索。使用Oracle需要经验丰富的人才能够胜任。
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQL Server作为微软在Windows系列平台上开发的数据库,与Windows操作系统有很好的兼容性,并且在平常的使用开发练习过程中较多的使用了SQL Server数据库,因此Web服务器端数据库采用SQL Server 2005。
综上所述,本系统选用SQL Server作为数据库系统。
3 系统总体设计
3.1架构设计
图3-1 系统部署图
系统部署的形式是:手机客户端—Web服务器—数据库服务器的三层部署架构。手机客户端通过http协议访问Web服务器,使用post方式向服务器发出URL请求,服务器收到手机端的请求,对请求进行处理,处理完毕后把需要返回的信息
上一篇:
毕业论文(基于Android的网上订餐系统和原代码)
下一篇:
试论APP广告在手机中的应用