6.3.3 Requirements Analysis and Clustering by Viewpoint-
Oriented Requirements Definition 116
6.3.4 Requirements Analysis and Prioritization 117
6.3.5 Requirements Traceability 120
6.4 Requirements Definition, Prototyping, and Reviews 120
6.5 Requirements Specification and Requirements
Agreement 124
6.6 Summary 125
6.7 Review Questions 126
6.8 Exercises 127
6.9 Suggested Readings 127
Chapter 7 Design: Architecture and Methodology 129
7.1 Introduction to Design 130
7.2 Architectural Design 131
7.2.1 What Is Software Architecture? 131
7.2.2 Views and Viewpoints 131
7.2.3 Meta-Architectural Knowledge: Styles, Patterns,
Tactics, and Reference Architectures 133
7.3 Detailed Design 139
7.3.1 Functional Decomposition 139
7.3.2 Relational Database Design 141
7.3.3 Object-Oriented Design and UML 146
7.3.4 User-Interface Design 152
7.3.5 Some Further Design Concerns 157
7.4 HTML-Script-SQL Design Example 158
7.5 Summary 161
7.6 Review Questions 161
7.7 Exercises 162
7.8 Suggested Readings 162
Chapter 8 Design Characteristics and Metrics 165
8.1 Characterizing Design 166
8.2 Some Legacy Characterizations of Design Attributes 166
8.2.1 Halstead Complexity Metric 166
8.2.2 McCabe’s Cyclomatic Complexity 168
91998_TOCX_Tsui.indd 13 1/11/13 8:50:32 AM