+612 9045 4394
 
CHECKOUT
Software Design Methodology : From Principles to Architectural Styles - Hong Zhu

Software Design Methodology

From Principles to Architectural Styles

By: Hong Zhu

Paperback

Published: 1st February 2005
Ships: 15 business days
15 business days
$111.95
or 4 easy payments of $27.99 with Learn more

Software design methodology has come a long way since the 1960s and 1970s when programmers were limited to Pascal/C and SA/SD to create systems. When creating information systems for today's world, many factors must be taken into consideration including globalization, the software lifecycle, modeling, coding, testing, and maintenance.
* In depth coverage of large scale software systems and the handling of their design problems
* Many worked examples, exercises and case studies to reinforce theory and practice
* Gain an understanding of the general theory of design methodology

Prefacep. x
Basic Concepts of Designp. 1
Introductionp. 2
Characteristics of design activitiesp. 4
The input and start point of designsp. 4
The outcome and results of designsp. 4
Transformation of datap. 5
Generation of new ideasp. 5
Problem solving and decision makingp. 5
Satisfying and discovering constraintsp. 6
Evolution and optimisation in a solution space of diversityp. 6
Essential elements of designsp. 7
Statement of design problem and objectivesp. 7
Constraintsp. 11
Description of productp. 11
Rationalep. 13
Plan of productionp. 14
Description of usagep. 15
The factors that affect designsp. 16
Summaryp. 21
Exercisesp. 23
Design Qualityp. 27
Software quality modelsp. 28
Hierarchical modelsp. 28
Relational modelsp. 29
The effect of design on software qualityp. 33
Efficiencyp. 33
Correctness and reliabilityp. 35
Portabilityp. 35
Maintainabilityp. 36
Reusabilityp. 36
Interoperabilityp. 37
Quality attributes of software designp. 39
Witt, Baker and Merritt's design objectivesp. 39
Parnas and Weiss's requirements of good designsp. 40
Quality of development processp. 41
Summaryp. 43
Exercisesp. 44
Design Principlesp. 47
Basic rules of software designp. 48
Causes of difficultiesp. 48
Vehicles to overcome difficultiesp. 51
Basic rules of software designp. 53
Design processesp. 55
The context of design in software development processp. 55
Generic design process: descriptive modelsp. 58
Design strategies: prescriptive modelsp. 60
Structure of software design methodsp. 66
Summaryp. 68
Exercisesp. 68
Software Architecturep. 73
The notion of architecturep. 74
Architecture in the discipline of buildingsp. 74
Architecture in the discipline of computer hardwarep. 77
The general notion of architecturep. 82
The notion of software architecturep. 84
Prescriptive modelsp. 85
Descriptive modelsp. 86
Multiple view modelsp. 87
The roles of architecture in software designp. 92
Software architectural stylep. 94
Introductory examplesp. 94
The notion of software architectural stylep. 101
Summaryp. 104
Exercisesp. 106
Description of Software Architecturesp. 111
The visual notationp. 112
Active and passive elementsp. 112
Data and controlp. 113
Relationshipsp. 114
Decomposition/composition of architectural elementsp. 115
Example 1: www client-server pairp. 117
Example 2: robot soccer UNSWp. 120
Example 3: training centres' management information systemp. 123
Summaryp. 130
Exercisesp. 131
Typical Architectural Stylesp. 135
Data flowp. 138
The general data flow stylep. 138
The pipe-and-filter sub-stylep. 141
The batch sequential processing sub-stylep. 144
Independent componentsp. 147
The general independent components stylep. 147
The event-based implicit invocation systems sub-stylep. 149
The communicating processes sub-stylep. 152
Call and returnp. 154
The general call and return stylep. 154
The layered systems sub-stylep. 158
Data abstraction: the abstract data type and object-oriented sub-stylesp. 159
Data-centredp. 162
Virtual machinep. 164
Summaryp. 168
Exercisesp. 169
Using Styles In Designp. 173
Choices of stylesp. 174
Combinations of stylesp. 179
Hierarchical heterogeneous stylesp. 179
Simultaneously heterogeneous stylesp. 180
Locationally heterogeneous stylesp. 181
Case study: keyword frequency vectorp. 184
Specification of the problemp. 184
Designs in various stylesp. 185
Analysis and comparisonp. 190
Summaryp. 194
Exercisesp. 195
Architectural Design Spacep. 199
Theory of design spacesp. 200
Structure of design spacesp. 200
Solving design synthesis and analysis problemsp. 203
Design space of architectural elementsp. 205
Behaviour featuresp. 205
Static featuresp. 210
Design space of architectural stylesp. 216
Characteristic features of architectural stylesp. 216
Classification of stylesp. 218
Summaryp. 221
Exercisesp. 222
Scenario-Based Analysis and Evaluationp. 225
The concept of scenariop. 226
Scenarios for evaluating modifiabilityp. 229
Changes of users' functional requirementsp. 229
Changes of hardware environmentp. 231
Changes of software environmentp. 232
Changes of software componentsp. 233
Evaluation of modifiabilityp. 234
Scenarios for evaluating performancep. 235
Specification of operational profilesp. 235
Evaluation and analysis of performancep. 237
Scenarios for evaluating reusabilityp. 241
Summaryp. 244
Exercisesp. 245
Analysis and Evaluation Of Modifiability: The SAAM Methodp. 249
The input and outputp. 250
The processp. 252
Development of scenariosp. 254
Description of candidate architecturep. 255
Classification of scenariosp. 258
Scenario evaluationp. 258
Revealing scenario interactionp. 259
Overall evaluationp. 261
Case study: analysing architectural designs of keyword frequency vector extraction systemp. 263
Development of scenariosp. 263
Main program/subroutine with shared data architecturep. 263
Abstract data type architecturep. 267
Implicit invocation architecturep. 268
Pipe-and-filter architecturep. 270
Overall evaluationp. 272
Summaryp. 273
Exercisesp. 275
Quality Trade-Off Analysis: The ATAM Methodp. 277
ATAM analysis processp. 279
ATAM analysis activitiesp. 283
Step 1: Present the ATAMp. 283
Step 2: Present the business driversp. 283
Step 3: Present the architectural designp. 283
Step 4: Identify architectural design decisionsp. 284
Step 5: Generate the quality attribute utility treep. 284
Step 6: Analyse the architectural design decisionsp. 285
Step 7: Brainstorm and prioritise scenariosp. 291
Step 8: Analyse the architectural design decisionsp. 293
Step 9: Present the resultsp. 293
Summaryp. 295
Exercisesp. 296
Model-Based Analysis: The HASARD Methodp. 299
Representation of quality modelsp. 301
Construction of quality modelsp. 306
Hazard identificationp. 307
Cause-consequence analysisp. 310
Assembling graphic modelp. 314
Identification of quality concernsp. 315
Derivation of quality featuresp. 317
Contribution factors of a quality concernp. 317
Sensitive quality attributes of a componentp. 318
Quality risksp. 320
Trade-off pointsp. 321
Case study: client-server web systemsp. 322
Description of the architecturep. 322
Construction of quality modelp. 323
Analysis of quality featuresp. 328
Summaryp. 330
Exercisesp. 330
Indexp. 335
Table of Contents provided by Ingram. All Rights Reserved.

ISBN: 9780750660754
ISBN-10: 0750660759
Audience: General
Format: Paperback
Language: English
Number Of Pages: 368
Published: 1st February 2005
Publisher: Elsevier Science & Technology
Country of Publication: NL
Dimensions (cm): 24.5 x 17.5  x 2.2
Weight (kg): 0.63