受託したシステムの新規開発において, ソフトウェアを本番環境に移行するための計画を顧客に説明した。この計画に基づいた作業を実施する工程として, 適切なものはどれか。
平成23年度 秋期 ITパスポート試験 問48
This question's explanation and your answers so far.
問 48
Incorrectア
Integration testing is a development process in which several programs or modules that have finished unit testing are combined, and it is verified that the interfaces between the modules (the data passed and the calling procedures) work together correctly as designed. It is carried out in the developer's test environment, not in the production environment, and its purpose is to build in quality and detect defects. It is not the process that carries out migration work based on a plan for migrating to the production environment, so it is wrong.
Incorrectイ
System testing is a process in which the developer comprehensively verifies whether the whole system, including hardware and the network, satisfies the requirements decided in requirements definition, such as function, performance, reliability, and security. A test environment configured close to the production environment is sometimes prepared for it, but that is only for verification; it is not the work of moving the software into the production environment and running it there. The order is that installation (migration) is performed after the testing has been passed, so this choice is wrong.
- ウ
正解 The correct answer is ウ. Software installation (deployment) is the process of putting completed software into the environment where it will actually be used for business, that is, the production environment, and bringing it to a state where it can run. In the software life cycle of the Common Frame it is positioned as the software installation process, and its standard flow is: first create the installation plan (migration plan), next explain that plan to the customer (the acquirer) and obtain agreement, and finally carry out the actual migration work according to the plan. The description in this question fits that flow exactly. “The plan for migrating the software to the production environment was explained to the customer” corresponds to creating the installation plan and reaching agreement, and “carrying out the work based on this plan” is precisely the execution of the installation work. The work carried out here includes deploying and setting up the programs in the production environment, migrating initial data and data from the existing system, setting up user accounts and privileges, checking operation in the production environment, and explaining the operations to the users. For a party that has taken on new development under contract, such migration is work that could halt the customer's business, so the schedule, the procedures, the division of roles, and even the rollback procedure for when a problem occurs must be explained to the customer in advance as a plan, and the work carried out only after approval is obtained. Since the question, after “the plan was explained to the customer”, asks for “the process that carries out the work based on this plan”, the answer is the process that performs the migration work itself, namely software installation (deployment).
Incorrectエ
Software maintenance is the process of correcting faults that have been found, responding to changes in laws and regulations or in business operations, improving performance, and adding functions, after the system has started running in the production environment. In chronological order it is the stage after production operation has begun through software installation. This question deals with the situation in a new development where migration to the production environment is still ahead, so maintenance, which handles upkeep and improvement after operation starts, does not apply, and this choice is wrong.
- The order of the processes in the software life cycle — planning and requirements definition → design → programming → testing (unit testing, integration testing, system testing) → software installation → software acceptance (acceptance testing and formal acceptance) → operation and software maintenance. Keep this flow in mind. The process that actually performs the migration to the production environment is software installation, which comes after the developer's testing processes and before operation and maintenance. Note also that in the Common Frame, the acceptance testing and formal acceptance performed by the customer belong to the software acceptance process, which is placed after software installation.
- What the software installation process consists of — it proceeds through the steps: create the installation plan (migration plan) → explain it to the customer and reach agreement → carry out the migration work according to the plan. The work consists of deploying the programs to the production environment, migrating data, setting up users, checking operation, and so on. Because the impact on the customer's business is large, it is important to plan the schedule, the procedures, the division of roles, and the rollback procedure in advance and to obtain approval.