吕文洁
摘 要:21世纪,在“互联网+”时代背景下,越来越多的人开始关注如何利用互联网技术、互联网平台与教育领域快速融合。所以,越来越多的教师需要充分利用教学软件的优势以提高教学质量和教学效果。而软件开发需求分析是教学软件开发成败的关键因素以及影响整个教学软件质量。因此,文章通过结合软件工程的原理和教学设计理论,从教学软件开发前期需求分析、开发中用户需求分析和推广应用中的用户需求分析这3个方面展开探讨教学软件开发需求分析流程,为做好开发教学软件的需求分析提供参考。
关键词:教学软件开发;需求分析;流程
软件需求分析既是软件开发期的第一个阶段,也是决定软件开发成败的关键环节。合理化、规范化、完整的软件需求分析可以减少软件开发成本、资源,避免在软件开发过程中带来不必要的麻烦,并且提高软件开发产品的质量。软件需求分析主要是要解决让用户和开发者在开发出什么样的系统上达成一致的问题,以便于软件开发的顺利进行。软件需求分析主要有两个重要的任务:(1)通过对问题及其环境的理解、分析和综合,建立分析模型,即它能够反映整个软件在其生命周期中开发、运行、维护等一系列工作的结构框架。(2)在完全弄清用户对软件系統的准确需求的基础上,撰写软件需求规格说明书即SRS,通过SRS把用户的需求清楚地呈现出来。因此,为了提高教学软件的开发质量,需要运用一定的教学设计理论和学习理论指导教学软件的开发,并且运用完整的、合理的、规范化的教学软件需求分析流程进行需求分析,以保证开发出来的教学软件的适用性和有效性[1]。
1 教学软件开发需求分析流程
教学软件需求分析是教学软件开发成败的关键环节,同时也是决定教学软件质量的基础,而完整的、合理的、规范的教学软件需求分析流程在一定程度上决定需求分析的效果和质量。本文探讨的教学软件需求分析包括前期需求分析、开发中用户需求分析和推广应用中的用户需求分析这3个方面。
1.1 前期需求分析
首先,应该把教学软件看作是一个产品来开发,因为软件的前期需求分析在教学软件开发的过程中起着举足轻重的作用。教学软件的前期需求分析任务是通过对教育需求分析、已有产品现状分析、开发的必要性分析和开发的可行性分析这4个方面进行分析,进而确定教学软件产品总目标。前期需求分析的实施应采用以问题为导向的需求分析方法,即用户期望教学软件能够解决的教学问题和教学理论能够解决的问题进行分析,相关开发人员通过对教育需求分析、已有产品现状分析、开发的必要性分析和开发的可行性分析这4个方面进行分析得出的总目标之后,就需要以“解决教学中的实际问题”为出发点,以保证教学软件的实用性和科学性。那么开发人员需要得出教学软件的总体目标,需要对教育需求分析、已有产品现状分析、开发的必要性分析和开发的可行性分析,其具体分析如图1所示。
1.1.1 教育需求分析
首先需求分析人员应该查阅相关领域的文献资料,了解该领域的发展现状、存在的问题以及发展趋势,同时分析教育政策和访谈专家及专业人员获取社会对该领域的发展期望,并对它们进行分析。其次,在此基础上向用户(教师)进行访谈,了解他们对教学软件开发的需求和教学现状,以及期望教学软件能够解决的实际性教学问题。最后,根据上面分析的信息总结出教学软件产品需要解决的具体问题。
1.1.2 对已有产品进行现状分析
需求分析人员应该通过市场调查,了解目前有哪些同类教学软件产品,并且这些教学软件产品都有哪些功能已经被开发,已经解决哪些教学问题,还有哪些问题尚未解决,避免功能重复开发。另外,也要收集教师对使用这些同类教学软件的意见和建议,最后总结出对该教学软件开发的期望。
1.1.3 开发的必要性分析
需求分析人员需要对教育需求和已有的同类产品现状进行分析来确定是否有必要开发该教学软件。
1.1.4 开发的可行性分析
需求分析人员应该分析该教学软件是否能够真正实现预期开发的目标,是否存在技术问题无法解决,并且还要全面考虑到资源、经费、风险性等问题的分析。这对教学软件的开发会产生一定的影响。
综上所述,前期需求分析是一个教学软件产品开发的基础性工作,不可忽视它的重要性,如果没有做好前期需求分析,将会影响后面工作的开展,比如经费、资源、人力等。而做好前期需求分析可以有效减少资源浪费,并且能达到预期的效果。因此,需求分析人要特别重视教学软件的前期需求分析,有助于教学软件的开发和推广应用。
1.2 开发中用户需求分析
在对教学软件需求分析的过程中,应该重视与其他软件不同的是教学软件具有独特的教学特性,需要注重将教学理论运用到教学软件的开发过程中,这样才能保证开发出来的教学软件符合教学规律和教学需求。教学软件的特殊性主要体现在以下几个方面。
(1)学科专家必须参与到教学软件的需求分析中,为教学软件开发提供教学特征指导。因为他们了解学科领域的发展方向和趋势,可以审定教学软件的最终产品,使教学软件的最终产品符合教学规律和教学需求的发展。
(2)利用原型法进行分析,做到把教学理论指导教学软件的设计,使其在教学软件功能上体现出来,主要是将教学理论融入原型设计中去。
(3)要对用户(教师)的教学活动进行分析,教学软件需求分析应重点放在对用户教学活动的具体分析,并且将教学活动所需要的功能抽象化,这样设计出来的教学软件才能解决教学实际中遇到的问题。
那么根据软件工程的原理、思想,其用户需求包括4个方面,分别为需求获取、需求提炼;分析建模、需求描述;编写SRS和需求验证。其实施流程如图2所示。
1.2.1 需求获取、归纳
(1)教学软件需求获取和归纳需要从资料收集、用户访谈、问卷调查、观察实习和现有的同类教学软件研究这5个方面进行获取和归纳。
资料收集主要是指查阅教学软件的相关材料、信息,并对其进行整理,包括关于教学软件的专业术语概念、相关学科领域知识等。用户访谈是指通過和用户面对面访谈了解他们对产品的需求,介绍教学活动过程,以及教学问题和对已有的同类产品提出意见和建议。需求分析人尽快理解用户的需求,并把自己的理解再次跟用户核对,确保需求的准确性。问卷调查是一种经济实用的调查方法,同时也是作为访谈的一种补充形式,它可以调查来自不同地方用户的信息,是一种比较适合收集用户信息的方式。观察实习主要是作为访谈和问卷调查的一种补充,目的是获取更完整的、全面的信息。对现有同类教学软件的研究主要是发现现有教学系统存在的问题以及变更系统需求,以便开发出更好的教学软件。
(2)需求标识分类。
为了收集到全面完整的信息,需将用户按使用频率、使用特性、优先级等方面进行分类,每类选择若干用户代表,从代表那里收集他们希望的软件系统功能、用户与系统间的交互和对话方式等需求。在确定功能需求之后,还需考虑对质量的要求,包括性能、有效性、可靠性和可用性等,提高用户对软件的满意程度[2]。
1.2.2 需求分析讨论及分析建模
用户和系统开发者都需要参与到教学软件需求分析和讨论的过程中,系统开发者在理解用户需求的基础上需要再次和用户确认,保证教学软件需求的准确性。另外,要构建分析模型,可以通过构建数流图、实体关系图、控制流图、状态转换图、用例图等图形化的分析模型,因为这些分析模型是说明软件需求极好的手段。
1.2.3 需求描述:编写SRS
软件需求规格说明书是开发软件前必须要完成的工作,也是开发软件的基础。软件需求规格说明书必须用统一格式的文档进行描述。比如在国际标准830-1998(IEEE-1998)中和中国国家推荐性标准GB 9385中描述的SRS模板[2]。其主要内容包括引言(目的、文档格式、产品范围等)、综合描述(产品前景、系统功能图、用例图、运行环境等)、系统特性等方面的内容。并且注意标明功能需求的来源,方便对需求进行跟踪和需求变更。
1.2.4 原型需求验证
原型需求验证就是把开发出来的原型交给用户和专家进行验证,但是在验证之前会让开发小组的内部成员对原型进行验证,找出其比较明显的错误并进行纠正,直到达到用户的需求标准。接着让用户和专家对该原型进行验证,并且根据用户和专家提出来的反馈和修改意见对原型进一步完善。
1.3 推广应用中的用户需求分析
在开发出来的教学软件得到推广应用之后,随着教学环境的不断变化,教师对教学软件的需求也会发生变化,并产生新的需求,因此,需要开发团队对教学软件的使用情况进行定期或不定期追踪。那么为了满足教师对教学软件的需求,在用户的需求达到一定的程度时,应及时对教学软件进行更新换代[3-4]。
2 结语
综上所述,需求分析是教学软件开发的关键环节,而需求分析需要规范化、合理化和完整的流程,这样才能有效地做好教学软件需求分析,开发出能够解决教学过程中遇到的实际性问题,同时也有利于提高教学质量和教学效果。
[参考文献]
[1]钟明霞,姜柏军.工作项目导向的迭代式教学模式研究与实践[J]. 计算机时代,2013(9):52-53.
[2]史济民,顾春华,李昌武,等.软件工程—原理、方法与应用[M].2版.北京:高等教育出版社,2002.
[3]戚帅,梅斌.浅谈软件开发流程及实践[J].邮电设计技术,2015(12):24-28.
[4]张露凝.软件需求分析模型[D].上海:东华大学,2008.