EMACSWAY_LOG Telegram 1402
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Остановимся на моментах, имеющих ключевое отношение к определению границ Bounded Context. Даже в языке математики: 💬 "полностью изжить неопределенность невозможно, иначе было бы невозможно о бесконечности мира говорить конечными фразами". 💬 "снятие неопределенности…
До сего момента мы рассматривали управление Существенной Сложностью (Essential Complexity). Это наиболее существенное, хотя и не исчерпывающее, условие успешности разработки, потому что "Серебрянной пули нет".

Существенная Сложность (Essential Complexity) - сложность того, что делает система, сложность реализованных ею моделей, отражающих сложность реального мира, не зависящая от способа и деталей реализации. Сложность, порожденная решаемой проблемой, и ничто не может устранить или уменьшить её. Мы можем только управлять ею таким образом, чтобы минимизировать объем существенной сложности, рассматриваемой одновременно, до уровня, не превосходящего ограничения краткосрочной памяти человека.

Как утверждает Steve McConnell:

💬 "В философии существенными называют свойства, которыми объект должен обладать, чтобы быть именно этим объектом. Автомобиль должен иметь двигатель, колеса и двери — если объект не обладает каким-нибудь из этих существенных свойств, это не автомобиль."
-- "Code Complete" by Steve McConnell


Побочная Сложность (Accidental Complexity) - сложность, возникающая в процессе реализации, например, количество классов в программе образуют побочную сложность. Выделение уровня абстракции введением еще одного класса повышает уровень косвенности в программе, т.е. программа увеличивает свою сложность, но при этом повышается способность управлять существенной сложностью, т.к. возникает возможность абстрагироваться от нерелевантных деталей, а значит, уменьшить количество единиц сложности, рассматриваемых одновременно.

Как утверждает Steve McConnell:

💬 "Несущественными (акцидентными, побочными) свойствами называют свойства, которыми объект обладает в силу случайности, — свойства, не влияющие на его суть. Так, автомобиль может иметь четырехцилиндровый двигатель с турбонаддувом, восьмицилиндровый или любой другой и все же являться автомобилем. Тип двигателя и колес, число дверей — все это несущественные свойства. Можете также думать о них как о второстепенных, произвольных, необязательных и случайных."
-- "Code Complete" by Steve McConnell


Ввел эти термины в оборот Frederick P. Brooks в своей монументальной статье "No Silver Bullets: Essence and Accidents of Software Engineering", позаимствовав идею у Аристотеля.

💬 "Following Aristotle, I divide them [difficulties] into essence - the difficulties inherent in the nature of the software - and accidents - those difficulties that today attend its production but that are not inherent.
<...>
The complexity of software is in essential property, not an accidental one. Hence descriptions of a software entity that abstract away its complexity often abstract away its essence. Mathematics and the physical sciences made great strides for three centuries by constructing simplified models of complex phenomena, deriving properties from the models, and verifying those properties experimentally. This worked because the complexities ignored in the models were not the essential properties of the phenomena. It does not work when the complexities are the essence.”
—“No Silver Bullet - Essence and Accident in Software Engineering” by Frederick P. Brooks, Jr.


Теперь мы подошли к вопросу о том, каким образом можно защитить управление существенной сложностью от несущественной сложности.
🔥11💯1



tgoop.com/emacsway_log/1402
Create:
Last Update:

До сего момента мы рассматривали управление Существенной Сложностью (Essential Complexity). Это наиболее существенное, хотя и не исчерпывающее, условие успешности разработки, потому что "Серебрянной пули нет".

Существенная Сложность (Essential Complexity) - сложность того, что делает система, сложность реализованных ею моделей, отражающих сложность реального мира, не зависящая от способа и деталей реализации. Сложность, порожденная решаемой проблемой, и ничто не может устранить или уменьшить её. Мы можем только управлять ею таким образом, чтобы минимизировать объем существенной сложности, рассматриваемой одновременно, до уровня, не превосходящего ограничения краткосрочной памяти человека.

Как утверждает Steve McConnell:

💬 "В философии существенными называют свойства, которыми объект должен обладать, чтобы быть именно этим объектом. Автомобиль должен иметь двигатель, колеса и двери — если объект не обладает каким-нибудь из этих существенных свойств, это не автомобиль."
-- "Code Complete" by Steve McConnell


Побочная Сложность (Accidental Complexity) - сложность, возникающая в процессе реализации, например, количество классов в программе образуют побочную сложность. Выделение уровня абстракции введением еще одного класса повышает уровень косвенности в программе, т.е. программа увеличивает свою сложность, но при этом повышается способность управлять существенной сложностью, т.к. возникает возможность абстрагироваться от нерелевантных деталей, а значит, уменьшить количество единиц сложности, рассматриваемых одновременно.

Как утверждает Steve McConnell:

💬 "Несущественными (акцидентными, побочными) свойствами называют свойства, которыми объект обладает в силу случайности, — свойства, не влияющие на его суть. Так, автомобиль может иметь четырехцилиндровый двигатель с турбонаддувом, восьмицилиндровый или любой другой и все же являться автомобилем. Тип двигателя и колес, число дверей — все это несущественные свойства. Можете также думать о них как о второстепенных, произвольных, необязательных и случайных."
-- "Code Complete" by Steve McConnell


Ввел эти термины в оборот Frederick P. Brooks в своей монументальной статье "No Silver Bullets: Essence and Accidents of Software Engineering", позаимствовав идею у Аристотеля.

💬 "Following Aristotle, I divide them [difficulties] into essence - the difficulties inherent in the nature of the software - and accidents - those difficulties that today attend its production but that are not inherent.
<...>
The complexity of software is in essential property, not an accidental one. Hence descriptions of a software entity that abstract away its complexity often abstract away its essence. Mathematics and the physical sciences made great strides for three centuries by constructing simplified models of complex phenomena, deriving properties from the models, and verifying those properties experimentally. This worked because the complexities ignored in the models were not the essential properties of the phenomena. It does not work when the complexities are the essence.”
—“No Silver Bullet - Essence and Accident in Software Engineering” by Frederick P. Brooks, Jr.


Теперь мы подошли к вопросу о том, каким образом можно защитить управление существенной сложностью от несущественной сложности.

BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.


Share with your friend now:
tgoop.com/emacsway_log/1402

View MORE
Open in Telegram


Telegram News

Date: |

A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select “Create Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first. In the next window, choose the type of your channel. If you want your channel to be public, you need to develop a link for it. In the screenshot below, it’s ”/catmarketing.” If your selected link is unavailable, you’ll need to suggest another option. It’s yet another bloodbath on Satoshi Street. As of press time, Bitcoin (BTC) and the broader cryptocurrency market have corrected another 10 percent amid a massive sell-off. Ethereum (EHT) is down a staggering 15 percent moving close to $1,000, down more than 42 percent on the weekly chart. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. How to create a business channel on Telegram? (Tutorial)
from us


Telegram emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
FROM American