项目需求说明文档 - fudan...

20
内内内内内内 版版 0.1 版版版 版版 [email protected] du.cn 版版版 [email protected] om 版版 072053034@fuda n.edu.cn 版版版 版版版 [email protected] u.cn 版 版 版 版 版 项项项项项项项项 项项项项 版版 版版 版版 0.1 版版版版 2009-3-1 版版版版版版版版 2009 版 版版版版 版版版版 版版版版版版版版 版版版版 0.3 版版版版 2009 版 3 版 6 版 版 1 版 版 20 版

Upload: others

Post on 17-Jun-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

内部教学文档版本:0.1

负责人:高珺

[email protected]

王思宝([email protected]

m)黄锃

[email protected]

审批人:戴开宇

[email protected]

教 学 互 动 系 统

项目需求说明文档

更改记录版本 状态 日期0.1 文档草稿 2009-3-1

0.2 文档草稿 2 2009-3-4

0.3 文档待审稿 09 年 3 月 6 日

复旦大学软件学院2009 年 版权所有

文档名称:项目需求说明文档文档版本:0.3更新日期:2009 年 3 月 6 日

第 1 页 共 21 页

Page 2: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

内部教学文档

复旦大学软件学院2009 年 版权所有

文档名称:项目需求说明文档文档版本:0.3更新日期:2009 年 3 月 6 日

第 2 页 共 21 页

Page 3: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

内部教学文档目录1 引言..................................................................................................................................41.1 项目目的..........................................................................................................................41.2 项目范围..........................................................................................................................41.3 项目分组..........................................................................................................................41.4 项目答疑..........................................................................................................................41.5 时间安排..........................................................................................................................4

2 概述..................................................................................................................................52.1 项目背景..........................................................................................................................52.2 系统特征..........................................................................................................................52.3 用户识别..........................................................................................................................52.4 约束条件..........................................................................................................................52.5 前提和依赖......................................................................................................................5

3 功能性需求......................................................................................................................63.1 基本功能..........................................................................................................................63.1.1 个人信息.....................................................................................................................63.1.2 权限验证.....................................................................................................................63.1.3 信息发布及浏览.........................................................................................................63.1.4 投票.............................................................................................................................73.1.5 投条.............................................................................................................................73.2 扩展功能..........................................................................................................................73.2.1 校园信息自助等.........................................................................................................73.2.2 协同编写(扩展功能).............................................................................................73.2.3 微博客,SNS,RSS,个人门户等功能(扩展功能)...........................................83.2.4 RIA技术采用...................................................................................................................8

4 非功能性需求...................................................................................................................94.1 可靠性..............................................................................................................................94.2 安全性..............................................................................................................................94.3 易用性..............................................................................................................................94.4 灵活性..............................................................................................................................94.5 可扩展性和可重用性.......................................................................................................94.6 设计约束..........................................................................................................................9

4.6.1 XML技术要求.................................................................................................94.6.2 (可选)EJB技术要求.................................................................................104.6.3 (可选)应用框架选择.................................................................................10

复旦大学软件学院2009 年 版权所有

文档名称:项目需求说明文档文档版本:0.3更新日期:2009 年 3 月 6 日

第 3 页 共 21 页

Page 4: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

内部教学文档4.6.4 协同编辑文档提供Web Services实现.........................................................104.6.5 所有邮件相关服务使用 Java Mail实现。....................................................10

5 接口.................................................................................................................................115.1 用户界面.........................................................................................................................115.2 硬件接口.........................................................................................................................115.3 软件接口.........................................................................................................................11

6 交付物............................................................................................................................126.1 PROJECT 1.....................................................................................................................12

6.1.1 系统功能实现................................................................................................126.1.2 项目相关文档................................................................................................12

6.2 PROJECT 2.....................................................................................................................126.2.1 主系统............................................................................................................126.2.2 数据库............................................................................................................126.2.3 Java Doc..........................................................................................................126.2.4 项目相关文档................................................................................................12

6.3 可交付物要求.................................................................................................................137 评分细则........................................................................................................................147.1 PROJECT1.........................................................................................................................147.2 PROJECT2.........................................................................................................................14

复旦大学软件学院2009 年 版权所有

文档名称:项目需求说明文档文档版本:0.3更新日期:2009 年 3 月 6 日

第 4 页 共 21 页

Page 5: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

1 引言1.1项目目的

项目的目的是把《高级 WEB 技术》课程所涉及的基础知识应用于实际 WEB 开发应用中,做到学以致用。我们希望通过“教学互动系统”这个课程项目来培养和考察同学对高级 WEB 技术的综合开发应用能力。

1.2项目范围项目所涉及的高级 WEB 技术范围主要如下: XML 的综合应用(DTD/Schema、DOM/SAX、XSL/X-Path/XSLT) JavaEE 的综合应用(JSP/Servlet、JDBC、JNDI、Java Mail、EJB、JAXP) Web Services 的基础应用(以 JavaEE 平台为主,可选跨平台集成应用) 对象/关系数据库映射的基础应用(Hibernate、JDO)(可选) 轻量级 JavaEE 开发框架的基础应用(Struts、JSF、Spring)(可选) 可复用 JavaEE 基础设计模式的应用(可选) Web2.0 相关技术,如 Ajax, RSS 等(部分内容可选)

1.3项目分组考虑到项目本身具有一定的复杂性和工作量,所以允许以每组 3-4 人左右为单位

进行项目团队开发。分组以自愿组合为原则,但未能及时组队的同学由我们随机安排并通知。项目的分工由小组成员自行商议,但要求每个同学对其中的每个模块都相当熟悉。

1.4项目答疑项目需求方面的答疑由高珺负责,其他技术方面的答疑由任课教师和全体 TA 共

同完成。答疑方式以电子邮件为主,如有任何建议和意见请及时与我们取得联系。1.5时间安排

PROJECT 1:2009-5-10 23:59 以前提交、提交后两周内组织进行面试和评分PROJECT 2:2009-6-19 21:00 以前提交、提交后两周内组织进行面试和评分

Page 6: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

2 概述2.1项目背景

“教学互动系统”提供了一个师生进行交流的空间,类似于一个虚拟的教学、交流平台。在这个平台中,教师可以发布与课程相关的信息,回答学生的问题,而学生则可以与教师进行方便的沟通,以及共同协力维护课程信息。

2.2系统特征我们的“教学互动系统”是一个基于 Web2.0 技术的交流平台,注重于用户的协同,

多用户的资源贡献(包括一个简单的 wiki,以及多媒体文件的交流)。处于简化系统的目的,本项目只需专注于一门课程即可。

系统必须是基于 B/S 架构的,部署在 JavaEE 应用服务器上,这是本项目的重点。而对于系统所采用的框架不做具体要求。

2.3用户识别“教学互动系统”中的用户包括三种:教师、助教和学生。其中教师相当于系统的

超级管理员,助教相当于系统的普通管理员,而学生则相当于一般用户。这三者之间的权限关系为包含的权限关系,即教师拥有助教的所有权限,助教拥有学生的全部权限。

2.4约束条件必须以组为单位独立按时完成,不可以代工和抄袭。对于开源项目的参考和开源

框架的应用是鼓励的,但不能够直接套用现成的开源项目来交付。

2.5前提和依赖可以熟练编写HTML、CSS、JavaScript。掌握XML 和 JSP/Servlet 的基础应用,对数

据库设计、JavaEE 架构和 Web Services 有一定的了解。

Page 7: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

3 功能性需求

3.1基本功能系统需要为“学生”提供以下功能:申请注册;编辑自己的基本信息,发布公共、

私人信息;对感兴趣的话题进行投票(比如“XML 这个部分是否讲得过细?”,“课程进度如何,A、快了点; B、刚好; C、慢啊慢”);查看教师发布的公开内容。针对课程内容进行提问并可以看到回答;自动选择 Topics 和 Project 分组,并查询相关信息。下载课件和相关辅导材料。

系统需要为“助教”提供以下功能:所有“学生”的功能,编辑“学生”发布的公共信息,审批“学生”的注册信息,发布课程相关信息。回答学生提问,选择学生发送 email 进行课程通知;查询并调整 Topics 和 Project 分组.

系统需要为“教师”提供以下功能:除“注册申请”外的所有“助教”功能,注册用户的所有功能,审批“助教”的功能。上传课件,辅助资料等。

用例图大致如下:

Page 8: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

3.1.1个人信息“教师”是系统内置的用户,在系统部署时产生。其他用户都需要在填写注册信息

后,由系统管理员审批过才是真正的用户(注册用户)。系统需要为所有的注册用户(包括“教师”记录以下信息:用户 ID,密码,姓名

Page 9: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

(需要双重输入验证),电子邮件地址(需要合法性验证),兴趣爱好,头像,签名档。以上信息除用户 ID外,注册后对其他用户不可见。以上信息除兴趣爱好,头像,签名档之外,都为必填信息。

用户登录后可以查找其他用户的基本信息(即除密码外的全部信息,包括用户的身份)。

3.1.2权限验证使用“用户名-密码”的方式对所有用户进行验证。出于系统安全的考虑,密码

不可以明文存放,一律需要散列处理。只有当用户使用用户名和密码登录以后,才能进行相关的权限操作。

“学生”注册后,“教师”和“助教”可以查看待批准学生列表,并对符合条件的学生进行审批;“教师”还可以看到待审批的“助教”列表。“学生”或“助教”被审批通过后,系统将向其注册 email 中发送一封欢迎邮件。

“助教”可以封禁和解封学生的使用权限,“教师”可以封禁和解封“助教”和“学生”的使用权限。被封禁状态下的用户在登录后,将得到一个被封禁的提示,不能进行任何操作。

在注册和登录过程中,采用 Ajax,提示该用户名是否可用。

3.1.3信息发布及浏览“教师”和“助教”可以发布信息,这些信息被赋予一个或多个标签,如课程资料,

课程 PPT,作业发布,Java,EJB,娱乐等等。标签在信息发布时手工输入,标签的名称可以按照信息的具体的内容随意选定,也可以没有标签。

发布的信息为 RichText,即有格式的富文本,还可以在信息中插入视频、图片,附加文件。

所有用户都可以在登录后看到所有发布的信息,并通过搜索页面查找相关信息,搜索的条件可以是简单查询,也可以是定义各种查询条件的复杂查询。

Page 10: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

3.1.4投票用户可以针对某一话题发动投票。投票分为课程相关的投票和一般投票,只有

“教师”和“助教”可以发布课程投票。发起投票的用户应当注明投票的描述,投票的类型(单选,多选等),投票的有

效期,是否匿名投票。可以为投票加上标签。投票的结果应当采用图形化显示(如柱状图、饼状图等)。投票一旦发布,只有

“教师”或者“助教”可以对其进行修改、关闭(停止新的投票)、删除。3.1.5投条

“教师”和“助教”可以针对学生的某些特征(如爱好,或者全体学生,或者指定的部分学生)群发 email。系统提供邮件编辑功能(Rich Text,可以附加附件)。

3.2扩展功能提供同学进一步锻炼自己能力的机会,提供各种课堂介绍的较为前沿的技术实践

机会,并借此区分水平,扩展功能予以加分。同学也可以根据自己的想法来进行功能扩展,在文档中写明。

3.2.1 校园信息自助等可以通过调用外部 Web Services 来集成一些实用的功能,用于校园生活。比如,集

成 Google Map,方便复旦校园地图信息的查找。针对地图信息可以融入非地图信息,比如对食堂的评价等,作为扩展功能。

3.2.2协同编写(扩展功能)系统中有部分文档可由用户协同编写(RichText),相当于一个特定目录,目录

中存放一些注入心得体会,新技术介绍等文章。用户可以在目录中新建、编辑新条目。要求记录所有条目的编辑历史信息,包括创建人,编辑人,创建时间,最后一次编辑时间等等。浏览条目的用户可以查看这个信息。此功能还需要提供 Web Services访问。

Page 11: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

3.2.3微博客,SNS,RSS,个人门户等功能(扩展功能) 可以借助开源项目,集成微博客,SNS,RSS 等功能。以 RSS 为例,比如教师的

信息发布,可以由系统自动更新 feed,学生只需要应用通用的 RSS客户端进行订阅,可以收到课程的最新发布信息等。

3.2.4 RIA技术采用在表现层采用 Dojo, Ext.等技术,实现很好的用户体验。

Dojo Fish Eye:

Page 12: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

Flickr Word:

Page 13: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝
Page 14: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

4 非功能性需求

4.1可靠性系统必须是稳定的、健壮的。用户执行合法操作、输入合法数据,应得到功能性需求部分描述的预期结果,不

能出现程序的堆栈信息或是自定义的错误页面。用户执行非法操作,不能出现程序的堆栈信息,应出现自定义的错误页面。用户输入非法数据,应返回输入非法数据的页面,并提示输入数据非法。

4.2安全性系统必须是安全的、完整的。涉及密码信息的数据字段不可以用明文进行存储。

4.3易用性系统必须是可用的、易用的。功能性需求部分未定义的系统流程,可以自己定义处理的流程。这些自定义的流

程。要符合用户的操作习惯,简单易用。

4.4灵活性系统必须是灵活的、能够适应一定需求变化的。可以考虑采用分层架构以及设计模式进行粒度、职责划分,以增强系统的灵活性。

4.5可扩展性和可重用性采用 N层架构开发,各层的组件划分合理,接口定义清晰,可以方便的进行扩充,

修改,以及功能重用,这点非常重要,需要在设计文档中详细写明。

4.6设计约束4.6.1 XML技术要求

查看用户信息的功能中,用户的信息存放在关系型数据库中,由特定的模块(Servlet/JSP或 Struts 中的 Action)将其按照参数进行抽取并包装成一个 xml 文件。然后在通过 xslt 方式转化成页面进行呈现。(可以使用浏览器的 xslt引擎,也可以使用软件包将其转化成 html 后再呈现)。但必须有一个方法,可以让用户在浏览器端访问到 xml文件的内容(如果使用浏览器的 xslt引擎,则只需有查看页面源文件即可)。

Page 15: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

4.6.2 EJB技术要求(扩展功能)使用 EJB3.0 中的 Entity Bean 和 JPA或者Hibernate 进行对象/数据库记录映射。

4.6.3 应用框架选择(扩展功能)使用 Struts、JSF或其他开源 MVC 框架进行系统编写。

4.6.4 协同编辑文档提供Web Services实现对于协同编辑的页面提供可以通过 Web Services 进行访问的方法,具体浏览方式

随意,但是必须是 Web Services 方式提供的内容。4.6.5 所有邮件相关服务使用 Java Mail实现。

Page 16: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

5 接口

5.1用户界面自行设计主系统和阅读器界面,以简洁易用为目标。

5.2硬件接口能够顺畅运行在512M以上内存的X86个人计算机上。

5.3软件接口1. 数据库:MySQL(推荐),JavaDB 等2. JavaEE 应用服务器:Tomcat,JBOSS 等3. Web Services 开发包:Axis,JWSDP 等4. 集成开发环境:Eclipse,NetBeans 等5. 操作系统:Windows 2000,XP 和 20036. 浏览器:IE6.0或以上和 FireFox 3.0或以上

5.4提示1. 上传功能可以采用 JspSmartUpload 组件,或者Apache 的 commons2. 可以使用 Ajax 框架,但需要在文档中说明。3. 如果提交相关的压力测试报告等,作为扩展功能加分。4. 富文本编辑可以使用 FCKeditor,效果如下

Page 17: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝
Page 18: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

6 交付物

6.1PROJECT 1

6.1.1 系统功能实现完成除以下功能外的其他功能。

注册成功后的欢迎 email 投条功能 投票功能 Project 分组,TA调整功能 扩展或可选部分

6.1.2 项目相关文档项目文档统一用 doc格式或 pdf格式提交。团队分工安排表和自我评分表附在项目

设计文档最后,最终只提交一份文档。项目设计文档:项目的用例提炼、架构概要设计、关键功能详细设计, Web

Services 用户基本信息查看部分的 xml 的 Schema。团队分工安排表:团队成员名单、各自参与的任务、对整个 project 的贡献百分比。自我评分表:按照评分细则进行自我评估以及扩展功能点的说明。

6.2PROJECT 2

6.2.1 主系统主系统源代码和可以直接部署的 WAR/JAR/EAR 包(包括用到的非 JavaEE标准的

各种扩展 JAR 包、数据库连接 JAR 包和开源工具 JAR 包等)。至少完成一个扩展功能

6.2.2 数据库需要提供两份数据库 SQL脚本:1、数据库的 SQL清空、创建脚本;2、数据库的初始或测试数据的 SQL插入脚本,要求在这些数据插入后,系统的所

有功能都至少有 2条或以上数据。6.2.3 Java Doc

主系统“视图层”以下各层次的源代码对应的 Java Doc,使用 Java标准 Doc 工具生成,注释的粒度和风格需符和 SUN 的 Java Doc 注释风格。

Page 19: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

6.2.4 项目相关文档项目文档统一用 doc格式提交。团队分工安排表和自我评分表附在项目设计文档最

后,最终只提交一份文档。项目设计文档:项目的用例提炼、架构概要设计、数据库设计、关键功能详细设计。

使用手册。团队分工安排表:团队成员名单、各自参与的任务、对整个 Project 的贡献百分比。自我评分表:按照评分细则进行自我评估以及扩展功能点的说明。

6.3可交付物要求可交付物需要有一份清单以及运行、配置的说明,成员名单以及组长的联系方式

以便有问题是能够及时联系。

Page 20: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

7 评分细则

7.1Project1

Project1占Project总分的40%。假设Project1的满分为40分,对于各个功能点实现情况的评分细则如下:编号 功能点描述 分值

1 用户注册、审批 52 用户搜索 23 XSLT转化用户基本信息及呈现 84 用户权限、验证 45 发布课程信息(富文本,附件) 76 课程信息检索(标题检索、标签检索)、浏览 47 相关文档 10

注:1. 延期扣分规定:每延 1天(不足 1天算为 1天)扣 2 分,延期超过 5天即不再接受递交。特殊情况除外。

2. 对于有创新性的功能点扩展或改进,请在文档中说明,可酌情加分。

7.2Project2

Project2占Project总分的60%。假设Project2的满分为60分,对于各个功能点实现情况的评分细则如下:编号 功能点描述 分值

1 注册流程中的欢迎邮件 22 投票 83 投条 54 扩展功能(4 选 1) 105 Project 分组,TA调整 56 数据库设计 57 分层架构、设计模式应用、职责划分、系统的灵活性 58 页面大方美观 29 项目设计文档、团队分工安排表、自我评分表 1010 有一定的测试代码和必要的注释、命名规范 311 自由拓展(按难度,适用性进行评分) 5

注:

Page 21: 项目需求说明文档 - Fudan Universityjpkc.fudan.edu.cn/_upload/article/files/ad/1b/65ceefcb... · Web view版本:0.1 负责人: 高珺 (gaojun@fudan.edu.cn) 王思宝

1. 延期扣分规定:每延 1天(不足 1天算为 1天)扣 3 分,延期超过 5天即不再接受递交。特殊情况除外。

2. 对于有创新性的功能点扩展或改进,请在文档中说明,可酌情加分。