跳转到内容

A-level 计算机/AQA/试卷 1/系统解决问题的步骤

来自维基教科书,开放的书籍,开放的世界
规范要点 内容 附加信息
4.13.1.1 分析 意识到在解决问题之前,必须定义问题,确定解决问题的系统需求并创建数据模型。系统需求必须通过与系统的预期用户互动来确定。明确需求的过程可能涉及原型/敏捷方法。 学生应该有使用抽象来模拟程序中外部世界方面的经验。
4.13.1.2 设计
  • 意识到在构建解决方案之前,应该设计并指定解决方案,例如规划数据模型的数据结构,设计算法,设计解决方案的适当模块化结构以及设计人机界面。
  • 意识到设计可以是一个迭代过程,涉及原型/敏捷方法。
学生应该有足够的经验成功地将程序结构化为具有清晰记录的接口的模块化部分,使他们能够为解决方案设计适当的模块化结构。
4.13.1.3 实施
  • 意识到模型和算法需要以计算机能够理解的数据结构和代码(指令)的形式实现。
  • 意识到最终解决方案可以通过使用迭代过程来实现,该迭代过程采用原型/敏捷方法,重点首先解决关键路径。
学生应该有足够的编写、调试和测试程序的实践经验,使他们能够发展技能,阐明程序的工作原理,使用逻辑推理、测试数据和用户反馈来论证程序的正确性和效率。
4.13.1.4 测试
  • 意识到必须测试实现是否存在错误,使用选定的测试数据,涵盖正常(典型)、边界和错误数据。
  • 它还应该进行验收测试,与系统的预期用户一起进行,以确保预期的解决方案符合其规范。
  • 学生应该有设计和应用测试数据的实践经验,正常、边界和错误数据用于测试程序,以便他们熟悉这些测试数据类型以及测试的目的。
  • 学生只需要提供用户反馈的证据,而不是最终用户执行的测试的详细信息。
4.13.1.5 评估 了解评估计算机系统的标准。

分析系统以识别需求并定义正在解决的问题。

例如,网站的构建可以涵盖

  • 数据 - 它的来源、用途、数量和特征
  • 程序 - 做了什么,在哪里,何时以及如何,以及如何处理错误和异常
  • 未来 - 发展计划和预期增长率
  • 任何现有系统的问题

对于其他类型的问题,例如模拟或游戏,需求仍然需要涵盖类似的一组考虑因素。

在设计系统时,应考虑以下部分或全部内容

  • 处理:记录和创建算法以及解决方案的适当模块化结构。
  • 数据结构:数据如何保存以及如何访问 - 例如在动态结构(如队列或树)中,或在文件或数据库中
  • 输出:内容、格式、顺序、频率、媒介等。
  • 输入:数量、频率、使用文档、输入方法;
  • 用户界面:屏幕和对话框、菜单、特殊用途需求
  • 安全性:如何保护数据免受意外损坏或故意篡改或黑客攻击
  • 硬件:选择合适的配置

设计达成一致后,就可以对程序进行编码。需要保持对项目最终目标的清晰关注,避免用户或程序员被偏离到创建可能有用或未来可能需要的额外功能上。程序员需要灵活地接受用户反馈并在发现问题或设计缺陷时对程序进行更改。即使在中等复杂的系统中,也很难预测所有东西将如何协同工作,因此在每个阶段进行迭代更改是原型/敏捷方法的正常部分。

在开发过程的每个阶段都进行测试。一旦所有程序都使用正常、边界和错误数据进行测试,还将进行单元测试、模块测试和系统测试。然后,系统需要由用户测试,以确保它符合规范。这被称为验收测试。它涉及使用最终用户提供的数据进行测试,而不是专门为测试目的设计的数据。它具有以下目标

  • 确认交付的系统符合最初的客户规范
  • 找出是否需要对操作程序进行任何重大更改
  • 在系统将要运行的环境中测试系统,使用现实的数据量

测试是一个迭代过程,测试过程中的每个阶段都会重复,由于在后续阶段出现错误,必须进行修改。

评估可能包括实施后审查,这是对系统投入运行后三到六个月进行的批判性审查。这个等待时间让用户和技术人员可以学习如何使用系统,习惯新的工作方式并了解所需的新程序。它让管理层有机会评估他们可以进行的报告和在线查询的有效性,并经历几个“月末”周期,在此期间将生成各种例行报告。系统的缺点(如果有的话)将在组织的各个层面上变得越来越明显,用户将希望有机会表达他们的观点并讨论改进。应该根据有效性、可用性和可维护性评估解决方案。实施后审查将重点关注以下内容

  • 比较系统的实际性能与预期性能目标
  • 根据预设标准评估系统的各个方面
  • 系统开发过程中的错误
  • 意外的益处和问题
华夏公益教科书