One day I had a friend start asking me questions about a project they were starting to work on with one of their new coworkers. This friend was working at a company in more of a business operations management role. However, they were tasked with working with a software developer to come up with a new design for a website the company wanted to create. Through reading some of their emails and conversations – with permission. I noticed there was some disconnect in the way they were organizing and talking about certain things. It was at this point I figured it would be best to teach my friend some of the basics of how the design process works on her coworkers end.
There are two types of diagrams a software developer should have a comfortable understanding of. It is also very beneficial for anyone who is working with a development team to understand the basics of them to aid in how they communicate their project needs and goals. These diagrams are called class diagrams and sequence diagrams.
*class diagram*

*sequence diagram*

Before diving in it was important for me to point out that this was not going to cover the small detail of these diagrams. The main goal was the basics, giving them the ability to double check that what they were asking for was included and helping them communicate effectively.
We started with focusing on a basic class diagram from a course I had conveniently started shortly before this.

Before this example my friend had never actually seen a class diagram before. Simply looking at it was enough to get the gears in their head turning and have them realize learning about this would give them a helpful tool.
First we talked about how classes (the individual boxes) were broken up. In this example we had 7 of them. At the top is a university member, a university member could either be a student or an employee. At the bottom is the courses, each course should have students and an employee. There were more in betweens that used an interface to work with some of the finer details. For their sake it made sense and was easy enough to see how things were being broken up into more manageable pieces.
The next part we covered was what was inside each box. Using university members we looked at each portion. At the top is the class name, university member. Below that is a list of variables and their assigned data types. Below that is a list of methods. The variables are pretty simple, first name, last name, ID number. The data types were a little confusing because they had never heard of the terms but I assured them it wouldn’t negatively affect them. The developers themselves have more needs for that. The last part was explaining the functions. Those should really show what the program does with the variables. In university member they are just “getter” methods to be able to access the values. There aren’t any setter methods which I briefly explained would be used to add or change data values for the variables.
The last part we went over was the arrows. I found and used a picture that includes each type of arrow and their names.

After this brief walk-through of a class diagram my friend went back to work the next week with more confidence and some background knowledge that her boss noticed and her coworker highly appreciated.
Sources:
From the blog Mikes CS 343 by Michael St. Germain and used with permission of the author. All other rights reserved by the author.