Cover image for Software Design Methodology : From Principles to Architectural Styles.
Software Design Methodology : From Principles to Architectural Styles.
Title:
Software Design Methodology : From Principles to Architectural Styles.
Author:
Zhu, Hong.
ISBN:
9780080454962
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (357 pages)
Contents:
Software Design Methodology -- Contents -- List of Figures -- List of Tables -- Preface -- 1. Basic Concepts of Design -- 1.1 INTRODUCTION -- 1.2 CHARACTERISTICS OF DESIGN ACTIVITIES -- 1.2.1 The input and start point of designs -- 1.2.2 The outcome and results of designs -- 1.2.3 Transformation of data -- 1.2.4 Generation of new ideas -- 1.2.5 Problem solving and decision making -- 1.2.6 Satisfying and discovering constraints -- 1.2.7 Evolution and optimisation in a solution space of diversity -- 1.3 ESSENTIAL ELEMENTS OF DESIGNS -- 1.3.1 Statement of design problem and objectives -- 1.3.2 Constraints -- 1.3.3 Description of product -- 1.3.4 Rationale -- 1.3.5 Plan of production -- 1.3.6 Description of usage -- 1.4 THE FACTORS THAT AFFECT DESIGNS -- 2. Design Quality -- 2.1 SOFTWARE QUALITY MODELS -- 2.1.1 Hierarchical models -- 2.1.2 Relational models -- 2.2 THE EFFECT OF DESIGN ON SOFTWARE QUALITY -- 2.2.1 Efficiency -- 2.2.2 Correctness and reliability -- 2.2.3 Portability -- 2.2.4 Maintainability -- 2.2.5 Reusability -- 2.2.6 Interoperability -- 2.3 QUALITY ATTRIBUTES OF SOFTWARE DESIGN -- 2.3.1 Witt, Baker and Merritt's design objectives -- 2.3.2 Parnas and Weiss's requirements of good designs -- 2.3.3 Quality of development process -- 3. Design Principles -- 3.1 BASIC RULES OF SOFTWARE DESIGN -- 3.1.1 Causes of difficulties -- 3.1.2 Vehicles to overcome difficulties -- 3.1.3 Basic rules of software design -- 3.2 DESIGN PROCESSES -- 3.2.1 The context of design in software development process -- 3.2.2 Generic design process: descriptive models -- 3.2.3 Design strategies: prescriptive models -- 3.3 STRUCTURE OF SOFTWARE DESIGN METHODS -- 4. Software Architecture -- 4.1 THE NOTION OF ARCHITECTURE -- 4.1.1 Architecture in the discipline of buildings -- 4.1.2 Architecture in the discipline of computer hardware.

4.1.3 The general notion of architecture -- 4.2 THE NOTION OF SOFTWARE ARCHITECTURE -- 4.2.1 Prescriptive models -- 4.2.2 Descriptive models -- 4.2.3 Multiple view models -- 4.2.4 The roles of architecture in software design -- 4.3 SOFTWARE ARCHITECTURAL STYLE -- 4.3.1 Introductory examples -- 4.3.2 The notion of software architectural style -- 5. Description of Software Architectures -- 5.1 THE VISUAL NOTATION -- 5.1.1 Active and passive elements -- 5.1.2 Data and control -- 5.1.3 Relationships -- 5.1.4 Decomposition/composition of architectural elements -- 5.2 EXAMPLE 1: WWW CLIENT-SERVER PAIR -- 5.3 EXAMPLE 2: ROBOT SOCCER UNSW -- 5.4 EXAMPLE 3: TRAINING CENTRES' MANAGEMENT INFORMATION SYSTEM -- 6. Typical Architectural Styles -- 6.1 DATA FLOW -- 6.1.1 The general data flow style -- 6.1.2 The pipe-and-filter sub-style -- 6.1.3 The batch sequential processing sub-style -- 6.2 INDEPENDENT COMPONENTS -- 6.2.1 The general independent components style -- 6.2.2 The event based implicit invocation systems sub-style -- 6.2.3 The communicating processes sub-style -- 6.3 CALL AND RETURN -- 6.3.1 The general call and return style -- 6.3.2 The layered systems sub-style -- 6.3.3 Data abstraction: the abstract data type and object-oriented sub-styles -- 6.4 DATA-CENTRED -- 6.5 VIRTUAL MACHINE -- 7. Using Styles in Design -- 7.1 CHOICES OF STYLES -- 7.2 COMBINATIONS OF STYLES -- 7.2.1 Hierarchical heterogeneous styles -- 7.2.2 Simultaneously heterogeneous styles -- 7.2.3 Locationally heterogeneous styles -- 7.3 CASE STUDY: KEYWORD FREQUENCY VECTOR -- 7.3.1 Specification of the problem -- 7.3.2 Designs in various styles -- 7.3.3 Analysis and comparison -- 8. Architectural Design Space -- 8.1 THEORY OF DESIGN SPACES -- 8.1.1 Structure of design spaces -- 8.1.2 Solving design synthesis and analysis problems -- 8.2 DESIGN SPACE OF ARCHITECTURAL ELEMENTS.

8.2.1 Behaviour features -- 8.2.2 Static features -- 8.3 DESIGN SPACE OF ARCHITECTURAL STYLES -- 8.3.1 Characteristic features of architectural styles -- 8.3.2 Classification of styles -- 9. Scenario-Based Analysis and Evaluation -- 9.1 THE CONCEPT OF SCENARIO -- 9.2 SCENARIOS FOR EVALUATING MODIFIABILITY -- 9.2.1 Changes of users' functional requirements -- 9.2.2 Changes of hardware environment -- 9.2.3 Changes of software environment -- 9.2.4 Changes of software components -- 9.2.5 Evaluation of modifiability -- 9.3 SCENARIOS FOR EVALUATING PERFORMANCE -- 9.3.1 Specification of operational profiles -- 9.3.2 Evaluation and analysis of performance -- 9.4 SCENARIOS FOR EVALUATING REUSABILITY -- 10. Analysis and Evaluation of Modifiability: The SAAM Method -- 10.1 THE INPUT AND OUTPUT -- 10.2 THE PROCESS -- 10.2.1 Development of scenarios -- 10.2.2 Description of candidate architecture -- 10.2.3 Classification of scenarios -- 10.2.4 Scenario evaluation -- 10.2.5 Revealing scenario interaction -- 10.2.6 Overall evaluation -- 10.3 CASE STUDY: ANALYSING ARCHITECTURAL DESIGNS OF A KEYWORD FREQUENCY VECTOR EXTRACTION SYSTEM -- 10.3.1 Development of scenarios -- 10.3.2 Main program/subroutine with shared data architecture -- 10.3.3 Abstract data type architecture -- 10.3.4 Implicit invocation architecture -- 10.3.5 Pipe-and-filter architecture -- 10.3.6 Overall evaluation -- 11. Quality Trade-off Analysis: The ATAM Method -- 11.1 ATAM ANALYSIS PROCESS -- 11.2 ATAM ANALYSIS ACTIVITIES -- 11.2.1 Step 1: Present the ATAM -- 11.2.2 Step 2: Present the business drivers -- 11.2.3 Step 3: Present the architectural design -- 11.2.4 Step 4: Identify architectural design decisions1 -- 11.2.5 Step 5: Generate the quality attribute utility tree -- 11.2.6 Step 6: Analyse the architectural design decisions -- 11.2.7 Step 7: Brainstorm and prioritise scenarios.

11.2.8 Step 8: Analyse the architectural design decisions -- 11.2.9 Step 9: Present the results -- 12. Model-Based Analysis: The HASARD Method -- 12.1 REPRESENTATION OF QUALITY MODELS -- 12.2 CONSTRUCTION OF QUALITY MODELS -- 12.2.1 Hazard identification -- 12.2.2 Cause-consequence analysis -- 12.2.3 Assembling graphic model -- 12.2.4 Identification of quality concerns -- 12.3 DERIVATION OF QUALITY FEATURES -- 12.3.1 Contribution factors of a quality concern -- 12.3.2 Sensitive quality attributes of a component -- 12.3.3 Quality risks -- 12.3.4 Trade-off points -- 12.4 CASE STUDY: CLIENT-SERVER WEB SYSTEMS -- 12.4.1 Description of the architecture -- 12.4.2 Construction of quality model -- 12.4.3 Analysis of quality features -- SUMMARY -- FURTHER READING -- EXERCISES -- REFERENCES -- Index.
Abstract:
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.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: