首页 理论教育数字化学习环境软件系统开发的过程及意义

数字化学习环境软件系统开发的过程及意义

【摘要】:数字化学习环境软件系统的开发过程,可以继承RUP用例驱动、架构设计和迭代增量开发的特点;通过简化流程,增强与用户的密切合作等措施增加开发过程的敏捷性,以提高开发效率,控制开发成本;并通过加强规范管理、文档管理和过程管理保证软件的开发质量。利用RUP进行软件开发,具有很多的优点,具体如下。

数字化学习环境软件系统的开发过程,可以继承RUP用例驱动、架构设计和迭代增量开发的特点;通过简化流程,增强与用户的密切合作等措施增加开发过程的敏捷性,以提高开发效率,控制开发成本;并通过加强规范管理、文档管理和过程管理保证软件的开发质量。这里提到的RUP,是Rational软件公司创造的一个被广泛研究和应用的软件开发过程,它具有完整的、通用的过程框架,可适应于不同类型的软件系统和应用领域。它具有三个突出的特点,即用例驱动、以架构为中心、迭代增量开发,并提出六种最佳实践,即管理需求、迭代开发、可视化地建模、使用基于构件的结构、不断地验证质量、对变更进行管理。利用RUP进行软件开发,具有很多的优点,具体如下。

第一,统一过程是用例驱动的,所以能更有效地从需求转到后续的工作流(分析、设计等)。

第二,统一过程是以构架为中心的,而该构架是可以理解的、有弹性的、健壮的,在未来的岁月是可以进化的。

第三,统一过程是迭代和增量式的,所以开发人员和所有其他项目的相关人员都可以从成功的构造和迭代实践中学习。

第四,统一过程是风险驱动的,所以会减小那些可能对项目的成功造成危害或者对预算或进度造成危害的严重风险。

第五,统一过程是基于构件的,所以通过重用构造块,可以加快开发过程的速度,减少成本,提高产品质量。

第六,统一过程是一个工程化的过程,所以它能使项目组的每个成员协调一致地工作。

第七,统一过程从很多方面强化了软件开发组织。最重要的是它提供了项目组可以协同工作的途径,而且它还提供了项目组与用户及其他项目的相关人员一起工作的途径。

此外,在数字化学习环境软件系统的开发过程中,应特别注意以下几个方面。

第一,要注意在架构设计阶段标注数字化学习环境软件系统中的核心功能需求和主要的非功能需求,并依据这些需求选择适当的技术路线、软件平台和开发框架,并完成基础架构的设计。

第二,要注意增加教学设计环节和应用推进环节。在教学设计环节,在与个别教师、学生和管理人员充分沟通、交流的基础上,通过文献调查、相关成果调研、政策研究、问卷调查等形式对相关业务目标进行理论研究,归纳形成具体的业务需求。在应用推进环节,通过应用推进方案和案例库推动不同类型用户的应用,从而迅速获得应用反馈,所涉及的需求变更将进入下一次迭代过程。

第三,要注意将数字化学习环境软件系统的开发周期划分成两个阶段,即软件形成阶段和软件应用阶段。这两个阶段均采用迭代增量开发方式,但是由于软件应用阶段同时要保证软件的正常使用,迭代周期相对要长,一般为一个学期。

第四,要注意引入XP子项目开发的思想,将整个系统的开发划分成多个开发阶段,每个阶段就是一次迭代,每次迭代时标注出不同构件的优先级和开发重点,并保证每次迭代都能生产出可应用的构件。XP(Extreme Programming)极限编程是一种以人为核心、迭代、循序渐进的开发方法,能够对未来可能出现的变化和不确定性作出全面反应。另外,XP开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

第五,要加强软件的版本管理,并以版本为主线实现需求变更管理。