These online courses offer a practical introduction to object-oriented design, but there is much more information on the topic. This online video offers some additional resources that are helpful to anyone interested in learning more about object-oriented design and programming in order to supplement what you have learned here.
- View Offline
This Foundations of Programming course you have hopefully found a practical…introduction on creating an object-oriented design.…But as you can tell, there are areas here you could spend years developing.…And I wanted to give you a few recommendations when you're interested in diving…deeper into a particular part of the process.…For the initial stage of determining requirements, it's Software Requirements by Karl Wiegers.…Now if you do consulting work and need to be able to step into the world of a…client or company who have a business and a business area you know nothing about…and still successfully elicit their needs and requirements, this is a great book…and provide some great structure for this.…
For the world of use cases, it's Alistair Cockburn's Writing Effective Use Cases.…This is the book on the subject, terrific examples, common mistakes to…watch out for, discussions of style, and even some coverage of use case diagrams.…For the more concise user story format, it's Mike Cohn's User Stories Applied.…
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.
- Why use object-oriented design (OOD)?
- Pinpointing use cases, actors, and scenarios
- Identifying class responsibilities and relationships
- Creating class diagrams
- Using abstract classes
- Working with inheritance
- Creating advanced UML diagrams
- Understanding object-oriented design principles