第三章 开发的可行性与需求分析
3.1 可行性分析
可行性分析是一次开发中非常重要的一环,它并不是去解决什么技术上的问题或者设计上的困难,而是从各个方面考虑本次研究的整个过程是否可行,这个过程中我们将会考虑到项目从技术上来讲的难点与攻克,将要使用的技术有哪些以及如何从开发技术的可行性上来说明整个项目开发是能够完成的。除了技术上的可行性,我们还将说明本次开发周期经济上是可行的,也就是说开发过程的整个费用预算在我们的控制范围之内,或者说开发系统将来的经济价值是非常可观的。操作可行性是指本次所开发的学生成绩管理系统便于操作,交付给使用人员后是能够在预计内掌握基本使用原理的。时间可行性是指开发的整个过程符合我们的日期计划,而法律可行性指的是开发过程不涉及任何法律侵权问题,不冒用或者抄袭他人的科学成果。
从直观上来看,可行性分析似乎在做着一些无用功,但事实并不是这样,可行性的分析研究是一次开发过程的根本。下面我们将从技术,经济,操作,时间和法律五个角度剖析本次学生成绩管理系统的可行性。
3.1.1 技术可行性
技术上的可行性指的是我们在本次系统开发中将使用什么技术,基于什么平台,将会套用什么框架以及将会采用什么设计模式,在基础知识介绍部分我们已经进行了相关说明,本次开发是基于 Java Web 的一次网络管理系统开发,所使用的语言是 Java,在开发过程中主要基于 Struts 框架,采用 Jsp 技术进行服务器端的开发,并且整个开发思路采用 MVC 设计模式,弹性管理代码,对代码部分的划分采用 Model-Controller-View 三个部分。
Eclipse 是现今做得最好的一款多语言集成开发环境,用户可以通过准确的接口在 Eclipse 上实现多种语言程序的互联。在使用 Eclipse 来开发之前,首先需要配置 JRE,并且接入 Tomcat 软件,实现虚拟服务器的连接,方便我们实现网页端的程序编辑,并对部分功能进行测试与实现。而选用 SQL Server 2005 是因为 SQL Server 2005 适合小型数据的管理,适合条目清晰,表格连通明显的数据库表格文件,同时大多数与之相关的开发工具都是免费的。
3.1.2 经济可行性
经济可行性指我们的开发过程符合我们之前的开发预算,整个开发过程的费用支出都有明确记录,并且符合开发过程的要求。并且在系统完成后,所开发的学生成绩管理系统有着非常好的前景,具有很高的经济价值,这一点在系统的开发之前也在我们的考虑范围之内,综合以上考虑,我们认定本次管理系统的设计与开发从经济上来讲是可行的。
3.1.3 操作可行性
一个系统设计的成功与否,一个非常重要的考量因素就是使用者的使用感受,从学生管理系统的角度考虑,我们必须认识到非专业人员即使是高校教育人员也很难对内部系统进行调试,出现问题时也很难解决,那么在设计之初就应该明确,设计的整个系统是封装好的,系统的内部运行和功能模块并不对外界展示,而且除了管理员其他等级的用户不能随意查看系统内部的信息,包括系统升级记录,功能更改记录等。
另外一点,系统交给使用人员后,要保证系统使用简便,操作便捷,大部分功能都已经通过设计好的图形界面来实现,数据输入也要设计的灵活完整,不产生歧义,方面教师和学生登记和检查自己的信息。整个系统必须是简洁的,高效的,使用过程中要做好不同等级用户的使用权限管理。从以上这些部分考虑,我们可以认定本次开发从操作上来讲是可行的。
3.1.4 时间可行性
整个系统在开发之前我们已经做了详细的工作计划,整个开发将按照时间表来进行,从而充分的保证整个开发计划的时间可行性。从 2014 年 4 月到 6 月,我们将要完成系统的需求分析,同时也要学习相关知识技术,积累一定的项目经验。从 2014 年 7 月到 12 月,这一阶段我们将逐步完善系统的各个模块功能,并进行相应的测试,撰写中期检查报告。在 2015 年 1 月至 2 月这两个月里,将要总结前几阶段的工作并对系统设计的不足和缺陷提出展望,同时开始撰写论文。而在 2015 年 3 月,整个开发过程进入尾声,我们将完成论文,并完成提交审阅阶段。
3.1.5 法律可行性
从法律的角度来讲,整个开发工作具有以下几个特性:
(1)开发所使用的所有技术资料都是合法得到的;(2)整个开发过程中不存在知识产权问题;(3)开发过程未抄袭任何网站,不存在侵犯版权问题;(4)开发过程全部来自于大家合作,原始劳动,不涉及承担所谓的法律责任。综上来讲,此次学生成绩管理系统的开发过程是可行的。
3.2 需求分析
本节中我们将主要为大家介绍本文的需求分析部分,需求分析是指在对所开发的项目有了一个具体的了解后,开始对所要实现的功能做出一定的分析,并围绕功能的实现,程序的运行,数据设计以及安全运行等方面给出一定的实现目标,方便接下来的开发过程。
3.2.1 功能需求
本次系统开发的功能需求基于学生,教师和管理员三个等级,学生主要查询自己的个人信息,包括考试成绩,教师可以查看,录入和修改管辖学生的某一科成绩,管理员负责维护系统运行,可以查看某一科成绩的各种情况,并进行导出和打印。
功能需求的用例图是用来形象的说明所要实现的功能,以下分别是三个等级用户的功能用例图。
3.2.2 运行需求
硬件条件:酷睿 CPU 及以上;
1G RAM 及以上;
10G 硬盘及以上;
打印机;
局域网;
软件条件:Eclipse;
SQL Server 2005;
IE 8.0 及以上;
Windows XP 及以上;
3.2.3 数据需求
数据需求是指存储在数据库文件中的数据设定,在本次学生成绩管理系统设计中,需要设定的数据有不同等级用户的登陆用户名和密码,学生的学院,系别,年级,班级和课程表信息,某一门科目的名称,标号,学时,上课老师,分数(及对应绩点),以及学分等,对于已经录入的一门成绩,还要记录该考试成绩的考试类型,等级划分,考试时间等信息,对于管理员,还应当记录管理员真实姓名,所任职务,联系方式以及上次登录系统时间等,以便于记录系统维护信息[10].
数据需求体现在 ER 图中 ER 图完全由开发人员设置,这样就充分的体现了人性化的思想,数据库的存储契合于人类的理解,也就方便存储和升级,以后也可以在这个基础上轻松添加或删除数据[11],还有一点是 ER 图与计算机存储结构无关,设置的时候较为简单,不需要考虑数据结构如何建立在系统中,如何去存储。
数据库的建立十分复杂与繁琐,在这里我们先给出对数据需求的分析,在接下来的章节中我们将会从 ER 图,实体属性表,实体信息表和数据关系图等各个方面来讲解数据库的确立。
3.3 本章小结
本章主要描述了开发的学生管理系统的研究可行性和需求分析,可行性方面包括系统开发的技术可行性,经济可行性,操作可行性,时间可行性和法律可行性,从每一个方面来印证本次开发过程是可行的。需求分析方面我们主要分析了本次设计的功能需求,运行需求和数据需求,具象的给出了每一个功能模块的实现用例,具体的实现过程将在接下来的章节中进行描述,本章为将来系统的开发工作打下了基础。