【软件工程】详细设计(一)

本文详细描述了一个学生成绩管理系统的详细设计,包括B/S体系结构的介绍、系统架构层次划分、教师端模块(登录、数据查询、搜索和成绩管理)的实现,涉及Java编程、Ajax调用和MySQL数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 引言

1.1 编写目的

该文档的目的是描述《学生成绩管理系统》项目的详细设计,其主要内容包括:

  • 系统功能简介

  • 系统详细设计简述

  • 各个模块的实现逻辑

  • 最小模块组件的伪代码

本文档的预期的读者是:

  • 开发人员

  • 项目管理人员

  • 测试人员

1.2 背景

  1. 待开发系统的名称:学生成绩管理系统

  2. 本项目的任务提出者:xx老师

  3. 本项目的开发者:第x小组

  4. 用户:教师、学生和管理员

1.3 定义

t_admin:管理员信息表

t_user:教师信息表

t_student:学生信息表

t_score:学生成绩表

2. 体系结构

本系统采用B/S体系结构。

2.1 B/S体系结构

现在的信息系统平台的体系结构主要有客户机/服务器(C/S)体系和浏览器 /服务器(B/S)体系。下面简单介绍一下B/S体系结构。

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

在我们的系统中,我们就采用的是B/S体系结构。采用这种结构具有成本低、维护方便、 分布性强、开发简单的优势。

2.2 系统体系结构

B/S体系架构图如图3.1所示。

img

图3.1 B/S系统架构

通过上文对B/S体系架构的分析,以及对本系统需要完成的功能的分析。本系统的可分为以下三层结构:

  • 用户层:在这里就是浏览器端。是直接与用户交互的部分。具体来说,用户的所有操作都是在这层进行的,用户的所有对数据的修改都会传到逻辑层进行处理。作为直接展示给用户的部分,需要具有美观和易用的特点。

  • 逻辑层:在这里就是网络服务器端。接受用户输入的信息,对其进行功能要求的逻辑处理,并将处理后的数据传递给数据访问层;对于数据访问层传送的数据也进行相应的处理。作为表示层与数据层之间的信息处理接口,是前后端数据交互的桥梁。

  • 数据层:在这里就是数据库服务器端。主要包含两种功能。一是完成对数据的存储,即完成数据库表的建立等功能;二是完成对数据的各种操作,具体进行何种操作取决于逻辑层的逻辑处理。

本系统的结构拓扑图如图3.2所示:

img

图3.2 系统结构拓扑图

用户层本系统主要用HTML+CSS+JavaScript 进行完成,完成与用户正常友好交互的任务。

逻辑层由Java代码及其相应框架编写,完成所需的逻辑处理操作。并把正常处理后的数据传递给用户层或数据层。

数据层主要是数据库系统,这里所用的数据库系统为关系数据库 MySQL, 并且使用DataGrip或idea内置的数据库工具构建需要的库和表,进行相应SQL脚本的编写。

3.教师端详细设计

教师端模块主要分为登录注册模块、数据查询模块、搜索模块和成绩添加或修改模块构成。

下图为教师端模块流程图。

img

图3.1 教师端模块流程图

3.1登录模块

3.1.1类描述

定义了教师的登录功能架构。

3.1.2功能

按给定的账号和密码进入系统。

3.1.3 代码实现

if ("1" == param.type) {
   
  $.ajax({
   
    //几个参数需要注意一下
    type: "POST",//方法类型
    dataType: "json",//预期服务器返回的数据类型
    url: "/user/login",//url
    data: param,
    success: function (result) {
   
      if (result.code == "0") {
   
        location.href = "/index.html";
      } else {
   
        layer.msg('教师密码错误', {
   
          icon: 5
        });
      }
    },
    error: function () {
   
      layer.msg('服务器错误', {
   
        icon: 5
      });
    }
  });
}

3.1.4 性能分析

在执行相关操作时,均可以正常实现登录功能。

3.2数据查询模块

3.2.1类描述

定义了数据查询的功能结构。

3.2.2功能

查看学生基本信息和成绩信息。

3.2.3代码实现

查看学生基本信息:

JavaScript代码:

var data = obj.data;
if (obj.event === 'detail') {
   
  var detailFrom = layui.layer.open({
   
    title : "查看学生信息",
    type : 2,
    content : "/studentDetail.html",//弹出层页面
    area: ['500px', '200px'],
    success : function(layero, index){
   
      var body = layui.layer.getChildFrame('body', index);
      body.find("#st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪个编程语言更好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值