IB 计算机科学/科学系统生命周期和软件开发/系统生命周期
外观
系统生命周期可以分为五个阶段:分析、设计、实施、运行和维护。
- 分析 - 系统分析师与用户会面,确定用户的确切需求,并进行可行性研究(设计人员是否能够满足用户的期望)。
- 设计 - 在此阶段,程序员设计出用户问题的解决方案。这可能是周期中最耗时的部分,因为需要做出许多选择。必须决定要使用哪些类型的软件、硬件和算法。
- 实施 - 系统的构建(开发);系统是根据上一阶段设计的方案开发的。
- 运行 - 也称为安装或系统启动。系统可以作为直接切换、分阶段引入或并行运行进行安装。
- 维护 - 随着时间的推移,可能会出现错误和/或缺陷,因此需要修复和更新系统。但是,修复一个错误可能会导致另一个错误的出现。
在分析阶段收集数据至关重要,因为您可以获得对问题的清晰洞察。如果无法正确识别问题,就一定会出现糟糕的解决方案。
方法 | 优点 | 缺点 |
---|---|---|
访谈 | 详细数据,可以在过程中更改问题(不像问卷调查)。 | 耗时,对数据进行分类/量化存在问题。 |
问卷调查 | 可以快速覆盖大量人员(与访谈/观察相比)。可以进行数值分析。 | 问题可能被误解。人们可能根本不回复,或者只回答部分问题。 |
文档搜索 | 可以准确识别系统所需的数据。 | 文档可能缺失、过时等(访谈可以发现这些问题)。 |
文献检索 | 可以找到之前实现的描述/问题(节省工作量)。 | 问题可能没有描述(或没有详细描述)。同样,在没有经验用户的参与下工作。 |
观察 | 观察独立于用户偏差(不像访谈/问卷调查)。 | 耗时,观察者会影响过程:霍桑效应。 |
需求规格说明书包含系统能够做什么以及如何完成。这应该包括
- 构建、测试和运行系统的成本(包括硬件和软件)。
- 预计完成时间
- 所需的硬件和软件工具列表
- 硬件和软件功能的描述
- 系统的性能
- 人员和分配任务的列表
可行性报告可以在分析阶段、设计阶段或两个阶段都产生。它应该包括
- 成本
- 预期效益
- 时间段
- 潜在困难
解决问题的方法有很多,可以使用或不使用计算机。您必须考虑的一个因素是解决方案的输入和输出。软件本身可以是以下三种类型之一
- 通用应用程序软件 - 这是最便宜的解决方案,但可能不包含用户需要的所有功能。一个典型的例子是办公套件。
- 特定应用软件包 - 这些软件通常比通用应用程序软件更昂贵,并提供更多功能。这些程序往往是专门为企业编写的。
- 定制软件 - 这是最昂贵的选项,但可以根据客户的要求进行定制,因为它是从头开始编写的。
系统通常会经历几个测试阶段。alpha 测试是第一个阶段,其中一小群合格人员检查程序的早期版本。beta 测试是指程序已完成所有功能并发布给更广泛的受众进行测试。
测试数据还用于确保程序输出预期数据。我们可以使用以下数据测试程序
- 正常数据 - 预计输入程序的数据。包括预计范围内的极限数据。
- 极限数据 - 这将超出程序的正常范围,模拟用户错误输入数据时会发生什么情况。
- 异常数据 - 预期之外的数据,例如字符串而不是整数值。
可以使用以下三种方法之一实施新系统
- 并行运行 - 这是同时运行新旧系统。这确认了这两个系统都产生相同的输出,如果出现任何故障,可以在不损失正常运行时间的情况下进行修复。员工可以在没有丢失数据的风险下接受培训,但可能会有两倍的工作量。
- 分阶段引入 - 系统的各个部分在不同的时间实施,每个部分都会被测试并确认,这意味着实施时间会更长。
- 直接切换 - 也称为大爆炸,旧系统立即被新系统替换。用户需要在新系统实施之前接受培训,并且存在系统无法正常工作的风险。
对系统的良好维护至关重要;清晰的文档在开始时有助于这一过程,因为程序员无需费力理解设计决策,因为这些决策已在文档中说明。这降低了维护成本。定期审查和性能审查使用与分析部分中相同的资料收集技术,并指示是否需要进一步改进或修改。