システム開発会社 A 社は B 社の販売管理システムの開発を受注した。A 社はシステム要件をネットワーク機器などのハードウェアで実現するものと, 業務プログラムなどのソフトウェアで実現するものに割り振っている。現在 A 社はどの工程を実施しているか。
平成24年度 春期 ITパスポート試験 問33
This question's explanation and your answers so far.
問 33
- ア
正解 The correct answer is ア, system architecture design. In the Common Frame (SLCP), system development proceeds in the order system requirements definition → system architecture design → software requirements definition → software architecture design → software detailed design → programming, narrowing the target scope step by step while adding more detail. Among these, system architecture design is the process in which each requirement fixed during system requirements definition is allocated to be realized either by a hardware configuration item, by a software configuration item, or by manual work done by people, thereby establishing the top-level structure (the architecture) of the whole system. In this question, for company B's sales management system, company A is dividing the already fixed system requirements into those to be realized by hardware such as network equipment and those to be realized by software such as business application programs. This is exactly the definition of system architecture design, and none of the other three processes can explain it. Two clues deserve attention here. First, what is being allocated is described as the system requirements. Since the requirements already exist, system requirements definition has been completed. Second, the scope to be realized by software is only now being decided. While the scope that software will handle is still undetermined, neither software requirements definition nor software architecture design can begin, because both presuppose that scope. In other words, company A has finished system requirements definition and stands just before entering the software-side processes. Precisely because this process draws the boundaries between the parts realized by hardware, the parts realized by software, and the parts done by manual work, the next process, software requirements definition, can take only the portion allocated to software and work out concretely what functions and performance it should have. Therefore the process currently being carried out is ア, system architecture design.
Incorrectイ
System requirements definition is the process of organizing what users and the client want, then defining and agreeing on the functions, performance, interfaces, reliability, security, operating conditions and so on that the system to be built should have, without going into how they will be realized. In this question it corresponds to the stage of identifying and fixing requirements such as: as a sales management system it can do order entry, inventory inquiry and sales totaling, and how many people can use it at the same time. Company A in the question already has those system requirements in hand and is allocating them to either hardware or software. Company A is not the side that creates the requirements, but the side that distributes already fixed requirements to means of realization, so this is not system requirements definition. In terms of process order as well, system requirements definition comes one step before system architecture design and has already been completed.
Incorrectウ
Software architecture design is the process that takes the software requirements fixed in software requirements definition, decides what combination of programs (software components) will make up that software, and designs the division of functions among the components, the interfaces between components, the database structure, and the design of screens and reports. Its target scope stays strictly inside the internal structure of the software, and it never treats hardware such as network equipment as a destination for allocation. Company A in the question is at the stage of fixing the very scope that software will handle, and has not yet reached the stage of dividing the inside of the software into components. In terms of process order as well, it comes two steps later: system architecture design → software requirements definition → software architecture design.
Incorrectエ
Software requirements definition is the process of concretely defining, for the portion allocated to software in system architecture design, the functions and performance that the software should have, the interfaces such as screens and reports, and the information to be held in the database. It presupposes that how much of the system is to be realized by software has already been decided. Company A in the question is in the very middle of drawing the boundary between the parts realized by hardware and the parts realized by software, so the scope that software will handle is not yet fixed. Requirements for the contents cannot be defined before the scope is decided, so the current process is not software requirements definition but the one just before it, system architecture design.
- The definition of system architecture design — the process that allocates each requirement fixed in system requirements definition to be realized by a hardware configuration item, by a software configuration item, or by manual work done by people, and thereby decides the top-level structure (the architecture) of the whole system. Remember it as a pair: when work that draws the boundary between hardware and software appears, it is system architecture design.
- The order of the development processes and their target scope — system requirements definition → system architecture design → software requirements definition → software architecture design → software detailed design → programming. The first half (the system-level ones) targets the whole system including hardware and manual work, while the second half (the software-level ones) targets only the scope allocated to software. In addition, each stage has a fixed role: requirements definition = what is to be realized, architecture design = how it is structured and realized. These two axes let you tell the choices apart.