Unit 3: Software Modeling
Many believe that good design is fundamental to creating successful software. The first step in software creation is to gather requirements. Notations, such as UML, allow us to articulate complex ideas succinctly and precisely. Designing software requires the use of certain industry-standard design tools, and mastery of them is essential to becoming a capable software engineer.
This unit will introduce you to UML, a standardized general-purpose modeling language for creating visual models of object-oriented software. This unit aims to give you a comprehensive understanding of UML, the five fundamental artifacts of UML, and modeling concepts, as well as the modeling concepts' relationships to the terms system, model, and view.
Completing this unit should take you approximately 4 hours.
Upon successful completion of this unit, you will be able to:
- explain object-oriented concepts such as abstraction, encapsulation, and inheritance;
- interpret the context appropriate for main UML diagrams, including but not limited to structure diagrams, class diagrams, and component diagrams; and
- apply different levels of abstraction at essential object-oriented modeling concepts to enable reusability and flexibility.
3.1: Object-Oriented Concepts
This is a very complete overview of object-oriented programming with references to a number of different object languages. As you watch the video be sure to list each component of an object-oriented language as well as a brief descriptive statement. As you complete the subunits on UML, note how each component is diagrammed.
Read this section, which covers basic object-oriented terms including classes and objects, abstract data types (ADT) and encapsulation, whole or part and generalization or specification classes, inheritance and polymorphism, and messages.
3.2: An Overview of UML
Read this article, and compare the summary of diagram types with those in your notes. UML 2.0 added three new diagrams: instance, role, and internal structure. An internet search for UML 2.0 diagrams will provide a number of examples, especially modeling software vendor sites.
Unified Modeling Language (UML) is a graphical modeling language that provides the syntax for describing the major artifacts of software systems. Read this section to understand the purpose of UML.
UML is managed as a de facto industry standard by the Object Management Group (OMG). This article includes a review about UML History, Definition and its main diagrams.
Watch this video. The lecture provides information to introduce UML as a tool for software engineers. After watching the video, write a summary that answers the following question: what is UML?
Watch this video. The lecture provides a discussion of the use case diagram in UML. Can you describe each component of a use case diagram?
3.3: UML Diagrams
A diagram is the graphical presentation of a set of elements. UML has a lot of different diagrams. Read this section, and make sure you can differentiate between different diagrams.
Watch this video. The lecture provides an overview of state machines and the state diagram in UML. What is the purpose of the state diagram?
Watch this video. The lecture provides a discussion of the class diagram in UML. What is the purpose of the class diagram?
Watch this video carefully as an example of modeling. What is the purpose of an activity diagram? How would you create an activity diagram?
3.4: Modeling Concepts
Watch this video. The lecture provides a discussion of using UML for object-oriented design.
Modeling is the designing of software applications before coding or implementing them in a particular programming language. A model is a representation or simplification of reality. Read about the main principles of modeling in this section.
Unit 3 Assessment
- Receive a grade
Take this assessment to see how well you understood this unit.
- This assessment does not count towards your grade. It is just for practice!
- You will see the correct answers when you submit your answers. Use this to help you study for the final exam!
- You can take this assessment as many times as you want, whenever you want.