Zhu | Software Design Methodology | E-Book | sack.de
E-Book

E-Book, Englisch, 368 Seiten, Web PDF

Zhu Software Design Methodology

From Principles to Architectural Styles
1. Auflage 2005
ISBN: 978-0-08-045496-2
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark

From Principles to Architectural Styles

E-Book, Englisch, 368 Seiten, Web PDF

ISBN: 978-0-08-045496-2
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark



Software Design Methodology explores the theory of software architecture, with particular emphasis on general design principles rather than specific methods. This book provides in depth coverage of large scale software systems and the handling of their design problems. It will help students gain an understanding of the general theory of design methodology, and especially in analysing and evaluating software architectural designs, through the use of case studies and examples, whilst broadening their knowledge of large-scale software systems. This book shows how important factors, such as globalisation, modelling, coding, testing and maintenance, need to be addressed when creating a modern information system. Each chapter contains expected learning outcomes, a summary of key points and exercise questions to test knowledge and skills. Topics range from the basic concepts of design to software design quality; design strategies and processes; and software architectural styles. Theory and practice are reinforced with many worked examples and exercises, plus case studies on extraction of keyword vector from text; design space for user interface architecture; and document editor. Software Design Methodology is intended for IT industry professionals as well as software engineering and computer science undergraduates and graduates on Msc conversion courses.* 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

Zhu Software Design Methodology jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Software Design Methodology;2
2;Contents;6
3;List of Figures;11
4;List of Tables;14
5;Preface;15
6;1. Basic Concepts of Design;18
6.1;1.1 INTRODUCTION;19
6.2;1.2 CHARACTERISTICS OF DESIGN ACTIVITIES;21
6.2.1;1.2.1 The input and start point of designs;21
6.2.2;1.2.2 The outcome and results of designs;21
6.2.3;1.2.3 Transformation of data;22
6.2.4;1.2.4 Generation of new ideas;22
6.2.5;1.2.5 Problem solving and decision making;22
6.2.6;1.2.6 Satisfying and discovering constraints;23
6.2.7;1.2.7 Evolution and optimisation in a solution space of diversity;23
6.3;1.3 ESSENTIAL ELEMENTS OF DESIGNS;24
6.3.1;1.3.1 Statement of design problem and objectives;24
6.3.2;1.3.2 Constraints;28
6.3.3;1.3.3 Description of product;28
6.3.4;1.3.4 Rationale;30
6.3.5;1.3.5 Plan of production;31
6.3.6;1.3.6 Description of usage;32
6.4;1.4 THE FACTORS THAT AFFECT DESIGNS;33
7;2. Design Quality;44
7.1;2.1 SOFTWARE QUALITY MODELS;45
7.1.1;2.1.1 Hierarchical models;45
7.1.2;2.1.2 Relational models;46
7.2;2.2 THE EFFECT OF DESIGN ON SOFTWARE QUALITY;50
7.2.1;2.2.1 Efficiency;50
7.2.2;2.2.2 Correctness and reliability;52
7.2.3;2.2.3 Portability;52
7.2.4;2.2.4 Maintainability;53
7.2.5;2.2.5 Reusability;53
7.2.6;2.2.6 Interoperability;54
7.3;2.3 QUALITY ATTRIBUTES OF SOFTWARE DESIGN;56
7.3.1;2.3.1 Witt, Baker and Merritt’s design objectives;56
7.3.2;2.3.2 Parnas and Weiss’s requirements of good designs;57
7.3.3;2.3.3 Quality of development process;58
8;3. Design Principles;64
8.1;3.1 BASIC RULES OF SOFTWARE DESIGN;65
8.1.1;3.1.1 Causes of difficulties;65
8.1.2;3.1.2 Vehicles to overcome difficulties;68
8.1.3;3.1.3 Basic rules of software design;70
8.2;3.2 DESIGN PROCESSES;72
8.2.1;3.2.1 The context of design in software development process;72
8.2.2;3.2.2 Generic design process: descriptive models;75
8.2.3;3.2.3 Design strategies: prescriptive models;77
8.3;3.3 STRUCTURE OF SOFTWARE DESIGN METHODS;83
9;4. Software Architecture;90
9.1;4.1 THE NOTION OF ARCHITECTURE;91
9.1.1;4.1.1 Architecture in the discipline of buildings;91
9.1.2;4.1.2 Architecture in the discipline of computer hardware;94
9.1.3;4.1.3 The general notion of architecture;99
9.2;4.2 THE NOTION OF SOFTWARE ARCHITECTURE;101
9.2.1;4.2.1 Prescriptive models;102
9.2.2;4.2.2 Descriptive models;103
9.2.3;4.2.3 Multiple view models;104
9.2.4;4.2.4 The roles of architecture in software design;109
9.3;4.3 SOFTWARE ARCHITECTURAL STYLE;111
9.3.1;4.3.1 Introductory examples;111
9.3.2;4.3.2 The notion of software architectural style;118
10;5. Description of Software Architectures;128
10.1;5.1 THE VISUAL NOTATION;129
10.1.1;5.1.1 Active and passive elements;129
10.1.2;5.1.2 Data and control;130
10.1.3;5.1.3 Relationships;131
10.1.4;5.1.4 Decomposition/composition of architectural elements;132
10.2;5.2 EXAMPLE 1: WWW CLIENT-SERVER PAIR;134
10.3;5.3 EXAMPLE 2: ROBOT SOCCER UNSW;137
10.4;5.4 EXAMPLE 3: TRAINING CENTRES’ MANAGEMENT INFORMATION SYSTEM;140
11;6. Typical Architectural Styles;152
11.1;6.1 DATA FLOW;155
11.1.1;6.1.1 The general data flow style;155
11.1.2;6.1.2 The pipe-and-filter sub-style;158
11.1.3;6.1.3 The batch sequential processing sub-style;161
11.2;6.2 INDEPENDENT COMPONENTS;164
11.2.1;6.2.1 The general independent components style;164
11.2.2;6.2.2 The event based implicit invocation systems sub-style;166
11.2.3;6.2.3 The communicating processes sub-style;169
11.3;6.3 CALL AND RETURN;171
11.3.1;6.3.1 The general call and return style;171
11.3.2;6.3.2 The layered systems sub-style;175
11.3.3;6.3.3 Data abstraction: the abstract data type and object-oriented sub-styles;176
11.4;6.4 DATA-CENTRED;179
11.5;6.5 VIRTUAL MACHINE;181
12;7. Using Styles in Design;190
12.1;7.1 CHOICES OF STYLES;191
12.2;7.2 COMBINATIONS OF STYLES;196
12.2.1;7.2.1 Hierarchical heterogeneous styles;196
12.2.2;7.2.2 Simultaneously heterogeneous styles;197
12.2.3;7.2.3 Locationally heterogeneous styles;198
12.3;7.3 CASE STUDY: KEYWORD FREQUENCY VECTOR;201
12.3.1;7.3.1 Specification of the problem;201
12.3.2;7.3.2 Designs in various styles;202
12.3.3;7.3.3 Analysis and comparison;207
13;8. Architectural Design Space;216
13.1;8.1 THEORY OF DESIGN SPACES;217
13.1.1;8.1.1 Structure of design spaces;217
13.1.2;8.1.2 Solving design synthesis and analysis problems;220
13.2;8.2 DESIGN SPACE OF ARCHITECTURAL ELEMENTS;222
13.2.1;8.2.1 Behaviour features;222
13.2.2;8.2.2 Static features;227
13.3;8.3 DESIGN SPACE OF ARCHITECTURAL STYLES;233
13.3.1;8.3.1 Characteristic features of architectural styles;233
13.3.2;8.3.2 Classification of styles;235
14;9. Scenario-Based Analysis and Evaluation;242
14.1;9.1 THE CONCEPT OF SCENARIO;243
14.2;9.2 SCENARIOS FOR EVALUATING MODIFIABILITY;246
14.2.1;9.2.1 Changes of users’ functional requirements;246
14.2.2;9.2.2 Changes of hardware environment;248
14.2.3;9.2.3 Changes of software environment;249
14.2.4;9.2.4 Changes of software components;250
14.2.5;9.2.5 Evaluation of modifiability;251
14.3;9.3 SCENARIOS FOR EVALUATING PERFORMANCE;252
14.3.1;9.3.1 Specification of operational profiles;252
14.3.2;9.3.2 Evaluation and analysis of performance;254
14.4;9.4 SCENARIOS FOR EVALUATING REUSABILITY;258
15;10. Analysis and Evaluation of Modifiability: The SAAM Method;266
15.1;10.1 THE INPUT AND OUTPUT;267
15.2;10.2 THE PROCESS;269
15.2.1;10.2.1 Development of scenarios;271
15.2.2;10.2.2 Description of candidate architecture;272
15.2.3;10.2.3 Classification of scenarios;275
15.2.4;10.2.4 Scenario evaluation;275
15.2.5;10.2.5 Revealing scenario interaction;276
15.2.6;10.2.6 Overall evaluation;278
15.3;10.3 CASE STUDY: ANALYSING ARCHITECTURAL DESIGNS OF A KEYWORD FREQUENCY VECTOR EXTRACTION SYSTEM;280
15.3.1;10.3.1 Development of scenarios;280
15.3.2;10.3.2 Main program/subroutine with shared data architecture;280
15.3.3;10.3.3 Abstract data type architecture;284
15.3.4;10.3.4 Implicit invocation architecture;285
15.3.5;10.3.5 Pipe-and-filter architecture;287
15.3.6;10.3.6 Overall evaluation;289
16;11. Quality Trade-off Analysis: The ATAM Method;294
16.1;11.1 ATAM ANALYSIS PROCESS;296
16.2;11.2 ATAM ANALYSIS ACTIVITIES;300
16.2.1;11.2.1 Step 1: Present the ATAM;300
16.2.2;11.2.2 Step 2: Present the business drivers;300
16.2.3;11.2.3 Step 3: Present the architectural design;300
16.2.4;11.2.4 Step 4: Identify architectural design decisions1;301
16.2.5;11.2.5 Step 5: Generate the quality attribute utility tree;301
16.2.6;11.2.6 Step 6: Analyse the architectural design decisions;302
16.2.7;11.2.7 Step 7: Brainstorm and prioritise scenarios;308
16.2.8;11.2.8 Step 8: Analyse the architectural design decisions;310
16.2.9;11.2.9 Step 9: Present the results;310
17;12. Model-Based Analysis: The HASARD Method;316
17.1;12.1 REPRESENTATION OF QUALITY MODELS;318
17.2;12.2 CONSTRUCTION OF QUALITY MODELS;323
17.2.1;12.2.1 Hazard identification;324
17.2.2;12.2.2 Cause-consequence analysis;327
17.2.3;12.2.3 Assembling graphic model;331
17.2.4;12.2.4 Identification of quality concerns;332
17.3;12.3 DERIVATION OF QUALITY FEATURES;334
17.3.1;12.3.1 Contribution factors of a quality concern;334
17.3.2;12.3.2 Sensitive quality attributes of a component;335
17.3.3;12.3.3 Quality risks;337
17.3.4;12.3.4 Trade-off points;338
17.4;12.4 CASE STUDY: CLIENT-SERVER WEB SYSTEMS;339
17.4.1;12.4.1 Description of the architecture;339
17.4.2;12.4.2 Construction of quality model;340
17.4.3;12.4.3 Analysis of quality features;345
17.5;SUMMARY;347
17.6;FURTHER READING;347
17.7;EXERCISES;347
17.8;REFERENCES;350
18;Index;352



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.