立项 辅助教学系统立项说明书
目录:
修订历史:
日期 | 版本号 | 作者 | 说明 |
---|---|---|---|
2016-03-23 | v1.0 | 卫重波 杨柳 | 最初版本 |
2016-04-14 | v2.0 | 卫重波 | 按照立项说明书模板进行增删修改 |
1. 概述
PCAE^([1])的开发是为了利用个人计算机来帮助师生进行作业管理、相互学习和交流。目前,辅助教学类的软件已有很多,但是适用于单个老师和少量学生的辅助教学系统却很难找到。因此,此项目旨在开发出一个简单、高效、实用的个人计算机辅助教学系统,该系统能上传和发布老师的作业、想法,学生们也能提交作业、查看作业榜、相互评论,老师可以对作业进行评论、打分和统计。
1.1. 项目要求
- 本系统是一个“个人”计算机辅助教学系统,为一个老师和其约百人规模的学生服务。
- 能系统化的管理作业、项目、想法教学资源。
- 主要功能有:
- 老师:发点PPT、想法、文章、作业、评论、打分、统计
- 学生:提交作业、看作业排行榜、评论
- 操作方便。简单,实用,不支持多位老师共享平台,不支持链入教务系统等。
- 并发数100以上。
- 需要完整的权限控制,防止恶意攻击系统,修改数据的行为。
- 对数据库中的数据定时备份,防止数据丢失。
- 完成期限为2016-04-21日。
1.2. 术语
[1] PCAE: 个人计算机辅助教学系统
[2] QA: 质量保证
2. 可行性
2.1. 可行性研究的前提
2.1.1. 要求
- 功能:本教学辅助系统主要功能有教师、学生的信息化管理、课程信息获取及资源共享。
- 性能:本系统面对的使用者数量较小,并发性要求在100左右;设置必要的安全防范措施,以免数据被恶意修改;简洁易懂的交互界面。
- 输出:在资源共享部分学生下载课程信息中的课件文件,支持各种已上传类型的文件下载。
- 输入:教师信息,由教师自行注册和管理;学生信息、课程信息,由后台管理员进行新增管理的操作;课件:由授课教师进行上传,数据类型与课件的实际类型为准。
2.1.2. 目标
- 提高信息资源利用,减少人力与设备;
- 不需要拷课件,提高教学效率;
- 对教学管理系统的改进;
- 管理信息服务的改进;
2.1.3. 条件、假定和限制
- 系统的运行寿命的不少于3年;
- 经费、投资方面的来源和限制;
- 提示免责声明,本系统对使用过程中的违法犯罪行为不负法律责任;
- 普通PC电脑,有WEB浏览器,WINDOWS XP/7及以上系统版本,开发环境为MyEclipse和 Mysql;
- 系统投入使用时间为2016年4月24日
2.2. 复查系统规模和目标
- 实现一个供一个老师和百余名学生使用的PCAE。
- 并发数100以上。
- 系统需要操作方便。简单且实用。
- 提供上传、下载文件,数据统计、评论等功能。
- 安全性要求,防止恶意攻击和数据的篡改、丢失。
- 系统需要练好的灾难恢复机制。
- 完成期限为2016-04-21日。
2.3. 研究正在使用的系统
2.3.1. 流程简介
- 教师通过博客发布题目。
- 学生通过关注教师博客动态获得题目,并发表文章作答,以回复的方式将链接提交。
- 教师给学生打分,并借助 Excel 表存储和统计分数。
2.3.2. 存在的主要问题
- 博客是一个开放的平台,但也许教师并不希望向外部公开教学详情或者一些教学资源。
- 如果需要上传下载附件,又需要借助其他平台。
- 无法系统的管理和方便的查找教学资源。
- 用 Excel 表计分、统计很复杂。
- 无法保证 Excal 中数据的安全性。
2.4. 新系统的高层逻辑模型
用数据流图来表示新系统的逻辑模型:
- PCAE 顶层DFD 图
- PCAE 第二层DFD 图
2.5. 进一步定义问题
新系统的逻辑模型已经基本满足用户需求,经过分析员和用户对 DFD 图的复审,发现:
1. 以上设计中缺少用户身份校验模块
2. 未考虑数据的安全性问题
我们将在第三层 DFD 图设计中,在以上四大模块中加入相应的校验和数据保护功能。
2.6. 导出和评价供选择的解法
2.6.1 方案一
-
拟建系统的目标
- 管理一个科目的作业及资料文件
- 教师上传与共享资源
- 加快信息的查询速度和准确性
- 简介的交互界面
- 并发性满足约50人同时使用
- 保证数据安全
-
初步方案
- 采用B/S结构,客户端电脑通过浏览网页的形式与系统进行交互。
- 教师发布作业与资料,以公告的形式推送给学生。
- 使用MySQL数据库管理所有的资源信息。
- 使用 Struts 框架与 JSP 技术实现。
2.6.2 方案二
-
拟建系统的目标
- 管理多个科目的作业及资料文件
- 增强资源共享
- 加快信息的查询速度和准确性
- 人性化的交互界面
- 高并发
-
初步方案
- 采用B/S结构,客户端电脑通过浏览网页的形式与系统进行交互。
- 学生与老师之间可以进行类似 QQ 空间留言板方式的交流与沟通,符合当前建设信息化校园的理念。
- 性能上,用比较高性能的服务器和数据库,增强其计算和并发能力
- 输入输出方面,使用算法在 jsp 视图层上给管理员提供对系统的操作和维护、为教师留下上传接口,给课程配备相关的属性实现下载。
- 使用 Struts 2框架与 JSP 技术实现。
2.7. 推荐行动方案
2.7.1. 方案描述
-
在方案一的基础之上:
- 使用某些措施来加强数据的安全性。
- 优化文件上传、下载速度。
- 严格限定教师和学生的权限。
-
初步的资料信息处理的 DFD 图:
- 初步的活动图:
2.7.2. 技术可行性
- 在当前的限制条件下,该系统的功能目标均可以达到预期要求;
- 利用 Struts 框架与 JSP 技术,该系统的功能可以实现;
- 开发人员中两人对框架和技术熟练掌握;
- 合理分配时间,可以在规定的时间内完成开发;
2.7.2. 经济可行性
2.7.2.1. 支出
-
基建投资
- 服务器一台 2000 元
- 数据库系统 1000 元
- 其它开支 1000 元
-
经常性支出100元/月。
2.7.2.2. 效益
- 广告费
1人用1月可产生1元广告费。
2.7.2.3. 收益/投资比
假定:
- 软件的生命期为3年;
- 平均每月有500人次的使用量
总支出:2000元 + 1000元 + 1000元 + 100元/月 * 3 * 12月 = 7600元
总收益:1 元/人月 * 3 * 12月 * 500人 = 18000元
收益投资比:18000元/7600元 = 45/19 ≈ 2.3684
2.7.2.4. 投资回收周期
设回收周期为X,单位为月,则有:
1元/人月 * 500人 * X = 7600元,X = 15.2月,即约在在一年零3个月后进入投资回收期。
2.7.2. 操作可行性
该系统有如下特点:
- 系统采用菜单式实现用户与数据库的交互
- 界面简洁
- 菜单条目简单明了
- 关键的操作部分有传统惯用的标识符
- 所有功能严格划分界限,用户不会步入复杂的功能选择中。
基于以上特点,该系统的可操作性和常见的 windows 系统中的简单 Web 页面类似,符合用户的操作习惯。
2.8. 草拟开发计划
2.8.1. 工程进度表
阶段 |
主要工作 |
时间段 |
需求分析 |
收集用户需求 |
3/20 ~ 3/20 |
验证项目可行性 |
3/21 ~ 3/21 |
|
制定项目初步计划 |
||
确定系统功能及性能要求 |
3/22 ~ 3/23 |
|
编写用户手册概要 |
3/24 ~ 3/24 |
|
讨论并决定开发计划 |
||
编写立项说明书 |
3/25 ~ 3/26 |
|
编写需求说明书 |
||
概要设计 |
建立系统总体结构,划分功能模块 |
3/27 ~ 3/27 |
定义各功能模块接口 |
||
数据库设计 |
3/28 ~ 3/28 |
|
制定组装测试计划 |
3/29 ~ 3/29 |
|
对已完成的文档进行评审 |
||
|
设计各模块具体实现算法 |
3/30 ~ 3/30 |
|
确定模块间详细接口 |
3/31 ~ 4/1 |
|
制定模块测试方案 |
|
|
编写程序源代码 |
4/2 ~4/7 |
|
进行模块测试和调试 |
4/8 ~ 4/9 |
|
编写用户手册 |
4/9 ~ 4/9 |
|
集成测试 |
4/10 ~ 4/14 |
|
编写集成测试报告 |
4/15 ~ 4/15 |
|
测试整个软件系统 |
4/16 ~ 4/19 |
|
编写开发总结报告 |
4/20 ~ 4/21 |
2.8.2.人员
2.10. 技术选型
2.10.1. 表现层:JSP
使用Java开发Web项目在表现层上占比最大的还是JSP了。一方面,在之前的J2EE课程中已经接触过了JSP,并且之前的很多web项目的开发训练也都使用的JSP,组内成员对该技术都比较熟练;另一方面,JSP的功能十分强大,整个项目的资源都可以通过它轻松访问,它也十分适合于该项目表现层的实现。
2.10.2. 控制层:Struts
两方面的原因:
- Struts框架功能全面,有着广泛的群众基础,网上的相关资料也很多。
- 组内开发人员比较熟悉。
2.10.3. 数据持久层:Hibernate
主要原因是该框架的下面的这些优点:
- Hibernate充分体现了ORM的设计理念,提供了高效的对象到关系型数据库的持久化服务。
- 它将持久化服务从软件业务层中完全抽取出来,让业务逻辑的处理更加简单,更加有利于高效地开发和维护。
使开发人员在程序中可以利用面向对象的思想对关系型数据库进行持久化操作。
2.11. 过程模型选择
瀑布模型。
- 该软件的功能更需求简单明确,需求→分析→设计→编码→测试 各个阶段工作量较小,对于每个阶段,都能够有时间完整的规划和完成。
- 项目开发时间有限,采用瀑布模型并明确设定每个阶段的截止时间,能够确保项目在规定时间内顺利完成。
- 将功能的实现与设计分开,更便于组内成员的分工协作。
- 每个阶段所有人都参与,便于查缺捡漏和结合所有人的智慧。
3. 团队成员
角色 | 姓名 |
---|---|
项目组长 | 祖庆庆 |
项目成员 | 杨浪 |
项目成员 | 卫重波 |
项目成员 | 杨柳 |
项目成员 | 李鑫 |
项目成员 | 何磊 |
项目成员 | 邹纯鑫 |
项目成员 | 高扬 |
4. 分工
4.1. 工作分解结构(WBS)的编制
4.2. PERT时间估算
- 利用类似法,从网上搜集与之类似的项目的花费人时作为参考。
- 当前的项目的复杂性较之前的简单。没有外部系统接入、课程共享等比较复杂的功能。
- 当前团队人数为8人。
- T0(乐观时间) - Tm(最可能时间) - Tp(悲观时间)
- 期望时间 = (T0 + 4Tm + Tp) / 6
4.3. 具体分工
任务 | 截止时间 | 人员 |
---|---|---|
需求分析报告 | 2016-3-26 | 全员 |
整体页面设计 | 2016-4-1 | 祖庆庆 何磊 李鑫 卫重波 |
各个模块网页链接 | 2016-4-10 | 祖庆庆 何磊 李鑫 杨柳 杨浪 高扬 |
建立数据库并录入数据 | 2016-4-12 | 杨浪 邹纯鑫 高扬 |
数据库的验证 | 2016-4-15 | 祖庆庆 卫重波 李鑫 |
数据库连接测试 | 2016-4-15 | 杨浪 邹纯鑫 高扬 何磊 |
网页连接调试 | 2016-4-17 | 祖庆庆 卫重波 李鑫 杨柳 |
系统测试 | 2016-4-20 | 全员 |
5. 质量保障
5.1. 质量管理流程
5.1.1. 交付文档质量监控流程
- 项目经理和QAE^([2])在项目初期对项目交付文档的模板进行检查和审核,确保项目交付品的架构和内容大纲的完整性和正确性。
- 在项目进行过程中,QA、项目经理及各项目功能小组组长会分别对交付品进度和质量进行监控,确保在最后的项目完成阶段,客户对提交的交付文档能有满意的反馈。
5.2. 项目质量评审
- 该系统质量监控将采用日常质量监控流程与定期质量评审制度。
- 日常质量监控程序通过制定系统开发的统一的规范、流程、指南、模板等指导项目的开发过程,并监控这些流程和规范的执行情况,以确保所有交付品的质量。
- 项目质量评审报告将根据各阶段质量检查点所应检查的内容作出质量上的评审。对在质量评审工作中发现的问题,将根据其性质、范围划分级别。相关人员以此为依据来确定缺陷修复的优先级,缺陷严重程度高的修复优先级也高。
- 项目质量评审报告将交由项目管理办公室讨论,质量保证经理与项目管理办公室将对项目质量评审报告中需要明显改善的质量问题作出具体地改进方案,以及时间上和人员上的安排。
5.3. 质量检查和确认技术
5.3.1. 工具和技术
项目管理软件:@Team
网站测试:host-tracker.com
5.4. 标准和约定
5.4.1 基本文档
- 立项说明书
- 软件需求规格说明书
- 概要设计
- 详细设计
- 软件测试计划
- 软件测试报告
- 开发总结
5.4.2 文档质量的度量准则
- 完备性:应按照GB8567的规定编制相应的文档,以保证在开发阶段结束时其文档是齐全的
- 正确性:在软件开发各个阶段所编写的文档的内容,必须真实的反映阶段的工作且与该阶段的需求相一致
- 简明性:在软件开发各个阶段所编写的各种文档的语言表达应该清晰、准确简炼,适合各种文档的特定读者
- 自说明性:在软件开发各个阶段所编写的各种文档应该具有较好的自说明性。文档的自说明性是指在软件开发各个阶段中的不同文档能独立表达该软件其相应阶段的阶段产品的能力。
- 规范性:在软件开发各个阶段所编写的各种文档应该具有良好的规范性。文档的规范性是指文档的封面、大纲、术语的含义以及图示符号等符合有关规范的规定。
5.4.2 代码规范
遵循java代码规范