管理信息系统大作业Word格式.docx

上传人:b****6 文档编号:19321127 上传时间:2023-01-05 格式:DOCX 页数:18 大小:1.62MB
下载 相关 举报
管理信息系统大作业Word格式.docx_第1页
第1页 / 共18页
管理信息系统大作业Word格式.docx_第2页
第2页 / 共18页
管理信息系统大作业Word格式.docx_第3页
第3页 / 共18页
管理信息系统大作业Word格式.docx_第4页
第4页 / 共18页
管理信息系统大作业Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

管理信息系统大作业Word格式.docx

《管理信息系统大作业Word格式.docx》由会员分享,可在线阅读,更多相关《管理信息系统大作业Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

管理信息系统大作业Word格式.docx

b.学生

学生用户登录后,学生可以看到自己的学生信息和成绩信息。

学生信息包括学号、姓名、班级、生日、性别、地址、电话等信息。

成绩信息包括这个学生的所有课程的成绩信息。

c.管理员

与老师的功能相似,另外管理员具有用户管理功能,能够对新上任的老师和新注册的学生行进添加,并能删除已经毕业和退休的学生和老师。

3)功能需求

a.密码修改

用户在登录的状态下可以输入自己的旧密码,验证成功后可以设置新的密码

b.忘记密码

用户在未登录状态下可以输入自己的用户名和相关的验证信息,如果验证成功,则可以直接设置新的密码来作为自己账户的密码。

c.信息录入

需要输入的记录里包含的外码ID必须存在,用户才能正确录入信息。

d.查询

用户输入要查询的条件,输入的内容必须在数据库中存在,才能在控件中显示出来

e.修改

用户输入条件查询,然后在显示的表格框中修改需要修改的信息。

f.删除

有删除权限的用户输入需要删除记录的主码,若存在,则提示删除成功。

4)性能需求

a.时间特性

一般操作的响应时间应在1~2秒内

b.适应性

满足个人使用的需求(记录量控制在50项内)。

对运行环境要求不应存在困难。

2.系统逻辑方案

1)系统框架设计

2)业务流程分析(图)

3)数据流图(DFD)

4)数据字典

数据结构:

admin

描述:

管理员的基本信息表

定义:

admin=admin_username+admin_password+admin_name+admin_age+admin_sex+admin_job+admin_information+admin_image

admin_username={限三个字符以内}

admin_password={限10个字符以内}

------------------------------------------------------

course

学校课程信息表

course=course_id+course_name+course_point+teacher_username

course_id={限4个字符以内}

teacher_username={限4个字符以内}

----------------—-------------------------------------

score

成绩表

score=scoreid+teacher_username+student_username+course_id+scoreyear+score

scoreid={限4个字符以内}

scoreyear={整数型}

score={整数型}

-------------------------------------------------------

student

学生基本信息表

student=student_username+student_password+student_name+student_age+student_sex+student_startyear+student_department+student_student_profession+student_student_studentclass+student_student_information+student_image

student_username={限9个字符以内}

student_password={限10个字符以内}

--------------------—---------------------------------

teacher

教师基本信息表

teacher=teacher_username+teacher_password+teacher_name+teacher_age+teacher_sex+teacher_job+teacher_information+teacher_image

teacher_password={限10个字符以内}

数据流名:

忘记密码

来源:

判断核对

去向:

用户信息表

组成:

{用户名+用户类型+用户信息+新密码}

备注:

当用户忘记密码时可以通过验证信息修改掉旧密码。

成绩单

教师

学生

{学号+教师号+课程号+分数+学年}

教师录入成绩后生成成绩单,学生可查询。

数据处理名:

管理员查询

输入:

查询条件

处理逻辑:

根据输入的条件判断是否有对应记录,并提示结果

输出:

信息显示

用于查询和显示需要的信息

管理员修改

要修改的信息

判断输入的记录的主码是否存在,给出提示显示结果

提示结果

用于管理员修改需要的对应信息

管理员删除

需要删除的记录的主码

判断是否存在,给出提示

用于管理员删除不需要的对应记录

修改密码

用户名、旧密码、新密码

判断输入的用户名旧密码是否有对应记录,并给出提示

用于修改用户密码

成绩录入

学号、教师号、课程号、成绩、学年

判断输入的学号、教师号、课程号是否有对应记录,并给出提示

用于教师录入学生成绩

数据存储:

学生成绩情况

说明:

存放的是每个学生的成绩情况

输入数据流:

各门功课的成绩情况

流出数据流:

学生的成绩单

数据量:

由学生的人数决定

存储方式:

按学号先后顺序排列。

三、数据库设计

1.数据库概念结构设计(ER图)

2.逻辑结构设计(ER图转换为关系模型)

以下是最终的数据库表:

四、系统设计

1.模块结构设计

由前面的系统需求分析得到实体主要有5个:

教师、学生、管理员、课程、成绩。

学生有属性:

学号、姓名、性别、系名、专业、出生日期

教师有属性:

教师号、姓名、性别、院系、联系电话

管理员属性:

用户名、密码

课程有属性:

课程号、课程名、学分、教师

成绩有属性:

学号、姓名、课程号、课程名、成绩、授课老师

学生功能模块:

1、修改密码:

学生进入页面后可以修改自己的密码,以达到保密性;

2、学籍维护:

学生可以查看自己的基本信息(基本信息由管理员录入不能修改);

3、查看成绩:

学生可以查看自己的必修课成绩。

教师功能模块

1、学生管理:

该模块的主要功能是查询学生基本信息和对学生选课的管理以及成绩的录入修改。

2、教师进入页面后可以查看自己的基本资料和修改自己的密码,以达到保密性;

管理员功能模块:

1、进入页面后可以修改自己的密码,以达到保密性

2、教师管理,对教师和课程进行修改和添加删除信息

3、学生管理,查询修改添加学生基本信息

2.代码设计

在我们小组本次承担的课题“学生成绩管理系统”中,我负责的模块是教师部分。

下面介绍下教师可实现的操作:

第一部分是:

教师个人管理

包括:

1)查看个人资料

2)修改密码

第二部分是:

学生信息管理

1)学生信息查询

2)添加学生选课信息

3)学生成绩录入

通过以上设计,教师可以实施一些简单的基本操作。

教师个人管理:

运行界面:

主要代码:

<

body>

<

%

session.setAttribute("

username"

login.getUsername());

SelectTeacherdaol=newSelectTeacherdao();

%>

tablewidth="

100%"

height="

395"

border="

0"

>

tdheight="

45"

colspan="

2"

class="

HH1"

教师个人基本信息<

/td>

tdwidth="

23%"

350"

240"

cellspacing="

30"

HH2"

教师照片<

320"

imgname="

adminimage"

src="

E:

\HB的天地\成果天地\JAVA\student_manage\WebRoot\photo<

%=l.getTeacheruser(login.getUsername()).getTeacherimage()%>

"

width="

alt="

77%"

446"

40"

教师工号:

%=l.getTeacheruser(login.getUsername()).getTeacherusername()%>

教师姓名:

%=l.getTeacheruser(login.getUsername()).getTeachername()%>

教师年龄:

%=l.getTeacheruser(login.getUsername()).getTeacherage()%>

教师性别:

%=l.getTeacheruser(login.getUsername()).getTeachersex()%>

教师系别:

%=l.getTeacheruser(login.getUsername()).getTeacherjob()%>

150"

教师个人信息:

labelfor="

admininformation"

/label>

textareaname="

cols="

60"

rows="

8"

readonly="

readonly"

id="

%=l.getTeacheruser(login.getUsername()).getTeacherinformation()%>

/textarea>

scriptlanguage="

javascript"

functionchecksubmit(){

if(form1.password.value=="

{

alert("

请输入原密码!

);

returnfalse;

}

elseif(form1.newpassword.value=="

){

新密码不能为空!

elseif(form1.newpassword1.value=="

请确认新密码!

elseif(form1.newpassword.value!

=form1.newpassword1.value){

两次输入的新密码不一致,请重新输入!

form1.submit();

}

functionfreset(){

 form1.reset();

returnfalse;

/script>

/head>

学生信息管理:

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+"

:

//"

+request.getServerName()+"

+request.getServerPort()+path+"

/"

;

%>

ArrayList<

String>

arr=l.getStudent(student.getStudentusername(),student.getStudentdepartment()

student.getStudentprofession(),student.getStudentclass());

%

for(inti=start;

i<

=end;

i++){

trstyle="

align=center>

%=l.getStudentuser(arr.get(i)).getStudentusername()%>

%=l.getStudentuser(arr.get(i)).getStudentname()%>

%=l.getStudentuser(arr.get(i)).getStudentage()%>

%=l.getStudentuser(arr.get(i)).getStudentsex()%>

%=l.getStudentuser(arr.get(i)).getStudentstartyear()%>

%=l.getStudentuser(arr.get(i)).getStudentdepartment()%>

%=l.getStudentuser(arr.get(i)).getStudentprofession()%>

%=l.getStudentuser(arr.get(i)).getStudentclass()%>

%=l.getStudentuser(arr.get(i)).getStudentinformation()%>

<

/tr>

<

主要代码

functioncheck(){

if(form1.scoreid.value=="

选课号不能为空"

if(form1.teacherusername.value=="

教师工号不能为空!

elseif(form1.studentusername.value=="

学生号不能为空!

elseif(form1.courseid.value=="

课程号不能为空!

elseif(form1.scoreyear.value=="

课程学期不能为空!

ScoreDaol=newScoreDao();

scores=newscore();

s.setScoreid(score.getScoreid());

s.setTeacherusername(score.getTeacherusername());

s.setStudentusername(score.getStudentusername());

s.setCourseid(score.getCourseid());

s.setScoreyear(score.getScoreyear());

s.setScore(score.getScore());

if(score.getScoreid().equals(l.getScore(score.getScoreid()).getScoreid())){

alert("

此选课信息已对应一个课程名,请重新输入正确的课程名!

window.location.href="

student_class.jsp"

else{

l.insertScore(s);

alert("

新选课添加成功!

window.location.href="

ArrayList<

arr=l.getScoreteacher(login.getUsername(),score.getCourseid());

if(score.getCourseid()!

=null&

&

!

score.getCourseid().equals(l.getCourseid(login.getUsername(),score.getCourseid()).getCourseid())){

%>

你没有查询和录入该课程成绩的权限!

window.location.href="

teacher_score.jsp"

elseif(score.getCourseid()!

=null){

for(inti=start;

%=l.getScore(arr.get(i)).getScoreid()%>

tdheight="

align=center>

%=l.getScore(arr.get(i)).getTeacherusername()%>

td

height="

%=l.getScore(arr.get(i)).getStudentusername()%>

%=l.getScore(arr.get(i)).getCourseid()%>

%=l.getScore(arr.get(i)).getScoreyear()%>

tdalign=centerheight="

inputname="

score"

type="

text"

value="

%=l.getCourseid(login.getUsername(),arr.get(i)).getScore()%>

size="

16"

maxlength="

3"

>

inputtype="

hidden"

name="

hiddenField"

五、实验总结

这次课设对我来说意义重大,作为我们组的组长,我需要明确大家的分工,并且协调好组员的合作,做好动员的同时,还要注意时间的把握。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1