Advertisement

Guide to Efficient Software Design

An MVC Approach to Concepts, Structures, and Models

  • David P. Voorhees
Textbook
  • 6.7k Downloads

Part of the Texts in Computer Science book series (TCS)

Table of contents

  1. Front Matter
    Pages i-xxiii
  2. David P. Voorhees
    Pages 1-15
  3. Program Design Fundamentals

    1. Front Matter
      Pages 17-17
    2. David P. Voorhees
      Pages 19-25
    3. David P. Voorhees
      Pages 55-60
    4. David P. Voorhees
      Pages 61-75
    5. David P. Voorhees
      Pages 77-90
    6. David P. Voorhees
      Pages 91-101
    7. David P. Voorhees
      Pages 103-114
    8. David P. Voorhees
      Pages 115-123
  4. Introduction to Software Design

    1. Front Matter
      Pages 125-125
    2. David P. Voorhees
      Pages 127-136
    3. David P. Voorhees
      Pages 137-155
    4. David P. Voorhees
      Pages 157-174
    5. David P. Voorhees
      Pages 175-179
    6. David P. Voorhees
      Pages 181-217
    7. David P. Voorhees
      Pages 219-247
  5. Software Design Perspectives

    1. Front Matter
      Pages 249-249
    2. David P. Voorhees
      Pages 261-277
    3. David P. Voorhees
      Pages 279-295
    4. David P. Voorhees
      Pages 297-304
    5. David P. Voorhees
      Pages 305-317
    6. David P. Voorhees
      Pages 319-331
    7. David P. Voorhees
      Pages 333-349
    8. David P. Voorhees
      Pages 351-360
    9. David P. Voorhees
      Pages 361-374
    10. David P. Voorhees
      Pages 375-388
    11. David P. Voorhees
      Pages 389-402
    12. David P. Voorhees
      Pages 403-414
    13. David P. Voorhees
      Pages 415-426
    14. David P. Voorhees
      Pages 427-441
    15. David P. Voorhees
      Pages 443-474
    16. David P. Voorhees
      Pages 475-487
    17. David P. Voorhees
      Pages 489-501
  6. Wrap-Up

    1. Front Matter
      Pages 503-503
    2. David P. Voorhees
      Pages 505-510
    3. David P. Voorhees
      Pages 511-514
  7. Back Matter
    Pages 515-519

About this book

Introduction

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.

Dr. David P. Voorhees is Director of Computer Science, Cybersecurity, and Software Applications & Systems Development, and McDevitt Associate Chair of Computer Science in the Department of Mathematics & Computer Science at Le Moyne College, Syracuse, NY, USA.

Keywords

Software design Model-view-controller Quality assurance Design patterns Object-oriented design Design models Structured design Abstraction and information hiding Coupling and cohesion User interface design Secure design Persistent data storage design

Authors and affiliations

  • David P. Voorhees
    • 1
  1. 1.Le Moyne CollegeSyracuseUSA

Bibliographic information

  • DOI https://doi.org/10.1007/978-3-030-28501-2
  • Copyright Information Springer Nature Switzerland AG 2020
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science
  • Print ISBN 978-3-030-28500-5
  • Online ISBN 978-3-030-28501-2
  • Series Print ISSN 1868-0941
  • Series Online ISSN 1868-095X
  • Buy this book on publisher's site
Industry Sectors
Pharma
Automotive
Chemical Manufacturing
Biotechnology
Finance, Business & Banking
Electronics
IT & Software
Telecommunications
Consumer Packaged Goods
Energy, Utilities & Environment
Aerospace
Engineering