Programming Foundation: Object-Oriented Design

 Home || News || Stories || Installer

INSTRUCTORS




Barron Stone and Olivia Chiu Stone 2 instructors


All good software starts with a great design. Object-oriented design helps developers plan applications before they write a single line of code, and break down ideas into reusable and maintainable components. This course focuses on the foundational concepts, teaching them in a fun, interactive way to help you quickly develop your skills. Tag team Olivia and Barron Stone introduce you to the concepts and terms—objects, classes, abstraction, inheritance, and more—that you need to get started. They then show how to take the requirements for an app, identify use cases, and map out classes using Universal Modeling Language (UML). The final design can then be translated into code using one of the many popular object-oriented programming languages, such as Java, C#, Ruby, or Python.

Learning objectives

  • Object-oriented basics: objects, classes, and more
  • Encapsulation
  • Inheritance
  • Defining requirements
  • Identifying use cases, actors, and scenarios
  • Domain modeling
  • Identifying class responsibilities and relationships
  • Creating class diagrams
  • Using abstract classes
  • Working with inheritance
  • Developing software with object-oriented design principles







1. Learn Object Oriented Dsign Principles




2. What you Should Know









1. Object Oriented Thinking



2. Objects



3. Classes


4. Abstraction 



5. Encapsulation 



6.  Inheritance



7. Polymorphism 



8. Analysis, Design and Programming 



9. Unified modeling language ( UML )










1. Defining Requirements 



2. FURPS + Requirements 



3. Challenge: Jukebox requirements 



4. Solution: Jukebox requirements 









1.  Use Cases 



2. Identifying the actors



3. Identifying the scenarios 



 
4. Diagramming use cases 



5. User Stories



6. Challenge: Jukebox use cases 


 
7. Solution: Jukebox use cases 









1. Identifying the objects



2. Identifying Class Responsibility 



3. Identifying Class Responsibility 



5. CRC Cards



6. Challenge: Jukebox conceptual model




7. Solution: Jukebox conceptual model










1. Creating class diagram: Attributes 



2. Creating class diagram: Behaviors 



3. Converting class diagram into code



4. Instantiating classes



5. Class with multiple constructors 



6. Static attributes and methods 




7. Challenge: Jukebox class diagram 




8. Solution: Jukebox class diagram 








1. Identifying inheritance situation




2. Using inheritance


 

3. Abstract and concrete classes




4. Interfaces




5. Aggregation





6. Composition





7. Challenge: Jukebox Class Relationships









1.


2.


3.



4.



5.




































Mga Komento