Ooa 1 Post
-
Upload
rajesh-kumar -
Category
Technology
-
view
380 -
download
0
description
Transcript of Ooa 1 Post
No: 1
Analysis Phase - 1
Look DEEP in Mans eye to analyze him
ConceptConcept
No: 2
Analysis phase - Topics:
Building a conceptual Model• Conceptual model - Adding Attributes• Conceptual model - Adding Associations
Recording terms in the glossary System Behavior - System Sequence Diagrams System Behavior - Contracts
ConceptConcept
No: 3
BUILDING A CONCEPTUAL MODEL
Identify concepts related to the current development cycle
requirements.
Infer association on Need - to - know basis and name them.
Create an initial conceptual model.
Infer & add multiplicity and role between concepts
Distinguish between correct and incorrect attributes.
Add specification concepts, when appropriate.
Compare and contrast the terms concept, interface and class.
Objectives
ConceptConcept
No: 4
Introduction Identifying a rich set of objects or concepts is at the heart of
object – oriented analysis The following two session expand on conceptual modeling skills
– looking at attributes and associations
ConceptConcept
No: 5
Activities and Dependencies
One of the early major activities within a development cycle is the creation a conceptual model for the use cases of the current cycle.
Its creation is dependent on having use cases from which concepts (objects) can be identified.
The creation may not be linear; for example, the conceptual model may be made in parallel to the development of the use cases.
ConceptConcept
No: 6
Conceptual Models
In the UML, a conceptual model is illustrated with a set of static structure diagrams in which no operations are defined.
The term conceptual model has the advantage of strongly emphasizing a focus on domain concepts, not software entities.
It may show:
• concepts
• associations between concepts
• attributes of concepts
ConceptConcept
No: 7
Understanding Domain Vocabulary
Our goal here is to create a conceptual model of interesting or
meaningful concepts in the domain under consideration.
Conceptual model aids in clarifying the terminology or vocabulary
of the domain.
It can be viewed as a model that communicates (to interested
parties such as developers) what the important terms are, and how
they are related.
ConceptConcept
No: 8
Conceptual Models are not Models of Software Designs
No responsibilities or methods are assigned in conceptual model
Conceptual model shows the real world concepts ,no software artifacts or classes are part of it.
Most of the thing in the conceptual model should come from domain only.
ConceptConcept
No: 9
Conceptual Models and Decomposition
Software problems can be complex :
“Decomposition – divide and conquer” – is a common strategy to deal with this complexity by division of the problem space into comprehensible units.
Object-oriented analysis the dimension of decomposition is fundamentally by concepts
ConceptConcept
No: 10
Strategies to Identify Concepts
The central task is therefore to identify concepts :
Two strategies are presented
1. Finding Concepts with the
“Concept Category List”
2. Finding concepts with Noun
“Phrase Identification”
ConceptConcept
No: 11
Useful guideline in identifying concepts:
The conceptual model should be detailed
Do not exclude a concept simply because the requirements do not indicate any obvious need to remember information about it, or because the concepts, have a purely behavioral role in the domain instead of an information role.
It is better to overspecify a conceptual model with lots of fine-grained concepts, than to underspecify it
It is common to miss concepts during the initial identification phase, and to discover them later during the consideration of attributes or associations, or during the design phase.
ConceptConcept
No: 12
Drawbacks of Noun Phrase Identification.
A weakness of this approach is the imprecision of natural language; different noun phrases may represent the same concept or attribute, among other ambiguities.
Nevertheless, it is recommended in combination with the Concept Category List technique.
ConceptConcept
No: 13
ConceptConcept
Concept Category ListConcept Category List
No: 14
Finding concepts with noun Phrase identification
Some of these are candidate concepts and some are attributes of these concepts
ConceptConcept
No: 15
Candidate Concepts for the POST Domain
From the Concept Category List and noun-phrase analysis, we generate a list of candidate concept for the POST application
Customer
Cashier
Manager
Store
POST
ProductSpecification
ProductCatalog
Item
Sale
SaleLineItem
UML notationUML notation
ConceptConcept
No: 16
CONCEPTUAL MODEL ADDING ATTRIBUTES
Objectives Identify attributes in a conceptual model. Distinguish between correct and incorrect attributes.
Attributes An attribute is a logical data value of an object Attributes are shown in the second section of the concept box
ConceptConcept
UMLFigure: Concept and
attributes
No: 17
Attributes…..
Other attributes that are not obvious and apparent may be identified later.
This is acceptable during the design and construction phases the remaining attributes will be discovered and added.
ConceptConcept
No: 18
CONCEPTUAL MODEL ADDING ASSOCIATIONS
Objectives :
Inferring associations between concepts
Distinguish between need – to – know and comprehension – only associations
ConceptConcept
No: 19
Associations :
An association is a relationship between concepts that indicates some meaningful and interesting connection
In the UML they are described as “structural relationships between objects of different types
ConceptConcept
No: 20
Naming Associations :
Name an association based on a
TypeName – VerbPhrase-TypeName
format where the verb phrase creates a sequence that is readable
and meaningful in the model context.
Association names should start
with a capital letter.
Follow left to right
Top to bottom convention
A verb phrase should be constructed with hyphens.
ConceptConcept
No: 21
Roles:
Each end of an association is called a role. Roles may have:
name
multiplicity expression
navigability
Multiplicity is investigated now, but the other two features are discussed during design.
ConceptConcept
No: 22
Multiplicity
Multiplicity defines how many instances of a type A can be associated with one instance of a type B, at a particular moment in time
Multiplicity value is context
dependent. *
1…*
1...40
5
3,5,8
zero or more;
“many”
one or more
one to forty
exactly five
exactly three,
five or eight
Multiplicity at end of association
ConceptConcept
No: 23
Conceptual model: POSTConceptual model: POST ConceptConcept