• Complain

Rebecca Wirfs-Brock - Design and Reality

Here you can read online Rebecca Wirfs-Brock - Design and Reality full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2022, publisher: leanpub.com, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover

Design and Reality: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Design and Reality" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Rebecca Wirfs-Brock: author's other books


Who wrote Design and Reality? Find out the surname, the name of the author of the book and a list of all author's works by series.

Design and Reality — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Design and Reality" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Design and Reality Essays on Software Design Rebecca Wirfs-Brock and Mathias - photo 1
Design and Reality
Essays on Software Design
Rebecca Wirfs-Brock and Mathias Verraes

This book is for sale at http://leanpub.com/design-and-reality

This version was published on 2022-10-04

This is a Leanpub book Leanpub empowers authors and publishers with - photo 2

* * * * *

This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do.

* * * * *

2022 Rebecca Wirfs-Brock and Mathias Verraes
About the Authors

Rebecca and Mathias met at the Domain-Driven Design Europe 2017 conference in Amsterdam, and started collaborating in 2021. This book collects soe of their essays.

Mathias Verraes

Mathias Verraes is the founder of Aardling, a software modelling & design consultancy, with a penchant for complex environments. His focus is on design strategy and messaging-centric domain modelling. Since leaving a lead developer job in 2011 and moving to consulting in 2011, Mathias has worked with clients in Finance, Government, Supply Chain, Mobility, Energy, E-Commerce, and more.

Mathias writes about software design at verraes.net since 2011. As a speaker, hes been at many major conferences such as NDC and Goto, and has been a keynote speaker DDD eXchange, ExploreDDD, KanDDDinsky, and others. Occasionally, he teaches courses on Domain-Driven Design & messaging architecture. Mathias is also the founder of the DDD Europe conference.

Mathias has a Masters in Music from the Royal Conservatory of Ghent, and is an autodidact on software. When hes at home in Kortrijk, Belgium, he helps his two sons build crazy Lego contraptions.

Rebecca Wirfs-Brock

Rebecca Wirfs-Brock is a software design pioneer who invented the set of object design practices known as Responsibility-Driven Design (RDD) and popularized the x-Driven Design meme (RDD, TDD, DDD, BDD). She is an internationally recognized leader in the development of effective software design and architecture techniques. Among her widely used innovations are use case conversations and object role stereotypes. She was the design columnist for IEEE Software and the author of two influential texts, Designing Object-Oriented Software, and Object Design: Roles, Responsibilities and Collaborations.

In her work, she helps teams hone their design and architecture skills, manage and reduce technical debt, and address architecture risks. Although best known as a software design guru, she is also known as an innovator of techniques for simply expressing complex requirements and effectively developing and communicating software architecture. Her research interests focus on the cognitive and social aspects of software development including: Naturalistic decision-making (NDM) and software architecture decisions; decision-making models for software architects; design heuristics and their relationships to software patterns, guidelines; values and practices for sustainable software architecture and its evolution; software design and development ethnography; practical software design methods; agile architecture and design practices; patterns and pattern languages; object-oriented design; software modeling; domain modeling; documenting complex software systems; and communicating design intentions.

Design & Reality

The transition to a really deep model is a profound shift in your thinking and demands a major change to the design. Domain-Driven Design, Eric Evans

There is a fallacy about how domain modelling works. The misconception is that we can design software by discovering all the relevant concepts in the domain, turn them into concepts in our design, add some behaviours, and voil, weve solved our problem. Its a simplistic perception of how design works: a linear path from A to B:

  1. understand the problem,
  2. apply design,
  3. end up with a solution.

That idea was so central to early Object-Oriented Design, that one of us (Rebecca) thought to refute it in her book:

Early object design books including [my own] Designing Object-Oriented Software [Wirfs-Brock 1990], speak of finding objects by identifying things (noun phrases) written in a design specification. In hindsight, this approach seems naive. Today, we dont advocate underlining nouns and simplistically modeling things in the real world. Its much more complicated than that. Finding good objects means identifying abstractions that are part of your applications domain and its execution machinery. Their correspondence to real-world things may be tenuous, at best. Even when modeling domain concepts, you need to look carefully at how those objects fit into your overall application design. Object Design, Rebecca Wirfs-Brock

Domain language vs Ubiquitous Language

The idea has persisted in many naive interpretations of Domain-Driven Design as well. Domain language and Ubiquitous Language are often conflated. Theyre not the same.

Domain language is what is used by people working in the domain. Its a natural language, and therefore messy. Its organic: concepts are introduced out of necessity, without deliberation, without agreement, without precision. Terminology spreads across the organisation or fades out. Meaning shifts. People adapt old terms into new meanings, or terms acquire multiple, ambiguous meanings. It exists because it works, at least well enough for human-to-human communication. A domain language (like all language) only works in the specific context it evolved in.

For us system designers, messy language is not good enough. We need precise language with well understood concepts, and explicit context. This is what a Ubiquitous Language is: a constructed, formalised language, agreed upon by stakeholders and designers, to serve the needs of our design. We need more control over this language than we have over the domain language. The Ubiquitous Language has to be deeply connected to the domain language, or there will be discord. The level of formality and precision in any Ubiquitous Language depends on its environment: a meme sharing app and an oil rig control system have different needs.

Drilling Mud

Talking of oil rigs:

Rebecca was invited to consult for a company that makes hardware and software for oil rigs. She was asked to help with object design and modelling, working on redesigning the control system that monitors and manages sensors and equipment on the oil rig. Drilling causes a lot of friction, and drilling mud (a proprietary chemical substance) is used as a lubricant. Its also used as a carrier for the rocks and debris you get from drilling, lifting it all up and out of the hole. Equipment monitors the drilling mud pressure, and by changing the composition of the mud during drilling, you can control that pressure. Too much pressure is a really bad thing.

And then an oil rig in the gulf exploded.

As the news stories were coming out, the team found out that the rig was using a competitors equipment. Whew! The team started speculating about what could have happened, and were thinking about how something like that could happen with their own systems. Was it faulty equipment, sensors, the telemetry, communications between various components, the software?

Scenarios

When in doubt, look for examples. The team ran through scenarios. What happens when a catastrophic condition occurs? How do people react? When something fails, its a noisy environment for the oil rig engineers: sirens blaring, alarms going off, We discovered that when a problem couldnt be fixed immediately, the engineers, in order to concentrate, would turn off the alarms after a while. When a failure is easy to fix, the control system logs reflect that the alarm went on and was turned off a few minutes later.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Design and Reality»

Look at similar books to Design and Reality. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Design and Reality»

Discussion, reviews of the book Design and Reality and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.