Git Product home page Git Product logo

studentcurriculumsystem's Introduction

一、需求分析

  • 开发意义: 随着信息技术不断向深入发展,越来越多的学校开始着手信息化建设。其中学生选课、成绩信息化管理就是其中重要的一块内容。学生选课与成绩信息规模大、项目条数多、信息量庞大,传统的人工管理方式显然已经无法满足要求,需要借助计算机来进行现代化信息管理,从而提高管理的准确性与高效性。
  • 可行性: 传统人工管理成绩存在诸多弊病,比如准确性低、效率低等。计算机具有存储快、查找便利、准确性高的特点,能非常好的解决人工管理的弊病。
  • 应用环境:
    • Web服务器:tomcat8.5;
    • 编程工具Eclipse Java 2019-09;
    • 数据库:SQL sever 2017;
    • 技术路线: jsp+servlet+javabean;

1.1系统功能需求

系统功能框架介绍,处理模块描述。

  • 管理员:
  1. 查询教师名单;
  2. 添加教师信息;
  3. 修改教师信息;
  4. 删除教师信息;
  5. 查询学生名单;
  6. 添加学生信息;
  7. 修改学生信息;
  8. 删除学生信息;
  9. 查询课程信息;
  10. 添加课程信息;
  11. 修改课程信息;
  12. 删除课程信息;
  13. 修改登录密码;
  • 教师:
  1. 查看个人信息;
  2. 查看任课信息;
  3. 按照课程表信息开设课程;
  4. 取消个人已开课的课程;
  5. 按行政班级查看学生均绩及排名;
  6. 按任课课程查询学生单门成绩及排名;
  7. 按学年查询个人教授课程的平均成绩;
  8. 录入学生成绩, 自动更新该学生已修总学分;
  9. 修改登录密码;
  • 学生:
  1. 查看个人信息;
  2. 查看本人课程;
  3. 选课与退选;
  4. 按学年查询考试成绩;
  5. 修改登录密码;

图1.1.1 系统功能需求

1.2 其他性能需求

  1. 分管理员、教师、学生不同身份登录,并给予不同的权限,提高系统安全性;
  2. 使用前端验证保证用户的输入正确。
  3. 创建触发器及存储过程,保证完整性。
  4. 充分考虑系统报错情况,尽量防止系统崩溃。

二、概念结构设计

2.1实体关系分析

  1. 开设班级,每个班级包含若干学生;
  2. 课程由教师开设;
  3. 同一门课可能有多个教师开课,一个教师在一学期可能开多门课程;
  4. 需要考虑不同学年,并以学年制管理学籍;
  5. 不考虑按照班级直接开课的情况,即所有课程均由学生自由选择;
  6. 一个学生只能选择某位老师的开的某个课程,即学生不能同时选择同一门两个不同老师开的课程;
  7. 不存在两个及以上老师联合开课的情况,即不存在两个及以上教师负责同一教学班的情况。

2.2 E-R图

基于以上分析可得以下E-R 图: 在这里插入图片描述 在这里插入图片描述

三、逻辑结构设计

3.1关系模式设计

将E-R图转换为以下关系模式:(加粗代表主键,斜体内容表示外键)

  • 班级(班级编号, 班级名称)
  • 学生(学号, 姓名, 性别, 年龄, 生源所在地, 已修学分总数, 登录密码, 班级编号)
  • 课程(课程编号, 课程名称, 学时, 考试或考查, 学分)
  • 教师(教师编号, 姓名, 性别, 年龄, 职称, 电话, 登录密码)
  • 开课情况(开课编号课程编号, 任课教师编号,开课学年, 开课学期,学号,成绩)
  • 选课情况(开课编号学号,成绩)

3.2数据类型定义

对关系模式中的属性定义类型、长度和约束:

  1. 班级
数据项名 数据类型 长度 完整性约束 备注
班级编号 nvarchar 4 主键,唯一,非空
班级名称 nvarchar 20 非空
  1. 学生
数据项名 数据类型 长度 完整性约束 备注
学号 nvarchar 12 主键,唯一,非空
姓名 nvarchar 5 非空
性别 nvarchar 1 非空
年龄 int 4 非空
生源所在地 nvarchar 20 非空
已修学分总数 float 4
登录密码 nvarchar 20 非空
班级编号 nvarchar 4 外键,非空
  1. 课程
数据项名 数据类型 长度 完整性约束 备注
课程编号 nvarchar 5 主键,唯一,非空
课程名称 nvarchar 20 非空
学时 int 4 非空
考试或考查 bit 1 非空
学分 float 4 非空
  1. 教师
数据项名 数据类型 长度 完整性约束 备注
教师编号 nvarchar 5 主键,唯一,非空
姓名 nvarchar 20 非空
性别 nvarchar 1 非空
年龄 int 4 非空
职称 nvarchar 10 非空
电话 nvarchar 20 非空
登录密码 nvarchar 20 非空
  1. 开课选课情况
数据项名 数据类型 长度 完整性约束 备注
开课编号 nvarchar 15 主键,唯一,非空
课程编号 nvarchar 5 外键,非空
任课教师编号 nvarchar 5 外键,非空
开课学年 nvarchar 4 非空
开课学期 bit 1 非空
  1. 选课情况
数据项名 数据类型 长度 完整性约束 备注
开课编号 nvarchar 15 联合主键,也均为外键
学号 nvarchar 12
成绩 int 4

studentcurriculumsystem's People

Contributors

szr712 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

studentcurriculumsystem's Issues

数据库部分问题

image
你好,请问一下这个插入数据的中间那一列是什么数据,无法插入班级表

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.