A-level 计算机/AQA/试卷 1/系统解决问题的步骤
外观
规范要点 | 内容 | 附加信息 |
---|---|---|
4.13.1.1 分析 | 意识到在解决问题之前,必须定义问题,确定解决问题的系统需求并创建数据模型。系统需求必须通过与系统的预期用户互动来确定。明确需求的过程可能涉及原型/敏捷方法。 | 学生应该有使用抽象来模拟程序中外部世界方面的经验。 |
4.13.1.2 设计 |
|
学生应该有足够的经验成功地将程序结构化为具有清晰记录的接口的模块化部分,使他们能够为解决方案设计适当的模块化结构。 |
4.13.1.3 实施 |
|
学生应该有足够的编写、调试和测试程序的实践经验,使他们能够发展技能,阐明程序的工作原理,使用逻辑推理、测试数据和用户反馈来论证程序的正确性和效率。 |
4.13.1.4 测试 |
|
|
4.13.1.5 评估 | 了解评估计算机系统的标准。 |
分析系统以识别需求并定义正在解决的问题。
例如,网站的构建可以涵盖
- 数据 - 它的来源、用途、数量和特征
- 程序 - 做了什么,在哪里,何时以及如何,以及如何处理错误和异常
- 未来 - 发展计划和预期增长率
- 任何现有系统的问题
对于其他类型的问题,例如模拟或游戏,需求仍然需要涵盖类似的一组考虑因素。
在设计系统时,应考虑以下部分或全部内容
- 处理:记录和创建算法以及解决方案的适当模块化结构。
- 数据结构:数据如何保存以及如何访问 - 例如在动态结构(如队列或树)中,或在文件或数据库中
- 输出:内容、格式、顺序、频率、媒介等。
- 输入:数量、频率、使用文档、输入方法;
- 用户界面:屏幕和对话框、菜单、特殊用途需求
- 安全性:如何保护数据免受意外损坏或故意篡改或黑客攻击
- 硬件:选择合适的配置
设计达成一致后,就可以对程序进行编码。需要保持对项目最终目标的清晰关注,避免用户或程序员被偏离到创建可能有用或未来可能需要的额外功能上。程序员需要灵活地接受用户反馈并在发现问题或设计缺陷时对程序进行更改。即使在中等复杂的系统中,也很难预测所有东西将如何协同工作,因此在每个阶段进行迭代更改是原型/敏捷方法的正常部分。
在开发过程的每个阶段都进行测试。一旦所有程序都使用正常、边界和错误数据进行测试,还将进行单元测试、模块测试和系统测试。然后,系统需要由用户测试,以确保它符合规范。这被称为验收测试。它涉及使用最终用户提供的数据进行测试,而不是专门为测试目的设计的数据。它具有以下目标
- 确认交付的系统符合最初的客户规范
- 找出是否需要对操作程序进行任何重大更改
- 在系统将要运行的环境中测试系统,使用现实的数据量
测试是一个迭代过程,测试过程中的每个阶段都会重复,由于在后续阶段出现错误,必须进行修改。
评估可能包括实施后审查,这是对系统投入运行后三到六个月进行的批判性审查。这个等待时间让用户和技术人员可以学习如何使用系统,习惯新的工作方式并了解所需的新程序。它让管理层有机会评估他们可以进行的报告和在线查询的有效性,并经历几个“月末”周期,在此期间将生成各种例行报告。系统的缺点(如果有的话)将在组织的各个层面上变得越来越明显,用户将希望有机会表达他们的观点并讨论改进。应该根据有效性、可用性和可维护性评估解决方案。实施后审查将重点关注以下内容
- 比较系统的实际性能与预期性能目标
- 根据预设标准评估系统的各个方面
- 系统开发过程中的错误
- 意外的益处和问题