软件需求工程 高校教学平台 卷首语

本文详细介绍了一个面向高校的教学平台设计方案,包括用户模块、课程模块及教学班功能,旨在为教师和学生提供高效便捷的教学体验。

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

编写说明


《软件需求工程》是浙江大学计算机科学与技术学院软件工程专业推出的一门课程,课程的主要任务是在软件工程整体知识的基础上,深入学习并实践软件需求获取与管理的原理、方法和过程,学习并掌握使用UML工具对软件需求进行分析、表达与系统设计。课程内容包括两部分:一是需求获取和维护的过程和方法,包括需求提取、需求分析和建模、需求表达、需求确认、需求变更控制,以及相应的工具;二是UML概念、方法和工具。课程配合案例性实践环节进行教学。通过本课程的学习,应使学生掌握如何在软件工程的实践中完成复杂软件需求的获取、表达和维护能力,学会应用UML进行软件需求分析与设计的技术和方法,为掌握软件工程的系统全面的知识和技能打下坚实基础。

为了给广大从事需求分析的工作人员和浙江大学的学弟学妹提供一定的指导,我打算编写《软件需求工程——高校教学平台项目》这一系列的博客。主要包含了整个软件生命周期中用到的20份文档。同时,我们小组在开发过程中参考的原型是“学在浙大”平台 http://course.zju.edu.cn/

案例说明(来自老师课件)


面向全日制高校的教学平台是否需要建,为什么建,怎么建,能不能建成?这些问题,是信息技术在高等教育领域应用中的重要问题之一。
网络化的教务系统在各个高校中由来已久,且有大量的师生已经使用。教务系统完成学籍管理,完成选课、排课,完成学生成绩的登记和统计,等等。但教务系统以课程的修读登记、成绩和学分登记为工作边界,不涉及每门课程具体的教学过程。
在一门课程的具体教学实施过程中,教师和学生需要经历讲课听课、课堂问答和讨论、随堂练习或测试、课后作业、单元测试和/或期末测试、大型项目作业等多种教学形式和教学环节,也会有实验、试验等操作环节。是否使用信息系统来辅助、推进教学过程的实施,提高教学效率,降低教学成本,改善教学管理,并使优质教育资源通达更多的学生和受众,是建设教学平台的初衷。
特别是在2020年全球爆发新冠疫情的突发情况下,在线教学平台成为了一种刚性需求,可结合参考刚刚过去的实践,深入思考教学平台的需求,畅想教学平台的未来。

在典型的教学过程中,教师对教学平台有一些基本的期望,比如:

  1. 网站上要有系统的课程介绍,包括课时安排、教学计划、使用教材、国际国内背景、考核方式、和学生选这门课所需要的知识背景,以及大作业的介绍。并可以在以后增加另外课程的时候可以定制。
  2. 网站要有教师介绍,对任课老师的以往教学、科研成果,及其教学风格、出版书籍、所获荣誉等的介绍。
  3. 课件、模板、参考资料、以往优秀作业、教学视频、音频资料下载,并可以及时更新。本班老师同学可以通过账号下载,其他用户可以在线浏览简化版课件。
  4. 教师消息发布栏用于老师发布作业点评、临时课程变更等通知。
  5. 线上实验系统:能否考虑对实验教学的支持,让学生能在线上完成实验?能否嵌入某些典型工具或仿真引擎?
  6. 线上测试系统:随堂测试、期中期末考试,开卷闭卷,避免替考,避免其他作弊。对于网络通信的异常,如何应对?
  7. 网站上要有网站向导即使用指南。
  8. 最新信息:公布老师最近的一些教学或外出交流的心得,以及网站一些最近更新信息的介绍。
  9. 友情连接(如网上选课主页)有老师要求管理员实时更新。
  10. 提供专门的作业点评,作业完成情况跟踪的功能,对学生的作业,和课后作业讨论进行点评。

学生也有一些共性的需求,比如:

  1. 课件下载功能,包括以往的旧版本课件,以及最新的课件
  2. 能下载老师提供的参考资料(含电子教材、历年试卷、补课资料,以及老师的教学交流文章)并且网站能及时更新这些资料。下载的速度能够得到保证:要求同时可容纳xxx人下载,并且人均速度能达到 xxx Kbps
  3. 能及时看到老师的通知(含课程相关通知及作业点评)
  4. 如果教师提供的是多媒体资料,网站能提供下载及在线观看功能(如课堂录像)
  5. 网站界面要求简洁大方,有网站导航、相关链接(含学校选课系统、学院网页、需求相关主题网站)
  6. 网站提供通过提问方式的密码取回功能
  7. 网站能提供让分组的各个团队能有团队内部的交流工具(如论坛,不同团队可以申请认证板块,非团队成员不能浏览使用,但希望教师可以进入各个板块进行一定的指导,而网站管理人员也可管理认证板块)
  8. 网站能提供一定资料共享功能(如论坛有上传下载附件功能、但对附件大小有限制,不得大于2M)
  9. 网站能较醒目地提供教师的联系方式 (尽量详细)
  10. 网站可以提供站内文章标题搜索功能
  11. 网站能够提供学生自身作业提交功能,并可以跟踪作业的批复情况

教学平台是不是还考虑支持游客?比如,对游客可能有这样一些需求:

  1. 教学平台提供课程的相关介绍,还有任课老师的介绍,并放在网站显著位置
  2. 提供相关链接(含学校选课系统,以及需求相关主题网站)
  3. 网站允许游客可以针对网站内容留言(如提供留言板的功能,留言者有EMAIL可选项,用于信息反馈);网站管理员不随便删除游客的留言(到底该不该提供删除功能?是否提供?如何提供?)

另外,拓展考虑、深度考虑,是不是应该考虑支持以下教学场景或需求:

  1. 多位教师分头给多个平行班上课的情况,各班有统一的作业或单元练习
  2. 教学过程中,在项目或大型作业、实验等环节存在分组教学,学生按小组统一完成某项或某些任务;部分课程总评分按小组方式给出,再折算到每位同学身上。
  3. 进一步,对同一门课程的若干平行班,是否存在跨班分组的情况,是否要支持
  4. 对于上交作业等环节,老师们的原则都各不相同,有人注重培养学生遵约守时的习惯,不设任何宽限;有人愿意给学生补救的机会,但仍各有不同的折算习惯
  5. 对于课程内容的修读环节,有些课程存在必须前一个单元的内容学生掌握了之后,才允许进入下一个单元的情况;有些课程则在章节设置上可以让学生灵活修读
  6. 非计算机类的教师和学生,是否能顺畅地理解并使用这个教学系统?比如,纯文科类的专业(中文系),这些师生的需求和计算机学院是一样的吗?怎么考虑?
  7. 国际学生、留学生、旁听学生,这些在教学平台中是否有所考虑?

在用户的基本分类和角色上,除了教师、学生、访客等类型之外,是否需要考虑助教,并作为一类用户?比如:助教和教师有什么不同?系统怎样确定助教的权限、和教师的关系、和学生的关系?
用户除了通过电脑使用的教学平台之外,在移动互联网日益普及的现实条件下,应考虑对用户通过使用智能手机来使用教学平台的切实要求。以下这些问题可以考虑:手机上的教学平台的功能需求和电脑上一样吗?如果不同,那么有什么差别?对于不同的用户分类(教师、助教、学生等)是否上述差别还不一样?需要为手机设计和电脑不同的操作流程、用户界面吗?等等。—— 比如,可以根据用户使用需要和习惯,在PC端和移动端同时可以阅读、上传、批复、点评和发布,并保持同步。但大文件的上传下载以及其它不适合移动端操作的功能应该在PC端实现(这里只是举例,不一定正确,也不要受这个举例的局限)。

教学平台的主要目的就是为教师和学生提供交流的平台,方便师生使用。这个网站还为一些对这门课程感兴趣的人士提供一个了解的机会。

  1. 教师能够更好,更容易地得到学生的反馈,调整自己的进度或方法
  2. 教师可以方便地点评学生作业
  3. 有助于提高教师知名度和影响力,方便同学了解教师
  4. 学生的获得资料更加容易,更加丰富
  5. 学生能够有针对性地进行补课,如果有缺课的话
  6. 学生可以方便地向老师提出疑问 并且可以迅速的得到解答
  7. 游客可以有机会了解这门课的情况,教师的情况

功能说明


1. 功能说明

1.1 用户模块

用户模块主要实现用户的信息管理与维护,主要有学生、老师、助教和管理员四种用户类型。其中学生、老师和助教的用户界面基本一致,但管理员的界面有很大区别。

其中学生、老师和助教的账号只能由管理员添加,游客可以通过邮箱(游客id)进行账号注册,管理员有权删除游客账号。

同时网页提供邮箱找回或充值密码的功能。

1.1.1 学生
  • 学生可以修改个人基本信息,如头像、邮箱、手机等
  • 本来学生加入的课程是和教务网同步的,但我们的就通过管理员创建教学班,并添加老师助教和学生了
  • 学生可以查看自己加入的课程的任意信息
  • 学生登录后进入的用户主页应当效仿学在浙大,左侧是用户功能列表的链接按钮(包括个人基本信息,个人设置,个人资料,个人论坛),中间是通知列表(提供链接),右侧是所有进行中的教学班列表和待完成的作业列表。
  • 学生可以查看所有自己加入的课程(包括已经结束的,正在进行的,未开课的等等)。课程列表界面应提供筛选功能。
  • 学生可以查看自己上传过的所有资源,资源列表界面也应当提供筛选功能。
  • 学生可以查看与自己相关的论坛,即帖子列表,分两类帖子,包括自己发起的和回答他人的。
  • 学生可以针对平台的使用、美观等方面进行留言反馈。
  • 学生可以查看已加入的某门课程的具体信息,包括课程章节、与该课程有关的通知列表、与该课程有关的所有资料、与该课程有关的作业、与该课程有关的测试、与该课程有关的实验、与该课程有关的论坛、在该课程的分组情况和目前已获得的成绩。学生对该课程仅有查看下载资料、查看提交作业测试实验、查看发布新帖、查看成绩通知和章节的权限。
1.1.2 教师(在学生账号的基础上)
  • 教师可以更新课程章节目录、发布所授课程的资料并设置下载权限、发布作业测试和实验(同时系统应当通知学生)、发布新通知、发表回复帖子和批改作业、测试并公布分数等。
  • 对于课程章节,教师可以设置visible to students的时间。并且可以根据教师的个人需要设置是否前一个单元的内容学生掌握了之后,才允许进入下一个单元的情况。
  • 对于所有的课程资料(文档、音视频等),教师可以设置过期的时间或永不过期,也可以设置是否允许学生下载。
  • 对于所有的作业,教师应当提前设置好作业的占分比例以及截至时间,也可以针对个人需要设置超期提交的惩罚措施。(注意,作业批改的分数永远是百分制的,最后系统自动按比例折算),同时在教师布置作业时系统应当提醒教师当前已布置的作业的占分比。
  • 对于所有的测试,教师应当设置好各题的分数以及测试的起始时间和持续时间,并制定作弊判断机制(如退出全屏几次之外就算作弊)。
1.1.3 助教(以助教角色时,权限与教师一致,以学生角色时,权限与学生一致)
1.1.4 管理员
  • 可以增删改学生、教师和助教的账号,主要维护职工号、用户类型、姓名和所在院系。
  • 可以增删改课程信息。
  • 可以增删改教学班信息。
  • 可以增删改教师主页。

1.2 课程模块

课程模块比较简单,主要提供课程的基本信息。注意,在课程主页上应当提供授课组教师的联系方式、教师个人主页等友情链接。

1.2.1 公开课(所有人可以访问,即MOOC,并且不设置教学班)
  • 课程主页应当有课程名称、开课时间、授课教师、课程简介和课程大纲等基本信息。
  • 仅具有课程章节资料公开的功能,不提供作业、测试等交互式功能
1.2.2 仅供校内师生使用的课程
  • 课程主页同上。
  • 在课程主页上增加一个“加入课程”的按钮,并且当且仅当校内账号登录并且该账号确实加入了该课程才能进入相应的教学班主页。
1.2.3 教学班模块
  1. 教学班首页即章节列表(列表项分为5类,课件、资料、作业、实验、测试),对于列表中的每一项应当效仿学在浙大在右侧提供完成进度提示。同时每一项都应当能超链接到相应的网页。教学班首页应当提供教学班的授课教师、助教的详细联系方式,提供总体的学习进度状况和“继续学习”的按钮。章节列表顶部应当固定(fixed) 一条选项卡来实现教学班导航功能。
  2. 选项卡第二条是教学班所有资料(课件、章节资料、甚至作业资料)的列表,并提供筛选功能。
  3. 选项卡第三条是教学班的作业列表,提供筛选功能。列表的每一项应当包含作业名称、作业起止时间,作业类型(solo或者group),总分占比,是否提交,是否过期,批改后的分数以及提交按钮。
  4. 选项卡第四条是教学班的测试列表,提供筛选功能。列表的每一项应当包含测试起止时间、持续时间,题目数量,总分占比,是否提交,获得的成绩,是否过期,和参加测试的按钮。
  5. 选项卡的第五条是教学班的实验列表,提供筛选功能。列表功能与作业一致。
  6. 选项卡的第六条是与本教学班有关的论坛,提供筛选功能。如果是老师发起的或老师参与的帖子可以考虑标红或贴个“老师参与”的标签。
  7. 选项卡的第七条是分组情况(包括组号、小组成员、小组作业情况)。接着是小组作业的列表,列表功能与普通作业一致。
  8. 选项卡的第八条是查看成绩,可以查看当前总成绩、每项作业和测试的分数及其权重。提供筛选功能。

2. 整体界面、功能说明

  1. 首页可以考虑以1920*1080大小的轮播作为背景,在顶部提供所有课程的导航栏,中间或右侧提供登录按钮之类的。往下滑主要分两块,一块是精品推荐课程的Gird,一块是学校名师的Grid。最后底部应当包括logo、详细的联系方式、各种二维码和ICP、公网安备案号。(可以参考http://zjusdn.top
  2. 除了首页,所有网页的顶部导航栏都应当一模一样,并且提供搜索功能。导航栏项左侧名称包括logo(链接到首页)、课程列表(链接到所有课程的列表界面)、资源(链接到用户的所有资源界面,若没登录,则重定向到登录界面)、帮助(链接到帮助页面)。导航栏右侧项名称包括通知(即一个下拉菜单,显示最近的5条通知列表,有新通知时应当用一个红色徽章标注)、用户头像(即一个下拉菜单,菜单内包括我的课程、我的资源、我的论坛)。
  3. 除了首页,所有网页的底部footer也应当一模一样,包括开发团队名称、联系方式、邮编、地址等。
  4. 除了公开课程的所有网页、教师介绍、首页和所有课程的主页,其他所有网页均需要登录,如果用户想通过直接输入网址进入没有权限的页面,后端应当进行处理,全部重定向(redirect)到首页。
  5. 登录、注册页面应当尽量简约。

3. 技术说明

  1. 开发工具

    后端统一采用PyCharm Professional,前端随意,推荐WebStorm。

  2. 后端方面

    • 后端采用Django,请大家尽快熟悉Django的编程模式。我已经设置好了利用Django发送邮件的相关配置,大家直接网上找教程调用库发送邮件即可。关于Django的文件上传下载等功能网上都有资料。
    • 数据库使用MySQL,就不用Django自带的SQLite了,因此运行之前记得输入一条指令(应该是只要输一遍就行了):python manage.py migrate我在之前发在群里的项目框架的根目录里面有数据配置的文档(conf.txt),那是连接我服务器上数据库的配置,建议大家先改成连接自己的数据库。最后整合的时候再用服务器上的。
  3. 前端方面

    • 界面的风格应当统一、简约,我推荐的CSS是Bootstrap,当然大家如果有更好的CSS组件推荐都可以。(Bootstrap教程:https://www.runoob.com/bootstrap4/bootstrap4-tutorial.html
    • 在开发前端的过程中一定要注意响应式布局,响应式布局,响应式布局。
    • 前后端进行POST和GET数据交互的时候个人强烈推荐jQuery的AJAX,因为它可以做到在不刷新当前页面的情况下进行数据传输(得益于回调函数)。
    • 如果觉得网页上希望展示大段的文字并且有各种格式、样式甚至能插入公式、表格等等,强烈建议使用一款Markdown的JavaScript插件。而且只需将Markdown代码存入数据库中即可。网址:https://pandao.github.io/editor.md/
  4. 其他

    • 现在开发的主要目的是实现功能,安全等均不考虑。
    • 每周会议的时候会定期检查,需要各小组汇报当前开发进度。
    • 最终每小组的提交物就是在框架的基础上实现各自负责模块的功能。
    • 用户模块小组负责上述的用户模块部分,需要提供和规范的接口:记录用户登录状态、用户职工号、用户姓名、用户类型等的cookie。
    • 课程模块小组负责上述的课程模块、教学班模块的章节管理和资源管理部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值