Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
Most modern programming languages, such as Java, C#, Ruby, and Python, are object-oriented languages, which help group individual bits of code into a complex and coherent application. However, object-orientation itself is not a language; it's simply a set of ideas and concepts.
Let Simon Allardice introduce you to the terms—words like abstraction, inheritance, polymorphism, subclass—and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
We've covered the most common UML diagrams. We've seen Class Diagrams, Use Case Diagrams, Conceptual Object model Diagrams, and Sequence Diagrams. While I'm not going to cover all 14 in this course, here is a couple more that you may come across. First is the State Machine Diagram, also known as a State Chart. I have a very simple example here. This time we would switch our focus to just a single object and not detailing its attributes and its behaviors, but just the way that it changes state over its lifetime.
State Machine Diagrams contain rectangles with rounded corners these are the different states that the object can live in, and we can detail the transition between one to the other and what causes it. These are useful when you have objects that exist in very different states, very different configurations during the lifetime of the application. I want to show exactly how they get from one state to another. Now if you come from a procedural language background, you'll be used to flowcharts. Well, Activity Diagrams are the closest things to classic flowcharts in UML and they detail the stamps the transitions and the decisions that can occur as you flow through part of a system.
It's a slightly different view than say a Sequence Diagram. You can also add partitions--what are often referred to as swim lanes--to an Activity Diagram. What these can represent is either the different classes or even the different business units that take care of different parts of the activity. Some of these later diagrams like Deployment Diagrams and Package Diagrams can be very useful, but are quite specific to the language and the environment you're developing in. So the first four are the most common diagrams you'll see and use.
Now if you're interested in more details in UML I'll cover some additional resources at the end of the course. It's always about selecting the right diagram for the right need, and it should be driven from a business problem. You shouldn't be asking the question where I can write some sequence diagrams, but simply realizing that one would come in useful when thinking about or discussing a situation that isn't clear.
There are currently no FAQs about Foundations of Programming: Object-Oriented Design.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.