处理在线课程

时间:2012-02-16 09:15:18

标签: design-patterns architecture

我正在寻找有关如何处理在线课程的意见。

一些背景知识:

课程是在CMS系统中使用XML构建的。这些发布到数据库,然后由asp.net网站解释。在网站上用户注册并参加课程。其中一些课程很长(16小时,更多的是所需的阅读),主要包括不同类型的问题(多项选择,单一正确,多项正确等)和一项能够通过/失败的评分。由于课程的长度,许多用户需要花费几周的时间才能完成。

当用户离开课程一半并且从CMS系统更新并重新发布时,会出现问题。如果问题的数量已经改变,则用户可能已经通过了插入新问题的点,这将影响他的分数。得分可能已经直接改变了,各种各样的恶作剧。

那么,关于设计可以由作者修改的课程的架构和模式的任何提示,而不会中断已经开始的会话?

1 个答案:

答案 0 :(得分:1)

将整个测试存储为1个测试对象,并在添加新问题时创建测试的新“版本”。当有人开始参加测试时,他们可能会从版本1开始,但与此同时问题已经更新并且存在版本2。允许他们完成版本1,然后完成,看看是否存在更新的版本。然后向他们提供第2版的新问题。

当然,这可能是实现的一个主要功能,但我认为它可以干净地处理问题,因为您不会混淆当前正在进行的测试。如果存在正在进行的测试,您也可以仅生成差异问题,否则用例不相关。我希望这会给你一些如何解决它的想法。