ソフトウェアライフサイクルを企画プロセス, 要件定義プロセス, 開発プロセス, 運用プロセスに分けたとき, 企画プロセスの成果として, 適切なものはどれか。
平成23年度 特別試験 ITパスポート試験 問5
这道题的解析和你的作答记录。
問 5
错误ア
「已定义并评审了所要开发软件的需求」是开发流程的成果,因此错误。在开发流程中的软件需求定义(软件需求分析)阶段,要从需求定义流程中已达成一致的对系统的需求里,取出由软件承担的那一部分,把它细化到功能、界面、报表、数据、性能、接口等层级,再对这些内容进行评审并最终确定。在规划流程阶段还只是确定系统化的方针与计划,软件层面的具体需求尚未确定。
错误イ
「已定义并就系统的需求与约束条件达成一致」是需求定义流程的成果,因此错误。在需求定义流程中,要发掘使用部门、经营层、运维部门等利益相关方的需求,定义业务需求、对系统的功能需求与非功能需求(性能、可用性、安全性等),以及预算、交付期限、法律法规、与既有系统对接等约束条件,并在相关方之间形成一致意见。这是位于规划流程之后的另一个流程的成果,所以作为规划流程的成果并不恰当。
- ウ
正解 正确答案是ウ「已制定并批准了实现系统的实施计划」。规划流程位于软件生命周期的最上游,它从经营战略和业务计划出发,确定究竟要做什么样的系统、何时做完、花多少钱、由什么样的体制来做这一大框架。其工作大致分为两部分。首先是系统化构想的编制:确认经营上的需求与课题,调查分析经营环境与业务环境,明确全局最优化的方针以及目标业务的范围。其次是系统化计划的编制:汇总目标业务的分析、可用技术的调查、需要系统化的功能的梳理与系统方式的研讨、费用效益(投资回报)的预测、项目推进体制、开发进度计划、风险评估等内容。其交付物就是系统化构想书与系统化计划书,只有获得经营层批准,才能进入下一个需求定义流程。选项ウ的「已制定并批准了实现系统的实施计划」正是指这份系统化计划书已编制完成并获得批准的状态,作为规划流程的成果是恰当的。这里要把握的一点是:规划流程的成果并不是「做什么内容、怎么做」的细节,而是投资决策及其实施计划。
错误エ
「已在最高层级设计并评审了数据库」是开发流程的成果,因此错误。数据库最高层级的设计(概念数据模型、表的总体结构设计)是在开发流程的软件架构设计(方式设计)中,与软件的结构、组件划分、接口一起确定并接受评审的。它属于比规划流程靠下游得多的技术性设计工作,不是规划阶段的成果。
- 共通框架的软件生命周期按 规划 → 需求定义 → 开发 → 运行(→ 维护)的顺序推进。规划流程的成果是系统化构想书与系统化计划书,也就是已经制定并批准了立足于经营需求的总体方针,以及包含费用效益、推进体制、进度计划在内的实施计划。
- 不要混淆各个流程的交付物,这是本题的要点。需求定义流程=定义对系统的需求与约束条件并达成一致;开发流程=软件需求定义、架构设计(包含数据库最高层级的设计)、详细设计、编程、测试;运行流程=正式上线运行与运行支持。越靠上游越关注「为了什么而做」,越靠下游越关注「怎么做」。