Highlighted text? Practice this concept. Highlighted passages and figures open related questions.
Practice related questions (1)Progress & bookmarks
Current section
1-2-2 Software Architectural Design Process
p. 250
Practice this section 1 linked exam question with default filters
Progress
Not marked complete
Related questions in this lesson 2
Software integration test specifications1Software architecture and components1p. 250 · PDF 254
1-2-2 Software Architectural Design Process
In the software architectural design process, software requirements are implemented, and software design able to verify these is provided.
[Activities of software architectural design process] (i) Software architectural design (ii) Evaluation and review of software architectural design
(1) Software architectural design
Five tasks are executed in software architectural design.
(i) Architectural design of software structure and components
Requirements concerning the software configuration items are transformed into an architecture that identifies the software components that describe the top-level structure. At this time, it is confirmed that all software requirements are allocated
p. 251 · PDF 255
to a software component and that they are refined to facilitate software detailed design, which is documented in a software architectural design document. (ii) Architectural design of interfaces
A top-level design is to be developed and documented for the external interfaces of the software configuration items and for the interfaces between the software components. (iii) Top-level design for the database
A top-level design for the database is to be developed and documented. (iv) Development of user documentation (preliminary version)
A preliminary version of user documentation is to be developed and documented. (v) Definition of test requirements for software integration

Source visual description
Fig. 4-2. One Software box connects down to three separate Component boxes.
In (i) described above, when software is partitioned into components, the concept of structuring is often used to design functions in step-by-step detail and create a hierarchical structure. At this time, the criteria used for partitioning components include processing patterns for uniform records, differences in processing timing (i.e., processing cycle), differences in processing efficiency, simultaneously usable resources, characteristics of input devices, and such other factors. (As an example, the update processing for the same file is partitioned as one component.) Moreover, from the perspective of component partitioning, file integration or file partitioning may be used. (For example, when there are different functions for male and female customers, customer files may be partitioned into male customer files and female customer files, and the software is partitioned into components that process each file.) Functional specifications are determined for each partitioned component. Components become programs that provide functions collected into a single function. Since
p. 252 · PDF 256
programs can be reused by other software as components, partitioning is considered on the basis of criteria for ease of understanding, development productivity, operability, processing capability, maintainability, reusability, and such other factor. (This way of thinking is called “partitioning into components.”) Furthermore, it is also important to consider the use of existing programs. In “(ii) Architectural design of interfaces” (interface design) described above, top-level interfaces are to be made clear on the basis of the software requirements definition document, in consideration of operability, visibility, software functions, and processing method, according to interface design standards. Since screens, forms/slips, files, and others correspond to external interfaces, GUI-based screen design, form/slip design, and other input/output design (i.e., input/output conceptual design), along with logical data design, are to be performed. In top-level design, logical definitions such as items, layouts and screen transitions are created. Physical definitions that rely on hardware or specific methods are not created. This way of thinking is that same as that in “(iii) Top-level design for the database,” and design that relies on specific DBMS products and others are not performed at the software architectural design stage. In “(v) Definition of test requirements for software integration,” checklists and others are to be used to verify that there are no oversights in test requirements. In addition, test requirements are to be created on the basis of criteria for black box tests. These tests verify that the relationships between input and output are correct. (Details of black box tests are described in “1-2-4 Software Construction Process.”)
(2) Evaluation and review of software architectural design
Two tasks are executed in evaluation and review of software architectural design.
(i) Evaluation of software architectural design
Software architectural design is to be evaluated, with consideration given to the criteria of traceability to the requirements of the software configuration item, external consistency with the requirements of the software configuration item, internal consistency between the software component, appropriateness of design methods and standards used, feasibility of detailed design, and feasibility of operation and maintenance (ii) Implementation of joint review of software architectural design A joint review is to be conducted, with agreement obtained concerning software architectural design.
Section progress
Original chapter exercises
Original chapter exercises →New FE Textbook Vol.2 · First Edition, April 2015