目前主流的类似的管理工具,尤其是国外的专业软件,功能的确十分强大,但是使用起来却非常的麻烦。功能太多、操作麻烦、很难上手、学习成本太高,另外这些系统的页面设计也比较老,和当下流行的设计风格比较有违和感,用户体验不佳。没有做到足够的简单易用。
2 可行性分析
可行性研究的目的是为了要付出最小的代价和花费最少的时间来判断这个问题是不是能够被解决。可行性研究的输入是系统的一个框架描述和高层逻辑模型,输出是一份需求开发评估报告。需求开发评估报告提供了对需求工程和系统开发是否值得做的具体建议和意见,它让部门了解到需求执行下去所需要花费的成本和代价,帮助用户对需求进行重新评估。可行性的研究主要回答以下三个问题:系统是否符合机构总体要求;系统是否能在现有的技术条件、预算和时间限制下完成;系统是否能够和其他系统集成。
2.1 技术可行性
本系统使用了当前流行的B/S结构,采用了Struts + Spring + MyBatis框架技术,以及JavaScript,JQuery,AJAX,JSON等技术。这些技术的使用都已经十分成熟了,开发的文档也十分齐全,因为是主流的技术所以在开发中遇到困难时也很容易就能够在网上找到大量的解决方案。而如果使用一些很新颖的框架和技术,如果遇到问题要查阅资料就比较难了,而且学习成本也会大大增加,会增加开发难度。所以本系统在技术上是完全可行的,还是很成熟的。
2.1.1 Struts2
Struts2是一个可以用来快速开发Model2应用程序的MVC框架,它使用了一个过滤器调度程序来当作控制器,在编写一个Model2应用程序时,程序员的需要提供一个控制器和编写各种必要的动作类,控制器必须能够完成下面5项任务。
(1) 根据URI字符串确定应该个动作。
(2) 对相关的动作类进行实例化。
(3) 如果动作对象存在,就用请求参数填充该动作的属性。
(4) 如果动作对象存在,就调用相应的动作方法。
(5) 把请求转发给相应的视图。
使用Struts的好处之一就是我们不必非去编写一个控制器不可,这就可以让我们可以把注意力都集中在编写各种动作类里的业务逻辑方面。
2.1.2 AJAX
AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML技术),是指一套结合了多种技术的前端开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出。对于传统的Web页面和应用,当用户每次点击网页页面中的某个部分的时候,浏览器都会向服务器发送出一个请求,服务器再会根据浏览器发出的请求来做出相应的响应。同时返回的是一个完整的新的页面。即使用户的Web浏览器十分智能,能够对类似图片和CSS之类的内容进行缓存,但是用户的浏览器和服务器之间还是会存在着大量的来回通信,这就会让用户不得不为了等待页面完全刷新而花费很长的时间。
通过使用Ajax,页面和应用只会向服务器请求只有它们需要的东西,也就是网页页面中需要变化的那一部分,而且这也是服务器要提供的东西。因此在服务器和浏览器之间需要交换的数据量大大地减少了,需要更新的内容也更少了,服务器的响应速度也因此大大地提高了,用户需要等待页面响应的时间也会因此而变得更短。很多的工作也因此可以在发出请求的客户端上去完成,这样也可以在一定程度上减轻服务器的负载压力。虽然它的名字包含XML,但实际上数据格式可以由JSON来代替,从而能够进一步地减少数据量,形成所谓的AJAJ。Ajax可以使得Web应用可以具有像桌面应用一样的交互性和响应性。网页页面可以发出异步的请求,这使得用户能够继续自己的工作而不是傻傻地等待页面响应。另外只会更新页面上需要改变的那一部分信息。Ajax并不是一个全新的技术,不像CSS或者JavaScript那样需要从头开始学起,它也不是一组需要借助Photoshop才能完成的图形技术。Ajax只是采用一种新的方式来考虑如何使用你可能已经知道的一些技术来完成你已经在做的事情。Ajax可以使浏览器从服务器同时请求多项内容,浏览器请求返回的速度会快得多,大大地减少服务器数据流量。