Guide to Efficient Software Design

Guide to Efficient Software Design

Book Description
This classroom-tested textbook presents an active-learning approach to the foundational concepts of software design. These concepts are then applied to a case study, and reinforced through practice exercises, with the option to follow either a structured design or object-oriented design paradigm. The text applies an incremental and iterative software development approach, emphasizing the use of design characteristics and modeling techniques as a way to represent higher levels of design abstraction, and promoting the model-view-controller (MVC) architecture.
Topics and features: provides a case study to illustrate the various concepts discussed throughout the book, offering an in-depth look at the pros and cons of different software designs; includes discussion questions and hands-on exercises that extend the case study and apply the concepts to other problem domains; presents a review of program design fundamentals to reinforce understanding of the basic concepts; focuses on a bottom-up approach to describing software design concepts; introduces the characteristics of a good software design, emphasizing the model-view-controller as an underlying architectural principle; describes software design from both object-oriented and structured perspectives; examines additional topics on human-computer interaction design, quality assurance, secure design, design patterns, and persistent data storage design; discusses design concepts that may be applied to many types of software development projects; suggests a template for a software design document, and offers ideas for further learning.Students of computer science and software engineering will find this textbook to be indispensable for advanced undergraduate courses on programming and software design. Prior background knowledge and experience of programming is required, but familiarity in software design is not assumed.


1. Introduction to Software Design

Part I - Program Design Fundamentals
2. Program Design Criteria and Simple Design Models
3. OOP Case Study: Use Program Design Criteria and Simple Models
4. SP Case Study: Use Program Design Criteria and Simple Models
5. Program Design and Performance
6. OOP Case Study: Considering Performance
7. SP Case Study: Considering Performance
8. Program Design and Security
9. OOP Case Study: Considering Security
10. SP Case Study: Considering Security

Part II - Introduction to Software Design
11. Characteristics of Good Software Design
12. OOD Case Study: Transition to Software Design
13. SD Case Study: Transition to Software Design
14. Introduction to Model-View-Controller
15. OOD Case Study: Model–View–Controller
16. SD Case Study: Model–View–Controller

Part III - Software Design Perspectives
17. Introduction to Human–Computer Interaction (HCI) Design
18. OOD Case Study: Text-Based User Interface
19. SD Case Study: Text-Based User Interface
20. Model–View–Controller: TUI Versus GUI
21. OOD Case Study: Graphical-Based User Interface
22. SD Case Study: Graphical-Based User Interface
23. Is Your Design Clear, Concise, and Complete?
24. Software Design and Security
25. OOD Case Study: More Security Requirements
26. SD Case Study: More Security Requirements
27. Introduction to Design Patterns
28. OOD Case Study: Design Patterns
29. SD Case Study: Design Patterns
30. Modeling Persistent Data
31. Persistent Data Storage
32. OOD Case Study: Persistent Storage
33. SD Case Study: Persistent Storage

Part IV - Wrap-Up
34. Software Design Document
35. What’s Next?

Download Guide to Efficient Software Design: An MVC Approach to Concepts, Structures, and Models PDF or ePUB format free

Free sample

Download in .PDF format

Download in .ePUB format

Add comments
Введите код с картинки:*
Кликните на изображение чтобы обновить код, если он неразборчив
Copyright © 2019