软件工程课程设计模板 软件工程课程设计 软件工程课程设计报告模板

滨江学院

软件工程课程设计报告

( 2007 -- 2008 年度第 二 学期)

课程名称: 软件工程课程设计 题 目: 院 系: 计算机科学与技术系 班 级: 学 号: 2 姓 名: 李英龙 指导教师: 李振宏 设计周数: 两周

日期:2008 年 7月 4日

软件工程课程设计报告

摘要:

本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。系统利用.Net平台技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。同时还对系统的开发原理、功能特点和设计方案进行了介绍。

关键词:学生选课 数据库 管理 ASP.NET

一、课程设计的目的与要求

通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。

具体如下:

1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编

码和测试方面的知识;

2. 熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;

3. 进一步加强和提高软件工程文档的编写能力;

4. 培养协作能力和团队精神。

二、设计正文

1. 概述

1.1课题题目:学生选课系统

1.2系统的主要目标:

本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修

课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。

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

操作系统: Windows XP Pro SP2

建模工具: Rational Rose 2003

数据库系统:SQL Server2000

开发工具: Visual Studio 2005

Web服务器:IIS+ASP.NET 2.0平台

2. 系统需求分析

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

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

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

(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实

1

软件工程课程设计报告

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

本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。

2.1 用例图

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

用例图说明:

(1)系统的外部角色有:学生用户、教师用户和管理员。

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

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

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

③信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、教师信息管理用例和课程信息管理用例。

2

软件工程课程设计报告

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

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

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

⑦修改密码用例:所有用户都可见的功能,用于修改用户的密码信息。 (3)系统用例之间的关系:

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

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

④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。 ⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。 ⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。 (4)系统关键用例的正常事件流图和异常事件流图

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

3

软件工程课程设计报告

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

2.2 类图

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

4

软件工程课程设计报告

类图说明:

(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) 管理员修改课程信息顺序图

5 : 管理员

软件工程课程设计报告

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

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

:

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

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

6

软件工程课程设计报告

2.4 协作图(可选)

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

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

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

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

7

软件工程课程设计报告

3. 系统总体设计 3.1 设计问题域子系统

学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。以下为学生选课系统总体设计图和各功能模块说明:

(1)总体设计图

(2)各模块功能

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

8

软件工程课程设计报告

3.2 设计数据管理子系统

(1)数据库表

表3-2 数据库表

(2)数据表之间的关系

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

9

软件工程课程设计报告

(3)数据库表结构

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

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

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

10

软件工程课程设计报告

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

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

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

3.3 设计人机交互子系统

(1)用户分类

本系统的用户可分为三类: ①管理员用户; ②教师用户; ③学生用户。 (2)用户描述

①管理员用户的描述:

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

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

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

11

软件工程课程设计报告

(3)设计命令层次

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

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

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

软件工程课程设计报告

4. 详细设计

学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。

4.1系统用户登录流程图

图4-1 系统用户登录流程图

13

软件工程课程设计报告

4.2 用户密码修改流程图

图4-2 用户密码修改流程图

4.3教师提交成绩流程图

图4-3教师提交成绩流程图

14

软件工程课程设计报告

4.4管理员添加课程流程图

图4-4 管理员添加课程流程图

4.5学生选修课程流程图

图4-5 学生选修课程流程图

15

软件工程课程设计报告

5. 系统实现

本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。

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

namespace MyElectCourse.DAL

{

public class Database

{

protected string connectionString;

protected SqlConnection connection = null;

public Database()

{

connectionString =

ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString();

}

~Database()

{

if (connection != null)

{

connection = null;

}

}

protected void Open()

{

if (connection == null)

{

connection = new SqlConnection(connectionString);

}

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

{

connection.Open();

}

}

protected void Close()

{

if (connection != null)

{

connection.Close();

}

}

16

软件工程课程设计报告

public int ExecuteSQL(string sqlstr)

{

int count = -1;

this.Open();

SqlCommand cmd = new SqlCommand(sqlstr, connection);

count = cmd.ExecuteNonQuery();

this.Close();

return count;

}

public DataSet GetDataSet(string sqlstr)

{

this.Open();

DataSet ds = new DataSet();

SqlDataAdapter adapter = new SqlDataAdapter(sqlstr,connection);

adapter.Fill(ds);

this.Close();

return ds;

}

public DataTable GetDataTable(string sqlstr)

{

DataSet ds = this.GetDataSet(sqlstr);

DataTable dt = new DataTable();

if (ds.Tables.Count > 0)

{

dt = ds.Tables[0];

}

return dt;

}

public SqlDataReader GetDataReader(string sqlstr)

{

this.Open();

SqlCommand cmd = new SqlCommand(sqlstr, connection);

SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

//this.Close();

return sdr;

}

}

}

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

{

17

软件工程课程设计报告

public class UserBase

{

private string userID;

public string UserID

{

get { return userID; }

set { userID = value; }

}

private string userPSW;

public string UserPSW

{

get { return userPSW; }

set { userPSW = value; }

}

public string loginCheck(string uid, string upwd, string urole)

{

String selectStr = String.Empty;

switch (urole)

{

case "0": //身份为教师时 selectStr = "Select * from Teacher where teaID = '" + uid + "'"; break;

case "1": //身份为学生时

selectStr = "Select * from Student where stuID = '" + uid + "'"; break;

case "2": //身份为管理员时

selectStr = "Select * from Users where adminName = '" + uid + "'"; break;

default:

return null;

}

Database db = new Database();

DataTable dt = db.GetDataTable(selectStr);

if (dt.Rows.Count > 0) //如果该用户存在

{

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

{

switch (urole)

{

case "0": //身份为教师时

return "0";

case "1": //身份为学生时

return "1";

18

软件工程课程设计报告

case "2": //身份为管理员时

return "2";

default:

return null;

}

}

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

{

return "-1";

}

}

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

{

return "-2";

}

}

public string modifyPWD(String urole, String uid, String oldPwd, String newPwd) {

String updateStr = String.Empty;

switch (urole)

{

软件工程课程设计模板 软件工程课程设计 软件工程课程设计报告模板

case "0": //身份为教师时

updateStr = "update Teacher set teaPwd='" + newPwd + "' where teaID='" + uid + "'"; break;

case "1": //身份为学生时

updateStr = "update Student set stuPwd='" + newPwd + "' where stuID='" + uid + "'"; break;

case "2": //身份为管理员时

updateStr = "update Users set adminPwd='" + newPwd + "' where adminName='"

break;

}

string ucheck = this.loginCheck(uid, oldPwd, urole);

if (ucheck.Equals("0") || ucheck.Equals("1") || ucheck.Equals("2"))

{

int t = new Database().ExecuteSQL(updateStr); //根据修改后返回的结果给出提示 if (t > 0)

{

return "1";

}

else

{

return "0";

}

}

else

{

19

软件工程课程设计报告

return "-1";

} } }}

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

<head runat="server">

<title>登录页面</title>

</head>

<body onload="document.all.txtUserName.focus()" leftmargin="0" rightmargin="0">

<form id="form1" runat="server">

<div>

<table align="center" style="font-size: 12px; font-family: Tahoma; border-collapse: collapse" <tr>

<td colspan="2" style="text-align: center">

<span style="font-size: 24pt; font-family: 隶书">学生选课系统</span>

</td>

</tr>

<tr>

<td>

<div align="right">

<span style="font-family: 宋体">用户名</span>:

</div>

</td>

<td style="width: 242px">

<asp:TextBox ID="txtUserName" runat="server" Width="150px"></asp:TextBox> ErrorMessage="不能为空!"></asp:RequiredFieldValidator>

</td>

</tr>

<tr>

<td style="height: 32px">

<div align="right">

密&nbsp;&nbsp;&nbsp;码:

</div>

</td>

<td style="height: 32px; width: 242px;">

<asp:TextBox ID="txtPwd" runat="server" TextMode="Password" <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="不能为空!"></asp:RequiredFieldValidator>

</td>

</tr>

<tr>

<td colspan="2" align="center" style="height: 46px">

<asp:RadioButtonList ID="rblClass" runat="server" RepeatDirection="Horizontal"> <asp:ListItem Value="0">教师</asp:ListItem>

<asp:ListItem Selected="True" Value="1">学生</asp:ListItem>

<asp:ListItem Value="2">管理员</asp:ListItem>

20 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"

软件工程课程设计报告

</asp:RadioButtonList>

<asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label> </td>

</tr>

<tr>

<td align="center" colspan="2">

<asp:ImageButton ID="imgbtnLogin" runat="server" ImageUrl="~/Images/Login.GIF" <asp:ImageButton ID="imgbtnClose" runat="server" ImageUrl="~/Images/Close.GIF" </td></tr></table> </div> </form></body></html>

图5-1系统登录页面

5.4 学生用户选课界面代码及运行效果图如下:

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>学生选课</title>

</head>

<body leftmargin="0" rightmargin="0" topmargin="0">

<form id="form1" runat="server">

<div>

<table width="100%" bgcolor="#ccccff">

<tr>

<td>

<uc1:top ID="Top1" runat="server" />

</td>

</tr>

</table>

<table id="table1" width="80%" border="0" align

="center">

21

软件工程课程设计报告

<tr>

<td align="center">

<span style="font-size: 16pt;">可选修课程</span>

</td>

</tr>

<tr>

<td>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"

Width="100%" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3"

DataSourceID="SqlDataSource1" GridLines="Vertical"

OnRowCommand="GridView1_RowCommand"

Font-Size="10pt" DataKeyNames="courceID,teaID">

<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />

<RowStyle BackColor="#EEEEEE" ForeColor="Black" Font-Size="10pt" />

<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />

<HeaderStyle BackColor="Blue" Font-Bold="True" ForeColor="White"

Font-Size="10pt" />

<AlternatingRowStyle BackColor="Gainsboro" />

<Columns>

<asp:BoundField DataField="courceID" HeaderText="courceID"

ReadOnly="True" Visible="False"

SortExpression="courceID" />

<asp:BoundField DataField="teaID" Visible="False" HeaderText="teaID" ReadOnly="True"

SortExpression="teaID" />

<asp:BoundField DataField="courceName" HeaderText="课程名称"

SortExpression="courceName">

</asp:BoundField>

<asp:BoundField DataField="teaName" HeaderText="教师姓名"

SortExpression="teaName"></asp:BoundField>

<asp:BoundField DataField="courceTime" HeaderText="上课时间"

SortExpression="courceTime">

</asp:BoundField>

<asp:BoundField DataField="courceAddress" HeaderText="上课地点" SortExpression="courceAddress">

</asp:BoundField>

<asp:HyperLinkField DataNavigateUrlFields="courceID,teaID"

DataNavigateUrlFormatString="courseDetail.aspx?courceID={0}&teaID={1}"

HeaderText="详细..." Text="详细..." />

<asp:ButtonField HeaderText="选修" CommandName="select" Text="选修"></asp:ButtonField>

</Columns>

22

软件工程课程设计报告

</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server"

ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

SelectCommand="SELECT Cource.courceID, Cource.teaID, Cource.courceName, Teacher.teaName, Cource.courceTime, Cource.courceAddress FROM Cource INNER JOIN Teacher ON Cource.teaID = Teacher.teaID WHERE NOT EXISTS (SELECT * FROM Elect WHERE (courceID=Cource.courceID and teaID=Cource.teaID and stuID = @stuID))">

<SelectParameters>

<asp:SessionParameter Name="stuID" SessionField="userID" />

</SelectParameters>

</asp:SqlDataSource>

</td>

</tr>

<tr>

<td>

<asp:Label runat="server" ID="errormess" ForeColor="Red"

Font-Size="Smaller"></asp:Label>

</td>

</tr>

<tr>

<td style="height: 24px; text-align: center">

<span style="font-size: 16pt;">您已经选修的课程</span>

</td>

</tr>

<tr>

<td>

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" BackColor="White"

Width="100%" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3"

DataSourceID="SqlDataSource2" GridLines="Vertical"

OnRowCommand="GridView2_RowCommand"

DataKeyNames="stuID,courceID,teaID">

<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />

<RowStyle BackColor="#EEEEEE" ForeColor="Black" Font-Size="10pt" />

<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />

<HeaderStyle BackColor="Blue" Font-Bold="True" ForeColor="White"

Font-Size="10pt" />

<AlternatingRowStyle BackColor="Gainsboro" />

<Columns>

<asp:BoundField DataField="stuID" HeaderText="stuID" ReadOnly="True" SortExpression="stuID"

Visible="False" />

<asp:BoundField DataField="courceID" HeaderText="courceID"

23

软件工程课程设计报告

ReadOnly="True" SortExpression="courceID"Visible="False" />

<asp:BoundField DataField="teaID" HeaderText="teaID" ReadOnly="True"

SortExpression="teaID"Visible="False" />

<asp:BoundField DataField="courceName" HeaderText="课程名称" SortExpression="courceName">

<asp:BoundField DataField="teaName" HeaderText="教师姓名" SortExpression="teaName"></asp:BoundField> <asp:BoundField DataField="courceTime" HeaderText="上课时间" SortExpression="courceTime">

<asp:BoundField DataField="courceAddress" HeaderText="上课地点" SortExpression="courceAddress"> <asp:ButtonField HeaderText="退选" CommandName="shanchu" Text="退选

</Columns></asp:GridView>

<asp:SqlDataSource ID="SqlDataSource2" runat="server"

ConnectionString="<%$ ConnectionStrings:ConnectionString %>"SelectCommand="SELECT Elect.stuID, Elect.courceID, Elect.teaID, <SelectParameters>

<asp:SessionParameter Name="stuID" SessionField="userID" />

</SelectParameters>

</asp:SqlDataSource>

<td style="height: 21px" align="center">

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/ModifyPwd.aspx" Font-Size="10pt">修改密码</asp:HyperLink>

<asp:HyperLink ID="HyperLink2" runat="server" Font-Size="10pt" NavigateUrl="javascript:window.close()">退出系统</asp:HyperLink>

</td></tr></table></div></form></body></html>

图5-2 学生选课界面

5.5 教师用户提交成绩界面代码及运行效果如下:

<head runat

="server">

24

软件工程课程设计报告

<title>提交成绩</title>

</head>

<body leftmargin="0" rightmargin="0" topmargin="0">

<form id="form1" runat="server">

<div>

<table width="100%" bgcolor="#ccccff">

<tr>

<td>

<uc1:top ID="Top1" runat="server" />

</td>

</table>

<table id="table1" width="400" border="0" runat="server" align="center">

<tr valign="top">

<td align="left">

<asp:Label ID="lblmessage" Font-Size="10pt" runat="server">课程名称:

&nbsp;&nbsp;</asp:Label>

<asp:TextBox runat="server" ID="cname"></asp:TextBox>

</td>

</tr>

<tr>

<td align="center">

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"

BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" Font-Size="10pt"

GridLines="Vertical" Width="100%">

<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />

<Columns>

<asp:BoundField DataField="stuID" HeaderText="学号" />

<asp:BoundField DataField="stuName" HeaderText="姓名" />

<asp:BoundField DataField="stuGrade" HeaderText="年级" />

<asp:BoundField DataField="stuClass" HeaderText="班级" />

<asp:TemplateField HeaderText="成绩">

<ItemTemplate>

<asp:TextBox ID="txtScore" Width="30"

runat="server"></asp:TextBox>

</ItemTemplate>

</asp:TemplateField>

</Columns>

<RowStyle BackColor="#EEEEEE" Font-Size="10pt" ForeColor="Black" />

<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />

<HeaderStyle BackColor="Blue" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="Gainsboro" />

</asp:GridView>

25

软件工程课程设计报告

</td>

</tr>

<tr>

<td align="center">

<asp:ImageButton ID="imgBtnSubmitScore" runat="server" ImageUrl="~/Images/SubmitScore.GIF"

OnClick="imgBtnSubmitScore_Click" />

</td>

</tr>

<tr>

<td>

<asp:Label runat="server" ID="mess" Font-Size="Smaller" ForeColor="Red"></asp:Label>

</td>

</tr>

<tr>

<td align="center">

<asp:HyperLink ID="HyperLink1" runat="server" Font-Size="10pt" NavigateUrl="teacherQueryElect.aspx">查看选课</asp:HyperLink>

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;

<asp:HyperLink ID="HyperLink2" runat="server" Font-Size="10pt" NavigateUrl="~/ModifyPwd.aspx">修改密码</asp:HyperLink></td>

</tr>

</table></div><br /></form></body></html>

图5-3 教师用户提交成绩界面

26

软件工程课程设计报告

5.6 管理员用户添加课程代码及运行效果如下:

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>课程详细信息</title>

</head>

<body leftmargin="0" rightmargin="0">

<form id="form1" runat="server">

<div align="center">

<table style="font-size: 12px; font-family: Tahoma; border-collapse: collapse" id="table" width="450" border="0" runat="server">

<tr>

<td align="center">

<asp:Label ID="courceName" runat="server" Font-Size="16"

ForeColor="red"></asp:Label>

<font size="4">&nbsp;&nbsp;的详细信息</font><br />

<asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label> </td>

</tr>

<tr height="25" align="left">

<td style="height: 25px">

<br>

<b>课程名称:<asp:TextBox ID="txtName" runat="server"></asp:TextBox></b> </td>

</tr>

<tr height="25" align="left">

<td>

<b>教师姓名:<asp:TextBox ID="teaName" runat="server"></asp:TextBox>

</b>

</td>

</tr>

<tr height="25" align="left">

<td style="height: 25px">

<b>上课时间:<asp:TextBox ID="txtTime" runat="server"></asp:TextBox></b></td> </tr>

<tr height="25" align="left">

<td>

<b>上课地点:<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox></b></td> </tr>

<tr height="10">

<td>

<hr size="1">

</td>

</tr>

<tr>

<td align="left">

<b>课程简介:</b><br />

27

软件工程课程设计报告

<asp:TextBox ID="txtDetails" runat="server" Height="100px" Width="100%" TextMode="MultiLine"

BorderColor="Transparent" BorderStyle="Groove" BorderWidth="1px" Font-Size="9pt"></asp:TextBox></td>

</tr></table></div><br /></form></body></html>

图5-4 管理员添加课程界面

6. 系统测试

在系统测试中,我们首先对各个子模块进行单元测试,即把每一个模块作为一个单独的实体来测试,保证每个模块作为一个单元能正确运行。然后在完成所有模块后,我们将各子模块集成起来,再对它进行系统测试,找出系统设计或编码上的错误,以及验证系统是否实现了指定的功能。最后找几个其他的同学再对系统进行黑盒子测试,验证系统是否满足用户的功能需求。

在测试的过程,特别是在集成测试之后,发现了许多问题及功能缺陷,最后经过修改调试后都解决了。比如,有一个问题是,在删除教师用户之后,系统里还剩有许多与该教师有关的冗余记录,造成系统混乱。在进行了分析之后,发现是因为在删除教师用户时,没有对与他所关联的记录进行删除造成的,在添加了对其关联记录的级联删除之后,问题得到了解决。

三、课程设计总结或结论

1. 通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实

际能力,培养工程设计能力和综合分析、解决问题的能力。

1.1

1.2

1.3

1.4 学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。 掌握了自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程。 加深掌握了.Net平台的三层架构模式设计。 进一步加强和提高软件工程文档的编写能力。

28

软件工程课程设计报告

2. 本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但是由于时间较紧,有些

模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好等。

四、参考文献

[1] 张海藩.软件工程导论(第4 版).北京:清华大学出版社,2005

[2] 刁成嘉.UML系统建模与分析设计.北京:机械工业出版社,2007

[3] UML基础与Rose建模案例.北京:人民邮电出版社,2004

[4] 刘乃丽 ASP.NET 2.0 网络开发详解.北京:电子工业出版社,2008

29

  

爱华网本文地址 » http://www.aihuau.com/a/341951/375684817843.html

更多阅读

怎样用PowerPoint自己制作设计模板 powerpoint模板下载

看到 PowerPoint 软件提供的那么多漂亮的预设模板,你是不是也曾动心,也想自己设计一款模板呢?告诉大家,用 PowerPoint 里的“幻灯片母版”功能,就可以自己设计模板啦!怎样用PowerPoint自己制作设计模板——工具/原料PowerPoint 2000(或以上

课程设计:单层工业厂房结构吊装设计

这个学期的作业基本完成。接下来的考试还是有些需要努力的,尤其是结构力学!今天特意把前几天忙碌的工程施工课程设计作业在博客上记录一下,以免以后有用到的地方~~~封面:《土木工程施工》课程设计某装配式单层工业厂房结构吊装设计

C++:课程设计总结_看

经过本次课程设计,发现做软件真的需要做很多工作,不仅仅是敲代码。首先,必须要有需求分析。就拿这次的题目来说,一个清晰的需求分析能让我省去很多工作,能让我把代码写的更清晰,让我的代码能有更好的重用性,以此简化程序。而这次的题目其实

换热器课程设计心得体会 eda课程设计心得体会

为期两个星期的课程设计就要结束,这次设计的是110kW的管壳式干式蒸发器。虽然为期不长,但收获颇多。 首先,这次课程设计是我们接触的第一个专业课程设计,所要用到的知识很多,包括机械设计基础、机械制图、工程热力学、传热学、流体力学

声明:《软件工程课程设计模板 软件工程课程设计 软件工程课程设计报告模板》为网友予你皇冠做我王分享!如侵犯到您的合法权益请联系我们删除