点击查看 软件需求工程 高校教学平台 卷首语
文章目录
引言编写目的项目背景预期的读者和阅读建议预期读者阅读建议参考资料总体描述产品基本信息产品前景用户类及其特征产品功能概述用户管理功能模块首页导航搜索及帮助反馈功能模块课程信息功能模块公共信息功能模块资源管理功能模块助教管理功能模块作业功能模块实验功能模块测试及成绩评定功能模块论坛功能模块通知功能模块设计和实现上的约束数据存储网络服务吞吐数据安全假设和依赖开发、测试和运行环境开发环境测试环境运行环境用户文档描述类文档过程类文档参考类文档产品开发项目设计人员系统需求分析概述需求优先级分析系统模块架构图用例图功能需求用户游客注册用户登录用户找回密码用户修改密码用户注销用户查看个人基本信息用户修改(设置)个人信息用户查看教师个人主页用户查看课程介绍用户筛选课程用户查看友情链接用户进行全站搜索用户查看帮助(用户手册)用户反馈使用体验或建议用户查看平台主页管理员管理员添加新学生管理员添加新教师管理员添加教师个人主页管理员修改教师个人主页管理员添加课程基本信息管理员修改课程基本信息管理员添加教学班管理员修改教学班管理员修改考试成绩管理员导出考试成绩教师(助教)教师添加助教教师(助教)增添教学班章节教师(助教)删除教学班章节教师(助教)上传教学班资料教师(助教)删除教学班资料教师(助教)查看教学班成绩教师(助教)修改教学班成绩教师(助教)设置平时与期末成绩占比教师(助教)添加教学班作业教师(助教)修改设置教学班作业教师(助教)删除教学班作业引言
编写目的
本软件需求规格说明书对高校教学平台作了具体详细的用户需求分析。
本文档的目的是详细地介绍高校教学平台所包含的需求,以便用户能够确认产品的确切需求以及开发人员能够根据需求设计编码,以下叙述将结合文字描述,时序图,流程图,界面原型以及类图等尽可能地通过高校教学平台预期的外部行为和用户可视化行为完整地描述高校教学平台教学系统的功能,性能,用户界面,运行环境,外部接口以及针对用户操作给出的各种响应。
本文档的预期读者有用户(包括在校学生、教师、助教、管理员以及外校游客等),项目经理,开发人员以及跟该项目相关的其他竞争人员和无关人员。
项目背景
本项目开发的软件为一个高校教学平台。
自21世纪,我们的生活就全面的迈入了全新的信息化时代,教育行业也不例外,逐渐的信息技术开始成为教学与学习的重要工具,从初期的投影仪、电脑教室逐渐发展至互动课堂、在线教育。信息技术日益融入教与学的过程,开始引发教学方式和学习方式的深刻变革。华秦教育表示随着教育信息化的大浪潮下,教育信息化将会越来越深刻的影响到教育的发展,势必影响教育变革。
在发生的新冠疫情更是将在线教学成为教学的刚性需求。在线教学平台需要让老师和学生在线上进行高效率、高质量的教学、学习和交流等活动。
在这一大背景下,教学、学习、交流网站应运而生。超文本特性可实现对教学信息最有效的组织与管理。网络化的学习有利于充分实现交互与共享,有利于激发学生的学习兴趣和充分体现学习主体作用,有利于培养学习者的信息素养和信息能力。另一方面教师利用教学、学习、交流网站可以充分发挥网络特性,对学生,教学进行更为有效的管理,同时也有了更为便利的信息发布手段。
预期的读者和阅读建议
软件需求规格说明书的主要内容分为总体描述、系统需求分析概述、功能需求、数据流图、外部接口需求、非功能性需求、数据字典、业务规则与业务算法以及附录这些部分。
预期读者
项目经理:项目经理可以根据本文档了解预期产品的功能,并据此进行项目管理,项目规划
设计人员:设计人员可以根据本文档对需求进行分析,并设计出系统和数据库等
开发人员:开发人员可以根据本文档配合《设计报告》,了解系统功能,编写《用户手册》
测试人员:测试人员可以根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试
销售人员:销售人员可以根据本文档了解预期产品的功能和性能
用户:用户可以根据本文档了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商
其他人员:其他人员,如部门领导、公司领导等可以根据本文档了解产品的功能和性能
阅读建议
总体描述部分详细介绍了产品的基本信息、前景、用户类及特征、设计和实现上的约束、假设和依赖、开发测试和运行环境等。
系统需求分析概述部分对系统的主要用例进行了一个需求优先级分析并给出了整个系统的模块架构图。
功能需求部分针对不同的用户类型对需求做了详细的分析,并给出了用例的时序图,这是本软件需求规格说明书的主要部分。
数据流图部分对每个子系统的逻辑流向做了图形化的表达。
外部接口需求部分对硬件接口、软件接口和通信接口等进行了描述。
非功能性需求部分对非功能需求进行了详细的描述。
数据字典部分对于系统的数据流定义、数据元素定义和数据精度做了详细的描述。
业务规则与业务算法部分详细列举了系统的操作规则以及算法。附录部分主要是一些术语的定义以及一个待确认问题的清单。
参考资料
Early Approach to Software Engineering, Pallavi Gore, Kritika Saxena.
Practical File of Software Engineering and Testing Laboratory, Aakash Raj.
Software Engineering, Principles and Practice, 3rd Edition, Hans van Vliet.
Program Manager’s Guidebook for Software Assurance, Dr. Kenneth E. Nidiffer,
Timothy A. Chick, Dr. Carol Woody.
Experimentation in Software Engineering, Claes Wohlin, Per Runeson, Martin
Host, Magnus C. Ohlsson, Bjorn Regnell, Anders Wesslen.
IEEE Computer Society/Software Engineering Institute Software Process
Achievement (SPA) Award , Satyendra Kumar, Ramakrishnan M.
Michael Felderer, Wilhelm Hasselbring, Rick Rabiser, Reiner Jung: Software
Engineering , Fachtagung des GI-Fachbereichs Softwaretechnik, 24.-28.
Februar , Innsbruck, Austria. LNI P-300, Gesellschaft für Informatik
e.V. , ISBN 978-3-88579-694-7.
Regina Hebig, Robert Heinrich: Combined Proceedings of the Workshops at
Software Engineering Co-located with the German Software Engineering
Conference (SE ), Innsbruck, Österreich, March 05, . CEUR
Workshop Proceedings 2581, CEUR- .
Steffen Becker, Ivan Bogicevic, Georg Herzwurm, Stefan Wagner: Software
Engineering and Software Management, SE/SWM , Stuttgart, Germany,
February 18-22, . LNI P-292, GI , ISBN 978-3-88579-686-2.
Stephan Krusche, Kurt Schneider, Marco Kuhrmann, Robert Heinrich, Reiner
Jung, Marco Konersmann, Eric Schmieders, Steffen Helke, Ina Schaefer,
Andreas Vogelsang, Björn Annighöfer, Andreas Schweiger, Marina Reich, André
van Hoorn: Proceedings of the Workshops of the Software Engineering
Conference , Stuttgart, Germany, February 19, . CEUR Workshop
Proceedings 2308, CEUR- .
Peter Liggesmeyer, Gregor Engels, Jürgen Münch, Jörg Dörr, Norman Riegel:
Software Engineering : Fachtagung des GI-Fachbereichs Softwaretechnik
02.-06.03. in Kaiserslautern. LNI P-143, GI , ISBN
978-3-88579-237-6.
Jürgen Münch, Peter Liggesmeyer: Software Engineering - Workshopband,
Fachtagung des GI-Fachbereichs Softwaretechnik 02.-06.03. in
Kaiserslautern. LNI P-150, GI , ISBN 978-3-88579-244-4.
《软件工程——实践者的研究方法》,Roger S.Pressman,机械工业出版社
《软件需求(第三版)》,Karl Wiegers,Joy Beatty,清华大学出版社
《计算机软件产品开发文件编制指南》(GB 8567-88)
Information Technology Project Management, Second Edition, Kathy Schwalbe,
Course Technology.
Successful Project Management, Gido, J. and Clements, J. South-Western
Publishing.
On Time and Within Budget: Software Project Management Practices and
Techniques, 3rd Edition, Bennatan, E., Wiley.
Software Project Management: A Unified Framework, Walker Royce,
Addison-Wesley.
IS Project Management Handbook, Doss, G., Prentice Hall.
CMMI: Guidelines for Process Integration and Product ImprovementMary Beth
Chrissis, Mike Konrad, Sandy Shrum.
CMMI® Distilled: A Practical Introduction to Integrated Process Improvement,
Second Edition, By Dennis M. Ahern, Aaron Clouse, Richard Turner.
CMMI® SCAMPI Distilled Appraisals for Process Improvement, By Dennis M.
Ahern, Jim Armstrong, Aaron Clouse, Jack R. Ferguson, Will Hayes, Kenneth E.
Nidiffer.
军用软件能力成熟度模型可重复级实施指南,石柱,中国标准出版社
战略管理(原书第6版),Greey Johnson & Kevan Scholes,王军等译,人民邮电出版社
复杂产品系统创新管理,陈劲,科学出版社
Product Management,4thedition,Donald R. Lehmann & Russell S.
Winer,McGraw-Hill Companies,Inc.
基于ITIL®的IT服务管理基础篇,Jan van Bon,章斌译,清华大学出版社
创新管理-获取持续竞争优势,宁钟,机械工业出版社
软件编档导论,金波,清华大学出版社
计算机软件工程规范国家标准汇编,中国标准出版社
《“软件需求工程”教学安排 2026》
《[G25]“高校教学平台”项目可行性报告》
《[G25]“高校教学平台”项目章程》
《[G25]“高校教学平台”项目计划》
《[G25]“高校教学平台”需求工程计划》
《[G25]“高校教学平台”前景与范围》
《[G25]“高校教学平台”质量保证计划》
总体描述
产品基本信息
产品名称G25
高校教学平台
项目提出者
浙江大学计算机科学与技术学院 软件工程管理课程任课教师 金波、邵健
浙江大学计算机科学与技术学院 软件需求工程课程任课教师 邢卫、林海
开发团队
浙江大学软件工程管理、软件需求工程课程第25小组
项目面向用户
中国高校教师、助教、学生、校外用户、系统管理员
主要功能
用户模块
用户信息管理、教师信息管理、教师个人主页展示
课程模块
课程信息管理
教学班模块
教学班信息管理、作业系统、考试与测试系统、资源管理系统、通知发布系统、课程论坛
使用指南、友情链接等
运行性能能够支持至少500名用户并发访问,数据库对数据的支持应当满足至少100名教师,100门课程和200个教学班级,资料传输能力满足100人同时上传/下载且平均速度超过500KB/s。
完成期限1月12日,冬学期第八周项目展示前。
产品前景
网络化的教务系统在各个高校中已被普遍接受和使用,但教学系统的各个环节却没有良好的发展状况。建立面向全日制高校的教学平台,已成为信息技术在高等教育领域应用中的重要需求。使用信息化的教学平台,能够为教学的多个环节提供帮助与便利。对于教师来说,可以在平台上进行课件的分享与作业的布置、收集、批改以及测试的发布。对于学生来说,平台提供的教学资源能让学生方便的获取学习资料,并进行课程讨论。除此之外,平台还能为学生选课、教师知名度推广提供帮助。学生可以通过平台简单地了解课程要求,课程任务以及简单的课程介绍,并在了解这些信息后更好地选择是否修读该课程。平台也可以对新开设的课程做出推荐与介绍,提高这些新课程与开课教师的知名度。
使用教学系统开展部分教学活动,能更大的发挥教学平台作为教学辅助工具的作用。使用信息系统辅助、推进教学过程的实施,提高教学效率、降低教学成本、改善教学管理,并使优质教育资源通达更多的学生和受众,是建设教学平台的初衷。现在许多在线慕课网站虽然也有类似的想法,但是它们离真正的校内教学平台还有一定距离。尤其是在全球爆发新冠疫情的突发情况下,在线教学平台成为了一种刚性需求,从使用的广度和深度上考虑,需要支持例如多个平行班上课的多种教学场景和需求,考虑支持教师、学生、游客、助教等多种用户角色。建立并使用面向全日制高校的教学平台,势必会对给高校教学提供巨大的帮助。
综上所述,通过这样的高校教学平台,学生和教师可以获取到更便捷、更高质量的教学信息服务,这也将极大地带动教学方式的升级和教学模式的改革,成为未来高校信息化体系建设中至关重要的一环。
用户类及其特征
在G25高校教学系统项目的开发中,我们将产品的使用方确认为五个用户类,分别为教师、助教、学生、游客以及管理员,针对每一类用户的不同需求、权限、包含关系等信息,列举出了其主要特征以及对应的补充说明,其中对于以上五类用户,由于其在系统认证上具有一定的共同特征与需求,因此以下我们将其共性部分统一视作“用户”类,并进行阐释,具体内容见下表。
表2-1 用户类及其特征
产品功能概述
按照产品的功能一共被分为四大模块:用户管理模块、课程信息模块、教学班模块、网站维护模块(主要包括友情链接、用户反馈等)。
本产品主要涉及管理员、学生、教师、助教和游客这五个用户类。
表2-2 产品功能模块与可能涉及到的用户类
每个模块又可以分为诸多小模块,主要涉及以下11个核心功能。
用户管理功能模块
表2-3 用户管理功能模块首页导航搜索及帮助反馈功能模块
对于教师、学生、助教、管理员、游客等用户,可以通过网页的顶部导航栏链接跳转到首页、课程列表、资源、帮助等页面,并提供搜索功能。
导航栏右侧通知显示最近的5条通知列表和用户头像,下拉菜单可跳转到我的课程、我的资源、我的论坛。
同时用户如果对系统有什么意见和建议,可以点击导航栏中的“反馈”按钮,输入相关反馈信息,将使用的体验进行反馈。
课程信息功能模块
对于教师、学生、助教、管理员、游客等用户,可以选择筛选条件(课程所属专业、课程是否为学校专有课程等)来搜索符合条件的课程信息。
点击特定课程进入课程页面后,可以查看课程的基本信息(开课时间、所属院系、课程类别等)、授课团队、课程简介、课程大纲等信息。
公共信息功能模块
公共信息即对校外游客开放的网页信息,主要包括:公开课程的所有信息(课程简介、课程章节、课程资源等)、所有教师的个人主页(包括基本信息、学位职位、所授课程、研究方向与成果等)、所有课程的课程首页(即课程基本信息:开课时间、所属院系、课程类别等)。
资源管理功能模块
对于教师、助教两种用户,可以上传和删除与课程或作业相关的资料并且可以设置资料的下载权限同时组织对资料的管理。
对于学生用户,仅在提交作业、实验时可以提交相关的资料。
助教管理功能模块
对于助教用户,在担任助教的课程内,拥有与教师同样的权限。
同时助教用户可以由授课教师自行添加。
作业功能模块
对于教师、助教两种用户,可以增添、修改或删除相应的作业。每项作业都有明确的开始和截至时间、是否为个人作业和作业分数在总成绩中所占百分比等,也可以为作业上传相应的文件资料。教师、助教可以查看已布置的作业列表,并查看学生的提交情况与数量。其中查看作业列表时可以按照作业的布置时间、开始时间和截至时间进行排序。在作业发布之后的任何时间内教师都可以在线批改学生的作业、写评语并公布分数。
对于学生用户,在作业截至时间之前可以反复查看作业详情、反复提交作业。每次提交作业都会覆盖之前的版本,但是当老师评分后不能再次提交。提交作业时不仅可以输入与作业相关的文字回答,也可以上传文件资料作为附件。作业截至日期过后学生不能再提交作业,系统会自动给出0分,并且在本教学班的作业列表内显示该作业的状态为未提交。教师、助教打分后,学生可以通过查看作业提交详情查看所获分数与评语。
实验功能模块
对于教师、助教两种用户,可以增添、修改或删除相应的实验。教师、助教布置实验时可以提供一个在线仿真实验的链接,也可以直接引用导入本系统提供的在线实验系统。每项实验都有明确的开始和截至时间、是否为个人实验和实验分数在总成绩中所占百分比等,也可以为实验上传相应的文件资料。教师、助教可以查看已布置的实验列表,并查看学生的提交情况与数量。其中查看实验列表时可以按照实验的布置时间、开始时间和截至时间进行排序。在实验发布之后的任何时间内教师都可以在线批改学生的实验、写评语并公布分数。
对于学生用户,在实验截至时间之前可以反复查看实验详情、反复提交实验。每次提交实验都会覆盖之前的版本,但是当老师评分后不能再次提交。提交实验时不仅可以输入与实验相关的文字回答,也可以上传文件资料作为附件。实验截至日期过后学生不能再提交实验,系统会自动给出0分,并且在本教学班的实验列表内显示该实验的状态为未提交。教师、助教打分后,学生可以通过查看实验提交详情查看所获分数与评语。
测试及成绩评定功能模块
对于管理员,可以导出、修改某门课程的考试成绩。
对于学生,可以查看自己的成绩,包括测试、作业两大成绩。学生应当在规定的时间内完成测试并提交,如果有任何作弊行为(以教师规定的测试途中允许退出全屏的最大次数为判断标准),应当以0分处理。任何测试均只有一次提交机会。在学生开始答题前,测试的详情页面会显示测试的详细信息(起止时间、持续时间、测试得分所占百分比、测试题型概况、测试途中允许退出全屏的次数)以提醒学生,并且通过弹框让学生确认已经知晓了该测试的须知内容。
对于教师和助教,可以增加、修改或删除题目(题目共4种类型:判断题、单选题、多选题、填空题,教师、助教需要在添加题目时输入题目的内容和参考答案等)。教师、助教在添加测试时可以从自己的题库中选择已添加的题目拼成一张试卷来发布,并注明测试的起止时间、持续时间、分数所占百分比和测试途中允许退出全屏的最大次数。同时可以查看学生各作业、测试的得分状况。
论坛功能模块
对于加入某教学班内的所有用户,均可以进入该教学班的论坛页面发布或删除自己的帖子,需要输入帖子标题、内容等相关信息。在教学班论坛页面会展示该教学班的所有根帖子列表,用户可以点击帖子的名称进入回复该帖子的所有帖子列表。用户可以任意查看这些帖子并发表回复。
教师、助教用户唯一与学生不同的是,只要是教师、助教回复或发表的帖子,都会在帖子前面用红色标注“教师、助教参与”以便学生查找。
通知功能模块
对于教师可以点击进入某教学班的通知区,输入通知的主题和内容进行发布。教师可以查看
、 编辑和修改相关已经发布的通知 。
对于学生,可以 点击进入某门课程的通知区查看所有的通知内容 。
设计和实现上的约束
总体来说,本高校教学平台的设计与实现遵照之前完成的文档报告(共以下六项)进行:
在具体设计和实现上,按照以下约束进行。
数据存储
利用统一的数据库,将数据导入数据库进行数据存储。
采用的数据库:MySQL
流程:数据产生-> 数据转换 -> 数据存储
网络服务吞吐
提供一定网络服务吞吐量的对外服务的能力。
吞吐数量:确保同时为至少 10000 名用户提供服务的能力。
数据安全
为确保经过网络传输和交换的数据不会发生增加、修改、丢失和泄露等,我们需要确保数据的可用性、完整性和保密性。
表2-4 数据安全
假设和依赖
表2-5 假设和依赖开发、测试和运行环境
开发环境
Windows10 Pro操作系统
PyCharm + Django + Bootstrap + jQuery + MySQL
Linux Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-31-generic x86_64)
测试环境
联网的PC、阿里云服务器、相关开源测试工具(如Apache JMeter)运行环境
联网的PC
浏览器:Chrome, Firefox, Microsoft Edge, Safari
用户文档
用户文档是软件开发人员为软件用户了解、使用、操作和维护等提供的详细资料。用户文档的编制需要一下几个要求:
描述规范准确:需要对用户有较强的实用和指导意义,用词准确、规范、统一;
叙述简练生动:由于用户文档的阅读对象是普通非计算机专业人员,因此需要简洁精炼,少专业术语,力求图文并茂,方便用户学习、理解和掌握实用方法。
内容完整:应覆盖软件整体结构、功能、安装、运行和操作的相关知识,并组织成有系统性、层次性的文档。
本高校教学平台中的用户文档主要帮助用户可以了解本平台并快速上手,并在遇到实际问题时通过文档查阅快速解决问题。
我们将用户文档分为三类,分别进行说明。
描述类文档
目的:帮助用户概括性地了解本高校教学平台具备的功能及其使用方法。
内容:功能、属性、接口、特性。
过程类文档
目的:引导用户在第一次使用系统时的操作。
内容:通过用户在第一次登录系统时以及第一次使用某种功能的引导式教学。
参考类文档
目的:帮助用户解决问题,指导某具体功能的详细操作细节。
内容:可能遇到的问题及其解决方式,各功能的细节操作流程。
产品开发项目设计人员
表2-1 项目开发角色分配系统需求分析概述
根据产品功能概述我们划分了系统的模块 并从每个模块中挑选出了必要的需求作为用例进行分析。本部分我们将对这些需求进行优先级分析并给出系统模块架构图。
需求优先级分析
本需求优先级分析模块依据风险价值四象限矩阵进行评级,即按照表3-1所示四象限对需求进行优先级分类。
表3-1 需求优先级风险-价值矩阵
考虑到实际情况的限制,以下估算仅作为策略性指导,随着项目的进行可能会进行调整。特别说明,由于存在一些共性的用户行为,我们特别使用“用户”这一名称来包括教师、助教、学生、游客以及管理员这五类用户,它们的共同特征与需求都在“用户”这一用户类中阐述。具体的优先级分析如表3-2所示。
表3-2 用例的需求优先级分析
系统模块架构图
图3-1 高校教学平台模块架构用例图
图3-2 用例图功能需求
本部分以用户类为区分对每个功能需求用例做了详细的描述并给出了时序图。 特别说明,由于存在一些共性的用户行为,我们特别使用“用户”这一用户类来包括教师、助教、学生、游客以及管理员这五类用户的组合,它们的共同特征与需求都在“用户”这一用户类中阐述。