システム開発においてソフトウェア詳細設計の次に行う作業はどれか。
平成24年度 春期 ITパスポート試験 問32
This question's explanation and your answers so far.
問 32
Incorrectア
System architectural design is the phase that allocates the requirements fixed in system requirements definition to a hardware configuration, a software configuration, or manual operations, thereby deciding the structure of the system as a whole. Because it is the stage where what the software is to handle gets decided, it comes even earlier than software requirements definition and is the most upstream design phase; it is not a task you go back to after software detailed design.
Incorrectイ
Software architectural design (which corresponds to external design / basic design) takes the content of software requirements definition, divides the software into units called programs, and decides the overall structure such as the function of each program, interfaces like screens and printed reports, and the structure of the database. Software detailed design makes the results of this architectural design concrete down to the module level, so architectural design is the phase one step before detailed design, not the task that comes next.
Incorrectウ
Software requirements definition is the phase that clarifies, from the user's standpoint, the required functions, performance, interfaces and other requirements for the part allocated to software in system architectural design. It is the stage of deciding what to build, and it comes before the design phases that decide how to build it. Both software architectural design and software detailed design are carried out using this requirements definition as their input, so it can never come after detailed design.
- エ
正解 The correct answer is エ (Programming). Under the Common Frame (the software life cycle processes based on JIS X 0160), the phases of system development are refined step by step from larger units to smaller units, and from abstract decisions to concrete implementation. The order of the development phases is: system requirements definition (deciding what the system as a whole must achieve) → system architectural design (deciding whether each function is assigned to hardware, to software, or to manual operations) → software requirements definition (clarifying the requirements for the part allocated to software) → software architectural design (dividing the software into units called programs and deciding the role and the interface of each unit; this corresponds to external design / basic design) → software detailed design (dividing the inside of each program unit into modules and working out the processing steps and data structures down to a level of detail at which code can be written; this corresponds to internal design / detailed design) → software coding and testing. Software detailed design is the final stage of the design phases in this order, and it is here that the processing steps are worked out to the point where they can be translated into a programming language. Therefore the next task is writing the actual source code according to the detailed design document, that is, programming (coding), so エ is correct. After that, the testing phases proceed as if tracing the design phases backwards: software integration → software qualification testing → system integration → system qualification testing (the V-model).
- The order of the development phases in the Common Frame (JIS X 0160) — system requirements definition → system architectural design → software requirements definition → software architectural design → software detailed design → programming (coding) → software integration → software qualification testing → system integration → system qualification testing. From requirements definition toward detailed design, the target is refined from large to small and from abstract to concrete, and by the time detailed design is complete it has reached a level of detail at which code can be written.
- How the names of the design phases correspond — software architectural design roughly corresponds to external design (basic design), and software detailed design roughly corresponds to internal design (detailed design). The key point is not to mix up which of the two comes first: architectural design decides the division into program units and the overall structure, while detailed design decides the processing steps and data structures inside each module. Also keep in mind that each design phase is paired with a corresponding testing phase (the V-model).