This book provides a balanced view of the varied software design methodologies most widely used by practitioners. Readers become better judges of what method to adopt when working in the field through a discussion of the strengths and limitations of each method. The text provides a general overview
Software Design
β Scribed by Budgen, David
- Publisher
- Addison Wesley Publishing Company; Pearson Education UK
- Year
- 2003;2007
- Tongue
- English
- Leaves
- 489
- Edition
- 2nd ed
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
This text provides a balanced view of the many and varied software design methodologies most widely used by practitioners. By being aware of the strengths and limitations of each method, a student is better able to judge which to adopt when working in the field. The book should also prove useful to software engineers and project managers who need an objective guide to the state of the art in this area.
β¦ Table of Contents
Cover......Page 1
Software Design......Page 2
Contents......Page 6
Preface to the Second Edition......Page 10
Preface to the First Edition......Page 13
Publisherβs Acknowledgements......Page 17
Part 1 The Role of Software Design......Page 18
The Nature of the Design Process......Page 20
What is design?......Page 21
The role of the design activity......Page 31
Design as a problem-solving process......Page 35
Design as a βwickedβ problem......Page 36
The Software Design Process......Page 42
What is software?......Page 43
Building models......Page 44
Transferring design knowledge......Page 49
Constraints upon the design process and product......Page 54
Recording design decisions......Page 55
Designing with others......Page 57
Design in the SoftwareDevelopment Process......Page 62
A context for design......Page 63
Linear development processes......Page 67
Incremental development processes......Page 68
Economic factors......Page 72
The longer term......Page 74
Design Qualities......Page 80
The quality concept......Page 81
Assessing design quality......Page 82
Quality attributes of the design product......Page 92
Assessing the design process......Page 99
Part 2 Transferring Design Knowledge......Page 104
Describing a Design Solution......Page 106
Representing abstract ideas......Page 107
Design viewpoints for software......Page 111
Forms of notation......Page 115
Transferring Design Knowledge......Page 122
The need to share knowledge......Page 123
The architecture concept......Page 126
Design methods......Page 135
Design patterns......Page 137
A unified interpretation?......Page 139
Some Design Representations......Page 144
A problem of selection......Page 145
Black box notations......Page 146
White box notations......Page 175
Developing a diagram......Page 185
The Rationale for Method......Page 192
What is a software design method?......Page 193
The support that design methods provide......Page 197
Why methods donβt work miracles......Page 202
Problem domains and their influence......Page 204
Design Processes and Design Strategies......Page 210
The role of strategy in methods......Page 211
Describing the design process β the D-Matrix......Page 217
Design by top-down decomposition......Page 222
Design by composition......Page 224
Organizational influences upon design......Page 226
Design Patterns......Page 230
Design by template and design reuse......Page 231
The design pattern......Page 233
Designing with patterns......Page 242
Patterns in the wider design context......Page 244
Part 3 Design Practices......Page 248
Stepwise Refinement......Page 250
The historical role of stepwise refinement......Page 251
Architectural consequences......Page 252
Strengths and weaknesses of the stepwise strategy......Page 254
Incremental Design......Page 258
Black box to white box in stages......Page 259
Prototyping......Page 262
An example β DSDM......Page 264
Structured Systems Analysis and Structured Design......Page 274
Origins, development and philosophy......Page 275
Representation forms for SSA/SD......Page 276
The SSA/SD process......Page 280
The role of heuristics in SSA/SD......Page 290
SSA/SD: an outline example......Page 292
Jackson Structured Programming (JSP)......Page 306
Some background to JSP......Page 307
JSP representation forms......Page 308
The JSP process......Page 310
Some JSP heuristics......Page 318
Jackson System Development (JSD)......Page 332
The JSD model......Page 333
JSD representation forms......Page 335
The JSD process......Page 339
JSD heuristics......Page 353
Designing with Objects......Page 358
The βobject conceptβ......Page 359
Design practices for the object-oriented paradigm......Page 373
Object-Oriented frameworks......Page 384
Object-based design......Page 388
Object-Oriented design......Page 396
Component-Based Design......Page 418
The component concept......Page 419
Designing with components......Page 425
Designing components......Page 431
At the extremity β COTS......Page 432
A Formal Approach to Design......Page 436
The case for rigour......Page 437
Model-based strategies......Page 442
Property-based strategies......Page 449
Whither Software Design?......Page 458
What is software now?......Page 459
Codifying design knowledge......Page 461
Improving knowledge transfer......Page 464
Bibliography......Page 468
Index......Page 478
β¦ Subjects
Computer Science;Technical
π SIMILAR VOLUMES
<span>This book is a comprehensive guide to the principles and practices of designing software systems. It covers topics such as software architecture, design patterns, object-oriented design, and software development methodologies. The book is intended for software developers, architects, and proje
<span>This book is a comprehensive guide to the principles and practices of designing software systems. It covers topics such as software architecture, design patterns, object-oriented design, and software development methodologies. The book is intended for software developers, architects, and proje
This book provides a balanced view of the varied software design methodologies most widely used by practitioners. Readers become better judges of what method to adopt when working in the field through a discussion of the strengths and limitations of each method. The text provides a general overview