ソフトウェアライフサイクルを企画プロセス, 要件定義プロセス, 開発プロセス, 運用プロセスに分けたとき, 企画プロセスの成果として, 適切なものはどれか。
平成23年度 特別試験 ITパスポート試験 問5
This question's explanation and your answers so far.
問 5
Incorrectア
“The requirements of the software to be developed are defined and reviewed” is a deliverable of the development process, so it is wrong. In software requirements definition (software requirements analysis) inside the development process, the part that the software is responsible for is taken out of the system requirements agreed in the requirements definition process and made concrete down to the level of functions, screens, reports, data, performance, and interfaces; that content is then reviewed and fixed. At the planning process stage only the policy and plan for systemization have been decided, and the individual requirements of the software are not yet determined.
Incorrectイ
“The requirements and constraints for the system are defined and agreed upon” is a deliverable of the requirements definition process, so it is wrong. In the requirements definition process, the needs of stakeholders such as the user departments, management, and the operations department are drawn out; the business requirements, the functional and non-functional requirements for the system (performance, availability, security, and so on), and constraints such as budget, delivery deadline, laws and regulations, and linkage with existing systems are defined; and agreement is reached among the parties involved. This is the deliverable of a separate process that comes after the planning process, so it is not appropriate as a deliverable of the planning process.
- ウ
正解 The correct answer is ウ, “The implementation plan for realizing the system is formulated and approved.” The planning process sits at the very top of the software lifecycle. Starting from the management strategy and the business plan, it decides the broad outline: what kind of system to build, by when, at what cost, and with what organization. The work falls into two main parts. First, drawing up the system concept — confirming the management needs and issues, surveying and analyzing the business and operational environment, and clarifying the policy for overall optimization and the scope of the target operations. Second, drawing up the system plan — pulling together the analysis of the target operations, a survey of applicable technologies, an organized list of the functions to be systemized and a study of the system approach, a forecast of cost effectiveness (return on investment), the project organization, the development schedule, and the risks to be considered. The deliverables are the system concept document and the system plan document, and only after management approves them can the work move on to the next stage, the requirements definition process. Choice ウ, “The implementation plan for realizing the system is formulated and approved,” describes exactly the state in which this system plan document has been produced and approved, so it is an appropriate deliverable of the planning process. The point to remember is that the deliverable of the planning process is not the detail of what to build and how, but the investment decision and the plan for carrying it out.
Incorrectエ
“The database is designed at the highest level and reviewed” is a deliverable of the development process, so it is wrong. Top-level database design (the conceptual data model, the broad design of the tables) is decided and reviewed in software architecture design within the development process, together with the structure of the software, the division into components, and the interfaces. It is technical design work far downstream of the planning process, not a deliverable of the planning stage.
- In the Common Frame software lifecycle the flow runs planning → requirements definition → development → operation (→ maintenance). The deliverables of the planning process are the system concept document and the system plan document — that is, an overall policy grounded in the management needs, plus an implementation plan covering cost effectiveness, the project organization, and the schedule, formulated and approved.
- The key to this question is not to confuse the deliverables of the different processes. Requirements definition process = defining and agreeing the requirements and constraints for the system; development process = software requirements definition, architecture design (including top-level database design), detailed design, programming, and testing; operation process = live running and operational support. The further upstream, the more the work is about why the system is being built; the further downstream, the more it is about how to build it.