Determining How To Build: Object Oriented Design (OOD)
Determining How To Build: Object Oriented Design (OOD)
4
* Design results in:
a) a list of design goals – qualities of the system
b) software architecture describing:
i) the subsystem responsibilities,
ii) dependencies among subsystems,
iii) subsystem mapping to hardware,
iii) major policy decision such as control flow, access control, and data
storage
5
* The class type Architecture indicates that users application interact directly with the
user interface layer application. The following Class Type Architecture represents high
level strategy for software application. The various layers are represented by the
rectangles and collaboration between layers by the arrows. The primary name of layer
indicated first, and other common names in parenthesis. Those architecture layers are
listed below and they will be discussed in below table one by one.
6
Class Type Architecture
Start
Finish
4
1
Close Main Menu
Click Add New
Book Button
10
* A collaboration models the objects and links that are meaningful within an
interaction.
* The objects and links are meaningful only in the context provided by the
interaction. A classifier role describes an object and an association role describes a
link within a collaboration. A collaboration diagram shows the roles in the
interaction as a geometric arrangement
* One use of a collaboration diagram is to show the implementation of an
operation.
* The collaboration shows the parameters and local variables of the operation,
* The collaboration diagram is an interaction diagram emphasized the structural
organization of the object that participates in an interaction.
* It consists of collection of objects that work together to preform a task. In the
class diagram modeling the static nature of the system is shown. Where as the
collaboration diagram shows the message flow between objects in an oriented are
developed in the following manner.
• The rectangle represents the various objects involved that make up the
application.
• The line between the classes represent the relationship(association, aggregation ,
composition dependency between them )
• The text along the line is for invoking message on the collaboration diagram.
* The collaboration diagrams are drawing completely based on the sequence
diagrams in the analysis artifact. 11
* Collaboration Diagram represents interactions (communications) between
objects as series of sequenced messages.
* It describes both static structure and dynamic behavior of a system.
* Compared to Sequence Diagram, Collaboration Diagram is more focused on
showing the collaboration of objects rather than the time sequence.
4 3
:Add New Book Control
Clerk 7
:Add New Book Form
6
5
:Book
14
Continued…
15
17
* Deployment diagram shows how the software components, processes, and
objects deployed into the physical architecture of the system. It shows the
configuration of the hardware units (e.g. computers, communication devices,
etc) and how the software components are distributed across the units.
18
19
20
Fig. 5.9 Persistent Modeling for Student Placement & Retrieval System
*UI Design Rules
• UI Design Rule 1: Making the interface simple.
• UI Design Rule 2: Making the interface transparent and natural.
• UI Design Rule 3: Allowing users to be in control of the software.
*Windows in User Interface are used for
• Forms and data entry windows:
Data entry windows provide access to data that users can retrieve,
display and change in the application.
• Dialog boxes:
Dialog boxes display status information or ask users to supply
information or make a decision before continuing with a task.
• Application windows:
* An application window is a container of application objects or icons. It
contains an entire application with which
21 users can interact
Three general steps in creating a user interface object?
• Creating a user interface generally consists of three steps.
1.Create the user interface objects (such as buttons, data entry fields).
2.Link or assign the appropriate behaviors or actions to these user interface
objects and their events.
3.Test, debug, then add more by going back to step 1.
1.Create user interface controls
2.Associate actions to the user interface controls and their events
3.Test/debug
22
23
26
27
* The Class Type Architecture indicates that users application interact directly
with the user interface layer application.
* The State Chart Diagram describes dynamic behavior of a system in response
to actions triggered (external stimuli). It models the dynamic flow of control
from state to state with in a system.
* Collaboration Diagram is same as Sequence Diagram but, more focused on
showing the collaboration of objects rather than the time sequence.
* Component Diagram describes organization of physical software
components, UI, Database, Persistence(DBMS) which help know structural
relationship between the components of the system. Component is physical
building block of a system.
* Deployment Diagram depicts a static view of the run-time configuration of
hardware nodes and the software components that run on those nodes. It
show the hardware for your system, the software that is installed on that
hardware, and the middleware used to connect the disparate machines to one
another. Node is physical resource that executes code components.
* Persistence modeling is used to communicate the design of a database to
both users and to other developers. How28 attributes of a an object are saved
persistently/consistently to database.