软件工程 学生信息管理系统 结构化的需求分析

article/2025/3/13 15:39:42

文章目录

  • 前言
  • 1.实验目的
  • 2.实验要求
  • 3.需求分析
    • 3.1用户需求
    • 3.2功能需求分析
    • 3.3非功能性需求
      • 3.3.1数据精准度需求
      • 3.3.2界面需求
      • 3.3.3 响应时间需求
      • 3.3.4 可靠性需求
      • 3.3.5 可扩展性需求
      • 3.3.6 系统安全性需求
  • 4.实验内容
    • 4.1数据流图
    • 4.2数据字典
  • 5.实验小结


前言

《软件工程》课程 实验一 结构化的需求分析 实验报告


1.实验目的

1)完成毕业生就业服务系统整个需求分析工作;
2)掌握结构化数据流分析技术;
3)进行业务需求分析、用户需求、功能需求、非功能需求分析;
4) 画出系统的数据流图(至少画到三级数据流图)

2.实验要求

根据所要开发的软件系统,利用结构化数据流分析技术分析系统的具体需求,完成详细的数据流图和数据字典,数据流图的基本处理的个数不得少于5个。

3.需求分析

3.1用户需求

通过获取用户的需求,本系统大致可分为3个子系统,分别是学生、教师、管理员。每一个子系统下面拥有若干个功能。本系统模拟教师对日常考勤信息管理过程,开发学生考勤信息管理系统。
根据访问角色的不同,在系统中应体现出对教务资源的访问的权限的不同,其中管理员权限最大,拥有增、删、改、查的权限,而教师和学生角色仅拥有查及限制性的增、改权限。
学生:由于学生是被管理的角色,因此,在这里,学生需要的应该是选课、添加考勤信息,请假信息与查询修改自我信息等功能。
教师:教师是管理的角色,因此,这类用户应该具有管理学生的权利,如:查看学生信息、添加课程信息、查看,修改考勤信息,审批请假信息等。
管理员:一个完整的管理系统应该有个拥有最高权限的角色用户,因此,这里,管理员便是该角色,管理员拥有整个项目系统的最高权限。
即:系统管理员享有最高权限,其次是教师,最后是学生。
在系统权限上完成学生用户和老师用户,系统管理员三者的功能分离,而且各自的功能操作都能得到正确数据并存入数据库中保存。

3.2功能需求分析

学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程
具体系统功能需求描述如下:

  1. 学生信息管理
    每学期都有新生与毕业生的信息加入或删除,以及各类学生信息的更新;该模块支持学生的添加、删除、信息修改,以及老师可查询学生信息的功能
  2. 课程信息管理
    每个学期都会增加(删除)一些新(旧)的科目,该模块实现课程的添加、删除,以及修改更新课程信息的功能
  3. 管理员信息管理
    管理员的信息也会偶尔更改;该模块实现管理员的添加、删除,以及修改管理员信息的功能
  4. 老师信息管理
    与学生信息相似,教师信息也需要经常的更新,该模块实现老师的添加、删除,以及修改老师信息的功能
  5. 选课信息管理
    每学期都需要进行新的选课;该模块支持学生进行选课以及退课操作的功能,支持学生对已选中与未选择课程信息的查看
  6. 成绩信息管理
    该模块支持老师录入学生的各科成绩,同时支持学生进行成绩查询以及各类成绩信息的汇总统计,如总学分、总成绩等
  7. 课程安排管理
    该模块支持学生对自己的课程安排进行查询,同时支持管理员对课程安排信息的修改更新

3.3非功能性需求

3.3.1数据精准度需求

1.在执行数据的增加、删除、修改操作时,不允许因为程序原因导致操作失败;
2.在执行数据增加时,不允许发生多增加或重复增加的情况;
3.在执行数据删除时,不允许发生多删除数据;
4.在执行数据删除时,对有关联的数据要求删除完全,如不能删除,请给予提示;
5.在执行数据修改时,也要求保持对应的准确性。

3.3.2界面需求

1.页面内容:课程信息内容准确,术语和行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。
2.导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。
3.技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接。
4.艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;色彩和谐自然,与内容相协调。

3.3.3 响应时间需求

当用户进行任何操作的时候,系统应该及时的进行反应,反应的时间在 3 秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。

3.3.4 可靠性需求

系统应保证 7*24 小时内不宕机,保证 50 人以上可以同时在客户端登录,系统正常运行,正确提示相关内容。

3.3.5 可扩展性需求

系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。

3.3.6 系统安全性需求

网站有严格的权限管理功能,各功能模块需有相应的权限方能进入(如教师
和学生具有不同的访问权限)。系统需能够防止各类误操作可能造成的数据丢失,破坏。防止用户非法获取网页以及内容 。

4.实验内容

4.1数据流图

一、顶层数据流图:
在这里插入图片描述
二、1层数据流图:
在这里插入图片描述
三、2层数据流图
管理学生模块:
在这里插入图片描述

管理课程模块:
在这里插入图片描述

管理员信息模块:
在这里插入图片描述

管理老师模块:
在这里插入图片描述

选课管理与成绩管理模块:
在这里插入图片描述

课程安排管理模块:
在这里插入图片描述

4.2数据字典

数据流词条:
数据流名:查询条件
数据来源:学生登录处理
数据去向:学生信息表
说明:通过合适的查询条件,输出学生的信息
数据组成:学号+姓名
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:课程安排信息
数据来源:管理员制定的课程管理信息
数据去向:学生课程安排信息
说明:用于管理学生的课程安排信息
数据组成:课程代号+课程名+代课老师+学分+时间
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:录入成绩
数据来源:老师对课程的考核方式
数据去向:学生成绩管理
说明:录入学生的选课的成绩信息
数据组成:学号+姓名+课程名+成绩+学分
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:学生基本信息
数据来源:管理员对学生的信息的管理
数据去向:学生与老师及管理员得到学生的基本信息
说明:查询学生的基本信息
数据组成:学号+姓名+性别+出生日期+系别+专业+年级
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:选课信息
数据来源:老师输入到选课管理中的课程信息
数据去向:学生的选课信息与成绩管理
说明:查询学生的选课信息
数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:学生的成绩及学分
数据来源:选课管理与成绩管理
数据去向:学生的成绩与学分信息
说明:查询学生的成绩与学分
数据组成:课程名+学分+类别+考核方式+成绩+辅修标记
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:老师信息
数据来源:管理老师
数据去向:老师查询自身的信息
说明:查询老师的基本信息
数据组成:老师编号+姓名+性别+职称+出生日期+院系+电话
数据流量:早晨9点到中午12点,下午14点到17点数据流量小

数据流名:课程信息
数据来源:管理员课程管理
数据去向:学生的课程安排
说明:管理员对课程信息的管理
数据组成:课程代号+课程名+出版社+作者+专业+系别+年级
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:管理员信息
数据来源:管理员信息管理
数据去向:管理员对自身的信息查询
说明:管理员的基本信息
数据组成:姓名+性别+出生年月+电话+职称
数据流量:早晨9点到中午12点,下午14点到17点数据流量小

数据流名:学生课程安排信息
数据来源:管理课程对课程信息的录入
数据去向:学生的选课信息
说明:学生的课程安排
数据组成:课程代号+课程名+代课老师+学分+时间
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:学生成绩信息
数据来源:老师对课程考核方式
数据去向:学生对成绩信息的查询
说明:学生对选中课程的成绩查询
数据组成:课程名+学分+类别+考核方式+成绩
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:学生选课信息
数据来源:管理员对课程的制定
数据去向:学生选课管理
说明:学生查询选中的课程信息
数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:选课统计
数据来源:选课管理
数据去向:成绩管理
说明:对选中课程的学生做出统计
数据组成:课程代号+课程名+任课老师+人数+班级
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:选课查询
数据来源:管理元制定的课程
数据去向:学生选课管理
说明:学生查询选中的课程信息
数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:成绩查询
数据来源:老师对选课的考核方式
数据去向:学生成绩管理
说明:学生查询选中课程成绩信息
数据组成:课程名+学分+类别+考核方式+成绩
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据流名:成绩信息
数据来源:老师对选课的考核方式
数据去向:学生成绩管理
说明:学生查询选中课程成绩信息
数据组成:课程名+学分+类别+考核方式+成绩
数据流量:早晨9点到中午12点,下午14点到17点数据流量大

数据存储词条:
数据存储名称:学生信息存储
编号:D1
描述:反映学生基本信息情况
定义:学生信息存储=学号+姓名+性别+出生日期+系别+专业+年级
存储方式:数据库表

数据存储名称:课程信息存储
编号:D2
描述:反映课程基本信息情况
定义:课程信息存储=课程代号+课程类型+学分+学时
存储方式:数据库表

数据存储名称:管理员信息存储
编号:D3
描述:反映管理员基本信息情况
定义:管理员信息存储=姓名+性别+出生年月+电话+职称
存储方式:数据库表

数据存储名称:老师信息存储
编号:D4
描述:反映老师基本信息情况
定义:老师信息存储=老师编号+姓名+性别+职称+出生日期+院系+电话
存储方式:数据库表

数据存储名称:选课信息存储
编号:D5
描述:反映选课基本信息情况
定义:选课信息存储=课程代号+课程名+学分+类别+任课老师+人数+班级
存储方式:数据库表

数据存储名称:成绩信息存储
编号:D6
描述:反映学生成绩基本信息情况
定义:成绩信息存储=序号+课程名+学分+类别+考核方式+成绩
存储方式:数据库表

数据存储名称:课程安排信息存储
编号:D7
描述:反映课程安排基本信息情况
定义:课程安排信息存储=年级+专业+班级+院系+周数
存储方式:数据库表

数据项名称:
数据项名称:学号
描述:学校为每一位学生分配的一个编号
类型:字符串
长度:12
定义:学号=12 {数字字符} 12

数据项名称:姓名
类型:字符串
长度:2-8
定义:姓名=2 {数字字符} 8

数据项名称:性别
类型:位数据
长度:1
定义:姓名=[男、女]

数据项名称:出生日期
类型:字符串
长度:11
定义:姓名=11 {数字字符} 11

数据项名称:院系
类型:字符串
长度:2-8
定义:姓名=2 {字符} 8

数据项名称:专业
类型:字符串
长度:2-8
定义:姓名=2 {字符} 8

数据项名称:年级
类型:字符串
长度:4
定义:姓名=4 {数字字符} 4

数据项名称:课程代号
类型:字符串
长度:6
定义:姓名=6 {数字字符} 6

数据项名称:课程类型
类型:字符串
长度:8
定义:姓名=8 字符} 8

数据项名称:学分
类型:字符串
长度:2
定义:姓名=2 {数字字符} 2

数据项名称:学时
类型:字符串
长度:2
定义:姓名=2 {数字字符} 2

数据项名称:考核方式
类型:字符串
长度:8
定义:姓名=8 {字符} 8

数据项名称:成绩
类型:字符串
长度:2
定义:姓名=2 {数字字符} 2

数据项名称:任课老师
类型:字符串
长度:2-8
定义:姓名=2 {字符} 8

数据项名称:人数
类型:字符串
长度:2-3
定义:姓名=2 {数字字符} 3

数据项名称:班级
类型:字符串
长度:6
定义:姓名=6 {字符} 6

数据项名称:老师编号
描述:学校为每一位老师分配的一个编号
类型:字符串
长度:12
定义:学号=12 {数字字符} 12

数据项名称:职称
类型:字符串
长度:6
定义:姓名=6 {字符} 6

数据项名称:电话
类型:字符串
长度:12
定义:姓名=12 {数字字符} 12

数据项名称:周数
类型:字符串
长度:2
定义:姓名=2 {数字字符} 2

基本加工词条:

加工名称:课程信息管理
描述:当有人申请查询、更改课程,返回相关数据
输入:申请查询课程、课程信息
输出:课程信息
加工逻辑:接受申请查询课程
THEN
根据课程号发送课程信息
ELSE根据课程号更改课程信息

加工名称:学生信息管理
描述:当有人申请查询、更改学生信息,返回相关数据
输入:申请查询学生信息、修改学生信息
输出:学生信息
加工逻辑:接受申请学生课程
THEN
根据学号发送学生信息
ELSE根据学号更改学生信息

加工名称:老师信息管理
描述:当有人申请查询、更改教师信息,返回相关数据
输入:申请查询、更改教师信息
输出:教师信息
加工逻辑:接受申请查询教师信息
THEN
根据教师编号发送人员信息
ELSE根据教师编号更改人员信息

加工名称:管理信息管理
描述:当有人申请查询、更改管理员信息,返回相关数据
输入:申请查询、更改管理员信息
输出:管理员信息
加工逻辑:接受申请查询管理员信息
THEN
根据管理员名称发送人员信息
ELSE根据管理员名称更改人员信息

加工名称:选课信息管理
描述:当有人申请选课、退选课程、查询选课信息,返回相关数据
输入:申请选课、退选课程、查询选课信息
输出:选课信息
加工逻辑:接受申请选课、退选课程、查询选课信息
THEN
根据学号更改选课信息
ELSE根据学号发送选课信息

加工名称:成绩信息管理
描述:当有人申请录入、修改成绩、查询成绩信息,返回相关数据
输入:申请录入、修改成绩、查询成绩信息
输出:成绩信息
加工逻辑:接受申请录入、修改成绩、查询成绩信息
THEN
根据学号录入、修改成绩信息
ELSE根据学号发送成绩信息

加工名称:课程安排信息管理
描述:当有人申请修改、查询课程安排信息,返回相关数据
输入:申请修改、查询课程安排信息
输出:课程安排信息
加工逻辑:接受申请修改、查询课程安排信息
THEN
根据课程编号修改课程安排信息
ELSE根据学号或教师编号发送课程安排信息


5.实验小结

通过这次的实验,帮助我对软件工程的结构化分析以及数据流图等知识有了更深刻的理解与认识,让我对软件工程中的需求分析部分有了更好的理解,需求分析是对需求陈述进行分析,解决其中的歧义、不一致等问题,以系统化的形式表达用户的需求,即给出问题的形式化的描述。这次的实验过程让我理解了要在用户角度思考他们的需求,同时好的系统逻辑结构的构思也相当重要。
同时这次的实验也让我明白了之前的项目制作过程的不足与不好之处,我会继续好好学习软件工程课程,帮助自己对软件制作的整体过程有更加清晰的理解和认识。


http://chatgpt.dhexx.cn/article/KcXA66D5.shtml

相关文章

软件工程--需求分析

软件工程–需求分析 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。需求分析的任务还不是确定系统怎么样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清…

linux系统监控工具——Conky

实验简介 Conky 是一个应用于桌面环境的系统监视软件,可以在桌面上监控系统运行状态、网络状态等一系列参数,而且可自由定制,但对于新手来说可能会比较难于上手。 Conky是一种自由软件,用于X视窗系统的系统监视,可以在…

manjaro美化之conky 系统监控

​​​​​​​ sudo pacman -S conky 下载字体 sudo pacman -S JetBrainsMono nano ~/.conkyrc 复制粘贴下面内容ctrlx y enter 然后启动conky onky.config { -- CONK…

Linux美化 : conky

conky 是Linux桌面美化小工具 conky 也是轻量级的系统监视器 自定义性极强,请发挥想象! 从github上下载了配置,发现不能用 经检测 发现curl访问网站超时,因此对其进行简单修改 配置如下 先安装 sudo apt install curl fortune cowsay -y.conkyrc -- vim: ts=4 sw=4 no…

KALI美化-设置CONKY开机启动

简介 Conky 是一个应用于桌面环境的系统监视软件,可以在桌面上监控系统运行状态、网络状态等一系列参数 https://github.com/brndnmtthws/conky/ 详细配置文档:http://conky.sourceforge.net/docs.html 简洁的用户界面; 高度可配置; 它既可使用内置的部件…

Linux安装使用Conky

安装conky sudo yum install conky安装sensors sudo yum install lm-sensors设置开机自启 在GNOME Tweaks中将conky加入开机自启 复制文件 sudo cp /etc/conky/conky.conf ~/.conkyrc设置配置文件 sudo vim ~/.conkyrc配置文件内容 conky.config {own_window_argb_visu…

linux如何卸载conky,Linux Deepin 15.10.2 下折腾 简单自制的 Conky Conky-manager

前言 Conky是Linux下的桌面美化工具,可以把一些系统信息,以各种酷炫的形式,显示到你的桌面上。很久以前在Ubunut折腾过,最近把工作开发环境切换到了Deepin 15.10.2,打算再从零折腾一次Conky 一、安装 由于新版Deepin商…

linux如何卸载conky,如何在Ubuntu 20.04 LTS中安装Conky&Conky Manager

原标题:如何在Ubuntu 20.04 LTS中安装Conky&Conky Manager 来自:https://www.linuxmi.com/ubuntu-20-04-lt-conky-conky-manager.html 这个简单的教程展示了如何在Ubuntu 20.04 LTS中安装Conky Manager(Conky系统监视器的图形前端)。 Conky是…

kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86

现在,大多数Linux用户非常熟悉Conky包括多少人都没有今天我们 Note:其中一些不仅仅是一个习惯。conkyrc文件。许多都配有专门的字体或附加软件,有些则作为更大的桌面主题的一部分打包。此处列出的所有配置都提供了到原始下载位置以及每个包的链接此外&am…

Linux(Ubuntu系统)-- Conky配置文件记录

Conky文件配置 不禁觉得这匹狼配上conky有点小帅,特此记录一下。。。 Conky配置文件: alignment top_right #设置屏幕位置 background yes #是否嵌入桌面 draw_borders no #是否绘制窗口边框 border_width 1 #窗口边框宽度cpu_avg_samples 2 #defaul…

conky 1.10配置和开机启动

不多说,先上图。 大家把目光放到右边就行了。 1、安装conky debian或ubuntu用户直接apt-get install conky-all就行了。 或者也可以直接从源码编译安装,https://github.com/brndnmtthws/conky,目前最新版是1.10.0。 安装完成后可以试着从终…

Conky--linux自定义桌面监控

Conky可以对linux硬件设备进行实时监控,并且显示在桌面上。 好吧说实话,就是为了装逼 ^_^! 首先,先贴图: 右边就是conky显示的,可以显示进程,内存,显卡温度等等。下载安装在github&#xf…

linux如何卸载conky,如何在Ubuntu 16.04/17.04上安装和使用Conky Manager

Conky是用于Linux,FreeBSD和OpenBSD的高度可配置的系统监视器。 它是免费的和开源的,根据GPL的条款发布。 本教程将向您展示如何在Ubuntu 16.04/17.04上安装Conky以及如何使用Conky Manager。 Conky可以在桌面上显示以下信息。 CPU负载 内存使用情况 硬盘…

kali linux conky配置文件,conky的配置文件

使用的conky配置,备查: 效果: .conkyrc: #set to yes if you want Conky to be forked in the background background yes cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font when Xft is disabled, you can pick one with program xfontsel #font 7x12 #font 6…

ubuntu美化之conky美化

​​一.安装 conky-manager 首先我们需要安装conky-manager。软件下载地址如下: https://github.com/teejee2008/conky-manager/releases 下载下来发现安装不上,因为conky- manager已经很久没有维护了,所以很多依赖已经废弃了。缺少一个re…

linux如何卸载conky,Ubuntu 14.04安装Conky配置软件Conky Manager 1.2

Conky Manager软件非常简单,只要打开选择你所需要的conky主题,就可以再桌面显示,对于单个主题下有多个部件的话还可以选择全部开启或者开启其中部分部件,还可以导入conky主题,然后再conky manager中选择,对…

conky-lua

--经过数天的查阅网上的资料(资料各种坑啊,一系列问题!),终于让他在linux-mint17 cinnamon工作了 网络上的资料问题: getting "llua_do_call: funcction conky_clock_rings execution failed: attempt…

conky安装配置

conky安装配置 安装conky sudo apt-get install conky-all修改配置 在主目录下创建’.conkyrc’ 文件内容: # set to yes if you want Conky to be forked in the background background no cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font w…

conky配置

默认配置路径:/etc/conky/conky.conf 复制 conky.conf 到 ~/.config/conky/conky.conf 修改,-- 为注释。 conky.config {alignment top_left,background false,border_width 1,default_color white,--default_outline_color white,--default_sh…

Ubuntu中使用的一个Conky配置

Ubuntu中使用的Conky配置 系统:Ubuntu 20,04(LTS) Conky conky是可以在Linux中实现桌面级系统资源监控的软件。同时由于具有较高的可配置性而成为桌面定制不可或缺的插件式软件之一。 Conky安装(apt) sudo apt install conkyConky配置 …