Guide to Efficient Software Design : An MVC Approach to Concepts, Structures, and Models
2020 ed.
Book Details
Format
Hardback or Cased Book
Book Series
Texts in Computer Science
ISBN-10
3030285006
ISBN-13
9783030285005
Edition
2020 ed.
Publisher
Springer Nature Switzerland AG
Imprint
Springer Nature Switzerland AG
Country of Manufacture
CH
Country of Publication
GB
Publication Date
Jan 2nd, 2020
Print length
519 Pages
Weight
1,030 grams
Dimensions
16.20 x 24.20 x 3.40 cms
Product Classification:
Software EngineeringDatabases
Ksh 11,700.00
Werezi Extended Catalogue
Delivery in 28 days
Delivery Location
Delivery fee: Select location
Delivery in 28 days
Secure
Quality
Fast
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.
This book describes how to design software using either a structured or object-oriented design paradigm. It assumes the reader already knows how to write software code, using either Java or Python, and uses this assumption to review program design criteria. This book then transitions the reader to thinking more abstractly about software design, introducing concepts and design models when appropriate.
Software design is a broad and complex topic, with many opinions on what it means to design software. This book addresses these challenges by first discussing software design as a detailed representation of the internal structures and behaviors of the code. It uses a case study to illustrate design thinking, including the use of abstraction, information hiding, coupling, cohesion, simplicity, performance, and security. Once the core elements of software design have been presented, five software design topics are covered. These five topics are: user interface design, quality assurance, secure design, design patterns, and persistent data storage design. These five topics are presented in a way that allows the learner to cover these topics in whatever order they deem relevant to their situation.
This book presents a holistic description of software design. It takes the reader from something the author assumes they know – programming – to having a solid understanding of the key elements of software design. This book covers software design topics relevant to today’s developers while illustrating ways to apply these topics by way of a case study.
The bottom-up learning approach used in this book is based on findings from learning research which strongly suggests that people learn best when able to use their pre-existing knowledge to make connections to new information/knowledge. While many readers may find Part I (Program Design Fundamentals) a review of their existing knowledge, this material is important as a means to transition the reader to the more abstract notions associated with software design. This portion of the book is covered in about two weeks of a 15-week semester.
Get Guide to Efficient Software Design by at the best price and quality guaranteed only at Werezi Africa's largest book ecommerce store. The book was published by Springer Nature Switzerland AG and it has pages.