Successfully reported this slideshow.

Ooa 1 Post


Published on

Object-oriented analysis and design(OOAD) UML Slides. for more slides refer

Published in: Technology, Sports
  • Be the first to comment

  • Be the first to like this

Ooa 1 Post

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