目 录
摘 要 I
Abstract II
一、 引言 1
(一)项目开发的背景 1
(二)项目开发的意义 1
二、可行性分析及总体设计原则 3
(一)可行性分析 3
1.技术可行性 3
2.经济可行性 3
3.社会可行性 3
(二)总体设计原则 4
三、系统分析 5
(一)业务流程分析 5
(二)数据流图 7
(三)数据字典 9
四、系统设计 13
(一)系统功能设计 13
(二)系统数据库设计 14
1.概念结构设计 14
2.数据库表设计 18
(三)系统开发工具与开发模式的选择 20
1.系统开发工具 20
2.系统设计模式 21
五、系统实现 24
(一)前台模块 24
1.首页 24
2.查看教学视频界面 25
3.下载作业界面 25
4.在线自测界面 26
5.留言板界面 27
(二)后台模块 28
1.登录界面 28
2.专业管理界面 30
3.学生管理界面 31
4.教学资料管理界面 31
5.公告管理界面 32
6.留言管理界面 32
六、软件测试与分析 33
(一)软件测试的重要性 33
(二)测试实例的研究与选择 33
(三)测试环境与测试条件 34
(四)系统运行情况 35
(五)系统评价 35
结 论 36
参 考 文 献 37
致 谢 38
2.2总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。其主要设计原则有:
简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。
针对性:本系统设计是针对网络教学的需求定向开发设计,所以具有专业突出和很强的针对性。
实用性:要求本系统能够满足网络教学的需求,因此具有良好的实用性。
一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
先进性:本系统采用JSP技术、MYSQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。
3系统分析
3.1业务流程分析
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等[4]。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程[5]。
具体业务流程如图3.1所示。
图3.1业务流程图
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<LINK href="<%=path %>/css/css.css" type=text/css rel=stylesheet>
<script type="text/javascript">
function down1(fujianPath,fujianYuashiMing)
{
<c:if test="${sessionScope.user==null}">
alert("请先登录");
</c:if>
<c:if test="${sessionScope.user!=null}">
var url="<%=path %>/updown/updown.jsp?fujianPath="+fujianPath+"&fujianYuashiMing="+fujianYuashiMing;
url=encodeURI(url);
url=encodeURI(url);
window.open(url,"_self");
</c:if>
}
</script>
</head>
<BODY text=#000000 leftMargin=0 topMargin=0>
<div class="wrap">
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0 background="<%=path %>/img/reservation01.gif">
<TR height="90">
<TD align="center">
<jsp:include flush="true" page="/qiantai/inc/incTop1.jsp"></jsp:include>
</TD>
</TR>
</TABLE>
<TABLE id=guide cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TR>
<TD align="left">
<jsp:include flush="true" page="/qiantai/inc/incTop2.jsp"></jsp:include>
</TD>
</TR>
</TABLE>
<TABLE class=MainTable style="MARGIN-TOP: 0px" cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TR>
<TD class=Side vAlign=top align=right width="25%">
<jsp:include flush="true" page="/qiantai/inc/incLeft.jsp"></jsp:include>
</TD>
<td width="1"> </td>
<TD class=Side vAlign=top align=right width="75%">
<TABLE class=dragTable cellSpacing=0 cellPadding=0 width="100%" border=0>
<TR>
<TD class=head>
<SPAN class=TAG>最新作业</SPAN>
</TD>
</TR>
<TR align="left">
<TD height="5"></TD>
</TR>
<TR align="left" height="200">
<TD>
<table width="99%" border="0" cellpadding="2" cellspacing="1" bgcolor="#FFFFFF" align="center" style="margin-top:8px">
<tr align="center" bgcolor="#FAFAF1" height="22">
<td>名称</td>
<td>附件</td>
<td>上传时间</td>
<td>下载</td>
</tr>
<c:forEach items="${requestScope.zuoyeList}" var="zuoye">
<tr align='center' bgcolor="#FFFFFF" height="22">
<td>${zuoye.mingcheng}</td>
<td>${zuoye.fujianYuanshiming}</td>
<td>${zuoye.shijian}</td>
<td><a href="#" onclick="down1('${zuoye.fujian}','${zuoye.fujianYuanshiming}')" style="font-size: 10px;color: red">down</a></td>
</tr>
</c:forEach>
</table>
</TD>
</TR>
<TR align="left">
<TD height="5"></TD>
</TR>
</TABLE>
<TABLE class=dragTable cellSpacing=0 cellPadding=0 width="100%" border=0>
<TR>
<TD class=head>
<SPAN class=TAG>最新资料</SPAN>
</TD>
</TR>
<TR align="left">
<TD height="5"></TD>
</TR>
<TR align="left" height="200">
<TD>
<table width="98%" border="0" cellpadding="6" cellspacing="6" align="center" style="margin-top:8px">
<c:forEach items="${requestScope.docList}" var="doc">
<tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22">
<td bgcolor="#FFFFFF" align="left">
<a href="<%=path %>/doc?type=docDetailQian&id=${doc.id}">${doc.title}</a>
</td>
<td bgcolor="#FFFFFF" align="right">
${doc.shijian}
</td>
</tr>
</c:forEach>
</table>
</TD>
</TR>
<TR align="left">
<TD height="5"></TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<jsp:include flush="true" page="/qiantai/inc/incFoot.jsp"></jsp:include>
</div>
</BODY>
</html>