软件工程精品课程教学网站的设计与实现

系统功能需求分析
本系统要求采用Browser/Server模式设计开发,可以作为一般高等院校的网络学堂;可以为教师的辅助教学或者网络教学提供一个完善的教学网站;学生可以利用本教学网站来完成一些课程的学习任务。
2.2.1 功能划分
《软件工程》教学网站根据不同的使用者,可以分为两个部分:一是面向老师部分,同时这个老师的部分被赋予了管理员的权限。教师的部分内容包括作业管理,公告管理,在线答疑,考试管理,资料库的管理,在线教学;二是面向学生部分,学生可以进入网上学堂进行自学该门课程,同时可以进行作业的上传,学生可以进行在线答疑和在线即时聊天。普通游客也可以浏览网站,不过需要进行注册登陆,但是不能对作业部分进行操作。
2.2.2 功能描述
根据系统功能划分,本系统详细需求描述如下:
2.2.2.1 登陆功能
为了使得网站的一些信息和使用功能只对用户开发,就必须有一个会员登陆注册系统。作为一个基本的登陆注册系统,应具有以下三个方面的功能:
(1)接受新用户的注册,引导新用户填写必要的个人资料;
(2)实现用户的登陆;
(3)对于已经注册的用户,如果密码丢失可以通过忘记密码这种方法来找回密码。
2.2.2.2 网上课堂功能
该子模块可以提供文本课件,视频课件,可以有多种形式的文本课件。当然也可以根据需要提供其他课件形式。对于文本课件,本系统可以采用的是网页形式来进行链接的,这样在网站上面显示的时候会比较好看一点。学习完网络课件后,可以做课后的一些习题来巩固学习的知识。而视频课件,可以以课程的章节顺序来发布。对于本系统而言可以给出其视频链接地址。对于其他的课件形式,可以直接导入Powerpoint,Word等附件或者网上课件链接等其他方式来让学生访问,同时要提供一个网上资料库为课堂知识的学习提高提供一个基础,假如该网站的知识不能满足学生的需求,可以通过其资料库来查找其他的资料来进行学习。
2.2.2.3 作业功能
显然,对教师和学生而言,作业的含义不同;教师关注的是如何布置作业、批阅作业,管理学生提交的作业;学生则关注如何做作业、提交作业、查询批阅结果。
(1)作业管理
题目按照所创建的课程 →章→节的顺序发布。对于所要上传的作业,都可以统一放在一个专门的文件夹里面,同时要编号,按照学生的学号来编号统一管理。
(2)布置作业
该功能应该可以添加对应具体课程、具体章节,发布与相应课程、章节相关的题目,题目包括单项选择、多项选择、填空题、简答题、问答题等。
(3)提交作业
该功能可以上传作业。学生通过验证后,可以上传作业。对已经上传的作业进行修改,可以使用新的作业来替代覆盖。已经提交的作业,学生可以通过提交的次数顺序和学号来进行快速查询。同时老师可以查看学生作业完成情况,来不断调整学习进度。
(4)批阅作业
教师可以在线对作业进行批阅,同时可以对学生进行打分,直接把作业成绩写入到数据库中。
(5)查看批阅结果
老师可以对学生的成绩进行横向和纵向的对比,以此来判断最近学生的学习情况,不断调整教学方法。学生可以查询作业成绩,了解最近的一段时间学习进步情况。
2.2.2.4 答疑功能
该模块功能类似BBS系统。其具体要求如下:
 对于这个答疑教室由老师来对学生提出的问题进行回答,可以对帖子进行管理。学生可以直接进入自己的栏目进行提问。
 学生的问题通过老师的管理界面看到,该问题是否回答,这个功能是专门向学生和老师提供的。其他学生可以看到该问题,以及老师的解答。学生既可以通过自己提问,寻求解答,也可以通过查询其他同学提出的问题及老师的解答提高自己的知识水平。
2.2.2.5 公告功能
教师可以实现公告以及新闻的发布,同时可以通过公告功能向学生发布作业信息。教师负责公告的编写、发布、修改、删除。
2.2.2.6 实时聊天功能
用户只要随便自己注册一个名字就可以进入聊天室,可以和其他用户进行实时聊天。这样可以方便用户交流。
2.2.2.7 测试功能
考生可以根据自己选择相关章节的试题进行测试。教师可以设置测试的内容,具体考试过程不做控制时间。不过考生在考试过程中,不得进行刷新。
2.3 用例模型
2.3.1普通用户用例图
图2.1是普通用户对该网站进行操作的用例图,对于用户来说,要访问该网站,必须先注册,登陆,然后才能对该网站进行操作,经过身份认证后,用户可以进行课件浏览,可以对答疑模块,测试模块,进行操作。
在这里插入图片描述
学生用例图
在该系统中,学生要进行访问该网站的时候,要像一般用户一样注册登陆,不过学生比一般用户多的一个权限就是先进行身份认证后对作业系统进行操作。用例图如图2.2所示:
在这里插入图片描述
2.3.3教师用例图
教师用例图表示了教师的操作权限,教师可以有管理员的权限,身份认证通过以后,教师可以进行公告管理,作业模块管理,答疑模块管理,学习资料库模块管理,考试模块管理。具体用例图如图2.3所示:
在这里插入图片描述

链接:https://pan.baidu.com/s/1Xwd0U_KktL0hRFPaggIOGQ?pwd=6688
提取码:6688

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

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

相关文章

Sakila数据库和World数据库

Sakila数据库和World数据库 安装MySQL8.2的时候多出两个样例数据库 Sakila数据库和World数据库 Sakila数据库是一个关于DVD租赁的样例数据库,用于展示MySQL的各种功能和特性。Sakila数据库中包含了多个表,包括电影、演员、客户、租赁记录等,可…

Oracle(2-6) Backup and Recovery Overview

文章目录 一、基础知识1、Categories of Failures 故障类别2、Causes of Statement Failures 语句失败的原因故障情况Resolutions 决议 3、User Process Failures 用户进程失败故障情况Resolutions 决议 4、Possible User Errors 用户错误类型故障情况Resolutions 决议 5、Inst…

实验6 二叉树操作

0x01 实验目的 掌握二叉树的基本概念,二叉树的存储结构使用链表。 0x02 实验内容 输入一个完全二叉树的层次遍历字符串,创建这个二叉树,输出这个二叉树的前序遍历字符串、中序遍历字符串、后序遍历字符串、结点数目、二叉树高度(上述每一个…

计算UDP报文CRC校验的总结

概述 因公司项目需求,遇到需要发送带UDP/IP头数据包的功能,经过多次尝试顺利完成,博文记录以备忘。 环境信息 操作系统 ARM64平台的中标麒麟Kylin V10 工具 tcpdump、wireshark、vscode 原理 请查看大佬的博文 UDP伪包头定义&#x…

MQ - 消息系统

消息系统 1、消息系统的演变 在大型系统中,会需要和很多子系统做交互,也需要消息传递,在诸如此类系统中,你会找到源系统(消息发送方)和 目的系统(消息接收方)。为了在这样的消息系…

数据结构和算法-哈夫曼树以相关代码实现

文章目录 总览带权路径长度哈夫曼树的定义哈夫曼树的构造法1法2 哈夫曼编码英文字母频次总结实验内容: 哈夫曼树一、上机实验的问题和要求(需求分析):二、程序设计的基本思想,原理和算法描述:三、调试和运行…

Matter学习笔记(3)——交互模型

一、简介 1.1 交互方式 交互模型层定义了客户端和服务器设备之间可以执行哪些交互。发起交互的节点称为发起者(通常为客户端设备),作为交互的接收者的节点称为目标(通常为服务器设备)。 节点通过以下方式进行交互&a…

Spring Initial 脚手架国内镜像地址

官方的脚手架下载太慢了,并且现在没有了Java8的选项,所以找到国内的脚手架镜像地址,推荐给大家。 首先说官方的脚手架 官方的脚手架地址为: https://start.spring.io/ 但是可以看到,并没有了Java8的选项。 所以推荐…

3dMax拼图生成工具Puzzle2D使用教程

Puzzle2D for 3dsMax拼图生成工具使用教程 Puzzle2D简介: 2D拼图随机生成器(英文:Puzzle2D) ,是一款由#沐风课堂#用MAXScript脚本语言开发的3dsMax建模小工具,可以随机创建2D可编辑样条线拼图图形。可批量…

【tensorflow学习-选择动作】 学习tensorflow代码调用过程

a actor.choose_action(s) def choose_action(self, s):s s[np.newaxis, :]return self.sess.run(self.action, {self.s: s}) # get probabilities for all actions输入:s 输出:self.sess.run(self.action, {self.s: s}) :a

解决:UnboundLocalError: local variable ‘js’ referenced before assignment

解决:UnboundLocalError: local variable ‘js’ referenced before assignment 文章目录 解决:UnboundLocalError: local variable js referenced before assignment背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使…

实战案例:chatglm3 基础模型多轮对话微调

chatglm3 发布了,这次还发了base版本的模型,意味着我们可以基于这个base模型去自由地做SFT了。 本项目实现了基于base模型的SFT。 base模型 https://huggingface.co/THUDM/chatglm3-6b-base由于模型较大,建议离线下载后放在代码目录&#…

OSG编程指南:专栏内容介绍及目录

1、专栏介绍 OpenSceneGraph(OSG)场景图形系统是一个基于工业标准 OpenGL 的软件接口,它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。本专栏基于 OSG 3.6.5版本进行源码的编写及扩展,也通用于其他OSG版本的…

OpenTelemetry系列 - 第2篇 Java端接入OpenTelemetry

目录 一、架构说明二、方式1 - 自动化2.1 opentelemetry-javaagent.jar(Java8 )2.2 使用opentelemetry-javaagent.jar完成自动注入2.3 配置opentelemetry-javaagent.jar2.4 使用注解(WithSpan, SpanAttribute)2.5.1 代码集成WithS…

【栈和队列(2)】

文章目录 前言队列队列方法队列模拟实现循环队列练习1 队列实现栈 前言 队列和栈是相反的,栈是先进后出,队列是先进先出,相当于排队打饭,排第一的是最先打到饭出去的。 队列 队列:只允许在一端进行插入数据操作&…

20、Resnet 为什么这么重要

(本文已加入“计算机视觉入门与调优”专栏,点击专栏查看更多文章信息) resnet 这一网络的重要性,上一节大概介绍了一下,可以从以下两个方面来有所体现:第一是 resnet 广泛的作为其他神经网络的 back bone&…

Redis集合对象

一. 编码 集合对象的编码可以是intset或者hashtable。 intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都保存在整数集合里面。 127.0.0.1:6379> sadd numbers 1 3 5 (integer) 3 127.0.0.1:6379> object encoding numbers "ints…

使用凌鲨进行内网穿透

为了方便在本地进行开发和调试工作,有时候需要安全地连接内网或Kubernetes集群中的服务。 在net proxy server中可以限制访问用户,也可以设置端口转发的密码。 使用 连接端口转发服务 列出可转发端口 可转发端口是服务端设置的,不会暴露真…

锁表的原因及解决办法

引言 作为开发人员,我们经常会和数据库打交道。 当我们对数据库进行修改操作的时候,例如添加字段,更新记录等,没有正确评估该表在这一时刻的使用频率,直接进行修改,致使修改操作长时间无法响应&#xff0…