UML Overview and Examples

Use Cases -- The Unified Modeling Language (UML) is an emerging standard gaining wide-spread popularity. It covers many areas of modeling. (Recall that modeling and analysis are part of the 2nd stage of the SDLC (system development lifecycle)).  Here are some sample use cases: example 1 and example 2.

Sequence Diagrams -- Here are two examples called sequence diagrams that model dynamic system behavior as interactions between actors (people and applications). See: example_1 and example_2.

UML Tutorial -- I emailed a tutorial to everyone. Please read it for a good explanation of UML.

Class Responsibility Cards

Click here view a sample CRC card. During the early discovery phase of model, CRC cards help the development team to identify classes to implement use cases and how they work. CRC cards can be made using 4x6 index cards, which are then passed around the room (like a card game) with team members assuming different roles in a use case scenario. Here is the reference to the origin of CRC cards: http://c2.com/doc/oopsla89/paper.html.

Process Definitions

Click here to view a sample process definition. Process definitions such as the swim lane diagrams above are an important part of workflow specifications, which involve several actors working together with the flow of data across actors.

Requirements / Design Analysis for Build vs. Buy Decisions

Here is a template (view as html or download as xls) for a template to use on your learning team to make build vs. buy decisions in the analysis and design phases of the SDLC. Why does build vs. buy potentially span both of these phases?

Visio Process Diagram for Merging Projects

Click here to download a sample Visio diagram that illustrates the use of swim lanes to represent the execution of a process across different teams. I created this diagram as part of a business case to consider the merger of two independent programs. Thus, the core theme in the diagram is the decision as to whether or not these programs should be combined. The trade-off is short-term pain (i.e., additional cost) for long-term gain (i.e., shared services across the enterprise). The relevance for the class is that swim lane diagrams are an effective approach to convey multi-team processes. There are many uses for this type of diagram.

Visio Process Diagram for Service Level Agreements

Click here to view a different sample Visio diagram that illustrates how different teams and companies coordinate the recovery of website server failures. I prepared this for a customer in the retail brokerage industry. We developed a corporate portal product for this brokerage firm which depended upon independent vendors to provide 3rd party content for portions of the portal. I wrote the vendor management plan that defines and enforces Service Level Agreements (SLAs) for 3rd party web content. The essential message in this diagram is that the brokerage firm has to be proactive -- not reactive -- when it comes to monitoring web services provided by 3rd party vendors.

#4: Visio System Architecture Diagram (part 1)

Click here to view part 1 of a sample Visio diagram that shows a system architecture. This is the first step in creating a layered architecture diagram. This first layer is useful to identify and categorize software components into a cohesive enterprise architecture.  For example, presentation components (e.g., cell phone vs. PC-based internet browsers) are different from database components (e.g., customer information database). Identifying all components and laying them out as illustrated is the first step in creating a system architecture diagram.

#5: Visio System Architecture Diagram (part 2)

Click here to view part 2 of a sample Visio diagram that shows a system architecture. This is the second step in creating a layered architecture diagram. This layer layer shows how software components are wired together (i.e., integrated) to provide application functionality.

Requirements Analysis Matrix

This matrix is used to evaluate vendors and products with respect to detailed lists of requirements. 

eXtreme Programming Spike

In the XP SDLC, once the users and developers have agreed to a set of story cards, a "spike" is often built as a proof of concept or to implement a straw man of a key component. To download a sample spike document, click here.

Back to Top