1、课程标题: 软件项目管理 班 级: 软件 1301班 学 号: 130930019 姓 名: 朱和铭 完成时间: 2016.1.1 评 分评分人 赵珏课程标题: 学生选课系统可行性研究报告 班 级: 软件 1301班 学 号: 130930011 姓 名: 陈由梅 完成时间: 2016.6.27 目录一.引言 .11.1 编写目的 11.2 项目背景 11.3 定义 11.4 参考资料 2二.可行性研究前提 .22.1 要求 22.2 开发条件 32.4 可行性方面的探究 32.5 可行性研究结论 4三.系统分析 .43.1 处理流程和数据流程 53.2 费用支出 73.3 人员 73.4 设
2、备 7四.其他可供选择方案 .7五.结论意见 .8附录 8实体属性 8UC 矩阵图 .8DFD 图 9数据字典 101一.引言1.1编写目的学生选课系统对于一所学校来说,是十分重要的。它关系到学校教学计划的制定,关系到学校教学任务的分配,学校工作是否能很好地进行,更关系到学生选课的效率。一个优秀的学生选课系统,无论是对学校、对老师还是对学生,都能带来极大的便利。而在经济与科技高速发展的今天,追求效率的今天,一个优秀的学生选课系统更是不可或缺的。随着科技的发展与革新,以往的选课系统与目前流行的选课系统在效率,功能等方面出现了很大的差距。网上选课系统能让学生实时、方便的知道所选课程的安排情况,能很
3、大程度地减少学校在人力上的支出,例如不需要再设置专门的部门给学生提供选课信息。因此,学校需要与时俱进,及时更新自己的选课系统,以提高学校的工作效率与学生的选课效率。对于学生而言,选课既要满足自己的学分,又要满足自己的兴趣爱好。于是,我们需要一个更人性化、更便利的选课系统,它需要能很好地统筹学生、教师与课程之间的关系。此外,随着在校学生人数的增加,选课系统的负担也越来越重,选课速度在降低,服务器崩溃的几率在上升。因此,我们也需要技术上的革新,以增强选课信息准确性、提高选课速度,减少服务器崩溃几率。总而言之,为了追求更高的效率与更好的用户体验,我们需要一个技术更先进、更优秀的学生选课系统。1.2项
4、目背景软件名称:网上选课系统项目提出者:湖南商学院项目开发者:开发小组用户:湖南商学院在校学生21.3 定义Java Web,是用 Java 技术来解决相关 web 互联网领域的技术总和。web 包括:web 服务器和 web 客户端两部分。 Java 在客户端的应用有 java applet,不过使用得很少,Java 在服务器端的应用非常的丰富,比如 Servlet,JSP 和第三方框架等等。Java 的 Web 框架虽然各不相同,但基本也都是遵循特定的路数的:使用 Servlet 或者Filter 拦截请求,使用 MVC 的思想设计架构,使用约定, XML 或 Annotation 实现配
5、置,运用 Java 面向对象 的特点,面向抽象实现请求和响应的流程,支持Jsp, Freemarker,Velocity 等视图。SQL:Structured Query Language,结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。1986 年 10 月,美国国家标准学会(ANSI) 对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言 (ANSI X3. 135-1986),1987 年得到 国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对 S
6、QL 规范作了某些编改和扩充。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统1。Eclipse:是一个开放源代码的、基于 Java 的可扩展开发平台 。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE) ,这个组
7、件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。Eclipse 是著名的跨平台的自由集成开发环境(IDE ) 。最初主要用来 Java 语言开发,但是目前亦有人通过外挂程式使其作为其他计算机语言比如 C+和 Python 的开发工具。Eclipse 本身只是一个框架平台 ,但是众多外挂程式的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软体很难具有的灵活性。许多软
8、体开发商以 Eclipse 为框架开发自己的 IDE。Eclipse3最初由 IBM 公司开发,2001 年 11 月贡献给开源社区,现在它由非营利软体供应商联盟Eclipse 基金会(Eclipse Foundation)管理。1.4 参考资料1李武 姚珺数据库原理及应用哈尔滨:哈尔滨工程大学出版社,2011 :1792JAVA WEB 搜狗百科Z .搜狗 http:/ SQL 搜狗百科 Z .搜狗 http:/ Eclipse 搜狗百科Z .搜狗 http:/ 要求主要功能:网上选课系统包括前台管理和后台管理。前台管理是用户选课界面,供用户浏览、查询、选择课程、删除已选课程。包括:浏览选课
9、信息,查询老师开设课程,查询各类课程,确认选择课程等;后台管理是由教务管理员管理,职责包括设置时间段约束,添加、修改、删除课程信息等。性能要求:所有数据实时更新保持同步,且定时备份。输入要求:及时的修改和更新学生、教师和课程的信息。输出要求:简单、快捷、实时。基本数据流程和处理流程:4图 2-1 选课系统顶层数据流图安全与保密要求:系统本身配备一定的安全机制,保证各项数据的完整、正确。每类用户进入系统时,均需输入唯一的用户名和密码;教师有权对学生所选课程成绩进行录入、查询和修改;学生有权对选修课程进行修改;管理员有权对学生信息、所选课程、科目成绩进行管理、修改。完成期限:1 个月2.2 开发条
10、件(1 )网上选课系统采用基于浏览器的 B/S 结构,因此前台页面使用浏览器支持的HTML、CSS、JavaScript,服务器端则使用 Servlet 或者使用框架 Struts2。数据库则使用Oracle 数据库的 SQL 脚本以及 PL/SQL 语言。(2 )为了以后更好的测试和升级选课系统,编程人员应该严格遵守软件工程要求。2.3 条件、假定何限制运行环境:Windows98/2000/XP/Vista/7,与 Windows office 软件高度兼容。硬件环境:奔 4 以上计算机。开发环境:SQL Server、eclipse 等。该系统预期寿命五年。52.4 可行性方面的探究技术
11、可行性:技术上,采用当前流行且技术人员擅长的技术,在遵循 MVC 设计模式的前提下,使用目前市场流行的框架,如 JavaEE(Spring+SpringMVC )或者SSH(Spring+Struts2+Hibernate ) ,Spring 提供“控制反转” ,该功能遵循开发模式中的“ 开闭原则” ,即对扩展开发,对修改关闭,有利于软件的维护和升级。Struts2 在整个 JavaWeb中起控制的作用,充当 Servlet,即 ActionServlet,用于控制用户的请求去向。Hibernate 是数据化持久层,用于充当 model 和数据库的中间层,提供从普通对象(POJO)到数据表的映
12、射,能减少对数据的访问复杂度,提供的持久对象能更好的使项目面向对象编程。经济可行性:该系统所用的技术并不是很罕见,大部分技术都是市场上流行的技术,技术资金、人力资源并不需要大投入,主要是设备、软件部分的投入。综合系统使用用户的人数、使用频率、并发情况等因素来考虑所使用的服务器,另外则是 Oracle 数据库软件的购买资金。虽然前期投入不算小,但是一旦系统开发成功,对于学校在有效管理学生选课情况、减少人力资源的投入、减少系统的维护升级成本等方面有很大的成效,它所带来的效益在不久的将来将远高于系统投入。法律可行性:该系统属于自主开发,不会构成任何侵权,在法律上可行。2.5 可行性研究结论在当前社会
13、形势下,无论是从技术角度、经济角度还是从效率角度来分析,该系统的研发都是利大于弊的,因此可行。三.系统分析该系统的开发模型采用瀑布模型,该模型的特点是:前一阶段完成后,才能开始后一阶段前一阶段的输出文本为后一阶段的输入文本每个阶段必须交付出合格的文档对文档进行审核6图 3-1 带反馈的瀑布模型按照实际的情况,将选课流程分类,提供课程查找、课程信息查看、选课系统审核、选课情况反馈、已选课程管理,每个流程都需要严格完成,如果某阶段出现问题,最好返回到上一阶段并进行适当的修改,每个流程阶段都要产生循环反馈。3.1 处理流程和数据流程1. 网上选课系统的总体处理流程图图 3-1 总体处理流程图学生登录
14、:可以查询课程、选择课程、删除所选课程。教师登录:可查询选课和成绩。管理员登录:可查询、管理所有信息。72.选课管理流程图图 3-2 选课管理流程图选课管理:点击选课管理链接,系统反馈用户的成功选课课程,每个课程后面都会有删除链接,点击删除链接后,弹出提示框提示用户是否删除已成功选择的课程,当用户点击确认后,请求提交给系统,系统提交给 courses_selected_manage.action,该 action 将会通过 hibernate 连接到数据库执行删除操作。3.2 费用支出学校将从财政支出中拨出部分资金用以购置建立网络中心所需的网络设备,包括服务器等,和软件,如 Oracle 数据
15、库软件,具备了开发 web 平台系统的基本条件。为了系统今后的维护,建议联合具有丰富选课系统开发经验的软件开发人员共同研究探讨,因此需要拨出部分资金用以支持技术顾问。3.3 人员学校可以聘用多名软件专业的学生,一来用于支持系统开发的编码工作,二来给学生8提供了实践以及勤工俭学的机会。此外可以聘用学校有专业技术的老师,他们的计算机技术很高深,一来可以指导学生开发软件,其次可以依靠自身的技术、支持为系统开发提供有力的保障。该系统需要多位管理员,对其专业技术要求不高,熟悉基本的电脑操作即可。3.4 设备一台服务器,两台 PC 机。四.其他可供选择方案我们需要做二手准备,保留原有的系统,并且联系其他软
16、件商做好重新开发的准备,以防在该选课系统开发过程中出现不可逆转(灾难性)的错误,或者由于某些原因,该系统的开发人员无法按时完成工作时,能够保证系统按时上线。五.结论意见经多方协会讨论,综合上面文档所述,该网上选课系统的开发是有价值、能实现的,建议尽快开发。9附录实体属性类型数据类实体计划型 统计型 文档型 业务型教学 教学计划 教学考核 教学安排 教学任务成绩成绩分析成绩统计成绩单录入成绩成绩查询课程 课程安排 课程编排 查询课程考试考试安排考试课程考场记录 试卷 试卷分析资源 教学计划统计教学资源教学文档查询教学资源UC 矩阵图数据类过程 教学 课程 学籍毕业信息 奖惩 成绩 考试教学考评文
17、档教学计划 C U U网上选课 U U智能排课 U U教学任务 U U课表编排 U C U新生入学 C毕业审核 U U U C U U学籍异动 U奖惩处理 U U U C U U学位审核 U U U U U U免修处理 U U U U U10成绩录入 U U U C U考试安排 U U U U C试卷分析 U U教学考评 U U U C统计分析成绩 U U U UDFD 图数据字典课程表字段 类型 备注Course_id Number(5) 课程 id11Course_Name Varchar2 课程名字Course_CanSelected_count Number(2) 课程可选人数Course_Type Varchar2 课程类别Teacher_id Number(9) 课程开设老师 idCourse_Time Number(2) 课时Course_Credit Number(2.1) 学分学生表字段 类型 备注Sid Number(9) 学生 idSname Varchar2 学生名字 Sex (Female,male) 学生性别Sclass Varchar2 学生班级学生选课表字段 类型 备注Sid Number(9) 学生 idCourse_id Number(5) 课程 idCount_Select Number(2) 剩余可选人数