Web开发综合实训报告

目 录

1 项目概述... 1

2 需求分析... 1

2.1功能需求... 1

2.2设计目标... 2

3开发环境和开发工具... 2

3.1 J2EE简介... 2

3.2 MySQL简介... 3

4 数据库结构设计与实现... 3

4.1       概念数据模型设计... 3

4.2物理数据模型设计... 4

5 功能设计与实现... 5

5.1 登入功能设计与实现... 6

5.2 作业课程功能设计与实现... 7

5.3完成的作业功能设计与实现... 8

结束语... 9

                          


图 1…... ……………………………………………………………………………….4

图 2. 5

图 3. 7

图 4. 8

图 5. 9

                            


1 项目概述

关于We b的讨论经常偏题,这是由于人们所用词汇的意义变动很大。尽管人们或多或少地有些看法,但没有人能够精确地定义什么是We b设计。一些问题被经常讨论,如可视化设计与编程,但关于它们在We b设计中的重要性则仁者见仁,智者见智。撇开可视化和技术方面不谈,很多人认为We b站点内容的创建和组织是We b设计最重要的方面。随着电子商务的兴起,商业方面的考虑也成为站点成功设计的重要方面。

对于特定的项目,上述所有学科以及其他代表着We b设计主要方面的交叉学科,都可能是需要的。由于许多学科,如图书情报学、图形学、程序设计、客户机/服务器技术、用户界面设计、可用性以及其他学科的影响,We b设计实质上已包含许多学科。

尽管我们可以考虑来自十几个领域的影响,但We b设计的四个主要方面是:内容、技术、外观以及经济。内容的目的在于告之或者劝说用户;使用技术的目的是实现合理的功能;外观方面的考虑则提供了站点的形式;对于大多数站点来说,还需要考虑所建站点的经济效益。如果没有清晰的目标和效益,一般来说这样的站点是不会建立的。当然站点的外观因其类型而异。一个个人主页不会像商场的站点一样考虑经济效益,一个制造企业的内部网也不会像公众网一样考虑外观效果,如采用动画技术。因为设计原则随所建站点的性质有很大的变化,因此把We b设计当作整体来考虑是很困难的。

Web技术的不断更新使得设计网站极具挑战性,它需要联合作业以及对We b媒体的透彻理解。即使我们是We b设计专家,能建立美观而实用的站点,用户也可能在面对我们的作品时显得很困惑。We b设计者经常花大量的时间去考虑他们自己的需求而不是了解用户的需求。

2 需求分析

Web 作业系统主要包括作业系统、考试系统和教师系统。其中教师系统又可以分为教师子系统和管理员系统。

教学子系统主要是教师通过登录系统发布作业、收取作业管理。

教师登录了教学系统后,根据教学的需要发布作业,将学生需完成的作业上传到系统中,同时通过系统生成作业,再将这些作业显示在学生页面。学生根据作业系统即可下载作业要求。待学生将完成的作业上传到系统后,教师即可打开系统的作业系统收取并批改作业。

学生进入系统登录作业系统,查看并下载作业,按作业要求完成并上传作业;由于系统提供上机考试,学生必须在老师的指导下完成并将考卷上传。

2.1功能需求

Web作业系统主要实现功能如下:

1、教师在网上发布作业,包括作业题目上载、公布作业完成时间。教师在网上下载批阅作,给出学生成绩。

2、学生在网上完成作业,包括作业下载、上传作业内容和作业成绩查询等。

3、学生和老师都实现上传、下载、删除个人文件。

4、新教师在使用新系统时,可以申请使用系统。

5、管理员管理学生信息管理,包括学生用户名和密码修改和查询。

6、管理员管理教师信息管理,包括添加、删除、修改、查询、审批新教师信息。

7、管理员实现对系统的数据库维护。

2.1设计目标

1. 效益和可用性

好的We b站点对用户是有用的。有效性包括两个方面的意思:有用性和可用性。有用性指的是站点潜在的满足用户需求的功能。可用性是指用户能够通过站点的操作实现特定目标。例如,考虑一个提供在线银行服务的站点。如果它提供诸如收支平衡检查、转账、资金支付等用户期望的能力,就可以说它是有用的。然而,站点也可能完全失败,它提供的功能可能令人困惑而无法得到有效的使用。很明显,如果一个站点不能恰当地运作,或者设计得非常糟糕甚至存在错误,它就不是一个好站点。可用站点的效率会非常高,容易学习,在实现用户的目标时令人满意而不会有错误

2. 实用性

为网上教学提供方便,有效进行作业管理,尽量最大限度降低管理员日常管理工作量,提高教学质量和效率,优化资源,实现效益最大化。

3. 操作简单

本系统应该适用不同水平的使用者,包括教师和学生,同时系统不应太复杂和繁琐,因此要求系统的操作尽可能简单易行。

4. 安装使用简便

服务器端的安装简单明了,客户机无需再安装任何软件,通过浏览器就可以直接访问,可以直接使用Internet,无论您身在何处,只要可以访问Internet都可以使用本系统。

5. 适应性

应该能广泛应用于不同类型的学校。系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都可以应用。

3开发环境和开发工具

开发环境: MyEclipse

使用软件:JDK、Tomcat、MySQL 、MyEclipse、Dreamweaver、PowerDesigner

2.2 J2EE简介

  J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

2.3 MySQL简介

 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在20##年1月16号被Sun 公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。如雅虎、阿尔卡特—朗讯、Google公司、诺基亚公司、百度等公司就采用了MySQL数据库。MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载.

MySQL的官方网站的网址是:www.mysql.com

MySQL数据库主要有以下特点。

1、可移植性

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。

2、可扩展性和灵活性

MySQL可以支持UNIX、Linux和SUN OS以及Windows等多种操作系统平台。在一个操作系统中实现的应用可以很方便地移植到其他操作系统。MySQL作为开源性质的 数据库服务器,可以为那些想要增加独特需求的用户提供完全定制的功能。

3、强大的数据保护功能

MySQL有一个非常灵活且安全的权限和密码系统。为确保只有获授权用户才能进入该数据库服务器,所有的密码传输均采用加密形式,同时也提供了 SSH和SSI。支持,以实现安全和可靠的连接。MySQL强大的数据加密和解密功能,可以保证敏感数据不受未经授权的访问。

4、支持大型的数据库

虽然对于用PHP编写的网页来说,只要能够存放数百条以上的记录数据就是够了,但MySQL可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySQL可以针对不同的应用进行相应的修改。

5、超强的稳定性

MySQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用而不必担心其稳定性。线程是轻量级的进程,它可以灵活地为用户提供服务,而不占用过多的系统资源。用多线程和C语言实现的MySQL能很容易地充分利用CPU。

6、强大的查询功能

MySQL支持查询的select和where语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷、方便。

4 数据库结构设计与实现

数据库结构设计的好坏直接影响到信息管理系统的效率和实现的效果。合理地设计数据库结构可以提高数据存储的效率,保证数据的完整和统一。数据库设计一般包括如下几步:

1.        概念数据模型设计。

2.        物理数据模型设计

1.1    概念数据模型设计

作业子系统的数据建模包括建立概念数据模型和物理数据模型。其中物理数据模型是从概念数据模型转换而来,因此建立概念数据模型是关键。下面对建立概念数据模型进行的分析。

  在创建概念数据模型的时候,首先要识别潜在的实体,考虑系统中应该包括哪些实体。其次,考虑已经识别的实体中应该包括哪些属性,属性的类型是什么。最后,识别哪些实体之间,是什么关系。实体之间的关系包括一对一关系、一对多关系和多对多关系。实体之间的关系可以通过对数据需求分析中的数据加工情况进行分析得到。作业系统中的实体之间的关系如图1所示。

图 1

4.2物理数据模型设计

作业子系统的物理数据模型是从概念数据模型转换而来。物理数据模型中,电子教学手册总体信息中的字段是4个,比概念数据模型中的电子教学手册总体信息属性多了3个。不难发现多出的3个字段是外键,分别表示电子教学手册总体信息和课程、班级及教师的多对一的关系。其他的实体间的一对多或多对一的关系也进行了同样的转换。具体如图2所示。

图 2

5 功能设计与实现

Web作业系统主要实现功能如下:

1.        教师在网上发布作业,包括作业题目上载、公布作业完成时间、内容;发布考试题目和要求。教师在网上下载批阅作/考卷,给出学生成绩。

2.        学生在网上完成作业,包括作业下载、上传作业内容和作业成绩查询等。

3.        学生完成网上考试。包括考试题目下载,上传考试文件和考试成绩查询等。

4.        学生和老师都实现上传、下载个人文件。

5.        新教师在使用新系统时,可以申请使用系统。

6.        学生信息管理,包括学生用户名和密码修改和查询。

7.        教师信息管理,包括添加、删除、修改、查询、审批新教师信息。

8.        实现对系统的数据库维护。

5.1 登入功能设计与实现

学生用户在登入系统之后仍然会首先进入系统的入口页面,实现进入首页和作业的连接,页面如图3所示。它代码如下:<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head><title>首页</title></head>

<body>

<%@ include file="/common/homeHeader.jsp"%>

<table background="${pageContext.request.contextPath}/images/blue.jpg" height="450" width="100%" align="center">

<tr ><td>

</td></tr>

</table>

<%@ include file="/common/footer.jsp"%>

</body>

</html>

图 3

5.2 作业课程功能设计与实现

选择作业操作后,学生要继续选择对应的课程,既要对哪一门课程进行作业的完成操作,如图4为学生用户完成作业课程列表页面。它的代码如下:<head><title>课程列表</title>

<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/default.css">

<script language="javascript" src="${pageContext.request.contextPath}/js/common.js"></script>

</head>

<body>

<%@ include file="/common/homeHeader.jsp"%>

<center>

<table width="100%"  background="${pageContext.request.contextPath}/images/blue.jpg" >

<tr align="center">

<th>序号</th><th>课程名称</th>

<c:forEach items="${courses}" var="course" varStatus="vs">

<tr align="center">

<td>${vs.index}</td>

<td><a href="ShwListAction?cou_no=${course.cou_no}">${course.cou_name}</a></td>

</c:forEach>

</table>

</center>

<%@ include file="/common/footer.jsp"%>

图 4

5.3完成的作业功能设计与实现

课程选择完毕后,进入该门课所有有效作业的列表页面,学生在本页面可以选择对未完成的作业作答或查看已完成作业的批改情况,如图5所示。它的代码如下:

<%@ include file="/common/homeHeader.jsp"%>

<table width="100%" background="${pageContext.request.contextPath}/images/blue.jpg" >

<tr >

<th>序号</th><th>作业名称</th><th>操作</th>

<c:forEach items="${pageInfo.list}" var="hw" varStatus="vs">

<tr align="center">

<td>${vs.index}</td>

<td>${hw.tea_hw_name}</td>

<td>

<c:if test="${hw.stu_hw_score==null}">

<a href="#">开始作答</a>

</c:if>

<c:if test="${hw.stu_hw_score<0}">

<a href="#">已作答 未批</a>

</c:if>

<c:if test="${hw.stu_hw_score>=0}">

<a href="#">查看批改结果</a>

</c:if>

</td>

</c:forEach>

图 5

结束语

总结实训中需要解决的主要技术问题:

1.Web项目开发与设计;

2.Web项目编程实现;

3.Web项目调试;

4. 技术的改变;

5. 开发经验的欠缺;

6. 方法学的缺乏。

相关推荐