基于WEB的在线选课系统(asp.net)

news2024/11/15 17:39:18

目  录
摘要 I
Abstract II

第1章 绪论 1
1.1 课题背景 1
1.2 目的和意义 1
1.3 系统设计思想 2
第2章 可行性分析 3
2.1 管理可行性 3
2.2 经济可行性 4
2.2.1 系统初期投资 4
2.2.2 系统货币的时间价值 4
2.2.3 投资回收期 5
2.2.4 纯收入 5
2.3 技术可行性 5
2.4 运行可行性 6
2.5 本章小结 6
第3章 需求分析 7
3.1 MIS系统的产生和发展情况 7
3.2 基于Web的在线选课系统的需求分析 7
3.2.1 业务流程图 8
3.2.2 数据流图 8
3.2.3 数据字典 9
3.3 本章小结 14
第4章 总体设计 15
4.1 系统模块总体设计 15
4.1.1 系统各模块具体功能设计 15
4.1.2 系统功能模块图 16
4.2 数据库设计 17
4.2.1 数据库设计概述 17
4.2.2 数据库设计注意事项 17
4.2.3 关系范式的设计 17
4.2.4 系统E-R图 18
4.2.5 数据库表的设计 19
4.3 本章小结 21
第5章 详细设计与实现 22
5.1 系统开发工具及简介 22
5.2 系统运行环境 23
5.3 详细设计的任务与原则 23
5.4 代码设计 24
5.5 系统界面设计与实现 25
5.5.1 输出设计 25
5.5.2 输入设计 30
5.6 本章小结 37
第6章 软件测试与性能分析 38
6.1 为什么要进行软件测试 38
6.2 软件测试 38
6.3 系统测试 40
6.4 本章小结 41
第7章 系统主要功能使用说明 42
7.1 系统登录 42
7.2 学生选课 42
7.3 课表打印 43
7.4 设置选课时间段 44
7.5 本章小结 45
结论 46
致谢 47
参考文献 48
附录1 49
附录2 54
第3章 需求分析
3.1 MIS系统的产生和发展情况
管理信息系统也就是我们常说的MIS其英文全称为(Management Information System),是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度利用现代计算机及网络通讯技术加强企业信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。
无论采用何种方法开发管理信息系统,系统分析工作都是十分重要的环节。软件的需求分析是软件生存周期中重要的一步,只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。
软件需求分析工作是软件计划阶段完成之前开始的,其主要目的是:要综合分析用户对系统提出的需求(功能、性能、数据等方面)的基础上,构造一个从抽象到具体的逻辑模型表达软件将要实现的需求,并以“软件需求规格说明书”的形式作为本阶段工作的结果,为下一阶段的软件设计提供设计基础。
3.2 基于Web的在线选课系统的需求分析
需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。狭义上理解:需求分析是指系统的分析、定义过程。
简言之,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户各项要求,并准确地表达所接受的用户需求。需求分析阶段的工作,可以分为四个方面:问题识别,分析与综合,制订规格说明,评审。
用户需求分析的编写是软件工程中的非常关键的一个环节,用户需求分析也是软件工程中的非常重要的一个文档。一个好的用户需求分析不但能够提高软件开发的效率、保障软件开发的质量,而且有利于系统的验收和以后软件的维护及扩充。 
软件需求分析分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求,并且将现实事务抽象成对象并建模。
3.2.1 业务流程图
在线选课系统业务流程图描述为:学生将选课信息传送给课程安排负责人,教师将课程信息传送给课程安排负责人,教务处将课程信息表、学生信息表、教师信息表、课程安排信息表、学生选课表一系列信息传送给课程安排负责人,然后课程安排负责人汇总后再将学生选课表送到教务处。
在线选课系统业务流程图如图3-1所示。
在这里插入图片描述
图3-1 在线选课系统业务流程图

1.课程删除主要实现代码(触发器):
ALTER TRIGGER [dele]
   ON  [dbo].[course]
   instead of DELETE
AS 
BEGIN
	delete from stucourse where c_no=(select c_no from deleted )
    delete from courseTime where c_no=(select c_no from deleted)
    delete from course where c_no=(select c_no from deleted)
END
2.学生选课模块主要实现代码:
protected void Linkadd_Click(object sender, EventArgs e)
    {  
        string sql = "select count(s_no) from stucourse where s_no like'" + Session["userID"].ToString().Trim() + "' and c_no in(select c_no from course where course_lx='选修课')";
        DataSet ds = Db.ExecuteSelectSql(sql);
        int ncourse = 0;
        if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
        {
            ncourse = (int)ds.Tables[0].Rows[0][0];
        }
        if (ncourse >= 3)
        {
            Response.Write("<script language='javascript'>alert('您已选选修了3门课程,不能再选修了!')</script>");
            return;
        }
        else
        {
            string cid = cno.Text.ToString();
            string sqll = "select * from stucourse where c_no='" + cid + "' and  s_no='" + Session["userID"].ToString() + "'";
            DataSet dss = Db.ExecuteSelectSql(sqll);
            bool bj = false;
            if (dss != null && dss.Tables.Count > 0 && dss.Tables[0].Rows.Count > 0)
                bj = true;
            if (bj)
            {
                Response.Write("<script language=javascript>alert('您已经选了该门课程了!!')</script>");
                return;
            }
            else
            {
              Insertclass();
            }
        }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/59866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java8从入门到精通 笔记

Lambda表达式 匿名内部类 我们可以用匿名内部类来比较两个Integer参数的大小 Comparator<Integer> com new Comparator<Integer>() {Overridepublic int compare(Integer o1, Integer o2) {return Integer.compare(o1, o2);} };TreeSet<Integer> treeSet…

接口幂-全面详解(学习总结---从入门到深化)

目录 接口设计与重试机制引发的问题 什么是幂等性 为什么会产生接口幂等性问题 幂等性接口设计 如何保证接口幂等性 接口设计与重试机制引发的问题演示_项目搭建 创建项目 选择框架 修改SpringBoot版本 创建用户表 代码生成 引入依赖 编写代码生成类 接口设计与重试机制引…

Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs笔记

论文地址&#xff1a;https://arxiv.org/pdf/2203.06717.pdf 代码地址&#xff1a;https://github.com/MegEngine/RepLKNet 目录 论文地址&#xff1a;https://arxiv.org/pdf/2203.06717.pdf 代码地址&#xff1a;https://github.com/MegEngine/RepLKNet Abstract 1. Introd…

MySQL架构MMM

官网地址&#xff1a; Multi-Master Replication Manager for MySQL [MMM for MySQL Wiki] 简介 MMM&#xff08;Master-Master replication manager for MySQL&#xff09;是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发&#xff0c;主要用来监控和…

Kafka - 14 Kafka分区的分配策略及再平衡 | Range | RoundRobin | Sticky | CooperativeSticky

文章目录1. 分区的分配以及再平衡2. Range 分区分配以及再平衡3. RoundRobin 分区分配以及再平衡4. Sticky 分区分配以及再平衡1. 分区的分配以及再平衡 一个consumer group中有多个consumer组成&#xff0c;一个 topic有多个partition组成&#xff0c;现在的问题是&#xff0…

[Windows驱动开发] BlackBone介绍

▒ 目录 ▒&#x1f6eb; 导读需求开发环境1️⃣ 名词解释2️⃣ 介绍3️⃣ 库包含内容4️⃣ 编译问题总结常见问题fatal error LNK1104非类型模板参数中的 "auto" &#x1f4d6; 参考资料&#x1f6eb; 导读 需求 作为Windows开发人员&#xff0c;经常遇到枚举进程、…

dojo中的类

使用arcgis api for js 4.*进行地图的web前端开发&#xff0c;就不得不与dojo打交道。dojo是一个框架&#xff0c;自成体系&#xff0c;比如它对类的支持&#xff0c;有自己的一套。众所周知&#xff0c;js不是面向对象语言&#xff0c;没有类这一说&#xff0c;都是用函数来模…

人工智能轨道交通行业周刊-第25期(2022.11.28-12.4)

本期关键词&#xff1a;液体安检仪、智慧车站、大机作业、动车打温、实时人体姿态估计、图像压缩 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟V…

Java项目:SSM医院挂号预约管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为管理员与医生两种角色&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,添加科室,科室增删改查,医生管理,查看预约信息,…

Redis03:Redis基础知识以及数据类型

Redis基础知识以及数据类型基础知识Redis-key基本数据类型String(字符串)三种特殊的数据类型geospatialhyperloglogbitmaps基础知识 redis默认有16个数据库&#xff0c;默认使用的时第0个&#xff0c;可以使用select进行切换数据库 清除当前数据库 清除全部数据库的内容 Red…

Cmake升级与软链接

记录cmake升级版本的记录&#xff0c;主要参考文章&#xff1a;Unbuntu安装Ros后Cmake变成3.10_向日葵骑士Faraday的博客-CSDN博客 cmake升级、更新&#xff08;ubuntu18.04&#xff09;_Doctor_Wu_的博客-CSDN博客_cmake升级 设计安装ros后cmake版本出现问题&#xff0c;且卸…

[附源码]Python计算机毕业设计Django基于Java的员工管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Windows 文件共享功能使用方法,局域网多台电脑之间传送文件

设想一下&#xff0c;家里或者公司有多台电脑&#xff0c;连接同一个Wifi&#xff0c;也就是处于同一个局域网中。 在不能使用微信、网盘的文件传输功能的情况下&#xff0c;这多台电脑之间&#xff0c;就只能用U盘传送数据吗&#xff1f; 不。Windows系统中已经提供了文件共享…

ZMQ之克隆模式的可靠性

克隆服务器的可靠性 克隆模型1至5相对比较简单&#xff0c;下面我们会探讨一个非常复杂的模型。可以发现&#xff0c;为了构建可靠的消息队列&#xff0c;我们需要花费非常多的精力。所以我们经常会问&#xff1a;有必要这么做吗&#xff1f;如果说你能够接受可靠性不够高的、或…

Docker三大核心概念(镜像、容器和仓库)与虚拟化

目录 1. Docker是什么 2. Docker与虚拟化 3. Docker虚拟化的好处 4. Docker核心概念 4.1.镜像 4.2.容器 4.3.仓库 5. CentOS7 安装docker(在线方式) 5.1.内核版本信息检查 5.2 卸载可能存在的旧版本 5.3 安装必要的系统工具 5.4 添加docker-ce安装源 5.5 更新yum缓存 5.…

web前端期末大作业:个人网站设计——响应式个人小站网站HTML+CSS+JavaScript

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

STC 51单片机54——气压水压计HX710B 串口显示均值滤波+滑窗滤波

//气压模块为红色模块&#xff0c;传感器型号未知&#xff0c;其信号放大器型号为HX710B // STC15W408AS 11.0592MHz 波特率9600&#xff0c;串口输出大气压强值 // STC15W408AS没有定时器1&#xff0c;所以用定时器2做波特率发生器 // 采用电脑USB供电会有很大的干扰&#xff…

Unity工具 - 工具聚合页(UEWindow)

随着项目工程的推进&#xff0c;开发者们会根据工作内容的需要在Unity内开发众多的工具。随着工具的增多&#xff0c;Unity 的Menu菜单也会逐渐臃肿&#xff0c;过于分散&#xff0c;工具代码也难以查找。在此问题的基础上&#xff0c;开发了工具聚合页(UEWindow) 这一功能来管…

R绘图案例|基于分面的面积图

简介 最近参加一个统计建模的比赛。模型建模后&#xff0c;需要展示不同模型的性能指标&#xff0c;数据如下所示&#xff1a; 其中&#xff0c;第 1 列是不同样本&#xff0c;共376条。第 2-4 列是随机森林得到的结果&#xff0c;第 5-7 列是XGBoost的结果。一共使用了三种评…

数字验证学习笔记——UVM学习3 核心基类

一、核心基类 UVM世界中的类最初都是从一个uvm_void根类&#xff08;root class&#xff09;继承来的&#xff0c;而实际上这个类并没有成员变量和方法。 uvm_void只是一个虚类&#xff08;virtual class&#xff09;&#xff0c;还在等待将来继承于它的子类去开垦。在继承与u…