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 3 hours.
Upon successful completion of this unit, you will be able to:
- interpret the context appropriate for five commonly used UML artifacts; and
- apply abstraction to the UML artifacts to arrive at essential object-oriented modeling concepts.
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 the "Definition of Object-Oriented Terms" section in Chapter 11 (pages 461–463). This section will cover 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
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?
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.3: Modeling Concepts
Watch this video. The lecture provides a discussion of using UML for object-oriented design.
3.4: UML 2.0
Read the article carefully. Compare the summary list of diagram types with 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.
Unit 3 Assessment
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.