Primary elements: The software system in scope. It's the sort of diagram that you could show to non-technical people. The focus should be on people (actors, roles, personas, etc) and software systems rather than technologies, Draw a diagram showing your systemĪs a box in the centre, surrounded by its users and the other systems that it interacts with.ĭetail isn't important here as this is your zoomed out view showing a big picture of the system landscape. In the C4 model, components are not separately deployable units.Ī System Context diagram is a good starting point for diagramming and documenting a software system,Īllowing you to step back and see the big picture. one component vs many components per JAR file, DLL, shared library, etc) is a separate and orthogonal concern.Īn important point to note here is that all components inside a container typically execute in the same process space. Aspects such as how those components are packaged (e.g. If you're using a language like Java or C#, the simplest way to think of a component is that it's a collection of implementation classes behind an interface. The word "component" is a hugely overloaded term in the software development industry, but in this context a component is a grouping of related functionality encapsulated behind a well-defined interface. Shell script: A single shell script written in Bash, etc.Ī container is essentially a context or boundary inside which some code is executed or some data is stored.Īnd each container is a separately deployable/runnable thing or runtime environment, typically (but not always) running in its own process space.īecause of this, communication between containers typically takes the form of an inter-process communication.File system: A full local file system or a portion of a larger networked file system (e.g.Amazon S3, Microsoft Azure Blob Storage, etc) or content delivery network (e.g. Blob or content store: A blob store (e.g.Database: A schema or database in a relational database management system, document store, graph database, etc such as MySQL, Microsoft SQL Server, Oracle Database, MongoDB, Riak, Cassandra, Neo4j, etc.Serverless function: A single serverless function (e.g."public static void main") application, a batch process, etc. Server-side console application: A standalone (e.g.Mobile app: An Apple iOS app, an Android app, a Microsoft Windows Phone app, etc.Client-side desktop application: A Windows desktop application written using WPF, an OS X desktop application written using Objective-C, a cross-platform desktop application written using JavaFX, etc.Client-side web application: A JavaScript application running in a web browser using Angular, Backbone.JS, jQuery, etc.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |