目录
一、项目背景 .................................................................................................................................... 1
二、理论基础 .................................................................................................................................... 1
2.1 数据库技术......................................................................................................................... 1
2.2B/S 架构的 WEB 程序设计技术 .........................................................................................1
三、需求分析 .................................................................................................................................... 3
3.1 系统用例图......................................................................................................................... 3
3.2 系统功能体系图................................................................................................................. 3
3.3 目标 ..................................................................................................................................... 4
3.4 用户的特点........................................................................................................................ 4
3.5 基本功能 ............................................................................................................................ 5
3.6 对性能的规定 .................................................................................................................... 5
3.7 限制条件 ............................................................................................................................ 5
3.8 系统难点分析 ..................................................................................................................... 6
四、系统总体软件结构图................................................................................................................ 6
4.1MVC 架构图........................................................................................................................... 6
4.2 系统包图 ............................................................................................................................. 7
五、详细设计 .................................................................................................................................... 8
5.1 E-R 图................................................................................................................................. 8
5.2 关系模式 ............................................................................................................................ 8
5.3 软件包类图...................................................................................................................... 11
5.3.1Action 包图 ...........................................................................................................11
5.3.2Bean 包图 ............................................................................................................... 11
5.3.3Controller 包图 ...................................................................................................12
5.3.4 Dao 包图 ............................................................................................................... 13
5.4 部分功能算法和代码......................................................................................................14
5.4.1 文件上传的流程图 ..............................................................................................14
5.4.2 分页技术 ............................................................................................................... 16
5.4.3 小组删除识别 .......................................................................................................17
5.4.4 老师部分功能 .......................................................................................................17
六、讨论和展望.............................................................................................................................. 20
6.1 系统优点 ........................................................................................................................... 20
6.2 系统缺点 .......................................................................................................................... 21
6.3 系统设计和开发过程中的收获......................................................................................21
一、项目背景
随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于
网络进行相互交流、相互通信、共享信息、文件的上传下载等。同时互联网的发
展也推动了教育的发展和变革,现在不少高校都有自己的作业提交系统,由于各
种原因我们川大还没有统一的使用作业提交系统。为了更好的利用校园网的软硬
件资源,实现学生作业的无纸化管理,让学生提交作业、查询作业信息更为方便,
让老师审核学生作业更加的快捷,我们决定基于 B/S 结构开发一个简单又实用的
在线提交作业系统。
二、理论基础
2.1 数据库技术
PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能
最强大、特性最丰富和最复杂的自由软件数据库系统.它起源于伯克利(BSD)的数
据库研究计划,目前是最重要的开源数据库产品开发项目之一, 有着非常广泛的
用户。
PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性
检查等特性的唯一的一种自由软件的数据库管理系统.能在多平台下---包括
Linux、FreeBSD 和 Windows 等---运行,并且支持多语言的开发。
我们采用 PostgreSQL8.4 作为我们的数据库系统。
2.2B/S 架构的 WEB 程序设计技术
B/S 结构(Browser/Server 结构)即浏览器和服务器结构。它是随着 Internet
技术的发展,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作
界面是通过网页浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但
是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier 结构。这样
就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了
用户的总体成本(TCO)。以目前的技术看,局域网建立 B/S 结构的网络应用,并
1
通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式
(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效
地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S 结构最大的优
点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网
的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统
管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内
部的安全认证(如 CA 证书)后,不需要人的参与,系统可以自动分配给用户一
个账号进入系统。
三层客户/服务器(B/S)体系结构
Client
Web browser
Application
server
Application
Program
DBMS
Data
Management
客户端仅仅运行用户界面,浏览器(Web browser)用于数据的呈现 瘦客
户;应用服务器运行业务逻辑和数据处理,应用服务器 + Web server ;数据库
服务器提供企业数据的集成和管理。
2
三、需求分析
3.1 系统用例图
3.2 系统功能体系图
3
作业提交系统
注册
登录
学生用户登录
教师用户登录
通 用 模
注
册
课
程
查
看
下
载
作
业
多
次
上
传
作
业
添
加
管
理
小
组
查
看
教
师
通
知
添
加
注
册
课
程
下
载
删
除
作
业
发
布
通
知
发
布
作
业
统
计
作
业
信
息
查
看
学
生
和
小
组
修
改
密
码
注
销
系
统
查
看
个
人
资
料
数据库管理
3.3 目标
完成一套网上提交作业系统,练习体验 Web 数据库应用开发,最终希望可
以把源代码提供给学校使用,能够完成简单的作业管理任务,讲源代码公开,希
望有更多的同学参与进来将这个系统修改和完善。
3.4 用户的特点
用户对象是川大老师和同学,基于同学和老师对计算机技术有一定了解,可
以很快熟悉系统的使用方法。也正是这个原因,我们将尽可能简单的设计我们的
系统,把更多的主动权交给用户,以此来满足用户的需求。管理员对计算机很了
解,不过我们希望管理员只做很少一部分,即对部分老师和学生的不规范行为矫
正,如老师的作业没有在一定时间内删除,学生毕业后没有注销等。
4
3.5 基本功能
1、不同用户登陆进入不同的用户界面
2、学生、教师的信息修改和密码修改
3、学生、教师的注册注销
4、学生、教师可以多次上传文件覆盖上一次作业
5、学生注册课程
6、学生添加小组和加入小组
7、组长管理组员
8、学生查看作业和下载作业
9、学生、小组上传提交作业
10、学生查看教师通知
11、教师添加注册课程
12、教师布置作业
13、教师发布关于作业通告
14、教师查看选课情况和学生和小组信息
15、教师查看和统计提交作业情况(人数、日期等)
16、教师下载学生和小组作业
3.6 对性能的规定
要求系统支持 PostGreSQL 数据库
3.7 限制条件
1. 学生不可以进行教师页面
2. 教师也不可以进入学生页面
3. 每个学生登录进入之后只能看到自己注册课程的作业,不要恶意注册其
他没有选的课程
4. 每个教师登录只对自己发布的作业进行管理,不可以对别的教师发布的
作业进行管理
5. 不同的用户使用修改密码都只能修改自己的密码,无法修改他人的
6. 不同的用户使用个人数据功能时,也是只可以看到自己的信息不可以看
到他们的信息
7. 学生上传作业的类型,大小受系统约束,
5
3.8 系统难点分析
1、数据库的设计,推广本系统的话就要减少防止数据库的三类异常,同时兼顾
效率,要在两者之间取舍。
四、系统总体软件结构图
4.1MVC 架构图
控制器起到不同层面间的组织作用,用于控制应用程序的流程。它
处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。
视图层能够实现数据有目的的显示(理论上,这不是必需的)。在视图中
一般没有程序上的逻辑。为了实现视图上的刷新功能,视图需要访问它
监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
6
“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及
对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库
的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关
心它会被如何显示或是如何被操作。但是模型中数据的变化一般会通过
一种刷新机制被公布。为了实现这种机制,那些用于监视此模型的视图
必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改
变。
4.2 系统包图
Controller 包控制系统程序的流程,并对事物作出响应,其中的 servlet 接受
JSP 中提交的信息后,调用 Module 包中的 Action 类,然后 Action 再调用 DaoImpl
中的方法,DaoImpl 完成了和数据库的连接,具有访问数据库的权利。这种结构,
使得调用结构更加清晰,容易调试错误和以后对程序功能的扩展。JavaBean 包定
义了系统中的各种自定义数据结构。
7