软件需求分析报告

简介: 软件需求分析报告

软件需求分析报告

                                         ——点名签到软件

引言


     在高等院校里,学生考勤是一项日常必要性的工作,学校的各院系需要了解和掌握各班学生的出勤情况,以加强对学生的教育和管理,因而学生考勤是学校一项非常重要的工作。传统的考勤主要依靠老师在课堂上的点名来实施,学生人数多,考勤不全面,数据不准确,特别是点名考勤制耗费了老师和学生的大量时间且起不到效果。

     在这样的情况下,我们小组就想能够开发一款点名系统软件,通过使用本系统,使高校教师能够在短时间内完成学生的考勤工作,并将考勤信息存入数据库,即有效的保存了数据,方便以后对学生评定,又节省了考勤所耗费的时间使之能够很好的完成教学任务。

     在此基础上,我们小组希望能借助当下热门的LBS技术,探索定位功能在点名软件上的功能实现。


系统概述


1、产品描述


     小组开发意图在于运用软件工具,便捷高校教师课堂点名,督促学生按时上课及时查看缺课情况。目标受众是:高校老师、学生。开发初期,小组成员希望将本软件做成本地软件,提供老师登录、记录信息。开发中期,小组成员希望能将本地功能拓展至可上网查看等联网功能,同时开放学生登录和查看信息。开发后期,小组成员希望能够与相关校园应用(比如:超级课程表等)合作,实现使用第三方应用账号登录,信息同步,增加用户的使用频率;同时摸索定位功能是否可以实现,在对试点校园进行课室地图清晰化、定位数据梳理之后,考虑增加定位点名功能,同时推出试点校园,在高校内进行推广。

1.1.png


2、产品功能


     点名系统主要分为三个模块,分别是教师登陆,学生登陆和管理员登陆:<1>教师登陆模块可以实现查看学生信息、记录考勤情况、随机点名抽问的功能。<2>学生登录模块可以实现查看信息的功能(包括所上课程信息和缺勤次数等)。<3>管理员登录模块包括学生信息导入,学生信息添加删除,学生信息的修改功能。

     产品功能:点名功能(随机、定向点名)、查看功能(查看上课信息、学生信息、考勤情况)、导入功能(导入课表)、输入功能(用户信息、考勤情况)、修改功能(用户信息、考勤情况)、删除功能(用户信息、考勤情况)。

1.2.png1.3.png


模块图


1.4.jpg

理想系统结构图(开发第三阶段)



软件的功能性需求分析


1.     功能描述1——点名功能

点名功能分为:随机点名、定向点名两个子功能模块。

随机点名:老师根据事先导入软件中的课程课表,内含该课程基本信息(上课地点、上课时间、上课学生人数以及基础信息列表),点开学生名单开始点名。每次点名有一个备注栏,可以标注缺勤学生。每次点名结束,可点击保存更新的学生名单。

定向点名:老师经过多次随机点名,得到缺勤学生信息以及具体缺勤情况信息。可点击生成缺勤名单,可手动按照缺勤次数自动排序,提高点名效率。


2.     功能描述2——导入功能

  导入功能:只有一个功能模块,就是课程信息导入模块。

老师登录系统,根据系统操作,导入wordExcel表格,将课程信息导入:课程名称、上课时间、上课地点、学生人数、学生个人信息等。


3.     功能描述3——查看功能

查看功能分为:查看课程信息、查看学生信息、查看考勤情况等三个子模块功能。

查看课程信息:老师用户、学生用户均可拥有权限;登录、点击可查看老师用户导入的课程信息。

查看学生信息:老师用户、学生用户均可拥有权限;登录、点击可查看老师用户导入的学生信息。

查看考勤情况:老师用户、学生用户均可拥有权限;登录、点击可查看老师用户输入、修改的考勤情况。


4.     功能描述4——输入功能

  输入功能分为:输入用户信息、输入考勤情况等两个子模块。

  输入用户信息:老师用户、学生用户均可拥有权限;输入登录信息、密码,填写个人基础信息(姓名、性别、身份)。

  输入考勤情况:仅有老师用户可拥有权限;输入备注栏信息,记录学生考勤情况。


5.     功能描述5——修改功能

  修改功能分为:修改用户信息、修改考勤情况等两个子模块。

  修改用户信息:老师用户、学生用户均可拥有权限;修改登录信息、密码,个人基础信息(姓名、性别、身份)。

  修改考勤情况:仅有老师用户可拥有权限;修改备注栏信息,修改学生考勤情况。


6.     功能描述6——删除功能

  删除功能分为:删除用户信息、删除考勤情况等两个子模块。

  删除用户信息:老师用户、学生用户均可拥有权限;删除登录信息、密码,个人基础信息(姓名、性别、身份)。

  删除考勤情况:仅有老师用户可拥有权限;修改备注栏信息,删除学生考勤情况。



软件的非功能性需求分析



1.    
技术实现——Cassandra.

      Cassandra是一个混合型的非关系的数据库,类似于GoogleBig Table。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似jsonbjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。


2.     性能需求 

      2.1精度

名称

精度

学号

String

姓名

String

年龄

int

缺席次数

int

迟到次数

int

请假次数

int

答题次数

int

被点名次数合计

int


2.2时间特性要求      


项目

内容

响应时间

实际操作事件为准

更新处理时间

每月更新

数据的转换和传送时间

实际操作事件为准

解题时间

实际操作事件为准


2.3灵活性

a.  操作方式上的变化:可以键盘操作也可以用鼠标操作;

b.  运行环境的变化:本机,及其他机器均可使用;

c.  同其他软件的接口的变化;

d.  精度和有效时限的变化;

e.  计划的变化或改进。


相关实践学习
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
相关文章
|
关系型数据库 MySQL API
MySQL 历史数据迁移到 Elasticsearch
MySQL 历史数据迁移到 Elasticsearch
588 4
|
关系型数据库 MySQL 数据库
mysql查看用户的过期时间
通过本文的介绍,希望您能够深入理解和掌握在MySQL中查看用户过期时间的方法,并在实际项目中灵活运用这些技术,提升数据库管理的安全性和效率。
998 3
|
Linux C语言
成功解决 在Linux CentOS 7 中安装gcc
这篇文章介绍了如何在Linux CentOS 7系统中安装gcc (g++) 8工具集。由于CentOS 7默认的gcc版本是4.8,而这个版本与Qt 5.14、Qt 5.15或更高版本不兼容,可能会导致编译时出现系统头文件错误。文章中提到,即使在项目配置中添加了`CONFIG+=c++11`,如果仍然报错,那么很可能是gcc版本的问题。为了解决这个问题,文章提供了使用CentOS的Software Collections (scl)来安装更新版本的gcc的步骤。
成功解决 在Linux CentOS 7 中安装gcc
|
云计算
公安部备案“网络接入服务商”和“域名商”所属地区管辖选择和填写说明
在阿里云进行公安部备案时,网络接入服务商选“阿里云计算有限公司”,区域为“浙江省杭州市余杭区”,接入方式为“租赁虚拟空间”,。域名注册若也在阿里云(原万网),服务商同样填写阿里云,区域不变
6753 4
|
SQL 关系型数据库 MySQL
MySQL最新版8.1.0安装配置教程
本文章,是对自己在安装最新版MySQL最新版8.1.0安装配置的一个详细过程吧,中间也有很多不清楚的地方,但是经过自己的多次对,工具环境以及软件环境的配置,现在对于这个的安装也算得心应手吧,不仅仅是一种总结,更是对自己经验的一种积累.
|
存储 JavaScript 数据库
第2章 关系数据库——2.1关系数据结构及形式化定义
第2章 关系数据库——2.1关系数据结构及形式化定义
|
搜索推荐 数据可视化 5G
从《三体》中的“降维打击”看网络世界,论维度升级的方法与实践
刘慈欣的《三体》为人们拉开一副天马行空的科幻画卷。在地球人类文明和三体文明的信息交流、生死搏杀历程中,“黑暗森林”推动星球文明间的关系发展,也通过一个毁灭性武器--二向箔,“降维打击”终结了人类文明。 在商业的暗黑森林中,无论是商业帝国还是创业公司,都面临着被“降维打击”的潜在风险,而防御风险的最高效模式,是通过维度的增值来引导发展,真正实现“发展+转型”,在业务主航道上拓展出新的领域。随着新领域,新方向、新业务的不断拓展,企业底层的ICT核心架构也需要随之升级增维,此时企业们该如何抓住破局关键呢?
|
存储 缓存 Java
掌握 Spring Boot 运行内存及内存参数设置:助力高效应用部署与优化
掌握 Spring Boot 运行内存及内存参数设置:助力高效应用部署与优化
2879 0
|
弹性计算 运维 监控
从函数计算到 Serverless 架构
本次活动是阿里云 Serverless 函数计算评测,所以本文仅对函数计算与其相关产品进行体验,包括函数计算本身(包括三个主要模块:基础模块服务与函数和上层封装模块应用、任务),Serverless 工作流以及开源项目 Serverless Devs。
从函数计算到 Serverless 架构