软件工程课程设计学生信息管理系统.docx

上传人:b****5 文档编号:8412760 上传时间:2023-01-31 格式:DOCX 页数:28 大小:1.68MB
下载 相关 举报
软件工程课程设计学生信息管理系统.docx_第1页
第1页 / 共28页
软件工程课程设计学生信息管理系统.docx_第2页
第2页 / 共28页
软件工程课程设计学生信息管理系统.docx_第3页
第3页 / 共28页
软件工程课程设计学生信息管理系统.docx_第4页
第4页 / 共28页
软件工程课程设计学生信息管理系统.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

软件工程课程设计学生信息管理系统.docx

《软件工程课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计学生信息管理系统.docx(28页珍藏版)》请在冰豆网上搜索。

软件工程课程设计学生信息管理系统.docx

软件工程课程设计学生信息管理系统

软件工程课程设计-学生信息管理系统

 

课程设计

 

课程名称:

软件工程

实验项目:

学生信息管理系统

姓名:

XXX

专业:

软件工程

班级:

XXX班

学号:

XXXX

 

一、需求分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄1

二、可行性分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄1

1.问题┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄1

2.项目目标┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄2

3.运行环境┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄2

4.开发风险┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄2

5.经济可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄2

6.技术可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄2

7.法律可行性┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄2

8.总体分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄3

三、系统功能分析┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄3

1.系统功能的划分┄┄┄┄┄┄┄┄┄┄┄┄┄┄3

2.系统模块┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄3

四、数据描述┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄3

1.系统流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄3

2.数据流程图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄4

3.数据字典┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄5

4.E-R图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄8

5.用例图┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄11

五、总体设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄11

1、基本设计概念和处理流程┄┄┄┄┄┄┄┄┄11

2、软件结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄11

3、数据结构┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄13

六、详细设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄14

1.模块设计┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄14

2.改密码┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄16

3.浏览┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄17

七、功能介绍┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄17

八、关键代码展示┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄20

九、心得体会┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄25

 

一、需求分析

现在的大学中,老师和学生都注重理论与实际相结合,开设了很多与课程相配的课程设计。

而在实际人工管理中,因为提交的文档作业数量众多,处理复杂,造成管理的混乱。

随着科学技术的不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人们生活的各个领域,并发挥了越来越重要的作用,针对人工管理的缺点,最好的解决办法就是借助计算机技术提供一个电子化的课程设计管理平台。

为了更好地管理设计过程中所产生的资料文档,我们开发一个软件工程课程设计管理系统。

教师和学生可以应用该系统实现如下功能:

1、学生使用自己的姓名和学号(密码)登陆后,可以从题库中选择一个题目,并且填写同组的其他同学的姓名,学号,班级,小组长等。

且选题一旦保存就不能再更改。

2、学生可以修改自己的密码。

可以查询自己的选题情况。

学生可以查询自己的课程设计成绩。

3、学生在课程设计的各个阶段的工作报告上传至该系统。

4、教师使用姓名和工资号(密码)登陆后,可以查看学生的选题情况;可以查看学生的设计报告,填写学生的项目进度情况,并且给出最后的分数。

5、教师可以修改自己的密码。

教师把课程设计的题目,学习的资料等上传到该系统。

6、其他使用该系统的人,可以以客户身份登陆浏览。

7本例使用面向对象的需求分析方法分析

性能需求

操作系统:

Windows98以上/ME/2000/XP等

数据库:

MySQL

二、可行性分析

1.问题:

(1)目前的课程设计管理系统由人工统计处理。

(2)站用一个办公室和2-3个职工专门用来管理课程设计选课,每天有固定工作时间8小时。

(3)每人工资在每月2000-3000元。

(4)需要选题的同学按班级的方式报上来,经核对分配后方才生效,在通知老师选题情况。

双方如有问题还需在工作时间来此解决。

(5)由于是人工处理且工作量大,所以效率低,出错率高,修改麻烦。

2.项目目标:

学生和老师可以方便的选课,同时可以查询和修改各自的信息,以便学校管理。

3.运行环境:

(1)以Windows98以上/ME/2000/XP作为学生选课管理系统的后台操作系统。

(2)前台开发程序为JAVA,Mysql

(3)后台数据库为MySQL

(4)主要硬件设备:

PC机一台。

4.开发风险:

浪费资金人力,会影响原有管理方式,总体风险不大。

5.经济可行性:

成本估计:

一台计算机每天电费(工作18小时以上),需要4-5名管理远和数据库维护人员每天工资(每天工作在8小时以上),人员培训费用,定期软硬件更新费用,每年总运营费用,杂项费用。

资源分析:

现有计算机比较充足,相关人才在学校内就能找到,工资要求低。

6.技术可行性:

我校计算机系以及其他系都有软硬件知识丰富,具有较高的文化水平和计算机操作水平,可以设计管理该系统的学生和老师,且课余时间丰富,可以学习和了解在设计和应用当中会遇到或可能遇到的技术问题。

我校许多专业都以开设类似的课程设计题目,学生和老师在技术方面已经有经验,正缺少这样的实践机会。

7.法律可行性:

虽然其他学校也有类似的管理系统,但都主要在本校使用,没有涉及到盈利方面,我校设计该系统也本着让学生和老师把握一次学习实践的机会的目的,锻炼他们的开发技术和能力,不会去抄袭已经设计好的管理系统,如有借鉴的地方发布时也会说明,而且该系统是本着方便学生学习的目的,而非盈利目的,所以不会和法律相冲突。

8.总体分析:

比原有方式工作效率高,成本低,出错率低,使学校实现现代化网络教学管理。

三、系统功能分析

1.系统功能的划分:

使用该系统有三个角色教师,学生,客户。

教师可以查看学生选课情况,可以查看学生设计报告,填写学生项目进度情况,给出最高分,修改密码,上传课程设计题目,学习资料。

学生可以查看选课情况和成绩,选课。

客户只可以浏览选课信息。

2.系统可分为5个模块:

(1)基本信息:

教师和学生的信息包括教师号,学生号,教师开设的课程设计题目,学生选的课程设计题目,项目进度和分数。

(2)选课:

显示教师开设的课程设计题目,实现学生选课。

(3)查询:

学生查询可选题,自己选题情况,自己课程设计成绩。

教师查询学生选题情况,学生设计报告。

(4)修改:

教师填写项目进度情况和给出分数,学生填写同组的其他同学的姓名,学号,班级,小组长,修改结果存入相应数据库等。

(5)密码:

教师和学生可以修改自己的登陆密码,结果存入用户信息数据库。

四、数据描述

1.系统流程图:

2.数据流程图

简易数据流图:

完整数据流图:

3.数据字典:

数据流描述:

数据流名:

用户名密码

数据来源:

用户登陆处理

数据去向:

验证信息处理。

说明:

用户输入用户名和密码

数据组成:

用户名+密码

数据流量:

数据流名:

直接登陆

数据来源:

用户登陆处理

数据去向:

客户界面

说明:

普通用户不输入用户名和密码直接以客户身份登陆

数据流名:

登陆

数据来源:

验证信息处理正确

数据去向:

根据验证信息返回条件决定是教师界面还是学生界面

说明:

系统登陆到教师界面。

数据流名:

选题,资料

数据来源:

教师界面的输入选题和资料窗口

数据去向:

上传处理

说明:

教师输入要上传的课题和资料

数据流名:

小组成员信息

数据来源:

选课信息界面

数据去向:

验证填写信息处理

说明:

学生填写同组其他同学姓名,学号,班级,小组长名。

数据流名:

工作报告。

数据来源:

课题信息界面

数据去向:

上传处理

说明:

学生将各阶段工作报告上传。

数据流名:

设计报告

数据来源:

选题信息界面

数据去向:

上传处理

说明:

学生填写所选课题的设计报告上传。

数据元素词条描述:

4.E-R图:

学生实体E-R图:

班级实体E-R图:

课程实体E-R图:

年级实体E-R图:

成绩实体E-R图:

实体和实体之间E-R图:

5.用例图:

五、总体设计

1、基本设计概念和处理流程

针对以上系统要完成的功能,本系统总体设计采用自顶向下,逐步细化的方法将功能层次结构的各个部分组合起来,以完成整个系统的实现细节说明本系统的基本设计概念和处理流程,尽量使用图表的形式。

2、软件结构

(1)顶层结构:

(2)学生事务处理分结构:

(3)教师事务处理分结构:

(4)过客事务处理结构:

3、数据结构

说有数据都以数据库形式存储,数据库模式如下所示:

表1

表名

student

列名

数据类型(精度范围)

主/外码

空/非空

约束条件

id

Char(8)

主码

非空

name

Char(40)

非空

Password

Char(40)

非空

Sex

Char

(2)

非空

‘男’OR‘女’

Email

Char(40)

非空

Isleader

Char

(2)

非空

‘是’OR’否’

Leader

Char(8)

非空

表2

表名

teacher

列名

数据类型(精度范围)

主/外码

空/非空

约束条件

id

Char(8)

主码

非空

name

Char(40)

非空

Password

Char(40)

非空

Email

Char(40)

非空

表3

表名

course

列名

数据类型(精度范围)

主/外码

空/非空

约束条件

id

Char(8)

主码

非空

title

nvarchar(10)

非空

number

nvarchar(10)

content

ntext

operateSystem

nvarchar(40)

dataBaseType

nvarchar(40)

表4

表名

choose

列名

数据类型(精度范围)

主/外码

空/非空

约束条件

masterId

Char(8)

主码

非空

courseId

Char(8)

主码

非空

mark

real

content

ntext

表5

表名

files

列名

数据类型(精度范围)

主/外码

空/非空

约束条件

Id

Char(8)

主码

非空

leaderId

Char(8)

外码

非空

Filename

Char(50)

date

datetime

 

六、详细设计

1.模块设计

本系统模块设计将对总体设计中模块结构进行。

(1)用户登陆模块

①用户根据自己不同的身份使用相应的信息登录

②系统检查所填信息

③错误则转

(一)重新输入

④进入相应的页面

⑤系统更新登录记录

⑥结束

(2)选题、填写小组信息功能模块

①进入相应的界面

②根据本小组的信息填写相应的内容

③系统更新文件

④小组浏览题目

⑤系统记录选题信息

⑥系统增加相应记录

(3)上传文件功能模块

①进入相应的界面

②输入文件内容

③系统添加文件

④结束

 

(4)查看功能模块:

用户根据需要查询

系统检查要查询的内容

输入错误转

(一)

系统给出相关信息

写主数据文件

写交易流水文件

⑦结束

 

(5)总体打分模块:

进入相应页面

老师打分

更新数据库

 

学生在界面看到成绩

退出

 

(6)填写进度模块:

进入相应页面

小组填写进度

系统更新文件

结束

2.改密码:

(1)使用原密码登陆系统

(2)系统验证密码,如果密码正确则继续下列操作,否则返回

(一)

(3)用户输入新密码

(4)再输入一次新密码进行验证,如果密码正确则继续下列操作,否则返回(三)

(5)系统接受新密码并修改数据库中的密码

(6)如果成功修改数据库转到(八),否则转入(七)

(7)维持原来密码,并提示修改密码失败,返回(三)

(8)提示密码修改成功

(9)结束

3.浏览

(1)用户以游客身份登录系统

(2)浏览系统中公开的信息

(3)推出系统

(4)结束

七、功能介绍

1.启动服务器,在浏览器里输入相应的地址(在本机上输入:

http:

//:

8080/StudentScoreManage/),进入系统主界面,也就是登录界面,如图4-1所示:

 

此界面使用了表格进行排版,使用了一组单选按钮来区分不同的角色,部分代码如下:

角  色:

radioproperty="type"value="student">学生

radio> 

radioproperty="type"value="teacher">教师

radio> 

radioproperty="type"value="manage">管理员

radio>

submit>登  录

submit>  

  

reset>重  置

reset>

用户名:

textproperty="name">

text>

密码:

passwordproperty="password">

password>

该登录模块,使用到了Struts+Hibernate技术,使用Struts的Actionform进行判断,看输入的各项是否为空,是否符合要求。

Action进行登录验证处理,验证成功则跳转到相应的登录成功界面,否则给出相应的错误信息。

2.教师功能

教师有六种功能可选择分别是:

查询学生的成绩,录入学生的成绩,修改更新成绩,统计成绩,修改密码和注销。

在此界面上,使用了六个超链接,分别链接到不同的功能页面。

(1)查询学生成绩的功能,在该功能页面上教师可以查询以班级为单位的学生成绩还可以查询出所有学生的成绩,也可以查询学生个人的成绩。

并可以打印或是下载所查询到的成绩,例如查询所有学生的成绩,显示结果如图

(2)录入学生的成绩的功能,此功能受教务管理员的控制,一般只有在考试或补考之后,教务管理员才会把该权限赋予给教师,在通常情况下该功能是被锁定的。

考试过后教师不用在把成绩写在纸上报送教务处,只需要在有上网的条件下,直接就可以把成绩写到数据库中,学生可以在第一时间内查询到自己的成绩。

这样教师不用在向教务处跑了,教务管理员也不用老是呆在办公室。

(3)修改更新成绩的功能,该功能和成绩的录入一样也是受教务管理员控制。

教师没有删除成绩的功能,当成绩输入后,若出现错误,只能通过修改更新成绩的功能来修改,此功能也是非常有用的。

因为教师不能通过重复录入覆盖已经存在的错误成绩,也不能删除已经存在的错误成绩,若想修改错误的成绩,只能通过该功能来完成。

 

(4)统计成绩的功能,此功能对老师非常实用,因为在考试过后,教师需要统计许多的信息,若只靠手工来统计,不但速度较慢,而且还麻烦,并且还容易出错。

本系统就带有统计功能,教师可以统计自己所教授科目的平均成绩,不及格人数,及格人数,不及格率,及格率,优秀人数,优秀率,还可以统计某一分数段的人数,并且操作简单,只需要勾选您需要统计的项目即可。

(5)修改密码功能和注销功能比较简单,这里就不在述说了。

八、关键代码展示

1.student.jsp

<%

Stringid=(String)session.getAttribute("id");

//if(stu_id==null){response.sendRedirect("login.jsp");}

%>

当前模块—学生用户模块

 

 

选修课程

id=<%=id%>&action=checkmark">察看学分

更改信息

 

 

action=logout"><<注销

2.teacher.jsp

<%

Stringtea_id=(String)session.getAttribute("id");

%>

当前模块—教师用户模块

id=<%=tea_id%>&action=choosestu">挑选选课学生>>      

id=<%=tea_id%>&action=public">公布成绩>>

 

 

action=logout"><<注销

 

publicclassstudent{

privateStringname;

privateStringpassword;

privateStringid;

privateStringjiguan;

privateStringsex;

privateStringdep;

publicvoidsetDep(Strings){dep=s;}

publicStringgetDep(){returndep;}

publicvoidsetSex(Strings){sex=s;}

publicStringgetSex(){returnsex;}

publicStringgetId(){

returnid;

}

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

publicStringgetJiguan(){

returnjiguan;

}

publicvoidsetJiguan(Stringjiguan){

this.jiguan=jiguan;

}

publicbooleanhasLogin(Stringid){//检查该学生是否已经注册

booleanf=true;

Stringsql="selectidfromstudentwhereid='"+id+"'";

sqlBeandb=newsqlBean();

try{

ResultSetrs=db.executeQuery(sql);

if(rs.next()){f=false;}

else{f=true;}

}catch(Exceptione){e.getMessage();}

returnf;

}

publicResultSetgetStudent(){

Stringsql="select*fromstudent";

sqlBeandb=newsqlBean();

ResultSetrs=db.executeQuery(sql);

returnrs;

}

publicvoidupdateStudent(){

Stringsql="updatestudent"+

"setname='"+name+"',sex='"+sex+"',department='"+dep+"',"+

"password='"+password+"',jiguan='"+jiguan+"'"+

"whereid='"+id+"'";

sqlBeandb=newsqlBean();

db.executeInsert(sql);

}

publicvoiddeleteStudent(){

Stringsql="deletefromstudentwhereid='"+id+"'";

sqlBeandb=newsqlBean();

db.executeDelete(sql);

}

publicintdeleteStudent(Stringid){

intnum=0;

Stringsql="deletefromstudentwhereid='"+id+"'";

sql

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

当前位置:首页 > 初中教育

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

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