Guide to Efficient Software Design An MVC Approach to Concepts, Structures, and Models

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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.

Author(s): David P. Voorhees
Series: Texts in Computer Science
Edition: 1
Publisher: Springer
Year: 2020

Language: English
Pages: 519
City: Switzerland

Front Matter ....Pages i-xxiii
Introduction to Software Design (David P. Voorhees)....Pages 1-15
Front Matter ....Pages 17-17
Program Design Criteria and Simple Design Models (David P. Voorhees)....Pages 19-25
OOP Case Study: Use Program Design Criteria and Simple Models (David P. Voorhees)....Pages 27-40
SP Case Study: Use Program Design Criteria and Simple Models (David P. Voorhees)....Pages 41-53
Program Design and Performance (David P. Voorhees)....Pages 55-60
OOP Case Study: Considering Performance (David P. Voorhees)....Pages 61-75
SP Case Study: Considering Performance (David P. Voorhees)....Pages 77-90
Program Design and Security (David P. Voorhees)....Pages 91-101
OOP Case Study: Considering Security (David P. Voorhees)....Pages 103-114
SP Case Study: Considering Security (David P. Voorhees)....Pages 115-123
Front Matter ....Pages 125-125
Characteristics of Good Software Design (David P. Voorhees)....Pages 127-136
OOD Case Study: Transition to Software Design (David P. Voorhees)....Pages 137-155
SD Case Study: Transition to Software Design (David P. Voorhees)....Pages 157-174
Introduction to Model-View-Controller (David P. Voorhees)....Pages 175-179
OOD Case Study: Model–View–Controller (David P. Voorhees)....Pages 181-217
SD Case Study: Model–View–Controller (David P. Voorhees)....Pages 219-247
Front Matter ....Pages 249-249
Introduction to Human–Computer Interaction (HCI) Design (David P. Voorhees)....Pages 251-259
OOD Case Study: Text-Based User Interface (David P. Voorhees)....Pages 261-277
SD Case Study: Text-Based User Interface (David P. Voorhees)....Pages 279-295
Model–View–Controller: TUI Versus GUI (David P. Voorhees)....Pages 297-304
OOD Case Study: Graphical-Based User Interface (David P. Voorhees)....Pages 305-317
SD Case Study: Graphical-Based User Interface (David P. Voorhees)....Pages 319-331
Is Your Design Clear, Concise, and Complete? (David P. Voorhees)....Pages 333-349
Software Design and Security (David P. Voorhees)....Pages 351-360
OOD Case Study: More Security Requirements (David P. Voorhees)....Pages 361-374
SD Case Study: More Security Requirements (David P. Voorhees)....Pages 375-388
Introduction to Design Patterns (David P. Voorhees)....Pages 389-402
OOD Case Study: Design Patterns (David P. Voorhees)....Pages 403-414
SD Case Study: Design Patterns (David P. Voorhees)....Pages 415-426
Modeling Persistent Data (David P. Voorhees)....Pages 427-441
Persistent Data Storage (David P. Voorhees)....Pages 443-474
OOD Case Study: Persistent Storage (David P. Voorhees)....Pages 475-487
SD Case Study: Persistent Storage (David P. Voorhees)....Pages 489-501
Front Matter ....Pages 503-503
Software Design Document (David P. Voorhees)....Pages 505-510
What’s Next? (David P. Voorhees)....Pages 511-514
Back Matter ....Pages 515-519