软件开发项目质量控制
某网络教学软件开发项目质量控制研究
摘要
网络教学是基于网络的一种创新性的教学手段,其在充分体现传统教学模式优点的同时,也创造了一种相对更新的教学模式,使其在各方面均对传统教学模式进行挑战。网络教学采用了较为领先的教学手段及理论,在一定程度上扩大了教育效率及教学效果,促使网络教学在一种创新模式和实践环境中迅速开展。但我国网络教学软件也面临着较大的教育质量问题,而对网络教学软件开发项目进行质量控制,是保障网络教学项目质量不断提高的一种有效机制。
本文立足于远程网络教育试点改革背景下,以教育质量控制为切入点,通过以网络教学软件为个案分析,对远程网络教学件开发项目质量控制问题进行了系统和深入的研究。首先,分析了项目管理以及项目质量控制的理论基础;其次,结合了软件工程中软件生命周期理论,以ISO 9001以及CMM软件成熟度模型中软件质量控制方法为依据,将软件质量控制贯穿到软件的整个生命周期,构建出了一套全新的网络教学软件开发项目的质量控制方案;最后,本研究所构建的软件质量控制模型具有较强的针对性,它对我国其他远程网络教学软件平台开发有着实际的指导作用。
关键词:网络教学软件;生命周期理论;质量控制
I
第一章 绪论
1.1研究背景及意义
1.1.1研究背景
随着时代的不断发展,师生间的教学模式也在不断变革,现代教育的网络化、数字化的特点正在日益凸显,网络教学也就成为应时代要求的重要教学手段之
一。全国各教育机构已经纷纷拥有了属于自己专门的网络教学平台,当然,有的是教育机构自行组织技术人员开发的,也有通过专业的技术公司开发的,更有组织学术人才与技术公司联合开发的。无论怎样,从各种研究和开发的结果看来,我国的网络教学软件建设已经进入了一个全新的发展阶段,主要体现在以下方面:一是网络教学的环境已经逐步形成了规模。在时代发展和技术创新的双重作用下,我国网络应用面正在大幅度提高,技术水平也明显提升。我国大多数网络教学平台都能提供教师答疑、网上查询、批改作业等学习服务,不仅增进了学习者的学习效果,更加强了教师与学习者之间的互动,使我国利用网络的学习,建立网络教学平台走入了新的发展阶段。二是适合自主学习的网络教学平台正在完善和丰富。现阶段,众多网络教育机构利用网上自主学习模式开展教学工作,一些学校在利用传统教学的同时,也积极鼓励学生利用网上来开展自主学习,如学生网上提交作业、学生学习和自我测试的管理、网上选择兴趣课程等等。这些功能的应用,使网络教学不仅能够发挥信息技术在组织和管理方面的优势,还能发挥信息技术在知识传播方面交互性强、准确、快捷、易于存储等优势,为网络教学不断提高质量和扩大开放度创造了条件。
但是网络教学软件资源状况就如同学校师资一般重要,各网络教育机构在网络教育资源质量管理、网络教育平台稳定性方面的竞争日益激烈。我国网络教育软件开发过程中依然存在众多问题,归结以下方面:第一,软件开发小组成员主要包括管理者、主讲教师和媒体技术人员,大多缺乏教学设计人员和研究者且各成员之间缺乏协作和沟通,对网络教学软件开发进程关注不多有被调查者提出人员积极性调动方面急需改进;第二,在开发过程监控方面,多数网络教育机构通过中期审查实施监控,并没有对整个开发过程的进度跟踪、质量监督和成本监控,而且有的网络教育机构对网络教育软件的建设情况从未进行过评估;第三,在开发过程的具体环节方面,常忽略学习者特征分析和课程试用等环节,这也反映出网络教育软件开发的整体规划和评价反馈不到位。
良好的组织架构和有效的管理方法是网络教育软件开发的基础,科学有效的
1
管理方法则能提高软件开发过程的管理效率及工作绩效。网络教学软件平台开发是在一定的资源包括人员、教学资源、时间、投入等的约束下,为创造独特的远程教育产品和服务而进行的一系列活动,具有鲜明的项目特征。而项目管理是在项目活动中系统使用管理方法和工具进行的科学化和规范化管理。项目管理强调目标的实现和产品的质量,采用团队化工作模式,并体现“以人为本”的观念,其成功的评价标准包括时间、成本、范围、质量和资源五个方面。这些都与网络教育软件开发目标、理念相一致。因此,本文结合项目管理理论对网络教育软件开发项目质量控制进行研究,对规范与完善网络教育软件开发过程的质量控制提供有效的方法指导。
1.1.2研究意义
1.1.2.1理论意义
网络教学的质量水平是网络教学顺利开展的关键。网络教学机构在有限的时间、资源条件下开发出高质量、高水平的网络教学资料,其在开发过程中将面临过程监控、时间管理、人力资源管理和成本管理等管理内容。本研究将项目管理理论系统引入网络教学软件开发过程,增强了网络教学软件开发实践者对网络教学开发项目管理的认识,充实了网络教学资源开发的理论。项目管理理论的引入将有效促进网络教学软件开发过程的规范化和科学化,同时丰富项目管理理论的应用具有一定的理论意义。
1.1.2.2现实意义
本项目以南京天天作业网为例,对网络教学软件开发项目质量控制进行研究,检验并完善了基于项目管理理论的网络教学软件开发的质量控制,形成了丰富详尽的项目文档资料,可供网络教育机构的网络教学开发实践者参考。此外,本研究基于理论分析和实践概括提炼出的网络教学软件资料,对规范和完善网络教学软件开发流程,有效开展网络教学软件开发的过程质量控制,促进专业、高效的开发团队的形成,确保网络教学任务按时、按质量完成提供了具体的方法指导,对网络教学软件的开发及管理具有重要的现实意义。
1.2国内外研究现状
1.2.1国外研究现状
依照美国项目管理学会的统计分析,随着信息技术、网络技术等新兴技术行业的高速发展,项目管理理论早已广泛运用于这些新兴技术中,经过数年的不断 2
发展,国外众多专家或学者在软件开发项目质量控制方面进行了普遍的研究。
在软件开发过程的质量控制方面,软件度量学与戴明理论最为有名。软件度量学的目的主要在于针对软件质量进行控制与改善,其强调在软件开发项目中,对软件产品的数据定义、收集以及持续分析的定量过程。而PDCA循环是管理学中的一个通用模型,由美国休哈特博士首先提出。美国质量管理专家戴明博士(1950)再次挖掘、宣传,并全面应用于持续改善产品质量的过程中,从而也叫戴明环,PDCA循环主要包括四个步骤:计划、执行、检查、处理,并且是不断循环的进行。从20世纪70年代起,国际上就己有很多专家学者着手研究软件度量学。Rubey、Hudrick(1970)在首次提出从整体上度量软件的观点,但对具体的度量方法和模型还未涉及。Halstead(1970)提出了软件度量学的概念,此后,Kerf 针对这一软件度量理论进行的延伸。Boehm(1976)提出软件质量模型的分层方案,认为软件属性要兼具定性和定量的研究。Maresca,Cantone(1986)结合软件质量模型,提出三维软件度量理念。现阶段,众多软件开发研究人员或从业人员已经提出的软件度量方法已经有上千种,用软件度量学的方法来科学地评估软件质量,可以改进软件开发过程,促进项目成功,以获得高质量的软件产品。
在质量控制方法的研究中,坚固设计方法、系统分析法等是非常在软件项目管理开发中使用的。日本质量管理学家田口玄一认为软件质量是通过设计得到的,而非通过检查得到的,其并提出坚固设计方法。因而他指出,在整个软件开发项目的过程中,质量控制应从设计阶段开始,而并非仅仅依靠后期检查或者软件测试来提高软件质量。Weed(1971)等学者指出通过使用定量分析法来对软件开发项目进行质量控制,并通过建立质量问题分析模型、研究质量问题产生的后果、提出解决质量问题的控制方案。此外,根据软件开发项目中的用户需求及其他原因致使项目计划改变的情况,麻省理工学院教授John D. Sherman针对软件开发项目的思维模式及工具,提出了一种商务动态分析法,为软件开发者更好地把握软件开发项目建设过程中出现的情况进行控制。在软件开发过程的程序设计中,Yourdon、Constantine(2010)等学者认为耦合性、内聚性、复杂性、模块化和规模大小等要素是对软件质量的主要影响因素,因而在软件开发项目中,可从这些方面进行质量控制。
随着软件质量知识愈加普及,及其应用越来越广泛,公众对质量控制重视程度也愈加增强。在软件质量方面,国际各标准化组织也进行了广泛的研究与探索,现阶段,大致体现在两个方面:一是以管理科学化、过程文档化为依据的软件开发过程的质量保证;二是软件开发过程控制及软件质量评估。其中,在软件开发过程中,ISO系列及CMM是当前广泛使用的质量标准与模型。
McCall、Waiters(1979)等学者首次提出了软件质量度量模型,并需从软
3
件质量要素、评价准则以及软件质量度量三个方面出发,此后,国际标准化组织(ISO)也对该软件质量度量模型进行了认可。1987年,国际标准化组织(ISO)又颁布了IS09000族标准,并指出在质量管理、质量保证方面标准中,该项标准在全球范围内都是适用的。在IS09000族的系列标准中,IS09001是质量管理体系的标准要求,其主要强调利用项目过程控制的一种方法,并通过项目持续改进,最终使用户满意,因而其又是一种质量保证的方法。在软件开发项目过程中,利用IS09001对软件开发项目各个阶段的质量管理、质量控制均能达到质量系统的需求,从而能够在ISO9001的基础上,设计出的软件质量保证平台有着优良的稳定性及操作性。
在上世纪90年代初,美国卡内基梅隆大学软件工程研究所针对软件开发过程,提出了一种评估模型,即软件能力成熟度模型(简称:CMM),并指出CMM主要包括了初始级、可重复级、已定义级、已管理级以及优化级等五个阶段的基础特征、原则及应对方案,以使得在软件开发过程中不断提高软件成熟度,进而保证软件质量。Dekleva和Drehmer(2011)分析CMM中的软件过程中改进要素进行了重新规划,并在CMM中提取出了软件质量保证、范围评估以及结构控制等36个主要的改进要素。CMM自1987年开始,就开始进行质量认证,现阶段,其已经成为软件行业中最为权威的质量评估认证标准。
1.2.2国内研究现状
相较于国外质量控制的研究,虽然国内在这方面的研究较晚,但众多专家学者也对如何进行软件质量控制进行了广泛探讨。
在对软件过程控制方面,王青、李怀璋(2002)学者认为可以利用软件开发过程中的工作流与文档流等来对软件开发项目进行质量控制,进而合理。科学地提升软件项目建设的质量水平。王倩、杨鹏(2015)将PDCA项目管理的相关理论运用到具体的软件开发项目的质量管理实践中,提出在项目开发过程中建立PDCS模型,依据此模型进行质量控制可以及时有效地提高软件的质量。
在软件质量控制目标方面,胡光(2011)结合军用软件的特征,着重分析了国军标中,对软件质量控制的标准。刘志强(2011)依照软件程序设计的一系列过程,着重从目标准则、程序结构、程序设计风格等多个角度对软件程序进行设计。
此外,在软件项目开发的具体实施过程中,众多学者关于质量控制的方法也进行了广泛的研究与探讨。刘云峰(2008)以金保工程软件项目质量管理实例为例,通过分析金保工程软件项目质量管理中的不足,对项目质量管理体系进行调整,以建立项目质量控制系统和构建质量保证体系来保障该项目的质量管理。伍建军、邵家骏等(2009)学者在软件项目的需求分析阶段,通过调查TQM实施要
4
素与系统质量间的关系等方法,从而达到提高系统产品的质量的目的。刘晶(2010)以上海立信会计学院图书馆“一卡通”项目为例,概述了在软件实施中,通过用户参与需求分析、进行准确、有效的评估和完整的测试。李诺夫(2011)主要依据GI数据质量要素组成,对GIS数据质量控制的方法展开了广泛研究,并且提出了图形质量检查、属性数据质量检查以及拓扑检查等几种数据质量的检验手段。此外,在软件开发项目管理中较易产生的质量问题及其原因,宋嵬(2012)等学者提出了相应的软件开发项目的质量控制措施,以此提升软件开发项目的质量。罗毅洁(2013)针对软件质量控制各个阶段的分类、质量以及工作流等的分析后,认为通过“评审”,和“测试”这类质量控制活动,提出了软件质量控制活动过程管理。周平(2014)认为如果没有质量规范,会导致随意性大,质量很难保证,针对实际的软件质量工作,深入探讨了需求分析、软件设计、编程和测试、软件发布和维护等各个阶段的软件质量活动。韩静(2015)认为在软件发开项目时,必须要严格控制其质量,确保软件使用者的信息不被盗取、泄露,提高软件的安全性能成为了控制质量的重中之重。
另外,一些学者或专家也结合具体软件工程项目进行了质量控制的研究。张宇波、张丽萍等(2009)结合具体软件开发项目的实施过程,探讨了在软件项目质量管理实践中如何有效地运用缺陷追踪、代码走查、配置管理等方法和技术。宋坤、周智海等(2012)结合在项目开发中的经验,以“南海海洋动力环境数据集成与应用技术导流”项目开发为个案分析,通过以软件工程相关技术、管理理论的深入分析,有针对性的提出了在软件开发过程中的质量控制手段。朱丹、王斌等(2013)结合自身软件开发项目的具体经验,把质量控制理论引入靶场实时应用软件的开发过程中,并总结出了一套行之有效地质量控制方法。杨丽(2013)利用质量控制的相关方法及理论基础,研究了科技资源调查体系的建立过程。刘晓(2015)结合具体工程项目的质量管理标准,对各个环节进行了质量控制,以提高工程质量。
1.2.3文献评述
综上所述,目前国内外专家或学者对于软件开发项目质量控制的研究思路与方法,大多集中于项目软件过程控制、目标控制、开发的过程实施控制以及结合具体工程项目展开质量控制,这些均可作为本文研究网络教学软件开发项目质量控制的理论基础或方法。因此,本文主要采用文献资料法、规范分析法等方法相结合,并以网络教学软件为个案分析来对网络教学软件开发项目的质量控制展开研究,以通过在软件开发过程中实施质量控制,以确保网络教学软件资源能提高网络教学质量,提升学生的学习水平。
5
1.3研究内容及方法
1.3.1研究内容
本文以笔者在南京天天网络教学软件开发项目为质量控制研究对象,主要研究内容包括:
第一章首先介绍本课题的研究背景及意义,然后分析了国内外学者或专家对软件开发项目质量控制问题的研究成果进行系统的总结,最后研究了本课题研究内容及方法。
第二章软件开发质量控制相关理论基础。首先对项目管理理论进行了概述,然后从项目质量控制的概念、作用、内容、原则以及方法全面阐述了软件项目质量控制的理论基础,最后深入分析了软件项目质量控制的系统过程以及控制结果。
第三章网络教学软件开发项目的质量问题及控制要点。通过分析网络教学软件发展的现状,以指出其存在的主要问题,从而针对这些问题,有针对性的对网络教学软件开发项目从需求分析阶段、设计阶段、开发阶段、测试阶段以及维护阶段等方面进行质量控制。
第四章分析网络教学软件开发项目的质量控制方案。以网络教学软件开发项目为例,首先对案例背景进行了分析,再从高质量的软件需求、软件设计质量、编程、测试等方面展开了详细地研究,从而建立了网络教学软件开发项目质量控制方案。
第五章结论和展望。对本课题的主要结论进行了回顾和总结,并指出未来有待进一步研究的问题。
1.3.2研究方法
1.3.2.1文献资料法
通过收集和整理国内外网络教学软件开发项目的相关文献,明确了网络教学、项目管理及项目质量控制等概念的内涵,掌握并总结了网络教学软件开发项目质量控制的相关理论及研究方法,为本论文的研究网络教学软件开发项目的质量控制提供强有力的理论基础。
1.3.2.2规范分析法
本文将利用规范分析法对网络教学软件开发项目的质量控制进行研究,并且规范分析方法贯穿于全文的研究。以网络教学质量管理进一步合理化、科学化等基本观点为价值判断,以项目质量控制理论为指导,分析如何设计网络教学软件 6
开发项目的质量控制方案,从而提高网络教学质量。
1.3.2.3案例分析法
本文通过选取网络教学软件开发项目质量控制作为案例,并且主要以中小学生网络教学为基础,设计了一套针对网络教学软件开发项目质量控制方案,为南京天天作业网络教学质量管理提供可靠依据和有益参考,进而提高中小学生的学习能力。同时,也为网络教育机构在教学和管理中如何控制教育质量提供实际指导。
1.4本文的创新点
(1)本论文结合网络教学软件开发项目,分析了项目管理理论及项目质量控制理论及方法在天天作业网络教学软件开发项目中进行质量控制的研究与应用,并着重针对天天作业网络教学软件资源主要是中小学学生对象,因此根据中小学生学习程度进行有针对性的资源设计与控制,因此,本文具有较大的理论与实际价值。
(2)本论文针对天天作业网络教学软件开发项目中的需求阶段、设计阶段、开发阶段、测试阶段以及维护阶段分别分析软件项目的质量控制要点,并为各个阶段设计了相应的质量控制活动,规划了相应的项目管理资源,促使中小学生可以方便快捷的对软件平台资源进行操作与学习。
7
第三章 网络教学软件开发项目的质量问题及控制要点
3.1网络教学软件开发项目的概况
3.1.1网络教学软件发展现状分析
自上世纪末开始,我国网络教育行业进人了一个快速发展的阶段。在1998年,基础教育和学历教育逐渐兴起,肇始于各个大学的网络教育学院。在同年,教育部批准了清华大学、北京邮电大学、湖南大学、浙江大学四所大学为现代远程教育试点学校,在1999年,国家又增加了中央电大、北京大学、东南大学、中国人大、同济大学、西南工学院六所学校,到目前为止,已有68所大学的网络学院经教育部批准,具有学历教育资格。根据教育部高教司的数据,在1998年时,全国网络教育仅有学生2931人,2008年我国网络教育用户规模约为3591.8万人,至2013年井喷期时达到6720万人,预计2017年将达到12032.6万人,年增长率从8.3%增至16.4%,发展速度较快,发展规模加速扩张。现阶段,我国中小学知名网校也呈现加速发展,如联网网校、101远程教育网校、前程100学习网以及学而思网校等等。
根据中国电子信息产业发展研究院调查分析,我国网络教育市场在未来发展趋势中,将以150%的发展速度增长。其中,在2014年,我国网络教育市场规模高达1069.2亿元,环比增长19.2%,据调查预计分析,在2017年,我国网络教育市场规模将会高达1873.4亿元。此外,现阶段我国网络教育的主要是传统的线下教育机构、互联网教育机构以及创新型的互联网团队,呈现出线上线下老将新兵齐上阵的现状。在政策层面,我国发布的《国家中长期教育改革和发展纲要》指出,要大力发展现代远程教育,建设以卫星、电视和互联网等为载体的远程网络教育及公共服务平台,这将为网络教育应用平台在我国的发展,提供有力的政策支撑,推动我国网络教育的持续快速发展。
与传统学校面授教育方式相比,基于网络教学软件平台的网络教育所具有以下优势:
一是教学形式个性化。利用Internet技术的传输和多媒体技术的可视化教学,教育资源在空间和时间上都得到了有效利用。网络教学系统可以对网络用户的个性资料、学习过程以及阶段性测试结果等进行记录与分析,从而对各个用户提出个性化的学习意见。
二是学习自主化。以Internet技术和多媒体技术为主要介质的网络教育,打破了传统学习空间与时间上的局限,赋予了网络教学开放性的特征。无论在何 8
时何地,用户只需具备上网条件,即可对网络教学信息与课程资料进行学习与浏览,且不受时间与课堂的约束,可依照自身学习水平、兴趣爱好等自由选择适合自身学习的内容与方向。
三是学习模式交互化。利用多媒体技术处理,学生可以通过录像信息进行自主学习。此外,学生还可利用网络教学软件平台进行相互交流学习。
四是资源使用最大化。利用信息网络技术,以增强网络教学机构的教学能力,促使各种类型教育资源的优化和共享,从而使更多的学习者在获得更高水平的教育的同时,也提高了资源使用效率,进而节约了学习成本。
3.1.2网络教学软件管理主要存在的问题
总体而言,我国网络教育软件总体发展水平仍处于起步阶段。随着信息化技术的高速发展、网民对网络教育逐渐重视以及学历教育社会的认可度愈加提升,我国网络教育规模的发展速度不断加快。但是,由于其发展仍处于不成熟阶段,因此在发展过程中存在众多问题。
3.1.2.1软件平台缺乏规范的建设标准
在网络教学资料共享方面,软件平台的技术规范没有得到广泛的认可,致使网络教学资源的建设、分类以及平台技术支持缺乏相应的、统一的标准。开发者大多根据自身的认识与理解对教学资源进行分类、定义,导致不同网络教学软件、网络教学资源均自成体系,无法实现有效的资源共享及资源交流。因此,建立健全建立一个标准化、系统化、特色化的网络教学平台,是推动网络教育平台持续发展的必要工作。
3.1.2.2课程资源总量较小、创新不足
目前,相较于发达国家,国内网络教育学习资源不论数量或是质量上尚且存在着很大的差距。我国网络教育课程总数约500门,而美国已经达到了54000门左右。并且,国内大部分网络课程都以网页静态形式呈现,更新速度比较缓慢,甚至数月保持原状。因而难以调动学生学习的兴趣和积极性,无法满足客户的学习需求。
3.1.2.3专业师资力量薄弱
国内网络教育的老师大都由传统教育中发展而来,或是由传统形式教学的老师进行兼任,而专业的网络教学老师数目则严重不足。对于这类由传统教育转化而来的网络教育老师而言,由于常年从事传统形式的教育,养成了传统教学模式的教学习惯和方法,无法快速适应网络教学的角色转变。比如由于教学时空的变
9
化,传统教学方式而来的网络教育老师仍然难免以教师为中心的教学思维,无法很好的与学生进行及时沟通,从而削弱了网络教育的特有优势和教学效果。
3.2网络教学软件开发项目的质量控制要点
3.2.1需求阶段的质量控制
3.2.1.1功能需求
本系统是一个基于WEB的网络教学平台,它主要实现了教师上传教学材料、发布通知公告、管理选课学生及批改学生作业等功能;而学生需要下载学习资料、浏览教师发布的课程通知、提交作业及其提交选课申请等功能;管理员可以发布通知公告,对人员进行管理等功能。
根据分析的逐步进行,进一步细分系统功能。并通过模块了解系统的需求。
1、管理员功能需求
要求在系统中可以实现网络教学软件业务操作,并能完成合理的运作与教学制定工作。该模块具体描述如下:
1)对通知公告进行维护功能。要求发布通知公告后,能够进行附件上传和用户下载操作。对于通知公告的维护工作模块,要求能够进行通知公告的公布、变更、置顶和注销等操作。
2)对教学计划课程管理功能。管理员在确定网络教学计划的实际安排后,依照教学要求对相关的课件进行维护。此外,其还需设计网络教学方案及面向对象的制定、更新对应网络课程、设置网络课件的属性,并且在课程未能按规定开设课程的,教务人员具有删除的权利。
3)管理教师课堂内容的视频业务功能。在网络教师进行教学活动中,应录像进行记录。在结束教学后,可以将视频实现自动上传至服务器,管理员有权对教学课件进行下载,并且拥有删除与编辑的权限。
4)对课堂资料管理功能。在结束授课后,管理员能对其教学方案进行上传,并且具有此类文件修改、删除和下载等权限。若教师设置课堂资料是保密的情况下,这些课堂资料对管理员依然是公开的权限。
2、教师功能需求
1)教师通过软件平台,对用户的课程计划进行查看和对这些课程的开课安排等进行查阅,教师并且能够在此课程对应位置,依据课程教学安排,对所属的课程设计出虚拟课堂。与管理员职能相同,教师能对此课堂对应的默认权限进行相应的设置。
2)在网络课堂的时限内,教师可提前登陆到网络课堂中,并且在课堂之中, 10
可对该课堂是否进行录像等予以设置。
3)教师结束教学后,可把保存后的课程视频信息进行编辑,比如视频名称、下载权限等。若教师自身上传的课程录像,教师则可对该录像是否公开进行设置,若设置为不公开,则该课堂录像仅教师可看;若设置为公开,则全面网络课堂的学生或参与该课堂的学生可进行观看。
4)教师能对其教学安排及其他教学文件资料进行上传,并享有对该文件以进行删除、权限的设置等功能。与教学录像的管理权限一致,教师能设置该类资料的开放权限和面向范围。
3、学生功能需求
1)学生进入到软件平台后,能对教师或管理员公布的通知、安排的课堂内容进行查阅。并且针对教学公告的全部信息应在学生登录到后台的首页上进行显示。
2)学生可根据其学习情况,能够对需要参与的课件进行查看。
3)在学生特别喜欢的课程信息功能设置中,学生可将信息保存在“我关心的”业务功能。待学生下次登录软件平台时,可快速地找到此课程与相关信息。
3.2.1.2业务需求
在开展教学时,本项目着重考虑了教务人员的应用需求,为此将为其分配两种操作权限,并与系统管理员具有同样的职能,具体可划分为五个部分:
(1)针对网络教学软件平台上,某些最新的公告或者通知是由管理员进行发布的,对于此类通知公告,在网络教学软件平台里的全部用户都能够进行查看。
(2)管理员享有设立课程的权限,但在设立前,需要对这些课程实现对应的功能进行相应的设置,如某课程是否能被所有的学生用户进行选择,是否一定要完成相应的课程学习等等。
(3)在学习能力测评管理中,应结合网络教学机构培养学生的需求,要求管理员首先应在软件平台创建学生学习能力测评试卷,然后按照学生学习程度的实际要求来维护试卷项,如修改试卷、添加或删除题目等等。最后,在软件平台中设置试卷相应选项,如试卷开始时间,结束时间,试卷复制等等。在学生用户进入到网络教学软件平台后,能够在线对学习能力测评试卷进行解答,完成试卷后执行提交功能。此项功能也是网络教学软件平台的特色之一,这能很好地检测出网络教育培训机构学生的学习能力。
(4)在课堂录像管理中,也就是对课堂视频录像完成管理与维护,该功能也可实现学生用户学习资源的下载。
(5)在文件资源管理业务中,可以对网络视频课堂的过程中记录下来的文件进行管理与维护操作。教师与学生具有下载该文件的权限。
11
3.2.1.3需求分析方法
需求分析是软件开发项目过程中最为重要的一个时期,软件需求分析阶段的质量对软件开发有着十分重要的影响,高质量的需求分析往往在软件开发过程中起到至关重要的作用。
在软件开发项目的具体实践过程中,网络教学软件的质量管理较为适用快速原型法来进行需求分析。通过快速原型法的分析,我们能较快对网络教学资源的需求进行充分了解,并与网络教学机构快速、精确的定义出网络教学软件开发项目的真正需求。
在本项目中,快速原型法主要是基于网络教育培训机构学生用户的终端交互界面出发,以终端学生用户体验为重点,逐步切入并引申到网络教学软件平台的功能需求和非功能需求中,再一步一步分析出网络教学软件平台建设所需要的功能需求、性能需求、界面交互需求及可用性、易用性、可扩展行、可维护性等众多非功能性需求。
因此,通过分析与研究,可建设一个能满足网络教学机构和最终用户需求的网络教学软件,以确保网络教学软件在开发过程中,质量控制具有保证,并最终能满足学生、教师以及管理员需求的目的。
在网络教学软件原型制作流程:
1)根据学生用户需求,通过UI/UE设计C程师设计出系统的界面风格和低保真界面原型。
2)当界面风格获得学生用户或教育培训机构确定以后,UI设计师形成《网络教学软件UI设计规范说明》。
3)UE和网络教学软件平台开发人员根据UI设计规范,利用原型Axure RP工具来制作网络教学软件平台高保真原型,高保真原型必须紧密结合展示软件平台的全部业务流程,具有完整的互动性。
4)在网络教学软件原型制作完成后,需要与学生用户共同进行审核,利用使用性评估的方法,来发现网络教学软件平台在互动性和操作性方面的问题,并根据审核结果逐步设计与完善。
5)通过不断的审核与测试后,确定最终网络教学软件平台的原型,并最终作为软件实现阶段的主要依据。
3.2.1.4需求分析工具
Axure RP是一种仅针对负责定义需求、设计功能、定义系统规格、设计界面的快速定制原型的工具。
Axure可以让软件开发人员快速绘制线框图和设计软件平台原型,让学生用 12
户对原型的设计效果进行体验和验证。在向学生用户进行演示、沟通交流以确认其对学习的需求后,Axure能自动生成软件开发规格使用文档。
3.2.2设计阶段的质量控制
3.2.2.1体系架构设计
通过前期工作的不断对比分析,本论文研究的网络教学软件依然采用当前广泛使用的B/S模式,学生用户只需要通过浏览器就可以访问到网络教学软件资料,网络教学软件B/S模式的体系结构图,如图3.1所示。
图3.1 网络教学软件B/S模式的体系结构图
3.2.2.2系统部署结构设计
根据对网络教学软件平台的业务流程分析,本项目得出了基于JSP的软件平台终端操作用户可以划分为三种类型,即管理员、教师和学生用户。根据这三种类型,该网络教学软件平台可实现课程管理、录像管理以及学生能力测试管理等结构设计。
(1)身份认证管理主要负责用户登陆网络教学软件平台时,实现用户身份认证功能的处理业务,在业务处理完毕后,用户才能在有限使用范围内完成业务操作。此外,若网络教学软件平台中的用户注销,则是针对用户在登录信息方面进行清空。
(2)公告通知模块主要涵括了四个部分:即公告发布、公告编辑、公告删除和上传附件,利用这些业务功能可以对公告通知模块进行新增、修改和删除等等。
(3)课程管理主要是针对网络教学课程进行管理,主要功能涵盖了对网络教学课程的新增、删除、编辑和查询等。在课程的查询方面,主要是根据课程的名称以及课程创建的时间等信息,从网络教学课程资源中进行查询。
(4)交流答疑这部分主要针对学生用户在线问题的管理,也包含了在线提问功能。在线答疑,是教师用户在查看学生用户的问题后,可在线对该问题进行相应的回答;在线交流,是学生用户或者教师用户可以对自身感兴趣的学习问题等进行交流与沟通。
(5)测试模块大致涵盖了建立试卷、试卷管理及在线提交答卷等功能,而试卷设置还包括了试卷的开始时间、结束时间以及试卷复制等。在测试模块,管理员可对试卷进行建立、修改及统计等功能;学生用户则可对试卷进行回答、提
13
交等功能。
(6)课堂录像模块主要对录像进行管理,其中包括对录像的下载、在线观看、删除。
(7)文档维护模块包括文档的上传、下载以及文档编辑和删除,而删除部分是教师可以删除或者将一些文档进行不公开的选择。
(8)系统管理模块,其中用户管理主要是对网络教学平台中的用户进行添加、修改和删除等相关操作。
3.2.3开发阶段的质量控制
通过前期对网络教学软件开发的需求分析与设计,网络教学软件开发则进行实施阶段,也就是代码编写阶段。由于软件质量控制贯穿于整个网络教学软件的生命周期过程,因此对代码编写阶段的质量控制至关重要。代码编写阶段的质量控制主要表现在代码编写风格、编码技术、代码审查等众多方面,因此,在基于高质量需求分析及设计的背景下,开发阶段的质量需保证网络教学软件平台用户的满意度,且最大限度地节约成本。
3.2.3.1代码编写风格
程序开发人员在代码编写的过程中是属于创造性活动,编写的代码中含有个人的编写思路及风格。即便在同一个项目中,程序开发人员也不一定能完全看懂或者理解出其他人的代码,因此要开发阶段要提高整个网络教学软件的质量,就需要将整个团队的效率及后续维护阶段进行考虑,并将其代码编写的风格进行统一,以此提高代码程序的可理解性。
3.2.3.2编程原则
在统一的代码编写风格下,即便是初入行的程序员,其编写程序也会比较有较高的质量。但统一代码编写风格也无法避免显露出整个团队中整体编程技术的缺陷,因此,要最大限度地提高程序质量及代码编写效率,还需要遵循一定的编程原则。
3.2.3.3代码审查
在程序编码中,除了遵循代码编写风格和编程原则外,还需加强代码审查,以提高代码质量,尤其是由资深开发/质量工程师领导组织代码审查。
3.2.4测试阶段的质量控制
3.2.4.1软件测试的概念
14
软件测试就是对软件功能、设计标准和编码的最终审查,在软件质量控制中最为关键的流程。从某种程度上来说,可将软件测试定义为一种以发现错误为目的的程序运行流程,或是将其视为一种测试用例,该测试用例是依据软件开发中的规格说明书及程序内部结构而设计得到的,通过运用这些测试用例进行程序的运行,进而发现程序中的错误之处。
在软件的生命周期中,软件测试可分为两种不同的阶段。第一阶段在软件编码阶段,亦即通常所说的单元测试;第二个阶段则是在第一阶段结束之后,对软件系统整体进行的全方面的测试,也就是常说的测试阶段。
3.2.4.2软件测试应遵守的原则
为了满足软件开发人员及用户在软件测试中的不同需求,因此,在软件测试中,需严格按照以下原则执行:
1)软件程序员应尽量避免检查自身编写的程序,软件测试工作并由项目组织团队领导专业测试人员进行;
2)软件开发人员应不断对软件进行测试;
3)在对软件测试用例设计前,应对各种边界条件、合法及不合法输入的因素加以考虑;
4)软件测试用例时,需对输入数据、输出数据进行组成分析;
5)在软件测试过程中需对群集现象加以重视;
6)针对测试缺陷结果应具备一个完善的确认过程,一般而言,应由测试员A进行测试缺陷结果,并由测试员B予以确认;
7)整个软件测试过程都应进行全面检查各个测试结果;
8)应将软件测试时间尽可能延长,并建立严格的软件开发测试时间计划,尽可能地排除软件测试的随意性;
9)对回归测试的关联性进行重视,尽可能地减少修改一处缺陷而导致产生更多缺陷;
10)在软件测试整个阶段,需对全部测试文档进行妥善保存。
3.2.4.3单元测试
单元测试阶段的测试工作主要是根据编程规范、产品规格设计说明书和等内容资料,对软件的每个单元进行检测,以考察源程序是否符合编程规范,是否具备模块高内聚性、功能一致性和正确性,并根据测试情况进行结果汇总,得到最终的测试报告。
在单元测试中,主要利用白盒测试,其亦称为结构测试。白盒测试的重点在于对软件产品的内部工作流程,测试方法是依据软件结构对产品进行测试。此外,
15
其测试的内容是检查软件的功能实现是否按照相应的需求规格说明书中的要求进行的,并确定被检验软件的工作流程是否依据预定要求进行作用。通过白盒测试,可以检测出软件代码对于编码规则的相符状况,分析软件的内部结构,检查软件有无内存管理错误,软件内部代码逻辑与路径的执行情况等。
3.2.4.4系统测试
系统测试是把经过测试的子系统配装成一个完整的系统来测试,在这个过程中不仅应该发现程序的编码和设计缺陷,还要能够对需求说明书中规定的功能进行验证,并测试系统动态性对预期要求的符合性。通过系统测试,往往可以检测出软件设计中存在的问题,甚至发现需求说明中存在的错误。
系统测试是对整个软件系统的全面检测,确保软件对设计原则的遵循及满足产品的需求性。通过系统测试,将能够验证软件的功能实现性、结构稳定性、可靠性等特性。
系统测试运用的测试技术是黑盒测试。黑盒测试的方法就是在己知产品应具有的功能的前提下,针对产品的各个功能进行检测,确定其是否可以正常运行。
在网络教学软件系统测试的步骤主要分为以下部分:
1)设立软件测试步骤;
2)建立网络教学软件测试用例;
3)网络教学软件系统测试实施;
4)网络教学软件的缺陷与改错管理。
3.2.4.5验收测试
验收测试又可称作为UAI测试。其主要针对软件开发完成后,对软件产品投入使用前的最后一次质量检查的测试,同时,也是软件研发人员针对软件缺陷的最后改错测试。假若在软件交付期间产生缺陷,则用户则在软件采购时,则需参与到软件的验收测试中。一般而言,验收测试是在软件测试团队的领导下,并且由多个测试人员进行。
此外,在验收测试过程中,应事先建立相应的测试计划,对软件配置评审、功能与性能测试等工作进行规划。而且验收测试主要划分为软件配置审核与可执行程序测试两类,因此在验收测试中,一般按照文档、源代码、配置脚本、测试程序以及可执行程序等步骤进行审核,因此,在验收测试时也应加强质量控制。
3.2.5维护阶段的质量控制
在软件开发生命周期中,软件维护阶段是质量控制中较为重要的阶段,持续时间较长。在网络教学软件开发完成并投入使用后,需将各种因素进行考虑,若
16
其无法适应用户的需求时,则需对软件进行维护,加强其质量。
在网络教学软件的维护中,需对软件开发人员提供全方位的维护服务,确保网络教学软件平台具有较高的安全稳定性能。同时,根据用户针对网络教学软件提出的软件缺陷或故障等级,在尊重用户具体需求的同时,依照问题等级建立合适的响应机制。
表3.1 网络教学系统在维护阶段的问题等级分析
17
第四章 案例分析:网络教学软件开发项目质量控制研究
4.1案例背景
4.1.1项目背景
南京天天作业远程网络教学系统始建于2015年,是大中小学习题答案解析网站,致力于全面覆盖小学、初中、高中各年级各学科以及大学理工科专业,至今主要实施系统测试等项目。通过远程网络教学系统的建设,用户可以通过输入试题内容进行检索查询到习题答案和详尽的解析过程。同时,网站支持拍照上传功能,手写稿上传咨询,可快速获取网友的人工解答,快速、有效的解决学习中遇到的各种难题。
4.1.2技术背景
此次开发网络教学软件选取以.NET为基础的C#语言,采用C#语言主要是由于网络教学软件平台后台的数据库可采用SQL Server 2008,因而成为软件开发的主要工具。
此外,现阶段Visual Studio开放软件在当今市场广泛使用的开放软件之一,其在研发、设计、调试等方面均比较全面的开发工具,因此,在设计Web应用程序、Windows应用程序、XML Web Services非常灵活多变,针对ASP.NET Web应用程序、Windows桌面应用程序都可以不费力气的迅速搭建起来。
而且Ajax技术也有着一系列的优势:
1)其不用插件来做支持,市场上众多;浏览器均可直接支持Ajax,且不用其他浏览器作为插件,根本用不着其它浏览器插件,用户唯一需在浏览器上使Java script运行。
2)Ajax最为突出的优势在于在用户体验功能方面做得较为全面,其能够对数据不断更新处理,且不用对整个界面进行刷新,这就使得用户可以较快的将查找信息反馈到Web应用程序中。
3)Ajax在数据传输模式有着较大的优势,相较于传统模式需先对数据进行提交,然后在查看新数据时,需更新所有界面才能完成,但该模式在同一过程中,仅需按照系统需求进行发送,就可以利用XML Http Request对象把预期上传的最新数据提供给服务器端,促使Web应用程序更具有时效性。
因此,本项目开发的网络教学软件在技术方案上主要选择ASP.NET+AJAX作为主要的软件开发技术,并且该网络教学软件平台体系结构采用.NET三层架构, 18
并且利用C#语言进行开发,采用SQL Server 2008完成后台的数据管理业务,访问数据库的业务由ADO.NET技术连接后实现,使用B/S机制运行系统,在运行方面,将IIS 6.0定为WEB服务器,操作系统由Windows Server 2005实现任务。
4.2软件需求的高质量分析
4.2.1功能需求与业务需求
通过对网络教学软件开发项目建设,通过到师生中调研、面谈以及网络投票等渠道,确定整个系统的功能需求等层次结构,并对需要的信息归纳和整理,以促使使用者能加快的学习与使用,并不断完善系统的业务需求。
本项目将实现的功能与业务功能如图4.1所示。
图 4.1 系统功能需求分析
针对在业务需求过程中,建立自顶向下、逐步分解的结构化分析法,并且与分层的数据流程进行实现。
(1)公告通知分解数据流结构
19
图4.2 公告通知分解数据流程图
从公告通知分解流程中可以看出,该数据流主要分为通知文本信息及附件形式的数据。在通知文本信息中,可以在公告通知数据表中予以保存;在附件中,可以根据附件类型上传至服务器中,再在公告通知数据表中保存该数据,来读取或修改这些数据。
(2)课程创建分解数据流结构
图4.3 课程创建分解数据流程图
从课程创建分解流程图中可以看出管理员将课程计划进行业务处理后,通过课程信息可指定课程参与者,并把这些信息保存到课程信息表中,并且课程指定参与者可以从用户信息表中读取用户相应的信息。 (3)课程录像分解数据流结构
在课程录像分解数据流结构中,教师进行上传录像业务后,可上传至服务器中,此时录像信息表中保存录像信息,学生可对该录像予以浏览。
图4.4录像信息分解数据流程图
(4)文件上传分解数据流结构
20
图4.5文件上传分解数据流程图
文件上传分解与上传录像信息一致,教师可以利用数据库把教学文件进行上传与保存,学生可以通过网络教学软件平台进行下载与观看。
(5)学生测评数据流结构
图4.6学生测评数据流程图
在学生测评数据流程结构中,先将学生测评试卷答案保存在数据库中,并且能在网络教学软件系统中展现,从而通过学生提交试卷,学生就能对测评试卷结果进行查看。
4.2.2利用Axure RP制作的界面原型
在南京天天网络教学平台需求范围明确后,需要对每个业务的具体流程进行细化,并确认。在此过程中,采用Axure RP页面原型工具对业务流程进行梳理,并进行演示。Axure RP原型工具的使用不但增加了用户的体验感,也为后期开发人员进行编程提供了依据。
图4.7是利用Axure RP原型工具制作的部分业务流程界面原型: 通过对网络教学软件部分业务流程界面的设计,尤其在针对网络教育机构的教学创新及学生学习辅助等方面,与其他网络教学软件有着不同之处,具体体现以下方面:
(1)网络教学软件资源主要针对中小学的学生,学生可以根据自身学习程度选择不同深度的学习内容及测评试卷等,而且在软件系统中设置在线交流中心,学生在遇到学习难题时,可以与教师进行在线沟通,从而提高学生学习效率,同时,还能降低网络教育机构在教学上的投入成本。
(2)在网络教学软件平台的界面友好,根据小学、初中以及高中几个阶段,
21
分别设置了在线训练、自主组卷、智能组卷以及试卷中心几个部分,学生可以方便快捷对平台进行操作,并均可在客户端浏览器中进行无难度操作。
4.3提升软件设计质量
4.3.1设计目标
为了开发出更便于师生使用的网络教学软件,同时实现系统易于维护,笔者将系统分成模块化开发。根据系统的需求分析,设计该系统用例,确定系统开发平台,对系统进行概要设计,抽象出该系统的主要对象,对系统进行类设计,数据库设计、人机界面等。根据登录用户的不同分为学生版网络教学平台和教师版网络教学平台。
系统管理员、教师和学生三种角色的用户需要输入正确的用户名和密码后才可以进入系统。用户需要在图形界面中输入用户名和密码并提交,然后由网络教学软件系统判断用户输入的用户名和密码是否合法,如果合法则根据用户不同的角色进入不同的主页面。如果用户的用户名和密码不合法则返回登入页面并给出错误信息。这样既保证了系统的稳定和准确性,有保证了模块化开发系统顺利地实现。 4.3.2设计原则 4.3.2.1规范性
在对网络教学软件平台的设计过程中,其功能与性能需求均需符合相关的国内外标准,确保软件平台与其他业务系统都能进行有效的连接。 4.3.2.2开放性
网络教学软件平台可集成符合国内外标准的软硬件平台和产品,并且设备管理、系统扩容和业务维护等不依赖于单一软硬件供应商的产品,数据库系统应支持跨平台开发,充分体现其开放性。 4.3.2.3先进性
网络教学软件的开发应基于软件产品及模块化的设计需求,以确保该软件平台在技术上的先进性。 4.3.2.4实用性
在对网络教学软件进行设计时,应对其建设方向、现状加以考虑,并在满足当前网络教学软件业务需求的情况下,根据软件平台用户规模、开展情况,并且
22
在确保软件平台稳定运行的条件下,设计软件平台规模、软件功能和业务功能都应具有一定的实用性。 4.3.2.5可靠性
在网络教学软件开发项目过程中,应选择多种设计手段,以确保软件平台具有高可靠性及稳定性,保证网络教学软件平台的正常运行。 4.3.2.6扩展性
在南京天天作业网络教学软硬件平台设计过程中,其在系统容量、处理能力、业务功能等方面应具有良好的可扩展性,能够较为方便地对软件系统进行升级和更新,以适应学生用户的不同需求;网络教学软件系统参数化、模块化程度高,对于局部调整对软件系统的影响程度较低,并且可以利用对参数的调整来对软件系统实施控制。此外,对网络教学平台的软硬件升级也较为稳定且简单,升级测试较易完成,新功能模块上线不会影响正常程序的使用,具有良好的可扩展性。 4.3.3软件体系架构设计
显示层
逻辑层
数据层
图4.8 .NET三层架构示意图
如图4.8为.NET三层实现的模式,本项目开发的网络教学软件将体系架构主要划分为三层,即显示层、逻辑层以及数据层。这样的设计思想符合了“高内聚,低祸合”的业务需求。 4.3.3.1客户端应用
为了在网络教学软件平台上能够展现和组合整合后的内容,用户可以利用web应用程序(客户端的Web浏览器)进行操作。用户输入账号密码,并将用户
23
输入发送给运行在业务逻辑层上的.NET组件程序集进行处理,并从业务逻辑层接收用户请求的处理结果,以网页的形式反馈给用户。客户端应用主要包括:视图部分、模型部分、展现控制器。 4.3.3.2后台EWP
身份认证:用户身份认证业务逻辑封装,处理登录和登出请求。 会话管理:建立和维护EWP服务器与用户需求之间的会话。
展现模板引擎:根据不同用户需求访问请求,将其所需的业务页面返回给网页,项目中所定义的业务功能界面和流程,通过此模块来展现。
DB访问:数据库访问的驱动,负责对数据库的操作。
数据解析:对与远处服务器所返回数据进行解析,提供给展现模板引擎所需的展现数据。
业务配置:负责业务频道配置解析功能。 4.3.3.3关键功能模块设计
系统主要功模块的详细设计,是根据系统总体设计的理论,并以此为基础实施进一步细化任务中业务模块的设计是最为重要的部分,本节对网络教学软件平台各模块的功能实现与分配关系进行建立,如表4.1所示。
表4.1 网络教学软件平台各模块功能实现与分配关系
24
(1)公告管理模块
此功能主要针对学生用户、教师以及管理员提供操作。其作用在于对公告通知信息进行管理,比如进行公告信息的发布、编辑、删除以及上传各类附件信息等等。
(2)课程管理模块
此功能模块主要针对学生用户、教师、管理员,并且主要用于对课程信息,如课程的新增、编辑、删除、查询等业务进行管理。
(3)交流答疑模块
此功能模块主要针对学生用户、教师。学生用户在网络教学软件登录界面中进行验证登录时,软件平台向学生用户返回验证成功消息,待学生用户进行在线发表问题后,由教师进行查阅,并针对该问题进行在线解答。而且其他学生用户或教师可根据自身兴趣爱好对问题进行在线交流与讨论。
(4)测评管理模块
此项功能模块主要针对学生用户、管理员。管理员在网络教学软件登录界面进行登录成功后,可对试卷项提出创建请求,并且对试卷内容进行添加,待试卷添加完成后,可对该试卷信息进行保存,软件系统数据库再将保存结果反馈给管理员。而学生用户,在登录软件平台中的试卷项界面后,则可对试卷类型进行自由选择,进而进行在线答题,待提交试卷后,软件系统数据库则将提交保存并提交信息反馈给学生用户,最后软件平台把试卷标准答案与试卷分数反馈,并在软件平台界面中进行显示。
(5)录像管理模块
此项功能模块主要针对学生用户、教师。教师在登录网络教学软件平台后,可对课堂录像进行添加、下载、查询及删除等操作,如在添加完录像信息后,可对其进行保存,软件系统数据库则将保存信息反馈给教师用户。在学生用户登录网络教学软件平台后,可对录像信息进行查询,软件系统则反馈给学生用户录像信息列表,待其选择出所需录像信息后,则可该信息进行下载,此时软件系统数据库将下载结果反馈给学生用户。
(6)文件管理模块
此功能模块主要针对教师、学生用户。教师可对文档进行添加、修改、删除与查询等。如教师在网络教学软件平台的登录界面进行成功登录后,则可对文档信息进项添加,待录入文档信息后,可对其进行保存,软件系统数据库则将保存结果反馈给教师用户。学生在登录网络教学软件平台后,则可对文件信息进行查
25
询,并向系统提交下载所需文档信息请求,软件系统数据库则将下载信息反馈给学生用户。
(7)系统管理模块
此功能模块主要针对管理员。教师管理员可以在系统中进行用户管理、权限控制等。管理员在网络教学软件平台登录界面中成功登录后,可对用户信息进行添加,并录入相关用户信息,也可以对用户的信息进行删除、修改,或者对用户查询权限信息进行设置,此时管理员向软件系统数据库提交处理请求,软件系统数据库则会将处理信息反馈给管理员用户。
(8)身份认证模块
从功能模块主要针对学生用户、教师、管理员。在用户注册网络教学软件平台后,软件系统则会针对用户信息进行审核与验证,以检查其正确性。若一旦通过验证,系统则会提取出用户的类型标识,来划分用户的使用权限,进而使用户登录到相应的管理界面。此外,软件系统根据用户的需求,来注销或者清理用户的相关信息,最终退出该软件系统。 4.3.3.4数据库逻辑模块设计
(1)课程表:主要包括了课程编号、课程名称、主讲人、课程所属类型、课程是否开放、课程开始时间、课程关闭时间以及课程简介等。
(2)交流内容表:主要包括了教师编号、学生编号、交流内容信息记录等。 (3)试卷表:主要包括学生姓名,所属科目,试卷总分,考试时间、题数目等等。
(4)录像表:主要包括了录像编号、录像时间、课程名称、上传方式、上传用户名、上传用户编号、是否公开等等。
(5)文档表:主要包括了文档编号、文档名称、文档简介,上传用户编号、上传用户姓名、上传路径、是否公开等等。
(6)用户表:主要包括了用户名、性别、密码、邮件、电话、地址、用户类型、班级号、职位等等。
(7)附件表:包括了附件编号;文件名称及大小;附件的内容、上传用户与时间、下载权限等等。
4.4提升编程质量
在南京天天网络教学软件的编程阶段,为了提高编程质量,需要在编写代码之前对开发人员进行相关培训,主要包括以下几个方面:
1)软件业务需求定义以及业务流程培训;
26
2)软件架构设计培训; 3)代码风格培训; 4)编程规则培训;
5)增强代码自我检测意识培训; 6)单元测试相关知识培训。
4.5软件测试
4.5.1功能测试
功能测试就是对网络教学软件系统的各功能进行验证,根据功能测试用例,逐项测试检查产品是否达到用户要求的功能。 4.5.1.1前提条件
在对南京天天网络教学软件系统的功能测试之前,本项目需要对相关测试条件进行清理与准备,具体条件如下:
1)测试环境准备就绪; 2)软件测试方法工具完备; 3)测试仪器完备; 4)网络教学软件系统稳定。 4.5.1.2测试环境
在测试环境方面,本项目依据测试理念和方法(白盒与黑盒结合)进行测试环境设置,包括以下方面:
(1)网络教学软件硬件测试方面
1) 测试Web服务器:主要采用联想品牌; 2) 测试机CPU型号:主要采用英特尔i_5; 3)设置测试机内存:主要采用DDR3 4GB; 4)设置测试机网卡:主要采用2块千兆网卡; 5)客户端:主要采用单机网络接入。 (2)网络教学软件软件测试方面
1)设置Web服务器:主要选择SQL Server 2008数据库管理系统、IIS 6.0、Windows Server操作系统等。
2)客户端机器:主要选择Windows操作系统、IE浏览器。 (3)测试性能的工具
27
1) Loadrunner 11.0测试工具 4.5.1.3测试方法
在软件测试方面,主要选择白盒测试方法,其主要是针对网络教学软件系统的内部各个模块结构予以测试,但其并不重视整个软件开发项目的目标情况。采用白盒测试方法主要是着重测试网络教学软件内部程序的流转性是否正确。
除此之外,在网络教学软件测试中,还采用黑盒测试方法,其与白盒测试作用相反,其主要是针对测试网络教学软件整个系统的功能、系统程序的流转性是否正确。 4.5.1.4测试内容
测试网络教学软件的整体功能是否达到设计的要求,以及相关功能模块是否可以顺利运行。
网络教学软件相关测试内容主要分为单元测试及集成测试,具体如下: (1)单元测试
身份认证测试:当输入用户名和密码,测试网络教学软件平台是否能识别用户名的类型标识,转到相应的管理界面。若用户名是管理员,则将转到管理员界面;若是用户名是教师,则将转到教师界面;若用户名是学生,将则转到学生界面。该测试主要采用白盒测试。
表4.2 网络教学软件平台多用户登录用例测试
(2)集成测试
本项目开发的网络教学软件主要使用渐增式集成方法进行集成测试,并采用
28
黑盒测试技术来对网络教学软件系统的各模块的接口进行测试。
教师教学管理方面
表 4.3 教师教学管理模块功能测试
29
学生管理方面
表4.4学生管理模块功能测试
30
通过对网络教学软件开发项目的功能测试,其中,本节主要利用软件项目质量控制的ISO9001及CMM方法对教师教学模块与学生管理模块的功能进行分别测试,在预期测试结果中发现,教师教学模块与学生管理模块的功能需与预期结果一致,从模块功能来看,可以加强师生间的互动交流,提高学生学习效率;学生能在软件平台上可以根据自身学习程度选择不同阶段的学习内容;软件系统数据库中可存放众多教学类素材,学生在学习时,可为其提供更为感性的效果,进而增强其学习能力,提高学习水平。
因此,通过网络教学软件的功能测试,可以得出利用项目管理与质量控制相关理论可对该软件开发项目的质量控制达到预期效果,以进一步提高中小学学生的学习能力。
4.5.1.5测试步骤
表4.5 软件功能测试步骤
4.5.1.6测试过程度量
为了能够更方便体现当前的测试情况,需要度量总用例数、已执行的用例数、已通过的用例数、未执行的用例数以及发现缺陷、修复缺陷、推迟修改缺陷和未
31
修改缺陷的数量,并且采用图形模式将这些度量信息进行呈现。
4.5.1.7结束条件
在网络教学软件开发项目中,项目计划的测试用例均已执行,若测试出的缺陷可以全部修复,则退出功能测试。若存在不可修改的缺陷或者修复缺陷的风险较高,则把测试出的缺陷交付项目委员会,由项目委员会讨论,缺陷是否需要修复,如果不需要修复,则功能测试结束。
4.5.2性能测试
本项目性能测试主要是对多种正常、峰值、异常负载等情况进行模拟,从来对软件系统的各项性能指标予以测试。本项目中的网络教学软件的性能测试主要包括稳定性测试与负载测试。
4.5.2.1前提条件
软件开发环境完备;
软件测试工具完备;
测试仪器完备;
网络教学软件系统稳定;
软件功能测试已结束;
软件挡板程序完备。
4.5.2.2测试工具
在网络教学软件的性能测试中,自动化测试工具主要采用Loadrunner11.0。该测试工具是HP公司开发的一种标准级负载测试工具,并主要针对预测软件系统行为与性能。利用模拟上千万用户并发登录,来预测软件系统的并发负载,并对其进行实时性能监控,进而找出存在的缺陷。此外,LoadRunner测试工具能对整个软件平台架构进行性能测试。
4.5.2.3衡量指标
表4.6 网络教学软件性能衡量指标分析
32
4.5.2.4测试内容
(1)稳定性测试
稳定性能体现系统的持续安全,以及系统的正确持续运转能力。而这种持续性的运转能力也是判断软件系统可靠性的重要指标之一。对于本项目中开发的网络教学软件而言,尽管不要求其以7x24h持续运转,但在理论上,应对这项能力加以考虑,并应持续周期性的进行测试,以证明网络教学软件具备达标要求的稳定性。网络教学软件稳定性测试分析如表4.7所示。
表4.7 网络教学软件稳定性测试分析
(2)负载测试
在网络教学软件平台数据分析的过程中按一定的标准与要求持续进行用户
33
数的增加,并对每一次用户数在增加后进行的响应时间,内存使用情况等具体相关数据的调整进行详细的记录,并持续使网络教学软件平台服务器资源被消耗到预设临界值,就这种情况来说,网络教学软件平台可持续运行7x24小时,进而对这一过程更好的对网络教学软件平台的资源消耗情况进行记录,从而进行了解与对比。网络教学软件负载测试分析,如表4.8所示。
表4.8网络教学软件负载测试分析
4.5.2.5测试模式
使用挡板程序模式对网络教学系统进行性能测试。
屏蔽网络教学系统和综合前置的通信,让网络教学系统和挡板程序进行通信。挡板程序做延迟处理,模拟与后端系统的通讯时间。当Loadrunner模拟虚拟用户向网络教学软件系统发起请求报文,系统处理后,将报文发往挡板程序,挡板程序做相关处理后,向网络教学软件系统返回报文,网络教学系统对这些报文再进行相应处理。该方法测试网络教学软件系统自身的性能。
4.5.2.6测试步骤
表4.9软件性能测试步骤分析
4.5.2.7结束条件
在网络教学软件平台性能测试的计划全部执行后,需提交测试报告并通过审核,或者经机构各方协调后同意测试结束。
34
4.6质量控制结果
通过对上述开发软件的一系列分析后,本文研究的网络教学软件开发项目质量控制结果表现如下:
1)在网络教学软件开发项目的需求分析、软件结构设计及软件编程中,在软件开发项目质量控制的把控下,所进行的各项模块化的需求分析、业务需求、结构设计、代码编程能满足整个教学软件的全部功能;
2)在网络教学软件开发项目的软件测试环节中,在项目质量控制的要求下,网络教学软件开发中的功能测试、页面测试、性能测试也达到了预期的需求,且处于用户数最大值时,网络教学软件平台仍然能够给予正确的响应需求,满足网络教学软件开发项目的质量控制结果。
35
第五章 总结与展望
5.1总结
随着Internet技术及信息技术的高速发展,网络学习早已成为信息社会的现代学习模式,而且众多中小学生的学习模式也逐步趋向于多元化,从单一的板书授课转变为了多媒体授课,再到目前的网络教学平台,这无疑是信息时代教学中的重要体现,也是学习方式在时代发展中的一种改革。本文以网络教学软件为个案分析,利用项目管理理论及软件质量控制理论对中小学生网络教学软件开发项目的质量控制研究,主要结论如下:
1)利用软件项目质量控制理论的方法及项目管理全周期理论来分析软件项目开发全周期中各个阶段的目标、要求以及内容以及控制方法、标准等基础上,并结合我国现代管理学理论基础,应用到天天作业网络教学软件开发项目中的具体每个阶段的质量控制工作中,从而对需求阶段、设计阶段、开发阶段、测试阶段以及维护阶段的质量控制要点进行了全生命周期的质量控制,从而构建出一套全新的软件质量控制模型。
2)通过把软件质量控制模型引入到网络教学软件开发项目的质量控制研究中,促使该软件项目具有明显的针对性,同时根据软件开发项目的需求分析、结构设计、软件编程以及软件测试等环节中均达到了预期要求,能满足中小学生网络学习的需求。
5.2展望
由于自身水平的不足,笔者对网络教学软件开发项目质量控制还需要做进一步研究的问题,主要集中在以下几个方面:
一是关于网络教学软件开发项目质量的评估。如何建立合理、科学的评估指标及方法,对网络教学软件开发项目质量进行实时监控,以保证教育质量的提高。
二是在网络教学软件开发项目的内部质量控制中,如何更具体地实现质量控制的措施,以及建立评估日常化制度等问题有待今后进一步深入研究。
36
参考文献
[1] 薛云.高校网络教学过程质量控制与管理研究[J].教育理论与实践,2014(9):11-11.
[2] 方青云,杨家騄.基于行为研究的网络教学质量控制模式[J].开放教育研究,2009, 15(4):16-22.
[3] 徐颖秦,张又亮,夏柯.自动控制原理网络教学平台的设计与开发[J].价值工程,2011, 30(34):164-164.
[4] 王军.职业院校教学评价系统项目管理研究[D].云南大学,2008.
[5] 楼程伟,陈丽红.从Sakai项目谈高校网络辅助教学平台[J].信息化建设,2016(5).
[6] 李晓平.网络课程设计开发中的质量控制策略研究[J].时代教育:教育教学版, 2009(3):58-58.
[7] 关颖,衣云龙,李波.基于网络的高校教育教学研究项目全面质量管理的构建研究[J]. 考试周刊,2016(3):133-134.
[8] 张晓玲,锁志海.基于网络平台的法学实践教学质量效率分析[J].中国教育信息化, 2007(10):23-25.
[9] 胡光.从国军标中对软件的新要求看我国军用软件质量控制的发展趋势[J].船舶标准化工程师,2011(3):47-49.
[10] 刘志强.面向对象的程序设计质量控制方法[J].电脑与电信,2011(4):76-77.
[11] 伍建军,邵家骏,韩俊仙.设计-制造链六西格玛质量控制方法[J].矿山机械, 2009(10):4-8.
[12] 李诺夫. GIS数据质量控制方法探讨[J]. 测绘通报, 2011(8):66-68.
[13] 罗毅洁. 基于CMMI4的软件质量控制活动过程管理研究[J]. 宁波职业技术学院学报, 2013(3):104-108.
[14] 刘晶.刍议一卡通项目中的软件质量控制[J].科技信息,2010(20).
[15] 张宇波,张丽萍,成丽君.软件项目质量管理的应用研究[J].山西农业大学学报(自然科学版),2009,29(4):361-364.
[16] 刘云峰.金保工程软件开发项目质量管理研究[D].哈尔滨工程大学,2008.
[17] 宋坤,周智海,史静涛.软件质量控制方法研究[J].海洋技术学报,2012, 31(1):119-122.
[18] 刘晓.工程项目施工过程质量控制的研究[J].建材与装饰,2015(45):37-38.
[19] 朱丹,王斌,童艳.实时测控软件研制过程中质量控制方法研究[J].电子产品可靠性与环境试验,2013,31(2):26-29.
[20] 杨丽.资源调查体系的建立——基于数据质量控制方法的研究[J].科技与企
37
致 谢
业,2013(8):216-216.
[21] 杨鹏,王亚杰,王倩.PDCA管理模式在电力工程管理中的运用分析[J].河南科技,2015(21).
[22] 李怀璋,王青.基于ISO9000和CMM的软件质量管理系统的研究[J].计算机应用与软件,2002,19(2):25-27.
[23] 宋嵬.刍议软件开发的项目质量管理策略[J].计算机光盘软件与应用,2012(14):201-201.
[24] 韩静,晤日晗.浅析移动银行软件项目研发过程中的质量控制[J].信息通信,2015(6):113-114.
[25] 周平.小型IT项目开发过程的软件质量控制研究[D].成都理工大学,2014. [26] Kerf J L F D. APL and Halstead's theory of software metrics[J]. Acm Sigapl Apl Quote Quad, 1981, 12(1):89-93.
[27] Maresca P, Cantone G, Cimitile A. A Progression from Halstead's Dimensional Software Metrics[C].Congresso Aica. 1986. [28] Weed L L. Quality control and the medical record.[J]. Archives of Internal Medicine, 1971, 127(1):101-5. [29] Walters G F, Mccall J A. Software Quality Metrics for Life-Cycle Cost-Reduction[J]. IEEE Transactions on Reliability, 1979, R-28(3):212-220. [30] Drehmer D E, Dekleva S M. A note on the evolution of software engineering practices[J]. Pharmacoeconomics Spanish Research Articles, 2001, 57(1):1-7.
38