Design Model in Software Engineering: Elements & Examples

Instructor: David Gloag
In this lesson, we'll define the Design Model in Software Engineering, moving from requirements to design specifications to an example of a UML deployment diagram.

Handling the Difficult

Software systems are an integral part of our lives these days. They form the basis of our cell phones, tablets, and laptops. They contribute to our televisions, alarms clocks, and automobiles. And they even power the website you're using to work through this lesson. Amazing, don't you think? What's even more amazing is that a group of software engineers can put their heads together and design such systems. As you might imagine, this is no easy task, especially when you consider their complexity. So, how do they do it? How do they handle such difficult tasks? One way is to employ a design model representation.

What is a Design Model?

A design model in Software Engineering is an object-based picture or pictures that represent the use cases for a system. Or to put it another way, it is the means to describe a system's implementation and source code in a diagrammatic fashion. This type of representation has a couple of advantages. First, it is a simpler representation than words alone. Second, a group of people can look at these simple diagrams and quickly get the general idea behind a system. In the end, it boils down to the old adage, 'a picture is worth a thousand words.'

Moving from Requirements to Design Specifications

Moving from requirements (what is needed) to design specifications (a description of what should be built) involves a number of steps. These can be different depending on who you talk to, but we'll use the following:

  • Architectural - This involves breaking the system down into its major functional pieces and describing each in a diagrammatic fashion. The interaction between each piece is also described. For example, an instant messaging system might have a 'send message' piece and an interaction might be the user types characters that act as input to the send message piece.
  • Interface - The architectural interactions are broken down and described in greater detail. For example, the user typed characters mentioned above might be described as arriving a character at a time, each character is displayed on the cell phone screen as it is typed.
  • Component Level - The pieces described in the architectural item above are broken down into lower level components. For example, the send message piece might become 'receive character' component, 'display character' component, and 'transmit character' component.
  • Deployment Level - The components arrived at during the previous step are grouped for the purpose of delivery to their final destination. For example, the components of the 'send message' piece might be grouped together with other pieces for deployment on a cell phone.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 160 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create An Account