教研室文档管理系统的需求分析

1、引言

1.1、编写目的

本项目开发计划面向项目组全体成员,用于在总体上指导《教研室文档管理系统》项目的顺利进行,并最终得到通过评审的项目产品。为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。

1.2、预期阅读人员

本文档将对《教研室文档管理系统》软件开发进行描述,本文档的预期读者是项目的策划、设计、开发和评审人员。

1.3、术语定义

表一:缩写及其解释

缩写完整形式解释
DBMSDatabaseManagementSystem(数据库管理系统) 是一种操纵和管理数据库的大型软件,用 于建立、使用和维护数据库,它对数据库进行统一的管理和 控制,以保证数据库的安全性和完整性。
SQLStructured Query Language结构化查询语言,是一种用于访问查询数据库的语言。
IDEIntegratedDevelopmentEnvironment集成开发环境,是用于提供程序开发环境的应用程序,一般 包括代码编辑器、编译器、调试器和图形用户界面等工具。
JDKJavaDevelopment KitJava 开发环境,是整个 Java 的核心,其中包括 Java 编译器、 Java 运行工具、Java 文档生成工具、Java 打包工具等。
OMTObjectModellingTechnique面向对象开发方法技术,面向对象开发方法将面向对象的思 想应用于软件开发过程中,指导开发活动,是建立在“对象” 概念基础上的方法学。

表二:名词及其解释

名词解释
MySQL最流行的开源关系型 DBMS 之一。
SpringBoot是 Java 平台上的一种开源应用框架,Spring 的数据访问框架解决了开发人员在应用程序中使 用数据库时遇到的常见困难。
Mybatis是一个基于 Java 的,支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。
前后端分离这是一种架构模式,或者说是最佳实践。现在 Web 服务器不再处理任何业务,它接收到请求 后,经过转换,发送给各个相关后端服务器,将各个后端服务器返回的,处理过的业务数据 填入 HTML 模板,最后发送给浏览器。这样,前端人员和后端人员约定好接口后,前端人员 彻底不用再关心业务处理是怎么回事,他只需要把界面做好就可以了,后端人员也不用再关 系前端界面是什么样的,他只需要做好业务逻辑处理即可。服务的切离,代码管理,服务部 署也都独立出来分别管理,系统的灵活性也获得了极大的提升。

1.4、参考资料

文档格式要求按照我国 GB/T8567-1988 国家标准和 IEE/ANSI830-1993 标准规范要求进行。包括以下文件:

  • 系统开发文档范例

  • 软件工程国家标准文档

  • 软件需求说明书编写规范

书籍包括:

  • 《软件项目管理》朱少民,韩莹编著,人民邮电出版社.

2、研发背景

2.1、市场调研

经过项目成员的网上调研,实地大学考察等形式,收集了相关学校的文档存储形式,多为在线存储,少量文件仍为纸质存储。通过市场调研发现,市面上仍然没有一款比较标准的,受大众所欢迎接受的教研室管理系统。对于一些小众的文档管理系统,普遍存在链接较慢,安全性差,功能不齐全的问题。

市面上十分迫切的需要一款可以集文档上传,查看,修改,删除,在线浏览,集中管理,个人文档中心,数据存储恢复等功能为一体,且可以保证权限,安全,性能的文档管理系统。

2.2、原始需求

用户需要一款集文档上传,查看,修改,删除,在线浏览,文档检索,集中管理,个人文档中心,数据存储恢复,权限管理,安全性高,性能好的教研室文档管理系统。

2.3、研发目的

公司预计开发的教研室文档管理系统,主要服务对象为大学,高中,初中,公司,政务中心等文档文件存储相对较多较复杂的区域,为方便其对文件进行存储,修改,设置密级,同时保存个人文档数据防止丢失等,在保证产品质量,服务质量,以及文件安全的前提下获取适当的利润,从而为文件繁杂,存储麻烦的学校,公司,政务中心等提供一个便捷存储管理平台,并提供一体化的服务。

3、项目概述

3.1、主要参加人员

表3:项目主要人员及分工

3.2、产品及成果

3.2.1、程序
  • 软件名称:教研室文档管理系统

  • 编程语言:Java、JavaScript

  • 使用方式:浏览器中在线使用

  • 功能:文档的上传与管理,文档分类,个人用户信息管理,个人文档中心管理,系统管理,文件浏览,文件相关操作,文件存储,个人设置等

  • 开发模式:前后端分离技术架构,后端 Springboot + 前端 Vue.js。

3.2.2、文件
  • 用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。

  • 软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。

3.2.3、服务

计划提供以下服务:

  • 课堂培训:以讲课形式对客户进行培训,使其能够正确使用软件。

  • 免费咨询:客户可以在工作时间向技术人员提出问题并获得解答。

  • 技术支持:对于某些客户,采取上门指导的方式。

  • 软件维护:获取软件使用中的问题,提供补丁程序。

  • 升级通知:在软件新版本发布的时候,及时通知 (Email 或邮寄信件) 注册的用户, 并提供试用版本。

  • 软件升级:对于注册用户,只需较少的费用即可升级到新的版本。

3.2.4、非移交产品
  • 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定 实施方案的理由。

  • 项目开发计划:为软件项目实施方案制定出具体计划,应包含每个部分的负责人员,开发进度,经费预算,所需软件,硬件等。

  • 软件需求说明书:对软件开发的功能,性能,用户界面及运行环境等做出详细的说明。他是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。为生成和维护系统作准备。

  • 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。

  • 测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。测试工作完成之后,应提交测试计划执行情况的说明,对测试结果进行分析,提出 测试的结论意见。

  • 源程序:软件开发过程中的全部代码以及注释。

3.3、验收标准

3.3.1、代码验收

最后在交付客户之前进行小组内评审,代码编写符合 HB6465 标准,与文档说明保 持一致,代码书写风格统一,采用标准规范,没有下列错误:由于软件缺陷造成丢失数据,不符合设计要求,响应时间太长无法接受等问题。

3.3.2、文档验收

最后在交付客户之前进行小组内评审,文档格式符合 HB6465 标准,功能符合与客 户的合同要求,清晰易读,没有语病与歧义。

3.3.3、服务验收

服务硬件达到文档说明的要求,人员技术考核合格,定期线上维护。

3.4、工具使用

表4:软件开发工具使用

工具功能
Chome谷歌浏览器,用于调试软件前端页面
Postman接口测试工具,用于调试前后端接口
Intellige Idea后端开发工具
Visual Studio Code前端开发工具
DataGrip数据库管理工具,管理数据库数据

4、功能需求

4.1、主要功能需求

4.1.1、用户账号

l 该系统提供注册、登录功能。用户通过注册功能,注册一个账号,并可以通过该账号登录系统。

l 系统提供找回密码功能,绑定手机号功能,绑定微信号功能,绑定邮箱功能,帮助用户在需要时可以通过手机号、邮箱信息进行密码找回。

l 系统提供个人信息查看和修改功能,提供修改密码、更换头像、更改网名、编辑个人信息,个人信息包括但不限于姓名、性别、爱好等个性化编辑。

4.1.2、角色权限管理

l 本系统共分为五个角色,分别是超级管理员、系统管理员、教研室负责人、班级负责人、普通用户。

l 系统管理员拥有对教研室、文档、文件夹等所有内容的所有操作权限。管理员添加一个教研室后,可以为这个教研室添加负责人,授权后负责人可以对该教研室执行除删除该教研室外的所有操作。

l 系统管理员或教研室负责人可以为教研室新建一个班级,并且可以对该班级添加一个班主任(班级负责人),系统管理员和教研室负责人拥有对该班级的所有操作权,班级负责人拥有除删除该班级外的所有操作。班级负责人可以设置班级码,其他用户可以通过班级码或班级负责人邀请加入该班级,加入后,该班级负责人拥有移除班级成员的权限,同时班级负责人可以设置用户在班级中的权限,包括上传文件、创建文件夹,查看他人文件等权限。

l 用户加入班级后并拥有了上传文件的权限后,就可以上传文件到该班级,上传时,可以指定该文件是否对他人可见(系统管理员、教研室负责人、班级负责人除外),如果不可见,则其他用户无法对该文件进行访问。
在文件可见时,用户可以指定某个用户或多个用户对某个文件的预览权、修改权、删除权、下载权、打印权或完全控制权,并可以设置有效期,超过有效期后,被授权的用户将不再拥有相关权限。

l 普通用户可以申请对文件的预览、下载、打印等权限,经过文件拥有者或班级负责人或教研室负责人同意后,可以拥有对文件的临时权限。
超级管理员拥有一切权限外,拥有对系统管理员控制权,可以添加、删除系统管理员。

4.1.3、统一登录以及三方API

l 系统提供微信登录、手机验证登录、邮箱验证登录的第三方登录方式,便用户快捷登录。

l 系统设置统一登录,使用同一个账号、密码,在多个门户设置登录功能。

l 用户登录成功一次后,一天之内使用同一个浏览器访问该系统,不需要再次进行登录验证。

4.1.4、文档基础

本系统提供了,文件上传、文件预览、文件下载、文件常规操作的功能。

l 文件上传:用户可以进入系统后上传文件,上传文件时需先从本地或存储工具中选择文件,而后选择上传到的文件路径,根据系统指示选择权限设置后,上传成功。上传包括单个上传,多文件上传。支持不同格式文件的同时上传。

l 文件预览:用户可以在系统中在线进行文件预览,即对常规的office文件,如.docx、.doc、.pdf、.txt等常规文本文件可在线预览。

l 文件下载:用户可以在系统中选择自身对应权限可操作的文件,或未设置不可下载状态的文件进行下载。下载流程为:用户选择单个或批量选择多个文件,点击存入本地,选择对应存储路径后进行下载。

l 文件常规操作:用户可以在系统中对文件进行常规的操作,包括重命名,复制,粘贴,剪切,移动,删除操作。

4.1.5、文档进阶

本系统在基础文件操作的基础上,提供了模板文件、文件修改、文件打印、签入签出、文件管理、文件收藏、回收站的功能。

l 模板文件:系统提供教研室常用的模板文件,用户创建文件时可以直接选择模板创建。

l 文件修改:对于浏览器支持的,txt、doc、docx文件,支持无需下载,即可在线对文件进行修改,修改完成后直接保存入系统的功能。其中两个版本的文件,只保存修改后的版本。

l 文件打印:用户可自身操作权限内的文件,可以直接对系统中的文件进行打印(需用户自身具备打印机等硬件支持)

l 签入签出:当多个用户进入系统时,为避免多用户同时操作同一文件出现错误,当一个用户操作对应文件时,将对文件进行签出,享有独占权。待用户操作完毕后,在将文件签入系统,保证数据的一致性。

l 文件管理:

系统支持对文件进行分组管理,同一教研室内的成员可以访问到该教研室的文件,对其它教研室的文件无权查看,也无法访问到。

一份文件或文件夹可以设置可查看用户,对用户的权限进行设置,包括可见、不可读、只读、不可修改、不可下载、不可删除、密码访问、完全权限。

l 文件收藏:用户可以对权限内的文件进行收藏,收藏的文件将会保存在个人文档中心中供用户查看。

l 回收站:被用户删除的文件或者文件夹将优先存储入回收站中,防止用户因为误操作误删文件,在回收站中可对文件进行恢复,或者进行彻底删除。

4.1.6、数据存储、恢复

l 本系统采用完整数据备份和差异数据备份相结合的方式,对用户数据进行备份,尽可能减少系统出现故障或是意外的情况带来的损失。

l 恢复模式采用完全恢复模式,数据库出现异常时,可以将数据库恢复到故障点或特定及时点。

l 完整数据库备份的周期为15天,差异数据库备份的周期为3天。当系统数据库出现意外时,利用备份数据进行数据库的恢复。

4.1.7、我的文档中心

l 我的文档中心提供用户查看浏览记录、下载记录、上传记录、收藏的文档功能。用户可以通过对应的按键查看记录,记录以列表形式展示,用户点击对应记录后可进行查看。

l 系统提供个人上传数据统计功能,用户可以通过其查看已上传文件数,设置权限的文件数,未设置权限的文件数。

4.1.8、IP访问控制

l 系统对于登录系统的ip进行识别,非允许ip不允许进入系统,不允许使用系统的所有功能。

l 用户可以通过系统规定的ip地址进行正常访问,使用账号密码或第三方登录登录可正常使用用户权限所对应的功能。

l 用户若不在规定ip地址范围内,可以通过管理人员给与的VPN进行链接访问,用户VPN验证正确后可以使用与上一点所述ip一样的功能

l 系统提供教研室负责人以及管理员ip控制功能,对恶意访问或需要管控的ip设置访问权限,拉入黑名单等。

4.1.9、数据统计

系统针对管理员及用户分别提供了不同的数据统计功能:

l 普通用户可以查看个人7天内、30天内、180天内的文件操作记录,统计个人上传文件数、未设置权限文件数、已设置权限文件数、浏览的文件总数、发出的文件总数、收到的文件总数。

l 管理员用户可以查看上一点所述普通用户7天内、30天内、180天内的数据统计,在此之上,管理员添加了每30天、每180天、每年三个时间段的用户活跃数据统计、用户个人活跃度统计、用户ip访问/VPN访问系统热点时间统计、用户总数统计、普通用户总数统计、管理员用户统计、系统Bug统计及展示。

4.1.10、日志管理

l 系统应当提供存储用户进行操作的相关记录,即日志管理。包括普通用户和管理员的登录记录、对个人信息的修改记录、文件的上传记录、查看记录、修改记录、删除记录、查看文件权限修改记录,管理员的修改权限记录功能。

l 系统应使用Log4j记录用户操作数据库操作的记录。

l 系统应记录数据备份时的日志报告,存储失败记录、成功记录、备份位置。

4.1.11、系统Bug报告及意见收集

l 系统面向用户以及管理员提供Bug错误信息收集功能,用户或管理员可通过系统提供的“联系我们”按钮进行Bug报告或向我们提供宝贵的意见。

4.2、需求概述

本系统主要功能可以分为用户模块、文档模块、数据功能大模块。

l 用户模块中基础功能为登录、注册、查看及修改个人信息;管理员可以对用户的权限、角色进行修改,来限制用户的访问权限。

l 文件模块中,用户可以上传文档,其中包括批量上传、对比式上传以及指定文件共享权限,上传文档后,经过管理员审核通过后方能显示。对于已上传的文件,用户可以进行浏览下载或搜索,浏览采用资源管理器模式展示,提供详细、缩略图、列表三种浏览方式,并提供文件消息描述信息。同时,用户可以对已上传的文件进行预览,预览支持的文件格式有office、pdf、图片、音视频,并且提供在预览时对全文的检索功能。

l 除上述需求外,系统需要做统一的日志管理,以便在系统出现故障时快速检查故障点。为了减小数据库故障需对数据库,需要对数据库进行定时备份,方便在故障时恢复数据。本系统为公司内部使用系统,所以要对用户进行IP访问控制,只有公司内部网络才能访问本系统。此外,为了方便用户登录,需实现统一登录及第三方API接口。

4.3、需求图形化展示

4.3.1、系统架构图
4.3.2、业务流程图

4.3.3、用例图

5、非功能性需求

5.1、界面需求

5.1.1 界面规范

l 便于用户操作

l 使用户感觉到统一、美观、规范,在使用软件的过程中能心情愉悦

5.1.2 界面布局

l 屏幕不能拥挤

l 控件按区域排列

l 在窗口尺寸发生变化时,控件的位置、大小要做出相应的改变,且增加相应的纵向、横向滚动条

5.1.3 界面颜色

l 统一色调:整个界面色彩尽量少使用类别不同的颜色

l 与操作系统统一,读取系统标准色表

l 遵循对比原则:在浅色背景上使用深色文字,深色背景上使用浅色文字

l 针对色盲、色弱用户,可以使用特殊指示符

l 颜色方案也许会因为显示器、显卡、操作系统等原因显示出不同的色彩

5.1.4 界面一致性

l 在不同分辨率下的美观程度一致:系统界面要有一个默认的分辨率,从而确保在其他分辨率下也可以运行

l 界面布局一致:如所有窗口按钮的位置和对齐方式要保持一致

l 界面外观一致

l 界面所用颜色一致

l 操作方法一致:如双击其中的项,触发某事件,那么都是双击。

l 标签和提示的措辞一致:如在提示、菜单和帮助中产生相同的术语

l 快捷键在各个配置项上语义一致

5.2、性能及质量需求

l 在线用户数数量:支持同时在线用户数10w

l 平稳运行时间:7*24h

l 平均响应时间:如页面打开时间低于2s

l CPU:CPU使用率<75%

l 吞吐量:30000TPS~60000TPS

5.3、安全性需求

l 对用户进行身份验证

l 同一用户同时只允许登陆一个

l 支持密码有效期:密码不应固定不变,而应作为常规密码维护的一部分,通过设置密码有效期对密码进行更改

l 认证失败后的处理方式设计,防止黑客暴力猜测:连续失败登录后锁定账户。账户锁定后可以由系统管理员解锁,也可以在一段时间后自动解锁。

l 授权访问

l 确保信息保密性

l 确保信息完整性

l 确保可负责性:要求某些或者所有用户对他们的操作负责

l 保证可用性

l 整合安全性技术:在系统的安全设计方面,部分重要工作使确保安全性一致地实现,并且将不同部分的技术组合到一起,组成完整、整合的安全系统。

l 提供安全性管理:确保配置存储的安全

l 使用第三方的安全性基础架构

5.4、软件测试需求

软件由立项到交付使用时,应当经过充足的软件测试,包括但不限于:

l 需求评审:分析客户需求是否可行,编写测试计划和测试方案

l 拆分测试点:拆分测试点,对不清晰的需求,通过问产品/开发/搜索引擎检索/查阅公司内部资料来明确需求,然后编写测试用例,进行用例评审

l 执行测试:

n 单元测试:对编写的各个接口单元进行功能测试

n 集成测试:对系统集成后的各个功能以及系统整体性能进行测试

n 确认测试:对系统中各功能,配置等进行测试,是否已经符合了需求规格说明书的各个需求

n 系统测试:对系统作为整体运行时的测试

u Alpha测试:系统开发及测试完成后,由用户对进行系统测试

u Beta测试:开发和测试完成后,Alpha测试完成后,发布试运行版本由用户测试

5.5、可持续发展需求

l 系统应具备可持续发展需求,系统应当获得不同挂载平台的支持,对于挂载平台由于不可控因素的变化而造成的影响时,系统应能以零代价或低代价进行平台转换。

l 系统应对未来到来的功能具有持续加入的能力,代码应当具有高内聚,低耦合,可延展性强,对于未来即将到来的需求,不改变原有代码的基础上,新增功能加入系统。

5.6、项目研发及推广经费需求

l 项目研发经费:本项目预计研发时长为6个月,系统使用云服务器,云数据库等相关资源进行研发,需要支付开发人员的相关技术经费,预计需投入10万元进行研发。

l 项目推广经费:项目开发完成后,由相关负责部门进行市场推广,推广所使用的交通费,资源费,员工工资等,预计需投入5万元进行推广。

6、技术需求

6.1、开发人员技术需求

l 要实现一个完整的系统,必须同时实现前端页面和后端服务,以及执行软件测试,所以开发人员的组成必须包括但不限于前端开发人员、后端开发人员、软件测试人员。

l 该系统涉及数据的存储、备份、恢复,开发人员必须熟悉数据库的相关知识。

l 本系统后端采用SpringBoot框架,后端开发人员需要熟悉JavaWeb开发SpringBoot框架以及MVC架构模式。

l 本系统前端采用Vue框架,前端开发人员需要掌握HTML/CSS/JavaScript以及Vue框架。

l 为了应对高并发场景以及预防出现脏数据,开发人员需要掌握多线程以及缓存的技术。

l 本系统是分角色管理模式,所以开发人员需要掌握Spring Security或Shiro等角色权限管理技术。

l 本系统最终需要部署到云服务端,开发人员需要掌握Docker的使用以及服务器部署技术。

6.2、系统软硬件需求

建议服务器配置如下:

型号ThinkServer RD 530
描述1U机架式服务器/英特尔® 处理器E5-2603(至强四核)1/14G/ 300*2硬盘/ R500 RAID1/DVD/单电源/双千兆网卡/无键鼠/有导轨 /三年保修服务

建议存储磁盘阵列配置如下:

型号EMC VNXe3150
描述双控,16G缓存,4个 1G iSCSI端口/每控制器1颗1.2GHz RISC存储专用处理器,整合XOR引擎/4块 2TB(7200)SATA硬盘/支持RAID级别:5、6、10、50、60/LUN数量:256/主机连接:400MB/s理论带宽/风扇和电源双冗余、热插拔

服务器软件环境:

操作系统Linux/CentOS7.5
数据库MYSQL5.7
WEB容器Tomcat8.5
其他Ms office 2007

客户端环境方面:推荐使用的浏览器为Windows Internet Explorer 10.0及以上版本,支持firefox/chrome等浏览器。

网络环境方面:推荐客户端同服务器之间为局域网,支持广域网或专网。

猪猪的需求分析报告,很多地方都做的不足,希望大家可以多多指正

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值