# srs **Repository Path**: leetone123/srs ## Basic Information - **Project Name**: srs - **Description**: 软件需求规格说明书(SRS) - **Primary Language**: 其他 - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2022-03-16 - **Last Updated**: 2022-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # i 山大易班 软件需求规格说明书 _目录_ - [i 山大易班 软件需求规格说明书](#i-山大易班-软件需求规格说明书) - [0.版本记录](#0版本记录) - [1.引言](#1引言) - [1.1 编写目的](#11-编写目的) - [1.2 背景](#12-背景) - [1.3 读者对象和阅读建议](#13-读者对象和阅读建议) - [1.4 参考资料](#14-参考资料) - [2.总体概述](#2总体概述) - [2.1 软件概述](#21-软件概述) - [2.1.1 项目介绍](#211-项目介绍) - [2.1.2 产品环境介绍](#212-产品环境介绍) - [2.2 软件功能](#22-软件功能) - [2.2.1 功能列表](#221-功能列表) - [2.2.2 用例图](#222-用例图) - [2.3 用户类及特征](#23-用户类及特征) - [2.4 假设和依赖关系](#24-假设和依赖关系) - [3.系统功能](#3系统功能) - [3.1 功能需求](#31-功能需求) - [3.1.1 外部用户](#311-外部用户) - [3.1.2 论坛管理员](#312-论坛管理员) - [3.1.3 系统管理员](#313-系统管理员) - [4.外部接口需求](#4外部接口需求) - [4.1 用户接口](#41-用户接口) - [4.2 硬件接口](#42-硬件接口) - [4.3 软件接口](#43-软件接口) - [4.4 通信接口](#44-通信接口) - [5.其他非功能性需求](#5其他非功能性需求) - [5.1 性能需求](#51-性能需求) - [5.2 安全性需求](#52-安全性需求) - [6.软件质量特性](#6软件质量特性) - [6.1 可靠性](#61-可靠性) - [6.2 易用性](#62-易用性) - [6.3 可维护性](#63-可维护性) - [6.4 扩展性](#64-扩展性) - [6.5 可测试性](#65-可测试性) - [6.6 健壮性](#66-健壮性) - [7.数据库](#7数据库) - [8.待确定问题](#8待确定问题) ## 0.版本记录 | 版本号 | 说明 | 日期 | 已确认 | | ------ | -------- | ---------- | ------ | | v0.1 | 初版需求 | 2019/12/05 | | | | | | | | | | | | ## 1.引言 ### 1.1 编写目的 该文档首先给出了整个系统的整体网络结构和功能结构的概貌,试图从总体架构上给出整个系统的轮廓,然后又对功能需求、性能需求和其它非功能性需求进行了详细的描述。其中对功能需求的描述采用了 UML 的用例模型方式,而且还给出了非常直观的用例图。这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件。 该文档详尽说明了这一软件产品的需求和规格,这些规格说明是进行设计的基础,也是编写测试用例和进行系统测试的主要依据。同时,该文档也是用户确定软件功能需求的主要依据。 ### 1.2 背景 i 山大! ### 1.3 读者对象和阅读建议 本文档的主要内容共分 4 部分:综合描述、系统特性、和非功能性需求和外部接口描述。综合描述部分主要对系统的整体结构进行了大致的介绍;系统特性部分对系统的功能需求进行了详细描述,是本文的主要部分;非功能性需求部分对非功能需求进行了详细的描述;外部接口需求部分对用户界面、软件接口、硬件接口和通讯接口等进行了描述。 本文档面向多种读者对象: - 项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。 - 设计员:对需求进行分析,并设计出系统,包括数据库的设计。 - 程序员:配合《设计报告》,了解系统功能,编写《用户手册》。 - 测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。 - 用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。 ### 1.4 参考资料 - 软件需求规格说明书 IEEE 标准 ## 2.总体概述 ### 2.1 软件概述 #### 2.1.1 项目介绍 通过开发一款基于 Android 和 iOS 的 i 山大易班 App,来实现对于山大学生生活学习的高效辅助。 #### 2.1.2 产品环境介绍 系统为 C/S 架构。以下是系统的软件环境: - 客户端操作系统:Android 5.0 及以上;iOS 10.0 及以上。 - 应用服务器端操作系统:Ubuntu Server 18.04 应用服务器:Tomcat 数据库访问:JDBC - 数据库端操作系统:Ubuntu Server 18.04 数据库系统:MySQL 5.7 ### 2.2 软件功能 #### 2.2.1 功能列表 ![图2-1 功能列表](https://gitee.com/isdu2020/srs/raw/master/功能列表.jpg) #### 2.2.2 用例图 ![图2-2 用例图](https://gitee.com/isdu2020/srs/raw/master/用例图.jpg) ### 2.3 用户类及特征 | 用户类 | 描述 | | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 外部用户 | 统一身份认证登录,修改个人资料,绑定/解绑易班账号,论坛操作(发帖、删帖、举报、评论、点赞、收藏),查看收藏内容,资讯操作(查看、收藏),教务查询,图书馆查询,意见反馈 | | 论坛管理员 | 删帖、删评论 | | 系统管理员 | 公告管理 | ### 2.4 假设和依赖关系 本项目是否能够成功实施,主要取决于以下的条件: - 为了项目的开发和实施,在必要时对现有的软件开发流程进行详细的了解。 - 具有相对稳定的项目团队,不稳定的团队将影响项目的进度和质量。 - 团队成员对软件开发过程使用的性能良好的软件有较好的了解,明确其中必要的功能,为本项目提供完整的功能和性能需求资料,以便于对其进行分析,从而形成完善的软件需求。 - 团队拥有软件系统的运行必要的且能够满足系统运行条件的硬件环境和通讯环境,不合适的硬件环境和通讯环境将会影响系统的性能。 - 项目团队掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证。 ## 3.系统功能 ### 3.1 功能需求 #### 3.1.1 外部用户 - 登录 外部用户使用统一身份认证的学工号和密码登录进系统,便可以使用 i 山大易班的大多数功能。 - 注销 提供注销入口。注销后需要重新登录才能使用。 - 易班账号 用户可以绑定或解绑易班账号。绑定易班账号后便可参与易班活动,点赞、评论或收藏易班文章。用户可以获取到已绑定易班账号的相关信息。如果未进行校方认证,可以提示用户进行校方认证。 - 论坛操作 已登录的用户可以发布帖子,并打上话题标签。用户可以删除自己发布的帖子。用户可以点赞、评论、收藏他人和自己的帖子,并查看自己历史发布过的帖子。用户也可以举报违规帖子或评论。 - 资讯 用户可以查看“学生在线”、“本科生院”、“青春山大”、“山大视点”四个板块的资讯,并下载资讯中的附件。用户也可以选择在浏览器中打开这个资讯。用户也可以选择收藏这个资讯。 - 教务 用户能够查看课表,更换课表背景,课表中当前日期特殊标注。课表在 5 月 1 日后更换为夏季作息时间,在 10 月 1 日后更换为冬季作息时间。 用户可以查看考试安排,其中按照考试日期进行排序,先进行的考试排在前。如果该科目已经考完,则排在最后并标注为已经考完。 用户能够查看考试成绩,根据官方提供的绩点计算公式为用户计算出当前学期和历史学期的绩点。 用户可以查看校历。 用户可以查看学业信息,包括但不限于学籍信息、已修科目分类和成绩。 用户可以根据校区、教学楼和日期查看自习室占用情况。 - 图书馆 用户可以查看自己正在借阅的图书信息和到期时间。在到期时间前用户可以选择续约一次图书。具体续约结果以山东大学图书馆系统为准。 用户可以查询馆藏书籍,并查看图书馆座位剩余数量。 - 学习生活 用户可以查看各个校区的地图,查询校内电话和校车安排。 - 意见反馈 用户可以提交对 i 山大易班 App 的使用反馈。 - 主题设置 i 山大易班 App 将为用户提供内置主题,包括默认主题、深色主题。 - 消息通知 定时监听是否有发送给自己的消息,有新消息要进行提醒。 #### 3.1.2 论坛管理员 - 论坛操作 论坛管理员除了基础的操作外,可以对违规的帖子和评论进行删除操作。 #### 3.1.3 系统管理员 - 公告操作 系统管理员可以编辑显示在主页上的公告。 ## 4.外部接口需求 ### 4.1 用户接口 本系统采用 C/S 架构,采用 Material Design 设计风格,保证各个页面的设计风格美观统一。 ### 4.2 硬件接口 服务器端设置多台服务器分布式处理请求。 ### 4.3 软件接口 能够调起手机浏览器,发送通知消息,访问网络和储存空间。 ### 4.4 通信接口 客户端和服务器端采用 Http 协议通信。通知部分使用轮询。 ## 5.其他非功能性需求 ### 5.1 性能需求 - 用户提交不同请求之后,对请求的响应时间不能超过 5 秒,在此时间内将完成请求,并返回确认信息。 ### 5.2 安全性需求 - 权限控制 根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有登录注册的用户禁止使用系统,不同权限的用户可以使用不同的功能。 - 记录日志 本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。 - 数据备份 定时进行数据的备份和恢复,以弥补数据的破坏和丢失。 - 重要数据加密 本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。 ## 6.软件质量特性 ### 6.1 可靠性 要求系统能够长时间正常运行,并且支持多用户同时访问。在任何时间用户均可通过登录进入系统,进行操作。 ### 6.2 易用性 具有友好易用的用户界面及简单的操作方法,提供用户操作指南,保证用户上手简单。 ### 6.3 可维护性 能够满足系统管理员对系统维护的需求,能够实现软件开发者对软件的进一步维护。 ### 6.4 扩展性 能够满足软件开发者对软件功能进一步扩展的需求。 ### 6.5 可测试性 在需要时,能够通过配置文件来控制内部关键信息的输出,输出目标也可通过配置文件配置。 ### 6.6 健壮性 系统不会产生数据的冗余、不匹配等情况。如果用户在操作过程中与系统中断,只需刷新界面,重新连接系统,系统即可恢复修改未保存的状态。 ## 7.数据库 详见具体设计说明书 ## 8.待确定问题 无