立项报告:实验班信息管理平台
2016实验班
说明
- 以小组为单位,由小组组长统一提交
- 立项报告的重点是说明为什么要做这个项目?项目的基本构想是什么?项目的角色分工?项目可行性的基本论证?
- 立项报告是后期项目需求分析及设计报告、项目技术实现方案、项目结题报告的基础
- 报告提交格式,当前为markdown文档,后续进入系统
本示例项目,如果有小组感兴趣,亦可接管成为小组项目。具体与舒老师联系
项目简介
名称:实验班信息管理系统
主持人:xxx小组
项目背景与意义
即为什么做?做成后的预期效果?
实验班的运行过程中,会涉及大量的、复杂的信息管理与交互,诸如项目报告审查与讨论、学习计划跟踪与讨论、技术资源共享与管理、公告通知、活动展示等等;
显然,基于word文件的简单管理方式将难于维护。因此,考虑开发一个基于WEB的信息管理系统,从而提高师生交互效率和各类信息的存储和管理。
项目用户
该项目开发成功后的使用者
- 实验班学生:可以快捷提交各类计划、报告、查看反馈与进行评论;可以提交、维护和查询各类学习资源与技术资源等等;可以方便获悉自己的学习过程评价和评分等,以调整自己的学习计划等。
- 实验班教师:可以在线审批各类计划、报告、资源等;可以方便的与学生进行在线定点讨论等,以快速的给予学生反馈和意见
- 其它师生:可以感受到实验班风采;可以获知实验班的当前新闻、活动等;从而一方面提升形象,一方面吸引外班同学参与到大实验班的建设上来。
项目功能
主要是功能说明,但更倾向于通过本项目的各功能,能获得或改善什么
项目报告管理和跟踪
- 各阶段项目报告的提交与审批
- 各阶段项目报告的存储、检索、显示等
- 项目报告的在线协作,譬如教师对报告的批注等。可考虑wiki方式、评论方式等
学习计划管理和跟踪
- 各阶段(学期、每月)学习计划的提交与审批
- 学习计划的在线协作
- 各阶段项目报告的存储、检索、显示等
- 学习计划涉及的各类资源的管理,如读书笔记、速查表cheatsheet、日志等
- 学习计划所涉及的各类学习资源的共享与管理,譬如图书、网上课程、资源站点的收藏、查阅、推荐等等
技术资源管理
- 以技术为主题的各类资源的管理,譬如论坛otopic方式、tag方式、wiki方式、gitbook方式、cms方式等
内部公告与通知管理
- 公告看板
- 站点短消息
- 与第三方消息系统的集成,如email、微博、微信等
新闻与活动管理
用户档案管理
- 注册与登录
- 权限
- 通讯录与档案,如项目记录、github、博客地址等等
项目技术选型
基本的系统架构与技术路线
如已另行撰写技术方案书,此部分可省略
系统架构
典型的BS架构,以浏览器的使用为主。目前主要以PC端交互为主,但部分关键或常用功能应保证移动WEB兼容性。同时,在技术架构上,应考虑全端支持的可扩展性。
技术路线
- 后端采用以ruby on rails 5为中心的框架,
- 前端仍然采用server-based的传统WEB开发架构,通过引入trubo-link改善用户体验和性能。暂时不采用单页或api架构,但注意未来的可扩展性
- 前端采用bootstrap 3,jquery等成熟的主流库。但注意组件化技术的引入和使用。
- 数据库使用postgrel9+
- 开发环境,完全基于*nix平台的开发、部署与运维
项目成员与分工
- xxx
- xxx
- 技术负责人:负责整体技术架构
- 全栈开发:参与各关键功能的开发
- xxx
- xxx
- xxx
- 前端开发:视觉设计与html/css设计、js开发
- 团队UI设计
项目的学习价值
- 本应用是典型的基于WEB的信息管理应用,利于掌握WEB应用开发的基本要素和技术
- ruby on rails是最好的WEB后端开发框架,其涉及的各种设计模式与开发技术,是后端工程师的必备技能。
可行性分析
项目的可持续性?已经做过的工作?团队成员的技术能力分析等
- 该项目来源于我们正在进行的实践,持续的需求和即时的用户反馈将会推动项目的健康发展
- 各类项目报告、学习计划等信息已经存在,只需将其变换为结构化数据和规范化流程即可,难度相对较小。
- 我们小组曾经开发过相同类型的项目,如xxxx项目,需求基本类似
- 小组成员对系统涉及的各类技术有一定基础,譬如,xxx使用xx技术开发过xxx项目或代码等
难点与风险
- 需求并未定型,除了技术能力,还需要产品设计能力
- 小组成员在rails方面经验不够...
- 工作量可能过大
- ....