跳转到内容

IB 计算机科学/科学系统生命周期和软件开发/软件设计

来自维基教科书,开放的书籍,开放的世界

软件设计

[编辑 | 编辑源代码]

所需数据

[编辑 | 编辑源代码]

模块化

[编辑 | 编辑源代码]

模块化是一个在计算机科学(特别是编程)和认知科学中研究思维结构的上下文中都有应用的概念。模块的定义可以有多种,但通常必须是更大系统的一部分,并且在该系统中独立于其他组件的操作而运行。

计算机科学中的模块化

模块化是计算机程序的属性,它衡量程序在多大程度上由称为模块的独立部分组成。模块化的编程方法在人工智能系统集成领域越来越受欢迎,其中一个大型通用人工智能系统由模块组成,每个模块都服务于特定目的并相互通信以产生系统的整体行为。在程序代码的任何两个随机部分之间存在许多直接相互关系的程序,其模块化程度低于那些关系主要发生在模块之间明确定义的接口上的程序。

原型设计

[编辑 | 编辑源代码]

原型设计是快速构建一个工作模型(原型)的过程,以便测试设计的各个方面,说明想法或功能,并收集早期用户反馈。原型设计通常被视为系统设计过程中的一个组成部分,人们认为它可以降低项目风险和成本。通常在一个增量开发过程中制作一个或多个原型,其中每个原型都受到之前设计性能的影响,这样就可以纠正设计中的问题或缺陷。当原型得到充分细化并满足功能性、鲁棒性、可制造性和其他设计目标时,产品就可以投入生产。

查看原型设计以获取更详细的解释

原型设计方法

[编辑 | 编辑源代码]

最终用户

[编辑 | 编辑源代码]

最终用户是软件工程中一个流行的概念,指的是最终将操作某段软件的一组人的抽象(即预期用户或目标用户)。这种抽象旨在用于设计用户界面,因此建立在任何用户特征的相关子集上,这些特征可能包括他/她对哪些计算机界面感到舒适(以前使用过或因为其固有的简单性)、他/她的技术专业知识和特定领域或学科的知识程度,以及任何其他被认为在特定项目中相关的的信息。当对最终用户类别施加很少的限制时,例如为大众编写/发布程序时,通常的做法是预计最终用户将具备最少的技术专业知识或使用计算机界面的先前培训。这也是与术语最终用户相关的普遍含义(另请参见 Luser)。在这种情况下,为了易用性,通常更喜欢直观的 GUI(可能带触摸界面)而不是更复杂的命令行界面。

对于标准级别,仅期望对效率进行定性处理或特定计算。“O”或大O符号仅在 HL 级别需要。

测试意味着跟踪算法的各个部分,包括对错误的响应(“干运行”),以及测试用例的设计,然后执行这些测试用例。学生必须能够提出合适的测试数据,并给出理由。调试包括检测、诊断和纠正测试发现的错误。

调试工具

[编辑 | 编辑源代码]

理想情况下,学生应该使用一个集成的开发环境 (IDE),它结合了编辑器、解释器或编译器以及调试工具,但这并不是必需的。

华夏公益教科书