Professional Documents
Culture Documents
CH- 3 Object Oriented Analysis
CH- 3 Object Oriented Analysis
CH- 3 Object Oriented Analysis
Chapter Three
Unity University 2
Cont.
Analysis Artifacts and their relationships
Essential Use
CaseModel UseCase
Model
Business
Rules
Sequence
CRCModel Diagram
Activity
User Interface Diagram
Flow Diagram
ClassModel
EssentialUser
Interface
Prototype User Interface
Prototype
Unity University 3
System Use Case Modeling
Unity University 4
Cont.
Unity University 5
Cont.
• If you have created essential use cases then you can simply evolve
them into system use cases.
Unity University 6
Cont.
Reuse in Use case models
• One of your goals during analysis is to identify potential
opportunities for reuse;
Unity University 7
Cont.
Extend Associations between use cases
Unity University 8
Cont.
Extend Associations between use cases
Unity University 9
Cont.
Unity University 10
Cont.
Unity University 11
Cont.
Unity University 12
Use Case Documentation (Use Case Description) Cont.
• When you document your use case, the following sections are
included:
Unity University 13
• There are two Cont.
common styles
exist for writing use
cases:
1. Narrative Style –
it is used to write the
basic and alternative
courses of action one
step at a time.
Unity University 14
Narrative Style Cont.
Unity University 15
Cont.
• There are two common styles exist for writing use cases:
Unity University 16
Action-Response
Style Cont.
Unity University 17
Cont.
Use Case Modeling Tips and Techniques
Association between actors and use cases imply the need for
interfaces
Write from the point of view of the actor in the active voice
Unity University 18
Sequence Diagrams
• It is an interaction diagram that shows how the objects and classes
involved in the scenario operate with one another and the
sequence of messages exchanged.
• It may also be one entire pass through a use case or the logic
contained in several use cases
Unity University 19
Cont.
Unity University 23
How to draw sequence diagrams Cont.
Unity University 24
How to draw sequence diagrams Cont.
Unity University 25
Alternate course of action Cont.
Unity University 26
A way to indicate looping logic Cont.
Unity University 27
How to draw sequence diagrams Cont.
Identify the scope of the sequence diagram
List the use case steps down the left hand side
Unity University 28
How to draw sequence diagrams Cont.
Add destruction messages where appropriate
Unity University 29
Cont.
Why and When should you draw sequence diagrams
Unity University 30
Conceptual Modeling using class Diagrams
• Class models are the mainstay of the OO analysis and design.
• Class models show the classes of the system, their
interrelationships (including inheritance, aggregation, and
association) and the operations and attributes of the classes.
• The conceptual models are used to depict your detailed
understanding of the problem space and solution for your system.
• The easiest way to begin conceptual modeling is to convert the
CRC (as a base) directly to UML class diagram.
• While a CRC model provides an excellent overview of a system, it
doesn‘t provide the details needed to actually build it.
Unity University 31
Cont.
• The CRC model for the University represented here below:
Unity University 32
Cont.
• The collaborators on the CRC cards indicate the need for an
association, aggregation, or dependency between classes.
Unity University 33
Cont.
• The corresponding class model of the CRC model:
Unity University 34
Cont.
• To create and evolve a class model, you need to model:
Classes
Methods or operations
Attributes
Associations
Dependencies
Unity University 35
Cont.
Modeling Classes, Methods and Attributes
Unity University 36
Cont.
Modeling Classes, Methods and Attributes
Unity University 37
Cont.
Modeling Associations
Unity University 38
Modeling Associations Cont.
• Indicate the direction in which the label should be read
• Roles may also be indicated only when the information adds value
• It is not clear from the association label what the roles are
• If there is recursive association
• If there are several associations between two classes
Unity University 39
Cont.
Modeling Dependencies
• UI classes
Seminar
EnrollInSeminar
Unity University 40
• the concrete classes that made class diagrams: Cont.
Unity University 41
Activity Diagrams
Unity University 42
Cont.
The filled circle represents the starting point of the activity diagram
The thick bars represent the start and end of potentially parallel
processes Unity University 43
Cont.
Unity University 44
Cont.
Unity University 45
How to draw Activity Diagrams Cont.
• Identify the scope of the activity diagram.
• Is it a single use case? A portion of a use case? A business process that includes
several use-cases? A single method of a class?
• Add activities.
• Whenever there is more than one transition out of an activity, you must label
Unity University 46
each transition appropriately.
Cont.
How to draw Activity Diagrams
Unity University 47
User Interface Prototyping
It enables you to explore the solution space of your system, at least from the
point-of-view of its users, and provides a vehicle for you to communicate the
possible UI design(s) of your system.
•.
Unity University 48
Cont.
Unity University 49
Determine the needs of Users Cont.
• Evolve all or part of your essential user interface prototype
• Convert your hand drawings, flip chart paper and sticky notes into
something a little more substantial
• Use prototyping tool or high level language develop the screens, pages,
and reports
• Don’t invest a lot of time in making the code “good” because, chances
are high you will scrap large portions of your prototype code, when
Unity University 50
portions or all of your prototype fail the evaluation
Evaluating the prototype
Cont.
• Evaluation is done by the Stakeholders to verify that it meets their
needs
• After evaluating the prototype, you may find you need to scrap parts of
it, modify parts, and even add brand-new parts.
• You want to stop the UI prototyping process when you find the
evaluation process is no longer generating any new ideas or it is
Unity University 51
generating a small number of not-so-important ideas
Cont.
Unity University 52
Your project
At this stage
• Model your system use case (with system use case description)
Unity University 53