Contents
Chapter 4 · Development TechnologyPractice

LEARN WITH HARU

Video Lesson တွေက Haru အတန်းသားတွေအတွက်ပါ

Haru ရဲ့ ITPEC FE Full Course မှာ ယခု သင်ခန်းစာတွေကို တစ်ခုချင်း တစ်ကြောင်းချင်း အသေးစိတ်ရှင််ရှင်းပြထားပါတယ်

အခြေခံ မရှိတဲ့ ကျောင်းသားများစွာဟာလည်း ဒီ Course နဲ့ ပဲ အောင်မြင်ကုန်ကြပါပြီ

အတန်းမအပ်သေးပဲ Haru ဆီမှာ အစမ်းသင်ကြည့်ချင်ပါသလား?

သင်တန်းသားတွေရဲ့ စကားသံများ

သင်တန်းသားတွေရဲ့ စကားသံများ

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 components1
Progress and bookmarks

p. 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

Preliminary test requirements and the schedule for software integration are defined and documented. The scope, test plans, test procedures, and other policies of software integration testing are to be determined. A software integration testing specification is to be developed. It includes test requirements to confirm whether the requirements for the software are fulfilled. · 1 question

In software architectural design, software is partitioned into functional-level software components (hereinafter called components), and functional specifications of each component, and the processing procedures and relationships among components are made clear. · 1 question

Fig. 4-2 Software and components; original source comparison.
Enlarge original visual
Fig. 4-2 Software and components
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.

Original chapter exercises

Original chapter exercises →

New FE Textbook Vol.2 · First Edition, April 2015