Object Oriented Analysis and Design

--Originally published at diegotc2016

Understanding the object-oriented analysis and design processes

There’s a process in order to identify the classes in an application.

  1. Gather Requirements: What’s the program you trying to solve? What does the app do?
  2. Describe the app: Write in a coloquial way how people use the app. You could create a mockup or a prototype of the app.
  3. Identify the main objects: With the two last points you’re trying to get the most important ideas that are essential for the app to work.
  4. Describe the Interactions: Specify how one class interacts with another. For example: A  customer opens his/her bank account.
  5. Create a class diagram: A visual representation of the classes you need

Object Oriented Analysis and Design

Defining Requirements

There are two types of requirements:

  • Functional: What does it do? Features and Capabilities. For example: Application must allow user to search by customer’s last name, telephone number and order number.
  • Non-Functional: What else? Help, Legal, Performance, Support  and Security. System must respond to searches within two seconds.

FURPS/FURPS+

Functional Requirements

Usabilitity Requirements

Reliability Requirements

Performance Requirements

Supportability Requirements

+ Design Requirements, Implementation Requirements, Interphase Requirements, Physichal Requirements.

Introduction to the Unified Modeling Language (UML)

The UML isn’t a programming language, it is a graphical notation for drawing diagrams of an object oriented system

  • Name of the class: BankAccount
  • Attributes: accountNumber, balance, dateOpened, accountType
  • Behaviors: open(), close(), deposit(), withdraw()

 


Object Oriented Analysis and Design