吴昊品工程级别软件项目 Round 2(附加)之(一个标准的DBMS系统的需求分析+数据库设计)(PS:感谢王露珠妹纸)...

本文主要是介绍吴昊品工程级别软件项目 Round 2(附加)之(一个标准的DBMS系统的需求分析+数据库设计)(PS:感谢王露珠妹纸)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.   需求分析

1.1. 引言

1.1.1.    编写目的

由于近几年来由于我国高等 院校的扩招,导致教学管理,学生管理方面受到很大的冲击。管理的困难主要在于数据量大,涉及的人员多,数据及时更新困难等。如果依靠人工管理则需要投入的 精力多,不便维护,且容易出现错误。因此我们考虑使用计算机进行管理。计算机管理相比人工管理而言拥有无与伦比的优势,能大大减少人力物力的投入,减少出 错,提高效率,实现对学生信息管理的规范化,信息化,自动化。

       为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。

       本文档供项目经理、设计人员、开发人员参考。

1.1.2.    项目背景

  1. 待开发的系统名称:学生信息管理系统
  2. 项目的提出者:辜希武
  3. 项目的开发者:戴政、李东阳、常思頔、王露珠
  4. 用户:高效内的学生、教师以及教务处

1.1.3.    定义

Microsoft SQL Server 2000:所用的数据库管理系统

---:所用的开发工具

1.1.4.    参考资料

《软件工程导论》,张海藩 编著,清华大学出版社.

魏蓉,常青青,学生信息管理系统的设计与探讨,价值工程,2011

1.2. 任务概述

1.2.1.    目标

要求设计一个学生信息管理系统供学生、教师以及管理员使用。本系统面向用户的输入接口有:登陆界面、信息添加界面、信息修改界面、信息查询界面、出错提示界面,力求在满足用户需求的基础上精细设计,给用户带来更大的方便。

1.2.2.    运行环境

操作系统:Microsoft Windows 2000 Advanced Server

支持环境:IIS 5.0

数 据 库:Microsoft SQL Server 2000

1.3. 数据描述

进行数据描述一般可以将数据分为静态数据和动态数据。静态数据指的是运行过程中不会发生变化或较长时间不会发生变化的数据。动态数据是指运行过程中要发生变化的数据或者需要输入、输出的数据。下面分别给出各类数据的具体定义。

1.3.1.    静态数据

本学生信息管理系统以Microsoft SQL Server 2000为工具,在数据库中建立如下表格:

学生基本信息表:Student_info

字段

字段名

类型

宽度

强制

1

学号

字符型

20

主键

2

姓名

字符型

12

 

3

性别

字符型

2

 

4

出生日期

字符型

12

 

5

名族

字符型

12

 

6

所在系

字符型

12

 

7

所在班级

字符型

12

 

8

联系电话

字符型

12

 

9

联系邮箱

字符型

20

 

10

联系地址

字符型

20

 

表格 2学生基本信息表

教师基本信息表:Teacher_info

字段

字段名

类型

宽度

强制

1

教师编号

字符型

12

主键

2

姓名

字符型

12

 

3

性别

字符型

2

 

4

出生日期

字符型

12

 

5

名族

字符型

12

 

6

所在系

字符型

12

 

7

联系电话

字符型

12

 

8

联系邮箱

字符型

20

 

9

联系地址

字符型

20

 

表格 3教师基本信息表

学生课程信息表:Student_Course

字段

字段名

类型

宽度

强制

1

课程名

字符型

12

主键

2

任课教师

字符型

12

 

3

课程学分

整型

 

 

4

上课地点

字符型

12

 

5

课程开始时间

字符型

12

 

6

课程结束时间

字符型

12

 

表格 4学生课程信息表

教师课程信息表:Teacher_Course

字段

字段名

类型

宽度

强制

1

课程名

字符型

12

主键

2

上课班级

字符型

12

 

3

课程学分

整型

 

 

4

上课地点

字符型

12

 

5

课程开始时间

字符型

12

 

6

课程结束时间

字符型

12

 

表格 5教师课程信息表

学生个人成绩表:Student_Grade

字段

字段名

类型

宽度

强制

1

学科名

字符型

12

主键

2

学科学分

整型

 

 

3

成绩

整型

 

 

4

加权成绩

整型

 

 

表格 6学生个人成绩表

账号管理: Admin

字段

字段名

类型

宽度

强制

1

账号

字符型

12

主键

2

密码

字符型

12

非空

表格 7账号管理表

班级成绩管理:Teacher_Admin

字段

字段名

类型

宽度

强制

1

系名

字符型

12

 

2

班号

字符型

12

 

3

学生人数

整型

 

 

4

平均成绩

整型

 

 

5

及格人数

整型

 

 

6

优秀人数

整型

 

 

表格 8班级成绩信息表

1.3.2.    动态数据

数据输入:用户名、密码、新建记录项

数据输出:用户查询的输出记录

整个系统E-R图为:

1.2.1.    数据流图

   系统顶层数据流图为:

学生总数据流图:

 教师总数据流图:

管理员总数据流图:

1.2.1.    数据库介绍

所使用的数据库为:Microsoft SQL Server 2000

1.2.2.    数据词典

数据字典内容如下:

名字:账户

内容描述:系统中标志用户的名字

使用地点与方式:用户登录时需要输入账户信息

补充信息:学生的账户为其学号,教师的账户为其编号

名字:密码:

内容描述:用户设置的为了正确登录的字母数字后其他符号

使用地点和方式:用户登录时需要输入正确的密码

名字:学生基本信息表

来源:学生录入信息或修改信息时生成

使用地点和方式:供学生和管理员查询

名字:教师基本信息表:

来源:教师录入或修改信息时生成

使用地点和方式:供教师和管理员查询

名字:学生课程信息表

来源:由管理员录入和修改

使用地点和方式:提供学生查看课程信息

名字:教师课程信息表

来源:由管理员录入和修改

使用地点和方式:提供教师查看课程信息

名字:账户信息表

来源:由管理员增添或删除

使用地点和方式:用户登录时据此验证

名字:学生成绩表

来源:由老师录入或修改

使用地点和方式:供学生查询成绩信息

名字:班级成绩表

来源:根据老师录入的成绩信息统计而成

使用地点和方式:供管理员查询班级成绩信息

名字:账户验证操作

流入信息流:账户信息表

处理流程:用户从界面输入账户和密码信息,如果如果输入的账户和密码信息和账户信息表中的一条记录匹配则登录成功,否则登录失败

名字:学生成绩查询操作

流入数据流:学生成绩信息表

处理流程:学生选择成绩查询操作,数据库匹配出与学生学号对应的记录并在界面上显示学生各门课程的成绩

名字:班级成绩查询操作

流入数据流:学生成绩信息表

处理流程:管理员选择需要查询的班级,数据库从学生成绩表中匹配出该班级的所有学生的成绩信息,并统计出平均成绩、及格人数、优秀人数等信息。

名字:课程查询操作

流入数据流:课程信息表

处理流程:数据库通过学生学号或教师编号匹配出该学生或者教师的课程记录并显示在界面上

名字:成绩添加操作

输出流:学生成绩信息表

处理流程:教师通过界面输入学生成绩,数据库获取该信息后将信息保存在学生成绩信息表中

名字:成绩修改操作

输入流:学生成绩信息表

输入流学生成绩信息表

处理流程:数据库根据教师选取的班号,从数据库中匹配出该班级的所有学生的成绩信息,教师修改信息并点击保存后数据库获取修改后的信息并保存在成绩信息表中。

名字:课程添加操作

输出流:课程信息表

处理流程:管理员从界面中录入课程信息,数据库获取信息并将信息保存在课程信息表中

名字:课程修改操作

输入流:课程信息表

输出流:课程信息表

处理流程:通过管理员选择的系与班级,数据库匹配出该班级的课程信息并显示在课程信息表中,管理员修改该信息并点击保存后数据库获取信息并将信息保存在课程信息表中

名字:账户添加操作

输出流:账户信息表

处理流程:管理员输入新添加的账户和密码,点击保存后,数据库获取该信息并保存在账户信息表中

名字:账户查询操作

输入流:账户信息表

处理流程:数据库将账户信息表中的所有记录显示在界面中

1.2.3.    数据采集

数据的来源主要是来自数据库中原有的数据,数据的相应的操作会对数据进行更新。数据的输入采用统一的键盘输入,只有合法的登陆后才能向系统中输入数据。数据的输出主要是以表格的形式通过界面输出。

1.3. 功能需求

1.3.1.    功能划分

各模块功能情况如下:

 

1.2.1.    功能描述

各子模块功能描述如下:

学生信息录入模块:点击进入学生信息录入模块后,显示学生信息录入框,点击提示后面的方框可录入信息,点击下面的保存信息按钮可将信息存入数据库。

学生信息修改模块:点击进入学生信息修改模块后,显示学生信息修改界面,每个提示后面的方框中都存有原来录入的信息,可以在原有信息的基础上修改,修改结束后点击保存信息按钮即可将信息存入数据库。

学生信息查询模块:点击进入学生信息查询模块后显示学生的所有个人信息,且用户无法在该界面修改信息。

学生课程信息查询模块:点击进入学生课程信息查询模块后显示学生该学期课程信息表格,表格内的数据无法修改。

学生成绩信息查询模块:点击进入学生信息查询模块后显示学生该学期所学课程的成绩的表格,如果该门成绩未出则显示为空。表格内的数据无法修改。

教师信息录入模块:点击进入教师信息录入模块后,显示教师信息录入框,点击提示后面的方框可录入信息,点击下面的保存信息按钮可将信息存入数据库。

教师信息修改模块:点击进入教师信息修改模块后,显示教师信息修改界面,每个提示后面的方框中都存有原来录入的信息,可以在原有信息的基础上修改,修改结束后点击保存信息按钮即可将信息存入数据库。

教师信息查询模块:点击进入教师信息查询模块后显示教师的所有个人信息,且用户无法在该界面修改信息。

学生成绩录入模块:点击进入学生成绩录入模块后可通过下拉框选择授课班级,再跳出该班级的所有学生的学号,姓名信息,在提示符后的方框中可录入学生成绩,点击保存后则学生成绩被存入数据库,如果输入非法字符或者越界则报错。

学生成绩修改模块:点击进入学生成绩录入模块后可先通过下拉框选择授课班级,再跳出该班级的所有学生的学号,姓名以及现有成绩,成绩可通过该界面修改,修改结束后点击保存则学生成绩被存入数据库,如果输入非法字符或越界则报错。

学生成绩查询模块:点击进入学生成绩录入模块后可先通过下拉框选择授课班级,再跳出该班级的所有学生的学号,姓名以及现有成绩,成绩在该界面不可修改。

教师课程查询模块:点击进入教室课程查询模块后显示教师所教的所有课程和班级以及上课时间地点等信息的表格。表格在该界面不可修改。

账号添加模块:管理员进入账号添加模块后可在提示后的方框中输入新用户的账号和密码,如果输入的账号在数据库中已存在则报错,提示用户重新输入,输入结束后保存则信息被录入数据库中。

账号查询模块:管理员进入账号查询模块之后所有用户的账号和密码信息以表格的形式显示,且表格在该界面中无法修改。

课程表录入模块:管理员进入课程表录入模块后根据提示在后面的方框中键入课程名,授课老师,上课班级,授课时间地点等信息,如果录入非法信息例如所选择的授课老师不存在则系统报错,录入完毕之后点击保存按钮保存以上信息。

课程表修改模块:管理员进入课程表修改模块,通过下拉框选择具体的系与班级,跳出的另一个界面中给出了该班级已有的课程信息,每个课程信息的内容可以修改,修改完毕后点击保存按钮保存以上信息。

课程表查询模块:管理员进入课程表查询模块,通过下拉框选择具体的系与班级,跳出的另一个界面中给出了该班级已有的课程信息,每个课程信息的内容不可修改

学生基本信息查询模块:管理员进入学生信息查询模块,通过输入系与班级可显示该班级所有学生的基本信息,信息无法再该模块修改。

教师基本信息查询模块:管理员进入教师信息查询模块,通过输入系名可以显示该系所有老师的基本信息,信息无法再该模块修改。

班级成绩查询模块:管理员进入班级成绩查询模块,可以查看到全校所有班级的成绩信息表格,该表格不能再该界面修改。

1.3. 性能需求

1.3.1.    数据精确度

1)        要求按照严格的格式输入,否则系统报错或不响应

2)        要求数据查询不能遗漏任何一条记录,要查全

3)        不能出现数据不一致的情况

1.3.2.    时间特性

       要求响应时间维持在5秒内,数据的更新、计算、传输时间也在用户的可接受的时间内完成。

1.3.3.    适应性

能满足学校使用的要求,且方便学生、教师的使用,且能维持一定的年限。

1.4. 运行需求

1.4.1.    用户界面

用户界面需要是图形界面,界面清晰简洁,一目了然,操作简单,视图优美。有明确的提示和报错信息,力图使用户操作更方便。

1.4.2.    硬件接口

       本系统不需要特等的硬件或硬件接口支撑。

1.4.3.    软件接口

       运行于Windows95及更高版本具有WIN32 API的操作系统之上。

 

1.4.4.    故障处理

正常运行时不应该报错,如果出现错误运行可采取如下故障处理方法:

输入错误:如果用户查询的某条记录或某个信息不存在或登录不成功,系统应报错并给出出错原因。

系统错误:如果出现系统错误例如无法连接到数据库,系统应提示报错信息且管理员应尽快修复。

为了规避各种故障对系统的影响,系统应定期备份数据或生成日志。使系统尽快还原,减少因系统故障带来的损失。

1.5. 其它需求

1)系统的功能实现情况: 用户可在本系统下实现各种用户要求的功能

2)系统的一致性: 定期对数据库进行维护,保持数据的一致性

3)系统的容错性: 用户输错数据都有提示信息,具有较好的容错性能。

4)系统的封闭性: 用户的封闭性较好,用户基本上在提示信息下输数据。

转载于:https://www.cnblogs.com/tuanzang/archive/2013/02/28/2937271.html

这篇关于吴昊品工程级别软件项目 Round 2(附加)之(一个标准的DBMS系统的需求分析+数据库设计)(PS:感谢王露珠妹纸)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/832599

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设