目录
实践计划
实践目的
实践内容
实践安排
实践指导书
1、王肖锋. Java Web高级编程. 清华大学出版社.
实践记录
1、系统概述
2、 需求分析
功能模块概念图
主界面
3、 系统实现及测试
1.1.1. 添加成绩
1.1.2. 删除成绩
1.1.3. 修改成绩
a) 用户管理(模块功能不受限)
b) 班级管理(模块功能不受限)
c) 学员管理(模块功能不受限)
d) 课程管理(模块功能不受限)
e) 成绩管理(模块功能不受限)
1.1.4. 班级管理员登录
a) 班级管理页面(模块功能不受限)
b) 其他页面(以用户管理页面为例)
1.1.5. 班级浏览者登录
a) 班级管理页面
b) 其他页面(以用户管理页面为例)也是如此
实践总结
实践计划
实践目的
进一步掌握Java语言基础、Servlet和JSP应用开发和Spring、Spring MVC、MyBatis开源框架的使用。通过一个完整的软件开发项目,使具有一定编码基础、但没有或只有很少实际工作经验的学生能够了解软件项目开发的整个过程,并最终具备编写项目需求说明书、项目进度计划书、设计说明书、测试计划、测试报告、用户手册及项目开发总结报告的能力。通过实践过程,培养学生独立思考、独立工作的能力及团队协作精神。
实践内容
前期准备要求:
(1)掌握Java语法基础。(2)掌握面向对象编程思想(封装、继承、多态)。(3)掌握Java常用类、集合框架。(4)掌握JDBC数据库访问技术。(5)掌握Servlet和JSP应用开发技术。(6)掌握MVC分层设计思想和开发技术。(7)掌握SSM开源框架的使用。
项目实训要求:
(1)要求将上述知识运用到具体项目中,以学生熟悉的“学生选课系统”等课题为实训项目,由学生自己理解需求,业务逻辑,完成系统的需求分析、概要设计、详细设计、编码、测试等工作。
(2)要求各组要完成项目成果展示,要求各组最后要提交的资料包括:需求说明书、项目进度计划书、设计说明书、源代码、测试计划、测试报告、用户手册、实训总结等。
实践安排
实训分组安排:软件开发技术15B,93人,每组4-5人。
实训日程安排:
(1)项目准备:2个课时,包括项目理解,需求确定、人员分组分工、技术方案选择、编程规范的制定、开发测试环境搭建等。
(2)项目设计:2个课时,包括概要设计、详细设计、数据库设计等。
(3)项目编码:6个课时,包括分层架构实现和单元测试等。
(4)项目验收:2个课时,包括测试项目、验收和交付等。
(5)项目总结:4个课时,包括实训总结、项目成果展示等。
实践指导书
1、王肖锋. Java Web高级编程. 清华大学出版社.
实践记录
1、系统概述
学生信息管理系统是典型的信息管理系统,其开发功能主要包括对学号进行各种信息的建立、管理、查询等功能。学生信息管理系统涉及两个用户,分别是学生、管理员,通过登录验证界面登录系统执行自己权限范围内的事。对于用户学生通过输入学号、密码及验证码,验证通过后登录系统统计查询学籍信息、选课信息、课程安排信息、成绩与学分、修改密码、选择课程等,对以上的查询信息可以打印输出。对于用户管理员通过管理员帐号、密码及验证码,验证通过登录系统,统计查询学生信息、课程信息。可以对毕业与新入学生管理,对课程安排信息管理。
2、需求分析
随着科学技术的不断提高,计算机科学日渐承受,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将差生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工具带来了不少困难,同时也跟不上信息时代的高数、快捷的要求,严重影响了消息的传播速度。
正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大的提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由此看来开发这样一套管理软件是很有必要的。3、系统设计
系统需要建立 五大主要功能模块:成绩信息管理、课程信息管理、班级信息管理、学员信息管理、系统管理。
u 基于B/S体系结构,借助于Internet平台,提供学生信息,学生成绩,课程信息,班级信息管理平台
u 学生信息管理:包括添加学生信息,修改学生信息,删除学生信息,查找学生信息
u 学生成绩管理:包括添加学生成绩,修改学生成绩,删除学生成绩,查找学生成绩
u 课程信息管理:包括添加课程信息,修改课程信息,删除课程信息,查找课程信息
u 班级信息管理:包括添加班级信息,修改班级信息,删除班级信息,查找班级
u
功能模块概念图
主界面
系统web网站主要架构图如下:
1.使用SSM(Spring Spring MVC MyBatis)技术框架
2.界面框架推荐使用Jquery EasyUI
3.数据库使用MySQL
4.系统架构使用MVC+三层架构混合模式
在登录的时候首先判断,通过对登录用户的角色定义,对角色所拥有的功能检测,实施对用户请求进行权限控制,逻辑图如下,接着以个例说明:
3、系统实现及测试
成绩信息管理员对成绩信息进行增删改等操作
参考界面如下:
1.1.1. 添加成绩
成绩信息管理员增加成绩,参考界面如下图:
1.1.2. 删除成绩
成绩信息管理员删除成绩,参考界面如下图:
1.1.3. 修改成绩
成绩信息管理员修改成绩,参考界面如下图:
访问任何管理页面均有权限:
a) 用户管理(模块功能不受限)
b) 班级管理(模块功能不受限)
c) 学员管理(模块功能不受限)
d) 课程管理(模块功能不受限)
e) 成绩管理(模块功能不受限)
1.1.4. 班级管理员登录
只在班级管理页面有权限:
a) 班级管理页面(模块功能不受限)
b) 其他页面(以用户管理页面为例)
1.1.5. 班级浏览者登录
只在班级管理页面有权限且只能浏览,不能使用模块功能
a) 班级管理页面
无权限使用模块功能模块功能(以添加班级为例)
b) 其他页面(以用户管理页面为例)也是如此
实践总结
我觉得投入做一件事所需的必要条件是兴趣,我的学习完全是兴趣导向的,所以不会遇到难题时就放弃或者抛弃这个功能,而且因为有兴趣,我会很想充分理解一切细节,这样许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量、理论和实务之间的玻璃杯打破了,学习效率才能增倍。
其次态度要端正,摆正自己的心态,不要以为什么东西上网搜搜就可以了,一定要有自己的东西,只有自己付出过,当程序运行成功时的那种喜悦才会令自己有一种莫名的自豪感,就像这次我用IDEA下载Maven包的时候,因为IDEA要到国外网站下载包。所以时间较长,然后我就中途等不及开了VPN下载,就是因为在这其中断了一下网,下载了重复的包,网上所说将Maven包视图弄出来把红色冲突的就可以删掉了,但是很多依赖关系都错误了,所以最后只好所有包删掉重新下载这样就解决了。
一个软件编写之前的文档需求和概要一定要写好,因为这不是一个人的事,必须要组员一起共同理解结构这样开发起来就容易多了,理解好的分工就简单明了,不会做重复的事,而且前面的分工不明确,导致很多重复代码和类等,到最后程序整合所花费的时间就会很多。
我这次主要负责程序部分的课程管理和成绩管理这两个比较基础的功能,之前已经在原生Java环境下写,这次在SSM环境下写,代码分得比较仔细,不像自己原生写的那么乱,但其中也有一些配置需要学习。测试数据库的时候写语句一定要仔细,因为一不留神一个逗号分号就找半天。
有时候一个问题找了半天都找不到哪里有BUG,一定要问一下身边的同学,有时候他们也遇到过这样的问题或者解决问题的出发点不一样,说不定一下子就解决了。
|