ソフトウェアライフサイクルの主プロセスを, 企画, 要件定義, 開発, 運用, 保守に分けたとき, 要件定義プロセスで実施する作業として, 適切なものはどれか。
平成29年度 秋期 ITパスポート試験 問19
This question's explanation and your answers so far.
問 19
Incorrectア
“Testing whether the developed system conforms to the determined specifications and can be used in the actual operating environment” is verification work performed after the system has been built, corresponding to the development (testing) to operation-transition stage. It is not a task of the requirements definition process, in which requirements have not yet been determined.
Incorrectイ
“Presenting the content and conditions of the outsourcing to the contractor and obtaining the specific implementation details and cost estimate” is procurement work (planning to procurement) for placing the development order with an external party. It is a different process from requirements definition, which decides the content of the system to be built.
Incorrectウ
“Determining in detail the data formats and the database structure so that development work can be carried out” is a task of the development (design) process, which makes concrete the method of realizing the requirements. Requirements definition is the stage that decides “what to build”, while the detailed design of “how to build it” is done in the subsequent development process.
- エ
正解 The requirements definition process is the stage where, before development begins, the user side and the developer side clarify as a shared understanding “what kind of system is to be built” from the perspectives of function, performance, usage method, and so on, and reach agreement. Choice エ describes the very content of this requirements definition work, so it is the correct answer. Organizing the user's business needs (what they want to achieve) into functional requirements and non-functional requirements, and forming an “agreement on requirements” between both sides, becomes the foundation for the subsequent development process.
- The role of each process in the software life cycle: planning (concept, procurement) → requirements definition (the user and developer clarify and agree on what to build) → development (design, implementation, testing) → operation → maintenance.
- The essence of the requirements definition process is that the user side and the developer side clarify functional requirements and non-functional requirements and form an “agreement on requirements”. Distinguish that it is the process that decides “what to build”, not “how to build it”.