A list of all articles published on this site.
15 Apr 2017 | Discriminated Unions in C#
In this post I demostrate a practical use of Discriminated Union data structure / pattern in C# code. I also show the alternative design solutions and explain how they are inferior. Learn more.
03 May 2016 | Applied Data Flow Analysis
Data flow analysis is a technique that helps to understand and specify a process by performing it’s functional decomposition. It’s useful when the overall function of the system is well-defined, but there’s not enough information to drive detailed design. Learn more.
13 Apr 2016 | How Use Cases Improve Design
System use case specification is another valuable analysis tool. Listing use cases before designing a system can help the design process and improve overall product quality. Learn more.
05 Apr 2016 | Context Analysis - Get a High-Level View of the System
One of the most helpful approaches to start off the analysis process is creating a context diagram. Doing so will provide you a high-level view of responsibilities of the system and it’s integration into the problem space. Learn more.
04 Apr 2016 | Analysis - The Foundation of Quality Software Engineering
Analysis is the most important step in development of any software. There’s no point studying design without first understanding the basics of analysis. Analysis is what allows us to make the most important initial design decisions based on more than feelings and assumptions. Learn more.
03 Apr 2016 | Recommended Reading to Learn Software Design
This is a list of reading for someone who wants to study software design. There are many resources available, but they overlap a lot. With this list I try to provide good coverage of the subject and little redundancy. If you have the opportunity, I think it’s worth to read everything on this list (or the alternatives). Learn more.