Object-Oriented Analysis, Design and Implementation

(OODESGN-IMPLMT.AU1)
Lessons
Lab
AI Tutor (Add-on)
Get A Free Trial

Skills You’ll Get

1

 Preface

2

Introduction

  • What Is the Object-Oriented Paradigm?
  • Key Concepts of Object-Oriented Design
  • Other Related Concepts
  • Benefits of the Paradigm
  • Dealing with Drawbacks of the Paradigm
  • History
  • Discussion and Further Reading
3

Basics of Object-Oriented Programming

  • The Basics
  • Implementing Classes
  • Creating and Working with Related Classes
  • Defining and Working with Collections
  • Interfaces
  • Abstract Classes
  • Dealing with Run-Time Errors
  • Inheritance
  • Design Patterns
  • Run-Time Type Identification
  • The Object Class
  • An Introduction to Generics in Java
  • Discussion and Further Reading
4

Modeling Object-Oriented Systems

  • A First Example
  • Choosing the Diagrams to Describe an Object-Oriented System
  • Building a User Interface Model
  • Building a Logical Model
  • Modeling the Interaction Between Entities
  • Modeling the Behavior of a System
  • Discussion
5

Analyzing a System

  • Gathering the Requirements
  • Building the User Interaction Model
  • Defining Conceptual Classes and Relationships
  • Using the Knowledge of the Domain
  • Discussion and Further Reading
6

Designing a System

  • Initiating the Design Process
  • Assigning Responsibilities to the Classes
  • Designing the Classes
  • Designing for Safety and Security
  • Evaluating the Quality of the Software Design
  • Discussion and Further Reading
7

Implementing a System

  • Organization of UserInterface and Library
  • Populating the Database
  • Modifying Relationships Between Objects
  • Removing Objects
  • Displaying Transactions
  • Other Requirements
  • Discussion and Further Reading
8

Designing for Reuse

  • Reusing Through Generic Implementations
  • Using Reusable Types to Obtain Reusable Implementations
  • Building an Inheritance Hierarchy
  • Combining Inheritance and Composition
  • The Importance of Substitutability for Reuse
  • Discussion and Further Reading
9

Modeling with Finite State Machines

  • A Simple Example
  • Requirements Analysis Using Finite State Modeling
  • A First Solution to the Microwave Problem
  • Critiquing the Simple Solution
  • Using the State Pattern
  • Communicating the Timing Events
  • Replacing Event Conditionals with Polymorphism
  • Employing the FSM Model for Other Types of Applications
  • Discussion and Further Reading
10

Interactive Systems and the Model–View–Controller Architecture

  • The Model–View–Controller Architectural Pattern
  • Analyzing a Simple Drawing Program
  • Detailed Use Cases for the Drawing Operations
  • Designing the Drawing Program
  • Implementation
  • Pattern-Based Solutions
  • Discussion and Conclusion
11

A Deeper Look Into Inheritance

  • Applications of Inheritance
  • Inheritance: Some Limitations and Caveats
  • Working with Inheritance
  • Transmitting Complex Properties Using Inheritance
  • Using LSP to Verify Substitutability*
  • Multiple Inheritance*
  • Discussion and Further Reading
A

Appendix: Java Essentials

  • A.1 Language Basics
  • A.2 A Simple Java Program
  • A.3 Primitive Data Types
  • A.4 Relational Operators
  • A.5 A Note on Input and Output
  • A.6 Selection Statements
  • A.7 Loops
  • A.8 Methods
  • A.9 Arrays

Related Courses

All Courses
scroll to top