软件工程课程设计报告模板Word文件下载.docx

上传人:b****6 文档编号:20166833 上传时间:2023-01-17 格式:DOCX 页数:39 大小:627.66KB
下载 相关 举报
软件工程课程设计报告模板Word文件下载.docx_第1页
第1页 / 共39页
软件工程课程设计报告模板Word文件下载.docx_第2页
第2页 / 共39页
软件工程课程设计报告模板Word文件下载.docx_第3页
第3页 / 共39页
软件工程课程设计报告模板Word文件下载.docx_第4页
第4页 / 共39页
软件工程课程设计报告模板Word文件下载.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

软件工程课程设计报告模板Word文件下载.docx

《软件工程课程设计报告模板Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计报告模板Word文件下载.docx(39页珍藏版)》请在冰豆网上搜索。

软件工程课程设计报告模板Word文件下载.docx

本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。

1.3系统的开发环境及运行环境:

操作系统:

WindowsXPProSP2

建模工具:

RationalRose2003

数据库系统:

SQLServer2000

开发工具:

VisualStudio2005

Web服务器:

IIS+ASP.NET2.0平台

2.系统需求分析

学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。

(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;

(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;

(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。

在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。

在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。

在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。

本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;

让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;

让学生拥有选课和退选的权限;

而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。

通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。

2.1用例图

图2-1学生选课系统用例图

用例图说明:

(1)系统的外部角色有:

学生用户、教师用户和管理员。

(2)系统主要用例的文档描述:

①学生管理用例:

学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。

②教师管理用例:

教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。

③信息管理用例:

管理员可见的功能,这个用例进一步分为三个用例:

学生信息管理用例、教师信息管理用例和课程信息管理用例。

④学生信息管理用例:

信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。

⑤教师信息管理用例:

信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。

⑥课程信息管理用例:

信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。

⑦修改密码用例:

所有用户都可见的功能,用于修改用户的密码信息。

(3)系统用例之间的关系:

①学生管理用例与选课、查看选课、退课三用例之间是包含关系。

②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。

③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。

④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。

⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。

⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。

(4)系统关键用例的正常事件流图和异常事件流图

表2-1修改密码用例的正常事件流图和异常事件流图

用例名称

修改密码

参与者

管理员、教师、学生

描述

管理员、教师、学生用户进行密码修改

启动

单击“修改密码”链接

前置条件

用户成功登录

主事件流

用户

系统

1.进入用户修改密码界面,输入旧密码一次

,新密码两次

2.系统检查密码格式是否相符

3.系统检查旧密码是否正确

4.如果正确,进行密码修改,转入密码修改成功界面

异常流

密码检查未通过

返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码

异常

用户旧密码错误

表2-2提交成绩用例的正常事件流图和异常事件流图

提交成绩用例

教师用户

提交选自己开设课程的学生的成绩

进入提交成绩界面

后置条件

尚未提交过成绩

1.单击提交成绩

2.系统提交成绩页面

3.填写学生成绩,单击提交成绩

5.更新学生成绩,提示提交成功

用户已经提交过该门课程成绩

提示该课程成绩已提交,不能再次提交

2.2类图

图2-2学生选课系统类图

类图说明:

(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:

modifyPWD()用于修改用户的密码;

loginCheck()用于用户登录验证。

(2)Admin类继承自BaseUser类。

(3)Student类继承自BaseUser类,主要方法有:

studentAdd()用于添加学生;

studentDel()用于删除学生;

studentUpdate()用于更新学生信息;

getStudents()用于获取学生列表。

(4)Teacher类继承自BaseUser类,主要方法有:

teacherAdd()用于添加教师;

teacherDel()用于删除教师;

teacherUpdate()用于更新教师信息;

getTeachers()用于获取教师列表。

(5)Course类是一个课程类,主要方法有:

courseAdd()用于添加课程;

courseDel()用于删除课程;

courseUpdate()用于修改课程信息;

getCourses()用于获取课程列表。

(6)Elect类是一个选课表类,主要方法有:

elect()选修课程;

electDel()退选课程;

getElectInfo()获取选课信息;

haveSubmit()检测是否已提交过成绩;

submitScore()提交成绩。

2.3顺序图

(1)管理员修改课程信息顺序图

图2-3管理员修改课程信息顺序图

(2)学生用户退选课的顺序图

图2-4学生用户退选课的顺序图

(3)教师提交成绩顺序图

图2-5教师提交成绩顺序图

2.4协作图(可选)

(1)学生用户选课协作图

图2-6学生用户选课协作图

(2)教师提交成绩协作图

图2-7教师提交成绩协作图

3.系统总体设计

3.1设计问题域子系统

学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:

管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。

以下为学生选课系统总体设计图和各功能模块说明:

(1)总体设计图

(2)各模块功能

表3-1学生选课系统功能模块表

功能模块

包含子功能模块

功能

管理员模块

学生管理子模块

对学生信息的添加、修改,删除操作

教师管理子模块

对教师的添加,修改,删除,查询操作

课程管理子模块

对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等

教师模块

实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩

学生模块

实现学生选课,查看所选课程,修改自己的选课信息

公有模块

实现用户的身份验证,密码修改,退出系统等功能

3.2设计数据管理子系统

(1)数据库表

表3-2数据库表

序号

数据库表

数据表存储的内容

1

Student

存储学生的信息

2

Teacher

存储教师的信息

3

Users

存储管理员的信息

4

Elect

存储选课的信息

5

Cource

存储课程的信息

6

Depart

存储学校系院信息

(2)数据表之间的关系

图3-2数据表之间的关系图

(3)数据库表结构

①学生表Student的详细数据字段:

表3-3Student学生用户表

字段名

字段类型

说明

备注

stuID

nvarchar(20)notnull

学生学号

关键字

stuPwd

nvarchar(20)notnul

学生密码

stuName

学生姓名

stuDepart

Int

学生系院号

stuGrade

int

学生年级

stuClass

学生班级

②教师表Teacher的详细数据字段:

表3-4Teacher教师用户表

teaID

教师编号

teaPwd

教师密码

teaName

nvarchar(100)notnull

教师姓名

teaDepart

Int(4)

教师系院号

③课程表Course的详细数据字段:

表3-5Cource课程信息表

courseID

课程编号

courseName

nvarchar(100)notnull

课程名称

courseTime

nvarchar(20)

上课时间

courseAddress

nvarchar(50)

上课地点

courseInfo

Text

课程简介

④选课表Elect的详细数据字段:

表3-6Elect选课信息表

Score

课程成绩

⑤系统管理员表Users的详细数据字段:

表3-7Users管理员表

adminName

系统管理员用户名

adminPwd

系统管理员密码

⑥系院表Depart的详细数据字段:

表3-8Depart系院表

departID

Intnotnull

系院号

departName

nvarchar(100)

系院名称

3.3设计人机交互子系统

(1)用户分类

本系统的用户可分为三类:

①管理员用户;

②教师用户;

③学生用户。

(2)用户描述

①管理员用户的描述:

管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。

②教师用户的描述:

教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。

③学生用户的描述:

选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。

(3)设计命令层次

①系统的人机交互子系统的内容和准则:

本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:

②通过采用树形结构,细化命令的组织方式,如下:

4.详细设计

学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:

管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。

4.1系统用户登录流程图

4.2用户密码修改流程图

4.3教师提交成绩流程图

4.4管理员添加课程流程图

4.5学生选修课程流程图

5.系统实现

本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;

业务逻辑层是对系统业务实体的封装,完成系统业务功能;

数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。

5.1Database类主要是与数据库连接,提供数据库操作功能,代码如下:

namespaceMyElectCourse.DAL

{

publicclassDatabase

{

protectedstringconnectionString;

protectedSqlConnectionconnection=null;

publicDatabase()

connectionString=ConfigurationManager.ConnectionStrings["

ConnectionString"

].ConnectionString.ToString();

}

~Database()

if(connection!

=null)

connection=null;

protectedvoidOpen()

if(connection==null)

connection=newSqlConnection(connectionString);

if(connection.State.Equals(ConnectionState.Closed))

connection.Open();

protectedvoidClose()

connection.Close();

publicintExecuteSQL(stringsqlstr)

intcount=-1;

this.Open();

SqlCommandcmd=newSqlCommand(sqlstr,connection);

count=cmd.ExecuteNonQuery();

this.Close();

returncount;

publicDataSetGetDataSet(stringsqlstr)

DataSetds=newDataSet();

SqlDataAdapteradapter=newSqlDataAdapter(sqlstr,connection);

adapter.Fill(ds);

returnds;

publicDataTableGetDataTable(stringsqlstr)

DataSetds=this.GetDataSet(sqlstr);

DataTabledt=newDataTable();

if(ds.Tables.Count>

0)

dt=ds.Tables[0];

returndt;

publicSqlDataReaderGetDataReader(stringsqlstr)

SqlDataReadersdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);

//this.Close();

returnsdr;

}

5.2UserBase类是所有系统角色用户的基类,完成用户登录验证与修改密码的功能,代码如下:

namespaceMyElectCourse.BLL

publicclassUserBase

privatestringuserID;

publicstringUserID

get{returnuserID;

set{userID=value;

privatestringuserPSW;

publicstringUserPSW

get{returnuserPSW;

set{userPSW=value;

publicstringloginCheck(stringuid,stringupwd,stringurole)

StringselectStr=String.Empty;

switch(urole)

case"

0"

:

//身份为教师时

selectStr="

Select*fromTeacherwhereteaID='

"

+uid+"

'

;

break;

1"

//身份为学生时

Select*fromStudentwherestuID='

2"

//身份为管理员时

Select*fromUserswhereadminName='

default:

returnnull;

Databasedb=newDatabase();

DataTabledt=db.GetDataTable(selectStr);

if(dt.Rows.Count>

0)//如果该用户存在

if(dt.Rows[0][1].ToString().Equals(upwd))//密码正确

return"

else//密码错误,给出提示信息!

-1"

else//用户不存在或用户名输入错误

-2"

publicstringmodifyPWD(Stringurole,Stringuid,StringoldPwd,StringnewPwd)

StringupdateStr=String.Empty;

updateStr="

updateTeachersetteaPwd='

+newPwd+"

whereteaID='

updateStudentsetstuPwd='

wherestuID='

updateUserssetadminPwd='

whereadminName='

stringucheck=this.loginCheck(uid,oldPwd,urole);

if(ucheck.Equals("

)||ucheck.Equals("

))

intt=newDatabase().ExecuteSQL(updateStr);

//根据修改后返回的结果给出提示

if(t>

else

}}}}

5.3系统登录页面,代码及运行效果如下:

<

headrunat="

server"

>

<

title>

登录页面<

/title>

/head>

bodyonload="

document.all.txt

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

当前位置:首页 > IT计算机 > 互联网

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

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