Hello
blog (mood-status: feeling Good), writing this blog after thanksgiving
dinner and eating well like pretty good with a plate of food alongside
hanging the family. But anyway, on writing about this week-11. To be
truthful here, I writing this because I am falling behind on blogs when
there is nothing to talk about, besides kept being busy with other
courses like HWs and projects, etc. (You get the point. Well, if you are
a student)
I decided to go on the Syllabus to look at the course topics.
I found the subject of Modeling along with Unified Modeling Language (UML) & C4 Model.
Unified Modeling Language
Large
Companies’ applications that execute core business applications and
keep a company going can more than some code modules. It can structure
in a way that enables:
- scalability
- security
- robust execution under stressful conditions.
Their structure is that maintenance programmers can find and fix a bug
that shows up after moving on to other projects. These programs can
design to work perfectly in many areas, and business functionality is
not the only one. A well-designed architecture benefits any program, and
not only the largest ones as singled out. It mentioned large
applications first because the structure deals with complexity, so the
benefits of the network compound as the application size grows large.
Another use of a structure that enables code reuse was design time.
Ultimately, companies build up models of parts, each unit representing
an implementation stored in code modules. At coding time, the developer
can as promptly import the code module into the application. When
another application needs the same functionality, the designer can
quickly import its module from the library.
The C4 model
The
C4 model made by Simon Brown designates on UML and the 4+1
architectural view model. It breaks down software into smaller units for
modeling. Like the quick methodology, the C4 model requires fast,
efficient sharing and constant updates of software architecture in
software development.
The
C4 model (shown as a map). The Maps can build on a different scale. By
changing scales, like for example; The town map with streets and
buildings. Having the C4 model changes the level of a diagram to
describe software architecture. Using the abstraction-first approach, C4
conducts modeling top-down from system context to lower levels.
- Person (Element) – users or roles of a software system
- Software
system (topmost level in abstractions) – the value of existing systems
or systems under development and the interaction between those systems - Container
(Element) – the internals of software systems, usually applications or
solutions for data storage. A different concept to containers in Docker.
It mainly refers to software that is single deployed. - Component (Abstraction element) – The containers of modules or a set of interfaces grouped as a functional unit.
- Relations – dependencies or data flow between abstraction elements.
From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.