Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis–refactoring not just the code but the model underlying the code–in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:
With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.
Volume 3 is based on the maxim: "Before software can be designed its requirements must be well understood, and before the requirements can be expressed properly the domain of the application must be well understood." This book covers the process from the development of domain descriptions, via the derivation of requirements prescriptions from domain models, to the refinement of requirements into software designs, i.e., architectures and component design. Emphasis is placed on what goes into proper domain descriptions and requirements prescriptions, how one acquires and analyses the domain knowledge and requirements expectations, and how one validates and verifies domain and requirements models.
The reader can take an informal route through Vol. 3, and this would be suitable for undergraduate courses on software engineering. Advanced students, lecturers, and researchers may instead follow the formal route through Vol. 3, and in this case Vol. 1 is a prerequisite text. Lecturers will be supported with a comprehensive guide to designing modules based on the textbooks, with solutions to many of the exercises presented, and with a complete set of lecture slides.
The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.
The companion web site, algs4.cs.princeton.edu, containsAn online synopsis Full Java implementations Test data Exercises and answers Dynamic visualizations Lecture slides Programming assignments with checklists Links to related material
The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.
Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.
This book provides a comprehensive overview of the Software Platform Embedded Systems (SPES) modeling framework and demonstrates its applicability in embedded system development in various industry domains such as automation, automotive, avionics, energy, and healthcare. In SPES 2020, twenty-one partners from academia and industry have joined forces in order to develop and evaluate in different industrial domains a modeling framework that reflects the current state of the art in embedded systems engineering.
The content of this book is structured in four parts. Part I “Starting Point” discusses the status quo of embedded systems development and model-based engineering, and summarizes the key requirements faced when developing embedded systems in different application domains. Part II “The SPES Modeling Framework” describes the SPES modeling framework. Part III “Application and Evaluation of the SPES Modeling Framework” reports on the validation steps taken to ensure that the framework met the requirements discussed in Part I. Finally, Part IV “Impact of the SPES Modeling Framework” summarizes the results achieved and provides an outlook on future work.
The book is mainly aimed at professionals and practitioners who deal with the development of embedded systems on a daily basis. Researchers in academia and industry may use it as a compendium for the requirements and state-of-the-art solution concepts for embedded systems development.
The book is structured into four parts:
Part I “Starting Situation” discusses the status quo of the development of embedded systems with specific focus on model-based engineering and summarizes key challenges emerging from industrial practice.
Part II “Modeling Theory” introduces the SPES XT modeling framework and explains the core underlying principles.
Part III “Application of the SPES XT Framework” describes the application of the SPES XT modeling framework and how it addresses major industrial challenges.
Part IV “Evaluation and Technology Transfer” assess the impact of the SPES XT modeling framework and includes various exemplary applications from automation, automotive, and avionics.Overall, the SPES XT modeling framework offers a seamless model-based engineering approach. It addresses core challenges faced during the engineering of embedded systems. Among others, it offers aligned and integrated techniques for the early validation of engineering artefacts (including requirements and functional and technical designs), the management of product variants and their variability, modular safety assurance and deployment of embedded software.