UML and Object-Oriented Design Foundations
Get started with Object-Oriented Design and the Unified Modeling Language.
Use UML for effective communication!
What you'll learn
- Learn UML from a leading expert
- Think as professional software designers
- Gain a working knowledge of Object-Oriented Design and UML 2.0
- Communicate clearly, eliminate misunderstandings
- Get ready for technical job interviews
- Increase your software development productivity
- Create professional UML diagrams
Course content
- What's UML? (4:00)
- Use Case Diagrams (3:35)
- Use Case Diagrams: Challenge (1:03)
- Use Case Diagrams: Solution (3:00)
- Class Diagrams (3:28)
- Class Diagrams: Challenge (1:12)
- Class Diagrams: Solution (3:35)
- Visibility: Public, Private, Protected, Package (3:15)
- Associations (2:52)
- Generalization (1:26)
- Dependency, Aggregation, Composition and Realization (2:10)
- Sequence Diagrams (4:36)
- Activity Diagrams (4:29)
- Statechart Diagrams (2:17)
- Here's What We'll Do (2:13)
- Collecting the Requirements (4:37)
- Mapping Requirements to User Stories (3:47)
- Diagraming the Main Use Cases (5:25)
- Identifying Classes and Relationships - Epic 1 (6:08)
- Identifying Classes and Relationships - Epic 2 and 3 (8:39)
- Describing the Flow of Note Creation Using Sequence Diagrams (6:05)
- Activity Diagram: Note Management, Local Storage & Cloud Sync (7:23)
- The Note Object’s State Diagram (6:45)
- Common Issues in State Machines and How to Fix Them (3:57)
Requirements
- No prerequisites (we will teach you everything you need to know)
- A desire to learn
- Basic programming skills are helpful, but not required
Description
Explore the fundamental concepts behind modern, object-oriented software design best practices. Learn how to work with UML to approach software development more efficiently.
This course will help you become familiar with the fundamentals of object-oriented design and analysis*. I'll introduce each concept using simple terms, avoiding confusing jargon. We'll focus on the practical application, using hands-on examples you can use for reference and practice.
(*)Many universities across the world require their students to complete this course as part of their Systems Analysis and Design curriculum.
Throughout the course, I'll walk you through several examples related to software design and UML. Plus, we'll delve into a case study to review all the steps of designing a real software system from start to finish.
What qualifies me to teach you?
I have more than 25 years of software development expertise. I've worked for companies like Apple, Siemens, and SAP.
As a software architect, I have designed and built several enterprise systems and frameworks, including core components of Siemens Healthcare's syngo image processing system. I'm one of the senior software architects behind the SAP Cloud Platform SDK for iOS, a framework built by Apple and SAP. I currently hold twelve patents related to inventions in the field of mobile computing.
Topics include:
- Understanding software development methodologies
- Choosing the right methodology: Waterfall vs. Agile
- Fundamental object-Orientation concepts: Abstraction, Polymorphism, and more
- Collecting requirements
- Mapping requirements to technical descriptions
- Unified Modeling Language (UML)
- Use case, class, sequence, activity, and state diagrams
- Designing a Note-Taking App from scratch
You will acquire professional and technical skills, together with an understanding of object-orientation principles and concepts.
After completing this course, you'll be able to understand the inner workings of object-oriented software systems.
You will communicate easily and effectively with other developers using object-orientation terms and UML diagrams.
Who this course is for?
This course is a perfect fit if you want to design and implement complex applications.
What students are saying
★ ★ ★ ★ ★
"This was great and helped me crack an interview. Thank you so much!"
— Ashutosh Bhokare
★ ★ ★ ★ ★
"I am a software development college student and this course helped me A LOT with my studies and tests."
— Miriam Wojcik
★ ★ ★ ★ ★
"Great course, I particularly like the fact that Mr. Nyisztor began with the concepts of OO design outside UML."
— Randall Reed
★ ★ ★ ★ ★
"Good course! Easy to understand and apply. You'll get up and running quickly with UML diagrams."
— Panos Filippakos
Go ahead and click the enroll button. See you in the first lesson!
Secure Coding in C/C++
Delve into the world of secure coding practices for C and C++ languages.
Gain the knowledge and skills to uncover security flaws, defend your code against vulnerabilities, and design robust and secure software applications.