Description | Reviews | Table of Contents | Supplemental Materials | Authors

Cover Art

TEXTBOOK ADOPTION REVIEW

Please contact Brent Beckley to arrange
an eBook review copy for your
fundamental software engineering
course. Please include the
following information:

School, Department, Course Name,
Course Number, Semester Offered,
and Expected Enrollment

If you confirm adoption of the book,
we will send a desk copy.

SUPPLEMENTAL MATERIALS


 

New Textbook & Professional Reference

Title

ACM BOOKS - COLLECTION I
(a copublication of the Association for Computing Machinery and Morgan & Claypool)

By Ivar Jacobson (Ivar Jacobson International), Harold “Bud” Lawson (Lawson Konsult AB),
Pan-Wei Ng (DBS Bank), Paul E. McMahon (PEM Systems), Michael Goedicke (Universität Duisburg-Essen)

© 2019, Paperback: 9781947487246 | eBook: 9781947487253 | Hardcover: 9781947487277
Paperback $74.95 | Hardcover $89.95 | eBook $55.96

Buy Print/eBook | Check for institutional access or ACM Member access (requires login)

Students will be given access to a low-priced eBook edition exclusively through our bookstore. Adopting instructors will be forwarded the link with UN/PW to this edition to pass along to students. See Textbook Adoption Review if you are interested in this book for your course.


DESCRIPTION
The first course in software engineering is the most critical. Education must start from an understanding of the heart of software development, from familiar ground that is common to all software development endeavors. This book is an in-depth introduction to software engineering that uses a systematic, universal kernel to teach the essential elements of all software engineering methods.

This kernel, “Essence” is a vocabulary for defining methods and practices. Essence was envisioned and originally created by Ivar Jacobson and his colleagues, developed by Software Engineering Method and Theory (SEMAT) and approved by The Object Management Group (OMG) as a standard in 2014. Essence is a practice-independent framework for thinking and reasoning about the practices we have and the practices we need. Essence establishes a shared and standard understanding what is at the heart of software development. Essence is agnostic to any particular method, lifecycle independent, programming language independent, concise, scalable, extensible, and formally specified. Essence frees the practices from their method prisons.

The first part of the book describes Essence, the essential elements to work with, the essential things to do and the essential competencies you need when developing software. The other three parts describe more and more advanced use cases of Essence. Using real but manageable examples, it covers the fundamentals of Essence and the innovative use of serious games to support software engineering. It also explains how current practices such as user stories, use cases, Scrum, and micro-services can be described using Essence, and illustrates how their activities can be represented using the Essence notions of cards and checklists. The fourth part of the book offers a vision how Essence can be scaled to support large, complex systems engineering.

Essence is supported by an ecosystem developed and maintained by a community of experienced people worldwide. From this ecosystem, professors and students can select what they need and create their own way of working, thus learning how to create ONE way of working that matches the particular situation and needs.

HIGH PRAISE FOR THE ESSENTIALS OF MODERN SOFTWARE ENGINEERING

“Essence is an important breakthrough in understanding the meaning of software engineering. It is a key contribution to the development of our discipline and I’m confident that this book will demonstrate the value of Essence to a wider audience. It too is an idea whose time has come.”
– Ian Somerville, St. Andrews University, Scotland (author of Software Engineering, 10th Edition, Pearson)

“In the foundational course “Software Engineering” I am teaching Essence to 400 students introducing Essence from day one. We will deliver a functioning system over the coming three months’ time developed by small teams. In the past we used a best-selling textbook, but not anymore. Tomorrow’s education will be fundamentally changed starting with the Essence of software engineering.”
– Dr. Pekka Abrahamsson, Norwegian University of Science and Technology

“What you hold in your hands (or on your computer or tablet if you are so inclined) represents the deep thinking and broad experience of the authors, information you’ll find approachable, understandable, and, most importantly, actionable.”
– Grady Booch, IBM Fellow, ACM Fellow, IEEE Fellow, BCS Ada Lovelace Award, and IEEE Computer Pioneer


TABLE OF CONTENTS (Full TOC)

Foreword By Ian Sommerville
Foreword By Grady Booch

Preface

Part 1 – The Essence of Software Engineering 
1. From Programming to Software Engineering
2. Software Engineering Methods and Practices
3. Essence in a Nutshell
4. Identifying the Key Elements of Software Engineering
5. The Language of Software Engineering
6. The Kernel of Software Engineering
7. Key Principles: Practical, Actionable and Extensible
8. Reflection on Theory

Part 2 – Developing Software with Essence
9. Applying Essence in the Small – Playing Serious Games
10. Kick Starting Development Using Essence
11. Developing with Essence
12. The Development Journey
13. Reflection on Kernel

Part 3 – Small Scale Development with Practices
14. Kick Starting Development with Practices
15. Running with Scrum
16. Running with User Story Lite
17. Running with Use-Case Lite
18. Running with Microservices
19. Putting the Practices Together: Composition

Part 4 – Large Scale Complex Development
20. What it Means to Scale
21. Essentializing Practices
22. Scaling Up to Large and Complex Development
23. Reaching Out to Different Kinds of Development
24. Being Agile with Practices and Methods
25. Reflecting on the SEMAT Journey

APPENDIX:  A Brief History of Software and Software Engineering
Author Biographies


SUPPLEMENTAL MATERIALS

Supplements including those shown below are through a website designed specifically for The Essentials of Modern Software Engineering. You can find them by clicking on this link.

  • Lecture slides from Professors already using the book
  • Exercises and Quizzes
  • Essence Card Deck and Checklist (Samples)
  • Alpha State Card Games (Samples)
  • Examinations and certifications
  • Sample university projects that are utilizing Essence
  • Additional reading and references
  • Extended material will be added in the future

AUTHORS    
Ivar Jacobson  

Dr. Ivar Jacobson received his Ph.D. in computer science from KTH Royal Institute of Technology, was rewarded the Gustaf Dalén medal from Chalmers in 2003, and made an honorary doctor at San Martin de Porres University, Peru, in 2009. Ivar has both an academic and an industrial career. He has authored ten books,  published more than a hundred papers and he is a frequent keynote speaker at conferences around the world. Ivar Jacobson is a father of components and component architecture, work that was adopted by Ericsson and resulted in the greatest commercial success story ever in the history of Sweden, and it still is. He is the father of use cases and Objectory, which, after the acquisition of Rational Software in around the year 2000, resulted in the Rational Unified Process, a popular method.. He is also one of the three original developers of the Unified Modelling Language. But all this is history. Ivar founded his current company, Ivar Jacobson International, which since 2004 has been focused on using methods and tools in a smart, superlight and agile way.  Ivar is also a founder and a leader of a worldwide network, SEMAT, which has the mission to revolutionize software development based on a kernel of software engineering. The kernel has been realized as a formal standard called Essence, which is the key idea described in this book

     
Bud Lawson  

Harold "Bud" Lawson (The Institute of Technology at Linkoping University) has been active in the computing and systems arena since 1958 and has broad international experience in private and public organizations as well as academic environments. Bud contributed to several pioneering efforts in hardware and software technologies. He has held professorial appointments at several universities in the USA, Europe, and the Far East. A Fellow of the ACM, IEEE, and INCOSE, he was also head of the Swedish delegation to ISO/IEC JTC1 SC7 WG7 from 1996 to 2004 and the elected architect of the ISO/IEC 15288 standard. In 2000, he received the prestigious IEEE Computer Pioneer Charles Babbage medal award for his 1964 invention of the pointer variable concept for programming languages. He has also been a leader in systems engineering. In 2016, he was recognized as a Systems Engineering Pioneer by INCOSE. He has published several books and was the coordinating editor of the "Systems Series" published by College Publications, UK. Tragically, Harold Lawson passed away after battling an illness for almost a year, just weeks before the publication of this book.

     
Pan-Wei Ng  

Dr. Pan-Wei Ng, has been helping software teams and organizations such as Samsung, Sony and Huawei since 2000, coaching them in the areas of software development, architecture, agile, lean, DevOps, innovation, digital, Beyond Budgeting and agile people. Pan Wei firmly believes that there is no one-size-fits-all and helps organizations find a way of working that suits them best. This is why he is so excited with Essence and has been working with SEMAT and Essence since their inception in 2006 when it was a mere idea. He has contributed several key ideas to the development of Essence. Pan Wei coauthored two books with Dr Ivar Jacobson and frequently shares his views in conferences. He currently works for DBS Singapore, and is also an adjunct lecturer in the National University of Singapore.

     
Paul McMahon  

Paul E. McMahon has been active in the software engineering field since 1973 after receiving his Masters degree in Mathematics from the State University of New York at Binghamton (now Binghamton University).  Paul began his career as a software developer spending the first twenty-five years working in the US department of defense modeling and simulation domain.  Since 1997 Paul has been an independent consultant/coach (pemsystems.com) where he helps organizations and teams using a hands-on practical approach focusing on agility and performance. Paul has taught software engineering at Binghamton University, conducted workshops on software engineering  and management and has published more than 50 articles and five books. Paul is a frequent speaker at industry conferencesHe is also a Senior Consulting Partner at Software Quality Center.   Paul has been a leader in the SEMAT initiative since its initial meeting in Zurich.

     
Michael Goedicke   Prof. Dr. Michael Goedicke is head of the working group Specification of Software Systems at the University of Duisburg-Essen. He is vice president of the GI (German National Association for Computer Science), Chair of the Technical Assembly of the IFIP (International Federation for Information Processing) and longtime member and Steering Committee chair of the IEEE/ACM conference series Automated Software Engineering. His research interests include, among others, software engineering methods, technical specification and realization of software systems, and software architecture and modelling. He is also known for his work in Views and Viewpoints in Software Engineering and has a track record in Software Architecture. He has been involved in SEMAT activities nearly from the start and was helping in the standardization process of Essence – especially the language track.

 

     
    Copyright 2020, Morgan & Claypool Publishers and the Association for Computing Machinery