--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.
- Gather Requirements: What’s the program you trying to solve? What does the app do?
- Describe the app: Write in a coloquial way how people use the app. You could create a mockup or a prototype of the app.
- 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.
- Describe the Interactions: Specify how one class interacts with another. For example: A customer opens his/her bank account.
- Create a class diagram: A visual representation of the classes you need
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()