软件工程课程设计学籍管理系统.docx

上传人:b****3 文档编号:3688398 上传时间:2022-11-24 格式:DOCX 页数:34 大小:275.33KB
下载 相关 举报
软件工程课程设计学籍管理系统.docx_第1页
第1页 / 共34页
软件工程课程设计学籍管理系统.docx_第2页
第2页 / 共34页
软件工程课程设计学籍管理系统.docx_第3页
第3页 / 共34页
软件工程课程设计学籍管理系统.docx_第4页
第4页 / 共34页
软件工程课程设计学籍管理系统.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

软件工程课程设计学籍管理系统.docx

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

软件工程课程设计学籍管理系统.docx

软件工程课程设计学籍管理系统

陕西师范大学远程教育学院

 

课程名称软件工程

 

学习中心(点):

陕西咸阳高等职业技术培训学院

专业:

计算机科学与技术

层次:

专科起点本科

*****

批次:

161

《软件工程》考查作业设计

一、要求

通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。

切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。

通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。

二、主要内容

要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。

每个学生选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华大学出版社出版),按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。

具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。

三、进度计划

序号

设计(实验)内容

完成时间

备注

1

软件计划、软件需求分析、软件设计,制定出软件测试计划,软件测试用例

第1周共5天

2

各模块录入、编码、编译及单元测试

第2周的共5天

3

联调及整体测试,

第3周的共5天

4

验收,学生讲解、演示、回答问题

第2周的共3天

四、设计成果要求

1.题目完成后,要上交一个设计报告,包括下列内容:

1)需求分析

根据选定的题目进行业务需求分析、用户需求、功能需求、非功能需求分析,编写需求规格说明书(含数据流图);

2)概要设计

根据系统的逻辑模型,与具体的计算机技术结合,进行架构,接口,界面,数据库以及模块等设计,完成概要设计说明书;

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成绩管理模块

该模块功能主要由老师所拥有。

对于选择自己所教授课程的同学,老师具有给定该同学的专业分数,以及修改该同学的专业分数的权限。

3.14教师管理模块

该模块功能也为管理员所拥有。

管理员主要负责新老师信息的增加,老师信息的整理以及老师信息的打印。

除此之外还可以查看每个老师所教授的课程。

3.2系统的用例分析

(admin)

图3.21管理员用例图

管理员用例图,管理员(admin)可以实现的功能主要有:

系统的登陆、对学生的管理(增加、删除、更新、查看)、对学生的管理(增加、删除、更新、查看)、对课程的管理(增加、删除、更新、查看)以及对新闻的管理(增加、删除、更新、查看)。

 

 

(Student)

图3.22学生用例图

学生用例图,学生(Student)可以实现的功能有:

系统的登陆、个人学籍信息的查询、个人登陆密码的修改、学院课程的查询、个人课程的选修、发表留言、以及新闻(公告)的浏览。

 

(Teacher)

图3.23老师用例图

教师用例图,教师(Teacher)可以实现的功能有:

系统的登陆、教师个人信息的查询、个人登陆密码的修改、查看学院所有课程、学生成绩的发布、查看学生的留言、查看学院新闻(公告)。

3.3业务流程图

系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描述系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。

系统流程图表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程,因此尽管系统流程图使用的某些符号和程序流程图中使用的符号相同,但是它确是物理流程图而不是程序流程图。

 

3.31系统登录流程图:

 

 

图3.24管理员登陆流程图

3.32管理员信息管理流程图:

 

图3.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课程实体属性图

 

4.24教师实体属性图

 

 

4.27学生-课程实体属性图

 

下面给出整个系统的E-R图:

n

n

1

1

1

图4.28系统E-R图

4.3数据库逻辑结构设计

首先是系统的登录表(login),存储可以登录系统的学生、管理员、老师的相关信息。

相关的列名有登陆ID号(loginID)、角色类型(roleID)、登陆姓名(loginName)、登陆密码(loginPWD)。

 

表1用户登录表(login)

列名

数据类型

大小

约束

字段描述

loginID

Int

11

主键(主键)

编号

roleID

Int

11

只有1、2

用户类型

loginName

Varchar

50

NOTNULL

用户名

loginPWD

Varchar

50

NOTNULL

登录密码

学生表(表2),保存学生的基本信息,主要要学生的学号、名字、入学时间、家庭住址、家庭联系电话以及所在的班级等等。

相关的列名有ID号(ID)、学生ID号(stuID)、学生姓名(stuName)、入学时间(enterTime)、学年(stuYear)、地址(address)、联系电话(tellphone)、班级(stuclass)。

列名

数据类型

大小

约束

字段描述

ID

Int

11

NOTNULL(主键)

编号

stuID

Varchar

50

NOTNULL

学号

stuName

Varchar

50

NOTNULL

学生姓名

enterTime

Datetime

NULL

入学时间

stuYear

Varchar

20

NULL

学制

address

Varchar

50

NULL

住址

tellphone

Varchar

20

NULL

电话

stuclass

Varchar

10

NULL

班级

remark

Varchar

50

NULL

备注

stusex

int

2

1,2

性别

stuschool

Varchar

20

NULL

所属学院

表2学生信息数据表(student)

教师表(表3),存放教师的一些基本信息,包括教师编号、教师姓名、教师的职称以及其他的一些备注信息。

表3教师信息表(teacher)

列名

数据类型

大小

约束

字段描述

tID

int

11

NOTNULL(主键)

编号

teacherID

Varchar

20

NOTNULL

职工号

teacherName

Varchar

20

NOTNULL

名字

teacherInfo

Varchar

50

NULL

详细信息

remark

Varchar

50

NULL

备注

Teasex

int

2

0(男)1(女)

性别

teaschool

Varchar

20

Notnull

所属学院

tellphone

int

15

NOTnull

电话

teaage

int

5

NotNull

年龄

教师课程表(表4)是把教师表和课程联系在一起的信息表,主要包括课程编号、教师编号。

表4教师-课程表(teacourse)

列名

数据类型

大小

约束

段描述

tcid

Int

11

NOTNULL(主键)

编号

tID

Int

11

NULL

教师编号

courseID

Int

11

NULL

课程编号

学生课程表(表5)是把学生表和课程表联系在一起的信息表,主要包括学生的ID号、课程的ID号、以及所获得的相应的分数。

表5学生-课程表(stucourse)

列名

数据类型

大小

约束

字段描述

scid

Int

11

NOTNULL(主键)

编号

ID

Int

11

NULL

学生编号

courseID

Int

11

NULL

课程编号

score

Int

11

NULL

分数

课程信息表(stu_course)包含了课程的一些相关信息,主要有课程ID(courseID)、课程名称(courseName)、课程学分(courseCredit)、备注(remark)。

表6课程信息表(course)

列名

数据类型

大小

约束

字段描述

courseID

Int

11

NOTNULL(主键)

课程编号

courseName

Varchar

50

NOTNULL

课程名称

courseCredit

Int

11

NULL

学分

remark

Varchar

50

NULL

备注

Courseteacher

Varchar

20

NULL

任课老师

Coursecount

Int

5

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.out.println("无conn");

returnconn;

}

publicstaticStatementgetStat(Connectionconn){

Statementstat=null;

try{

stat=conn.createStatement();

//System.out.println("连接数据库成功");

}catch(SQLExceptione){

e.printStackTrace();

}

returnstat;

}

publicstaticResultSetgetRs(Statementstmt,Stringsql){

ResultSetrs=null;

try{

rs=stmt.executeQuery(sql);

}catch(SQLExceptione){

e.printStackTrace();

}

returnrs;

}

publicstaticvoidclose(Connectionconn){

if(conn!

=null){

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

conn=null;

}

}

publicstaticvoidclose(ResultSetrs){

if(rs!

=null){

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

rs=null;

}

}

publicstaticvoidclose(Statementstat){

if(stat!

=null){

try{

stat.close();

}catch(SQLExceptione){

e.printStackTrace();

}

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.getParameter("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")){

System.out.println("sucessee1");

response.sendRedirect("student1.html");}

if(ID.equals("2")){

System.out.println("sucessee2");

response.sendRedirect("teacher.html");}

if(ID.equals("3")){

System.out.println("sucessee3");

response.sendRedirect("admin.html");}

return;

}els

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

当前位置:首页 > 工程科技 > 能源化工

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

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