Another example UML class diagram: The United States Congress

I did this recently with Visual Studio’s UML tools!  They’re not too shabby!  Enjoy!

Class Diagram of the US Congress


An Example Conceptual Data Model Diagram

In my continuing series of posts on software diagrams, I give you an example conceptual data model diagram.  As you probably know, a logical and physical data model should be created after this and I should be posting those shortly.

The conceptual data model is intended for a large group of stakeholders including the users and customers of the system.  Therefore, it should be in a notation and format that they understand.  That is what I strived to do below.

This is an actual diagram I made for a client (scrubbed of course) that was used to build a $15 million/year system.  It took 40 people about 2 years to build.  The system was intended to give scholarships to medical students in hopes that they would then serve at a underserved medical site after graduation.

Enjoy!  Contact me if you want the original Visio file.

Software Architecture Deployment Viewpoint – Runtime Model Diagram Example

Another architecture diagram example.  This is from an actual production system, actual names have been scrubbed however.  Enjoy!

Software Architecture Deployment Viewpoint – Network Model Diagram Example

There seems to be a dearth of good software architecture diagrams on the web.  So, this is one of the examples I promised from my previous post.  Enjoy!

Software Architecture Viewpoints and Perspectives

In Philippe Kruchten’s seminal paper, “Architectural Blueprints—The “4+1” View Model of Software Architecture”, the idea of looking at software architectures from a number of viewpoints is put forth.  This idea is needed because architectures are too complex to fit into one diagram.  The views the Kructhen outlines are:

  • Logical
  • Development
  • Physical
  • Process

He “+1” of his model are scenarios or use cases that illustrate the architecture from a functional view.

Nick Rozanski and Eoin Woods build on that idea in their book, Software Systems Architecture.  They list a number of other viewpoints that can be used to describe a Software Architecture.  They are:

  • The Functional Viewpoint
  • The Information Viewpoint
  • The Concurrency Viewpoint
  • The Development Viewpoint
  • The Deployment Viewpoint
  • The Operational Viewpoint

They also introduce the idea of software architecture perspectives.  These perspectives take on architectural attributes that are found across viewpoints, such as security.  I encourage you to read their book and tailor it to your architecture.  It has helped me tremendously on past projects and I plan to post samples soon.