软件工程课程设计学籍管理系统Word格式.docx
- 文档编号:19288016
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:33
- 大小:274.47KB
软件工程课程设计学籍管理系统Word格式.docx
《软件工程课程设计学籍管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计学籍管理系统Word格式.docx(33页珍藏版)》请在冰豆网上搜索。
3)详细设计
详细设计说明书;
4)软件编码
源程序;
5)测试文档
软件测试计划及测试用例,详细的测试数据、详细的测试步骤以及测试结果;
6)其他
用户操作手册,其他与本课程设计有关的需要说明的事项;
7)设计体会
五、考核方式
(一)理论部分占考查成绩的30%
(二)实践部分占考查成绩的70%
1问题描述
学籍管理系统
能对学生的学籍及成绩进行基本管理,包括:
学生基本信息和学科成绩的存储、输入、删除、修改、查询,以及升留级管理。
学生基本信息应包括:
学号、姓名、出生年份、籍贯、性别、专业、班级、家庭住址、本校住址、个人联系电话、家庭联系电话;
成绩信息应包括:
学号、课号、课名、成绩、上课时间、教师号。
查询能够按照:
学号、课号、班级、时间等进行查询.
2需求分析
需求分析是数据库信息管理系统开发的第一步也是着重要的一步。
需求分析是描述系统的需求,通过定义系统中的关键域类来建立模型。
分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,下面从三个方面(市场需求分析、功能需求分析、技术可行性分析)来进行系统的需求分析:
2.1功能需求分析
这个是一个学生管理系统,我们的目标是提高学籍管理工作的效率,具有对学生个人信息,课程信息,所选课程信息进行管理及维护的功能。
学生可以通过此系统进行个人信息,考试成绩查询。
系统开发的总体任务是实现学生信息管理的系统化,规范化和自动化。
总之,学籍管理系统的功能需求包括管理员对功能的需求和学生对功能的需求,老师对功能的需求三大部分,如下所列:
(1)管理员对功能的需求
管理员权限最大,可以对学生,课程,老师的管理,管理员对功能的需求细分如下:
✓有关学生信息的浏览,包括学生的姓名,入学日期,所在班级,学制,家庭住址,联系电话。
✓学生的添加,本系统由管理员对学生进行添加。
✓学生信息的修改,删除。
✓教师信息的添加,本系统管理员对教师的基本信息进行添加。
✓学校基本课程的浏览,包括课程名,学时,学分,任课老师和课程具体描述。
✓学校基本课程的添加.
✓学校基本课程的修改,删除。
(2)学生对功能的需求
✓学生只是利用此系统进行与自己有关的信息查询,输入等,不必关心其他的内容,学生对功能的需求如下:
✓浏览个人基本信息,具体内容包括姓名,入学日期,所在班级,学制,家庭住址,联系电话.
✓学生登陆系统后,修改个人信息,为了保证系统安全性,只要求学生修改个人密码。
✓浏览课程信息,具体内容包括课程名,课程类型,学分和课程的具体描述。
✓浏览个人选课情况。
✓浏览个人成绩。
(3)老师对功能的需求
✓老师利用该系统对学生和课程进行管理,老师对功能的需求如下:
✓浏览个人基本信息,具体内容包括教师姓名和信息简介。
✓老师登陆系统后,修改个人信息,为了保证系统安全性,只要求老师修改个人密码。
✓管理学生的成绩,包括对学生成绩的修改。
✓查看学生的留言。
2.2技术可行性分析
目前,全国计算机越来越普及,几乎每个学校都配有计算机,为我的这套软件提供了硬件环境。
数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经趋于成熟,使我们能够方便的使用。
数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志.
Access数据库是我比较熟悉的数据库,这使我能够完成实验。
本系统主要采用基于JAVA语言的JSP技术和SERVLET技术,以及HTML、CSS等语言和技术,因此该系统具有JAVA的所有优点,移植性能比较好.
2。
3性能分析
系统应具有高可靠性系统在功能完整的同时,应具有很好的可靠性。
作为支撑学生学籍管理工作的基础环境,系统出现故障将直接影响学校正常的工作进程,所以系统必须具有高可靠性。
系统应具有良好的可操作性系统的使用者大多为普通操作人员,因此系统的界面操作应方便简单、使用户能够易学易。
系统应具有较强的安全保密性。
系统应提供安全可靠的数据操作权限,特定的人员只能对特定的信息进行炒作。
3系统分析与设计
3.1系统整体模块分析
学籍管理系统是一个教育单位不可或缺的部分,它的内容对于学校的决策者和管理员来说都是至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
学生学籍管理系统主要包括学生信息模块、课程管理模块、成绩管理模块、教师管理模块,具体的模块图如图2.1所示。
图2。
1系统模块图
3.11学生管理模块
该模块主要负责管理所有在校学生的个人信息。
学生通过这个模块,可以查询自己在校的学籍信息,打印自己的学籍信息以及修改自己的登陆密码等等。
管理者通过这个模块,可以添加、更新、删除、查询学生的学籍信息。
3。
12课程管理模块
该模块主要的功能是管理全校的课程信息。
主要功能包括添加,删除,修改,查询课程信息。
其中只有管理员才具有对课程信息进行维护的权限(增加、删除、更新).课程管理模块是选课管理模块的基础,只有在课程管理中添有选修课的信息,学生才能进行选课[5].
针对选课模块.该功能的行使者是学生,学生通过浏览全部的课程信息,选择自己符合自己要求的课程。
3.13成绩管理模块
该模块功能主要由老师所拥有。
对于选择自己所教授课程的同学,老师具有给定该同学的专业分数,以及修改该同学的专业分数的权限。
14教师管理模块
该模块功能也为管理员所拥有。
管理员主要负责新老师信息的增加,老师信息的整理以及老师信息的打印.除此之外还可以查看每个老师所教授的课程。
3.2系统的用例分析
(admin)
图3.21管理员用例图
管理员用例图,管理员(admin)可以实现的功能主要有:
系统的登陆、对学生的管理(增加、删除、更新、查看)、对学生的管理(增加、删除、更新、查看)、对课程的管理(增加、删除、更新、查看)以及对新闻的管理(增加、删除、更新、查看)。
(Student)
图3。
22学生用例图
学生用例图,学生(Student)可以实现的功能有:
系统的登陆、个人学籍信息的查询、个人登陆密码的修改、学院课程的查询、个人课程的选修、发表留言、以及新闻(公告)的浏览。
(Teacher)
23老师用例图
教师用例图,教师(Teacher)可以实现的功能有:
系统的登陆、教师个人信息的查询、个人登陆密码的修改、查看学院所有课程、学生成绩的发布、查看学生的留言、查看学院新闻(公告)。
3.3业务流程图
系统流程图是描绘物理系统的传统工具。
它的基本思想是用图形符号以黑盒子形式描述系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。
系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程,因此尽管系统流程图使用的某些符号和程序流程图中使用的符号相同,但是它确是物理流程图而不是程序流程图。
3.31系统登录流程图:
24管理员登陆流程图
3.32管理员信息管理流程图:
25管理员信息管理流程图
3.4系统的数据分析
数据流图表达了数据和处理的关系,数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,描述了系统的组成部分及各部分之间的联系。
学生课程表
教师信息表显示学生成绩
图3.4-2教师发布成绩数据流图
查看提交
显示选课信息
图3.4-3学生选课数据流图
4数据库设计
4.1数据库的需求分析
数据库要尽量满足用户提出的各项要求。
由于在学籍管理系统中,需要采集大量的信息,包括学生信息,班级信息,课程信息,成绩信息,教师信息等,需要合理有效的组织数据库的结构,合理设置数据库,这样就能在后期开发中减少难度,提高程序效率,根据学生基本信息及其相关信息的特点归纳一下规律:
(1)一个专业包含多个班级
(2)一个班级对应一个入学年份及学制
(3)一个班级包含多个学生的名字
(4)每一个学生都有不同的学号
(5)一个班级对应连续的多个学期
(6)一个班级在一个学期内开设多门课程
(7)每一门课程需要记录每一门学生的成绩
(8)一种角色对应一个或多个用户
根据以上数据之间的对应及依赖关系,可以确定数据库中所必备的信息应该有一下几方面:
(1)专业信息类别信息,包含院校所开设的专业名称及详细的介绍、描述。
(2)学生信息,包含学生的学号、姓名、性别及所属班级等基本信息。
(3)课程信息,包含开设课程的班级、课程及学期。
(4)成绩信息,包含学生的学号、课程、学期及成绩信息。
(5)用户信息,包含用的名称、口令及角色.
(6)角色信息,包含角色名称、与该角色有关的权限。
4.2数据库的概念结构设计
根据上面对系统的需求分析、模块设计,就可以做出能够满足用户需求的各种实体以及他们之间的关系。
本系统根据上面的设计规划出:
用户信息实体、学生信息实体、课程信息实体、教师信息实体、学生—课程情况实体、教师-课程情况实体。
以及整个系统的E-R图。
4.21管理员实体属性图
4.22学生实体属性图
4。
23课程实体属性图
24教师实体属性图
27学生—课程实体属性图
下面给出整个系统的E—R图:
n
图4。
28系统E-R图
4.3数据库逻辑结构设计
首先是系统的登录表(login),存储可以登录系统的学生、管理员、老师的相关信息。
。
相关的列名有登陆ID号(loginID)、角色类型(roleID)、登陆姓名(loginName)、登陆密码(loginPWD)。
表1用户登录表(login)
列名
数据类型
大小
约束
字段描述
loginID
Int
11
主键(主键)
编号
roleID
只有1、2
用户类型
loginName
Varchar
50
NOTNULL
用户名
loginPWD
登录密码
学生表(表2),保存学生的基本信息,主要要学生的学号、名字、入学时间、家庭住址、家庭联系电话以及所在的班级等等。
相关的列名有ID号(ID)、学生ID号(stuID)、学生姓名(stuName)、入学时间(enterTime)、学年(stuYear)、地址(address)、联系电话(tellphone)、班级(stuclass).
ID
NOTNULL(主键)
stuID
学号
stuName
学生姓名
enterTime
Datetime
NULL
入学时间
stuYear
20
学制
address
住址
tellphone
电话
stuclass
10
班级
remark
stusex
int
1,2
性别
stuschool
所属学院
表2学生信息数据表(student)
教师表(表3),存放教师的一些基本信息,包括教师编号、教师姓名、教师的职称以及其他的一些备注信息。
表3教师信息表(teacher)
tID
teacherID
职工号
teacherName
名字
teacherInfo
详细信息
Teasex
0(男)1(女)
teaschool
Notnull
15
NOTnull
teaage
5
NotNull
年龄
教师课程表(表4)是把教师表和课程联系在一起的信息表,主要包括课程编号、教师编号。
表4教师—课程表(teacourse)
段描述
tcid
Int
教师编号
courseID
课程编号
学生课程表(表5)是把学生表和课程表联系在一起的信息表,主要包括学生的ID号、课程的ID号、以及所获得的相应的分数.
表5学生-课程表(stucourse)
scid
学生编号
score
分数
课程信息表(stu_course)包含了课程的一些相关信息,主要有课程ID(courseID)、课程名称(courseName)、课程学分(courseCredit)、备注(remark)。
表6课程信息表(course)
courseName
课程名称
courseCredit
学分
Courseteacher
任课老师
Coursecount
Null
选课人数
5可视化界面
连接数据库:
packagejunling.java;
importjava.sql。
*;
publicclassDataBase{
publicstaticConnectiongetConn(){
Connectionconn=null;
try{
Class.forName("
sun.jdbc。
odbc。
JdbcOdbcDriver”);
conn=DriverManager.getConnection(”jdbc:
odbc:
Driver={MicrosoftAccessDriver(*。
mdb)};
DBQ=F:
/access/software。
mdb”);
}catch(ClassNotFoundExceptione){
System.out.println("
无类"
);
}catch(SQLExceptione){
System。
out。
println("
sqlerror”);
}
if(conn==null)System。
无conn"
);
returnconn;
}
publicstaticStatementgetStat(Connectionconn){
Statementstat=null;
try{
stat=conn.createStatement();
//System.out。
println(”连接数据库成功”);
}catch(SQLExceptione){
e。
printStackTrace();
returnstat;
publicstaticResultSetgetRs(Statementstmt,Stringsql){
ResultSetrs=null;
rs=stmt。
executeQuery(sql);
e.printStackTrace();
}
returnrs;
}
publicstaticvoidclose(Connectionconn){
if(conn!
=null){
try{
conn。
close();
}catch(SQLExceptione){
e。
}
conn=null;
publicstaticvoidclose(ResultSetrs){
if(rs!
rs.close();
e.printStackTrace();
}
rs=null;
publicstaticvoidclose(Statementstat){
if(stat!
=null){
stat.close();
}catch(SQLExceptione){
stat=null;
}
登陆界面:
代码:
<
%@pagepageEncoding=”utf—8"
%〉
%@pageimport=”java.sql.*,junling.java.*,java.io。
*,java。
util.*,java。
text.SimpleDateFormat”%>
〈%@pagecontentType="
text/html;
charset=utf-8"
language="
java"
errorPage="
"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1。
0Transitional//EN”"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1—transitional。
dtd"
〉
%
request。
setCharacterEncoding("
UTF-8"
Stringusername=”"
;
Stringpassword=”"
//Stringsql=null;
Stringaction=request。
getParameter(”action"
StringID=request。
getParameter(”type”);
if(action!
=null&
&
action.equals("
login”)){
username=request。
getParameter("
username”);
password=request。
password"
session。
setAttribute(”username"
,username);
session.setAttribute("
password”,password);
if(Action。
check(username,password,ID)){
//session。
setAttribute("
logined"
"
true"
System.out。
println(”sucessee"
if(ID.equals("
1”)){
sucessee1”);
response。
sendRedirect("
student1。
html”);
if(ID。
equals("
2”)){
out.println(”sucessee2"
sendRedirect(”teacher.html”);
equals(”3”)){
out.println(”sucessee3”);
response.sendRedirect(”admin.html”);
}
return;
}else{
out.println(”请输入正确的用户名和密码"
}
〈htmlxmlns="
http:
//www。
w3.org/1999/xhtml"
>
head>
metahttp-equiv=”Content-Type”content=”text/html;
charset=utf—8”/〉
〈title〉软件161王琪<
/title〉
〈/head
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 学籍 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)