程序设计与框架课程设计报告(陈璇组)精要.docx
- 文档编号:778933
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:36
- 大小:288.58KB
程序设计与框架课程设计报告(陈璇组)精要.docx
《程序设计与框架课程设计报告(陈璇组)精要.docx》由会员分享,可在线阅读,更多相关《程序设计与框架课程设计报告(陈璇组)精要.docx(36页珍藏版)》请在冰点文库上搜索。
2014-2015学年第一学期计算机学院软件工程专业
程序设计与框架I课程设计报告
1233xx班
2012xxxx陈 璇
2012xxxx刘海金
2012xxxx张英杰
2014年12月31日
课题名称:
学生成绩系统
任务分工:
2012xxxx陈 璇:
负责收集课程设计资料,部分代码的编写以及程序的调试,数据库的修改工作。
2012xxxx刘海金:
负责收集课程设计材料,部分代码的编写,以及框架的搭建,修改工作。
2012xxxx张英杰:
负责收集课程设计材料,数据分析,部分代码的编写,课程设计报告的修改工作。
目录
第1章引言 1
1.1课程设计的目的和意义 1
1.2课程设计的总体要求 1
第2章需求分析 2
2.1系统目标 2
2.2功能需求 2
2.3数据需求 2
2.4非功能性需求 3
2.5环境需求 3
第3章系统分析与设计 5
3.1系统调查 5
3.2系统构架 5
3.3系统功能模块图 5
3.4系统设计思想 6
3.5系统设计分析 6
3.6数据库表的设计 6
3.7MVC设计模式 7
3.8对象(类)设计 8
3.9状态图设计 9
3.10程序用例图 10
第4章编码与测试 11
4.1测试目的 11
4.2测试环境的搭建 11
4.3测试方法 12
4.4测试项目 12
4.5测试结果 12
第5章结束语 13
参考文献 14
附录1部分系统界面 15
附录2部分源程序 17
第1章引言
第1章引言
1.1课程设计的目的和意义
JavaEE开源框架课程设计是在学生系统的学习了Struts2、hibernate和
spring后,按照所学的知识,设计开发一个小型的人事管理系统。
旨在通过完成一个项目的开发,通过实际问题培养学生的动手能力,并且使学生更加深入的理解和灵活掌握教学内容。
通过实验使学生更加熟练的掌握eclipse的使用,掌握Struts2、Hibernate和Spring整合开发项目,使学生更加深入的了解javaweb的开源框架的使用。
1.2课程设计的总体要求
本课程设计所选课题的主要目标是采用B/S模式,基于J2EE架构,实现网站构建管理系统的基本功能。
本次设计的主要工作及报告的主要内容可以归结如下:
(1)分析网站构建管理系统的功能需求和非功能需求。
(2)设计网站构建管理系统的技术体系结构,应用设计模式,设计数据库实体联系模型。
(3)实现网站构建管理系统的组件管理、模块管理、界面模板管理等诸多系统管理功能,提供留言板、滚动新闻、计数器等常用组件和模块。
(4)完成网站构建管理系统的单元测试、功能测试及性能测试,并给出测试分析。
0
第2章需求分析
第2章需求分析
2.1系统目标
(1)总体目标
能够完成整个软件的设计,并且能够使软件能够正常运行。
(2)具体目标
实现每个功能,并且能够完成具体的每个功能可以选择多门课程学习,课程类别是必修课或选修课,每门课程由一位专业教师授课,学期末教师给出学生成绩,成绩由平时成绩、实验成绩、理论成绩组成。
成绩可以是数值(小于等于100分)或非数值(优、良、中、及格、不及格)。
2.2功能需求
(1)实现学生基本情况的录入、修改、删除等基本操作
(2)按学生学号以学年分组查询全部课程成绩
(3)按学生学号计算基点成绩,计算规则参考长春工业大学学分基点计算规则。
(4)按照某门课程学生成绩排序
(5)某门课程最高、最低成绩的学生基本信息
(6)计算某门课程的平均分
(7)建立用户及授权
2.3数据需求
(1)学生基本信息
该模块下属子模块:
专业管理、班级管理和学生管理,针对学生基本信息的范围进行如此划分。
相应模块功能即实现增加、删除、修改和查询,以便管理学生的基本信息。
(2)教师基础信息
该模块只包含教师管理唯一子模块,对教师基础信息进行基本的增加、删除、修改、查询管理。
其中,具体的操作对象涉及任课的教师,他们在数据库中以不同的编号作为区分。
(3)成绩基础信息
根据涉及学生成绩的相关性进行组织,该模块包含子模块:
课程管理、智育成绩统计、德育成绩统计。
29
(4)用户权限信息
动态对用户的权限进行管理,以便不同用户登陆系统获得不同的模块显示,对用户的操作进行动态的扩展和限制。
所以,该模块划分为:
角色管理、权限管理;角色管理是对角色的增加、删除、修改和查询,给用户赋予不同的角色使用户具有不同的功能使用;权限管理则对角色的权限进行管理。
(5)系统数据信息
该模块是系统的增值模块,包含数据备份、数据导出和日志管理;是对系统的数据进行维护,在系统遭到破坏的情况下保证数据的完整性,而且可以根据日志来进行查看和恢复
2.4非功能性需求
安全性、可靠性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性、可扩展性。
2.5环境需求
(1)MySQL简介:
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
目前MySQL被广泛地应用在
Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了
MySQL作为网站数据库
(2)数据库的连接
JDBC(JavaDataBaseConnectivityjava数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问
Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送
SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编
写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是
Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有
applet的网页,而该applet使用的信息可能来自远程数据库。
企业也可以用
JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。
企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。
新程序的开发期很短。
安装和版本控制将大为简化。
程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。
对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。
第3章系统分析与设计
第3章系统分析与设计
3.1系统调查
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。
使原本的旧的管理方法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作。
这大大地阻碍了人类经济的发展。
3.2系统构架
系统采用的是B/S结构,即浏览器和服务器架构。
浏览器端提供用户操作界面,接受用户输入的各种操作信息,向服务器发出各种操作命令或数据请求,并接收执行操作命令后返回的数据结果,根据业务逻辑进行相关的运算,向用户显示相应的信息。
服务器端接收浏览器端的数据或命令请求,并请求数据库服务器执行数据库操作得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回给浏览器端。
3.3系统功能模块图
3.4系统设计思想
(1)采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。
(2)系统就满足学校的需求,例如学生成绩的录入、查询、更新,学生成绩录入与排名等等。
(3)系统具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。
3.5系统设计分析
本系统使用Struts开源框架实现MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。
该系统适用于各个学校,其功能主要为:
成绩管理:
用于对成绩的录入、修改、汇总、排名以及查询等操作。
3.6数据库表的设计
本系统将数据存储在表中:
学生表(见表3-1):
保存学生的基本信息,包括学生的姓名,学生的学号,所在的班级。
字段名称
中文解释
保存类型
默认值
长度
可否为空
主键
Id
主键自增
int
无
16
不能
是
Name
姓名
varchar
无
24
不能
否
Classes
班级
Varchar
无
24
不能
否
Score
成绩
Varchar
无
24
不能
否
表3-1学生表
登入表(见表3-2):
保存登陆信息,包括用户名,密码。
表3-2登入表
字段名称
中文解释
保存类型
默认值
长度
可否为空
主键
Userid
用户名
Varchar
无
24
不能
是
UserName
姓名
Varchar
无
24
不能
否
成绩表(见表3-3):
保存成绩相关信息,包括学生学号,学生姓名,学生成绩,课程名称。
字段名称
中文解释
保存类型
默认值
长度
可否为空
主键
Id
主键自增
Int
无
16
不能
是
Name
姓名
Varchar
无
24
不能
否
Score
成绩
Varchar
无
24
不能
否
Subject
课程名称
Varchar
无
24
不能
否
表3-3成绩表
3.7MVC设计模式
MVC(Modle-View-Controller,模型-视图-控制器)模式是XeroxPARC在
20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。
MVC模式主要由3个部分组成:
模型、视图和控制器,其结构如图3-1所示。
第3章系统分析与设计
Class
-ScoreId:
int
-ScoreName:
float
-TeacherName:
string
+GetClassName():
string
+GetClassTName():
string
+GetScore():
float
1..*
3.8对象(类)设计
图3-1MVC模式框架
Student
-ID:
long
-Name:
string
-Class:
string
-Score:
float
+GetName():
string
+GetclassName():
string
+GetScore():
float
1..* 1
1
User
-Mark:
string
-Semester:
string
+GetStudentName():
string
+GetClassName():
string
+GetStudentScore():
string
+Save():
void
+Delete():
void
+FindByID():
void
+FindByExample():
void
+FindByMark():
void
图3-2 学生成绩管理系统的类图
3.9状态图设计
初始
状态 Lock
权限
教师模式
发送修改或删除或添加
信息
数据库修改中
Unlock
Unlock
修改完成
学生模式
查看数据库中的成绩
确定信息无误
图3-3成绩管理系统的状态转换图
3.10程序用例图
图3-4程序用例图
第4章编码与测试
第4章编码与测试
4.1测试目的
测试是为了发现程序中的错误而执行程序的过程,测试的目的就是在软件投入生产运行之前,尽可能的发现软件中的错误。
成功的测试是发现了至今为止尚未发现的错误的测试。
4.2测试环境的搭建
(1)系统要求数据库使用MySQL5.0版本。
数据库编码要求要支持中文,推荐使用gb2312编码。
数据库安装好后,建立一个名为ssmange的数据库,创建脚本为:
createdatabasessmange;
然后创建学生表,创建的脚本为:
CREATETABLE`student`(
`id`int(4)NOTNULLauto_increment,
`name`varchar(20)defaultNULL,
`classes`varchar(20)defaultNULL,
`score`varchar(20)defaultNULL,PRIMARYKEY (`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8;
(2)运行环境jdk5.0及以上的版本,并设置好相应的环境变量。
(3)JDK的安装成功与否可采用以下方法测试
在cmd下输入:
java-version看输出情况,在我的电脑上输出如图4-
1:
图4-1测试JDK
如果出现与图4-1相似的界面,就说明JDK安装成功并配置好了环境变量。
4.3测试方法
为了提高测试效率,降低测试成本,本测试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。
在黑盒法测试方案中,采用等价划分技术,把所有可能的数据划分成几个等价类。
4.4测试项目
(1)登录测试
(2)数据输入和输出测试
4.5测试结果
(1)登录测试中,没有发现什么错误。
(2)输入和输出测试中,对所有相同的输入都可以得出相同的输出。
第5章结束语
第5章结束语
随着电子商务和信息技术的发展,学生课程和成绩管理是学校教务管理信息化、现代化的关键,本设计的开发过程中采用了MVC的设计模式,利用
SSH框架技术来完成系统的设计,并且对系统应有的功能给予实现。
主要完成了:
(1)对系统进行了详细的分析,实现了模块的划分及分析其功能。
(2)以J2EE技术为开发支持,以MySql为后台数据库,设计了一个三层结构下的管理系统的层次模型。
(3)实现了学生课程及成绩管理的基本功能。
通过这次课程设计开拓了我们的视野,让我们对这门课有了更清晰的认识。
作为一名软件工程专业的学生,一定要把这门专业课学好,为今后的学习和工作打下坚实的基础,课程设计已经结束了,虽然自己的设计还存在很多不足有待改进,但是在课设过程中真的学到了很多东西,不仅使自己更加深刻的理解了平时学到的理论知识,同时也使自己的动手实践能力得到了锻炼。
同时在课设过程中不断的与同学讨论,不断地向老师请教,对提高与人交往能力和团队协作能力都有帮助,真是受益良多!
参考文献
参考文献
[1]陈天河等.Struts,Hibernate,Spring集成开发宝典[M].北京:
电子工业出版社,2007
[2]马朝晖等.Java教程.(第4版)[M].北京:
人民邮电出版社.2006
[3]岳阳,王杰,孙红梅.MySQL5管理员标准指南及语言参考(第二版)[M].北京:
电子工业出版社,2005
[4]吴明晖,吴超.Struts+Hibernate开发Web应用——从基础到实践[M].北京:
人民邮电出版社,2007
[5]付京周.精通Hibernate3.0——Java数据库持久层开发实践[M].北京:
人民邮电出版,2007
[6]王珊,萨师煊.数据库系统概论(第四版)[M].北京:
高等教育出版社,2006[7]张白一,崔尚森.面向对象程序设计——Java[M].西安:
电子科技大学出版
社,2004
[8]叶齐炼,申华.学校教务工作实用手册[M].北京:
开明出版社,2002[9]袁世鹰.微机教务管理系统的设计与实现[P].北京:
开明出版社,2001[10]高宇翔.java电子杂志第二期[J].J2SE5.0专题之语言特性,2005[11]王毅.Internet与Java[J].电子与电脑,1997(3)
[12]张光业.Java与Javascript[J].微电脑世界,1996(5)
[13]KeysBotzum,AlbertWong.IBM开发人员技术期刊第三期[J],2007[14]谷庆华等.基于java语言实现数据库访问[J].计算机技术与发展,2008
附录1
附录1部分系统界面
图1添加学生信息
图2添加成绩信息
图3按学号查询成绩信息
附录2
附录2部分源程序
1.对学生信息操作源代码
packageorg.njy.action;importjava.util.List;
importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;
importmons.beanutils.PropertyUtils;importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;importorg.apache.struts.action.ActionMapping;importorg.apache.struts.actions.DispatchAction;importorg.njy.bean.Student;
importorg.njy.form.StudentForm;importorg.njy.service.StudentService;
importorg.njy.serviceImpl.StudentServiceImpl;publicclassStudentActionextendsDispatchAction{
privateStudentServicestuService=newStudentServiceImpl();
/**添加学生信息*/
publicActionForwardsave(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
//将form表单强转成配置好的ActionFormStudentFormstudentForm=(StudentForm)form;Studentstu=newStudent();
//将ActionForm对象值复制给JavaBean对象
PropertyUtils.copyProperties(stu,studentForm);
//执行查询
booleanflag=stuService.save(stu);returnmapping.findForward("toGetList");
}
/**删除学生信息*/
publicActionForwarddelete(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
StudentFormstudentForm=(StudentForm)form;
Studentstu=newStudent();PropertyUtils.copyProperties(stu,studentForm);booleanfla
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 框架 课程设计 报告 陈璇组 精要