Better Software Design

Mariusz Gil
undefined
Jan 24, 2023 • 1h 23min

51. O semantyce i roli reguł biznesowych z Aleksandrem Bartnikiewiczem

O tym, że procesy biznesowe istnieją i że są ważne wiedzą wszyscy. Potrafimy o nich ogólnie mówić na poziomie abstrakcyjnym, ale też umiemy schodzić na niższe poziomy i opisywać ich działanie zdarzeniami lub BPMN-em. Natomiast o regułach często mówi się tylko na ogólnym poziomie, jeśli w ogóle, że "no jakieś tam reguły są w biznesie". Są traktowane trochę jak czarna magia, jak jakiś mityczny stwór. Trochę jak synonim "logiki biznesowej". Reguły biznesowe to jest bardzo konkretna rzecz, za którą stoi mocna teoria, własny standard (SBVR by OMG). która ma nie tylko praktyczne przełożenie na naszą pracę ale wręcz może zrewolucjonizować niektóre aspekty.Takie wprowadzenie do dzisiejszego tematu otrzymałem od mojego gościa, Aleksandra Bartnikiewicza, z którym rozmawiamy o regułach biznesowych, analizie domeny w oparciu o tę wiedzę, zapisie, semantyce i dokumentowaniu reguł. Nie będzie to odcinek poświęcony implementacji reguł w kodzie, ale uważny słuchacz znajdzie zapewne od razu odniesienia do Domain-Driven Design, chronionych agregatami niezmienników lub innych implementacjami zakazów i nakazów.W tym odcinku rozmawiamy z Aleksandrem m.in. o:- czym są, a także czym nie są reguły biznesowe i jak się mają do procesów w domenie,- odpowiednim wyrażaniu i semantyce reguł, aby poprawnie opisywały zasady działania biznesu,- podejściu Evansa vs podejście Rossa do języka biznesowego,- budowanie słowników i dokumentowaniu wiedzy na tem reguł biznesowych,- stosowaniu rulebooka w większym projekcie i zespole.Zapraszam! Na blogu Aleksandara znaleźć można artykuł Model pojęciowy - Diagram, który przedstawia wizualną stronę wspomnianego w odcinku przykładu.Materiały dodatkowe:Manifest Reguł Biznesowych, polska wersja manifestu Business Rules GroupThe Business Rules Manifesto*, angielska wersja 2.0 manifestu, listopad 2003Business Rule Concepts : Getting to the Point of Knowledge, wspomniana książka Ronalda RossaBusiness Knowledge Blueprints: Enabling Your Data to Speak the Language of the Business, kolejna warta uwagi pozycja RossaDla wytrwałych odnośnik do specyfikacji SBVR, Semantics Of Business Vocabulary And Business Rules.
undefined
Jan 10, 2023 • 1h 3min

50. O implementacji logiki biznesowej z Decider Pattern z Oskarem Dudyczem

Materiały dodatkowe:Functional Event Sourcing Decider, źródłowy artykuł na blogu Jérémiego Chassaing na temat implementacji wzorca DeciderFunctional Event Sourcing, nagranie prezentacji Jérémiego z DDD Europę 2020, niestety bez obrazu z laptopaHow to effectively compose your business logic, artykuł Oskara na temat kompozycji logiki z wzorcem DeciderHow events can help in making the state-based approach efficient, eventowe podejście do zmiany stanu systemuWriting and testing business logic in F#, kolejny artykuł z bloga Oskara na temat użycia Decidera, tym razem w F#
undefined
6 snips
Jan 1, 2023 • 55min

49. O przeprowadzeniu zmiany z Krzysztofem Rakowskim i Pawłem Rekowskim

Materiały dodatkowe:8-krokowy process przeprowadzenia zmiany, podsumowanie wspomnianego przez Krzysztofa frameworka Johna KotteraTechnology Strategy Patterns: Architecture as Strategy, książka Ebena HewittaNerd Management, video podcast Krzysztofa i Pawła na tematy związane z zarządzaniem zespołami IT
undefined
Dec 27, 2022 • 1h 3min

48. O CUPID, alternatywie dla zasad SOLID z Piotrem Stawirejem

Materiały dodatkowe:CUPID - the back story, pierwszy artykuł Dana Northa o kwestionowaniu zasad SOLIDCUPID - for joyful coding, kontynuacja tematu na blogu Dana NorthaCUPID - for joyful coding, nagranie prezentacji z konferencji NDC London 2022Patterns of Software: Tales from the Software Community, Richard P. Gabriel
undefined
Dec 20, 2022 • 1h 1min

47. O nauce DDD i bi-temporalnych eventach domenowych z Andrzejem Krzywdą

Materiały dodatkowe:Bitemporal History, wpis na blogu Martina Fowlera na temat problemu modelowania bitemporalnegoAs Time Goes By…, a Bi-temporal Event Sourcing story, prezentacja - Thomas Pierrain z konferencji DDD Europe 20184 Strategies for future events with Event Sourcing, strategie rozwiązywania problemu "zdarzeń z przyszłości"Eventsourcing Patterns: Multi-temporal Events, wpis na blogu Mathiasa Verraesa na temat rozróżniania momentu rejestracji zdarzenia i zmiany przez niego opisywanejPatterns for Decoupling in Distributed Systems: Summary Event, kolejny wpis Matthiasa na temat emisji pojedynczego eventu summary zamiast całego streamu zdarzeńMateriały od zespołu Arkency:Fixing the past and dealing with the future using bi-temporal EventSourcing, wpis Łukasza Reszke na blogu ArkencyTake advantage of Turbo Streams in event handlers, wpis Piotra Jurewicza na temat aktualizacji read-modeli i UI aplikacjiSpeed up aggregate roots loading with snapshot events, wpis Piotra Jurewicza na temat odtwarzania stanu agregatu z użyciem snapshottinguRailsEventStore/ecommerce, repozytorium z kodem poligonu doświadczalnego aplikacji ecommerce z użyciem RailsEventStoreDemo ecommerce, prosty interfejs www powyższej aplikacji
undefined
Dec 13, 2022 • 1h 1min

46. O testowaniu mutacyjnym z Marcinem Zajączkowskim

Materiały dodatkowe:Testowanie mutacyjne, prezentacja Marcina na temat testowania mutacyjnego z konferencji Boiling Frogs 2016Slajdy prezentacjiJak szybkie (lub wolne) jest testowanie mutacyjne?, artykuł Marcina na temat szybkości testowania z mutantami, na przykładzie PIT i projektów FOSSBlog MarcinaTwitter MarcinaPrzykładowe narzędzia testowania mutacyjnego:Java, PIT - https://pitest.org/Java, Arcmutate - https://www.arcmutate.com/.NET, Stryker.NET - https://stryker-mutator.io/JavaScript, Stryker.JS - https://stryker-mutator.io/PHP, Infection - https://infection.github.io/guide/PHP 5.x (historycznie), Humbug - https://github.com/humbug/humbugRuby, Mutant - https://github.com/mbj/mutantPython, Mutmut - https://mutmut.readthedocs.io/en/latest/Python, Mutatest - https://mutatest.readthedocs.io/en/latest/Python, Cosmic Ray - https://cosmic-ray.readthedocs.io/en/latest/
undefined
Nov 29, 2022 • 1h 15min

45. O testowalności oprogramowania z Kamilem Grzybkiem

Materiały dodatkowe:An Introduction to General Systems Thinking , książka Geralda M. Weinberga
undefined
Nov 15, 2022 • 1h 6min

44. O programowaniu reaktywnym z Tomkiem Nurkiewiczem

Materiały dodatkowe:Reactive programming: lessons learned, prezentacja Tomka z konferencji JDD 2018What Color is Your Function?RxMarbles, interaktywne diagramy Rxnurkiewicz.com, strona Tomka i jego podcastu Around IT in 256 SecondsReactive Programming with RxJava: Creating Asynchronous, Event-Based ApplicationsNarzędzia:ReactiveX, pełna lista wspieranych języków jest na tej stronieSpring ReactiveProject ReactorRxJS
undefined
Nov 1, 2022 • 1h 1min

43. O subdomenach biznesowych ze Sławkiem Sobótką

Aktualizacja... Podczas publikacji odcinka niestety nie zapisały się linki do książek. Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML, Jim Arlow, Ila NeustadtAnalysis Patterns: Reusable Object Models, Martin Fowler, z przedmową Ralpha Johnsona i Warda CunninghamaData Model Patterns: Conventions of Thought, David C. HayThe Data Model Resource Book: A Library of Universal Data Models for All Enterprises, Len Silverston - książek z tej serii jest kilka, kolejne dotykają różnych domen biznesowych lub są rozwinięciem poprzedniego wydaniaMały komentarz w kwestii powyższych pozycji... Moim zdaniem nie są to książki, które czyta się od przysłowiowej deski do deski. Są to katalogi modeli lub pomysłów, po które się sięga w razie potrzeby, gdy spotyka się dany problem. Oczywiście niektóre problemy są bardziej uniwersalne i powszechne, choć literatura nie klasyfikuje tego w ten sposób. Niezależnie od tego, trzeba te koncepty przefiltrować przez własne doświadczenie.
undefined
Oct 17, 2022 • 1h 28min

42. O analizie biznesowej i systemowej z Moniką Perendyk

Materiały dodatkowe:Software Requirements, Karl Wiegers, Joy Beatty, wydanie IIIRequirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - Foundation Level, Klaus Pohl, Chris RuppSpecification by Example: How Successful Teams Deliver the Right Software, Gojko AdzicFacylitacja-wiedza, umiejętności, sztuka czy magiaNa stronie Moniki można też przeczytać kilka artykułów na tematy, które zostały poruszone w rozmowie:Wymaganie biznesowe a reguła biznesowaAtrybuty wymaganiaKategoryzacja wymagańDług technicznyAdaptowanie produktu w czasach kryzysu, czyli czym jest PIVOTMonikę można obserwować m.in. na Instagramie lub LinkedIn.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app