1 START AT 31 MARCH END 8 APRIL PHASE5(CONCEPTUAL AND SEQUENCE MODEL)

Slides:



Advertisements
Similar presentations
System Sequence Diagrams (SSD). Recap Concepts of Action, Pins and Activity Description of activity nodes and activity edges New notations – Activity.
Advertisements

Use Case - Example University library system requirements
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Systems Analysis and Design in a Changing World, Fourth Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Essentials of interaction diagrams Lecture 23 & 24.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Unified Modeling Language (UML)
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Domain model: visualizing concepts
Sequence Diagrams By Zvika Gutterman Adam Carmi. Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control Information Examples.
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Sequence Diagrams By Zvika Gutterman Adam Carmi. Sequence Diagrams2 Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control.
Sequence Diagrams By Zvika Gutterman Adam Carmi. Sequence Diagrams2 Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
9/18/011 Software Requirements Analysis and Design (Continued)
Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1.
Use Case Diagram : Library System
Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
What is a domain model? “A domain model captures the most important types of objects in the context of the business. The domain model represents the ‘things’
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 25. Review Design Level Class Diagram Identifying classes/Operations/Attributes Associations – Simple associations.
DOMAIN MODEL— PART 2: ATTRIBUTES SYS466. Looking For Potential Classes “Know the business”. Ask Questions Identify business concepts; filter nouns (person,
Systems Analysis and Design in a Changing World, Fifth Edition
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
Faculty of Computer & Information Software Engineering Third year
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Review ♦ System sequence diagram ♦ Domain model
Jan 21, Ron McFadyen1 Ch 10. Domain Model: Visualizing Concepts Domain model illustrated with a class diagram (with no operations defined)
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Chapter 9 Applying UML and Patterns -Craig Larman
7 Systems Analysis and Design in a Changing World, Fifth Edition.
M Taimoor Khan Sequence Diagrams Illustrates how objects interacts with each other. Emphasizes time ordering of messages.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Domain Model—Part 2: Attributes.  A logical data value of an object  (Text, p. 158)  In a domain model, attributes and their data types should be simple,
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Phase 6 Start: Saturday14 April End: Saturday 21 April
Systems Analysis and Design in a Changing World, Fourth Edition
BTS430 Systems Analysis and Design using UML Domain Model—Part 2A: Attributes.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML Class Diagrams Sequence Diagrams CSE230 Dae-Kyoo Kim.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
1 Kyung Hee University Interaction Diagrams Spring 2001.
1 Chapter 9: Conceptual Model Chapter 10, 11 & 12 in Applying UML and Patterns Book.
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
Project 2: Phase 1 Submission 7 Late submissions 10% 10 No submissions 14% Better than project 1 phase 3 submissions 10-point bonus: If you catch the deadline.
Elaboration popo.
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Sequence Diagrams Mimi Opkins CECS 493 Fall2016
Conceptual Model.
Chapter 11: Collaboration Diagram - PART1
OO Domain Modeling With UML Class Diagrams and CRC Cards
Start at 17th March 2012 end at 31th March 2012
ER MODEL Lecture 3.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Sequence Diagrams.
Unified Modelling Language
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Object Oriented Analysis and Design Conceptual Model.
Sequence Diagrams.
Lecture 8 Object Concepts
Domain Model: Visualizing Concepts
Presentation transcript:

1 START AT 31 MARCH END 8 APRIL PHASE5(CONCEPTUAL AND SEQUENCE MODEL)

2 What is a conceptual model or domain model? A domain model is a representation of real- world conceptual classes, not of software components. It is not a set of diagrams describing software classes, or software objects with responsibilities.

3 Conceptual (Domain) Model  A domain model illustrates meaningful concepts in a problem domain.  It’s a representation of real-world things, not software components.  It’s a set of static structure diagrams; no operations are defined.  It may show:  Concepts: is an idea, thing, or object.  Attributes of concepts.  Associations between concepts.

4 Example: Library System University library system requirements Books and journals – the library contains books and journals. It may have several copies of a given book. Some of the books are for short term loans only. All other books may be borrowed by any library member for three weeks. Only members of staff may borrow journals. Members of the library can normally borrow up to six items at a time, but members of staff can borrow up to 12 items at a time. New books and journals arrive regularly, and old ones are sometimes disposed of. The current year’s journals are sent away to be bound into volumes at the end of each year. Borrowing – it is essential that the system keeps track of when books and journals are borrowed and returned. The new system should also produce reminders when a book is overdue. There may in future be a requirement for uses to be able to extend the loan of a book if it is not reserved. Browsing – this system should allow users to search for a book on a particular topic, by a particular author, etc., to check whether a copy of the book is available for loan and, if not,to reserve the book. Anybody can browse in the library. P. Stevens, R. Pooley. Using UML: Software Engineering with Objects and Components. Addison- Wesley, 2000

5

6 Patron Loan Librarian Book Library

7 Strategies to Identify Conceptual Classes A central distinction between object- oriented and structured analysis: division by concepts (objects) rather than division by functions. Two techniques are presented in the following sections:  Identify noun (and noun phrases) in textual descriptions of the problem domain, and consider them as concepts or attributes.  Use cases are excellent description to draw for this analysis.

8 System Response Actor Action 1. This use case begin when Borrower arrives at the checkpoint after browsing a list of resources to borrow. 3. The system will check member ship and calculate the number of resources, check resources overdue then issues loans card for it. 2. The Library Clerk records the resources for registered borrowers. 5. Logs the completed borrowing. 4. The clerk will give borrower resources with loan card. 5. The Borrower will leave with resources and load card. Expanded Use Case Format : Borrow Resources

9 Alternatives: Line 2. Borrower are not register cancel borrowing operation. Line 3. Borrower exceed the number of allowed resources clerk not record extra resources Expanded Use Case Format Example: Borrow Resources(cont.)

10 Disadvantages of Noun Phrase Identification  The imprecision of natural language.  Different noun phrases may represent the same conceptual class or attribute, among other ambiguities.  Nouns do not always result in classes, or objects in the problem domain.  In many cases, the nouns, especially subjects to sentences, refer to: 1)An entire assembly or a computer software configuration, 2)A sub assembly or a software component, 3)An attribute, 4)Service.

11 Use a Conceptual Class Category List Example Concept Category Resources Physical or tangible objects. Resource Specification Specifications, designs, or descriptions of things. Library Places. Borrowing, Payment Transactions. Check Point Transaction line items. Clerk,Borrower Roles of people. Library Containers of other things. * See complete list in Larman 2 nd edition, P.G

12 Identify noun (and noun phrases) in use case description Borrower Membership Payment Resource Specification Loan Check Point BorrowingLibrary ResourcesLibrary Clerk

THE NEED FOR SPECIFICATION OR DESCRIPTION CONCEPTUAL CLASSES Add a specification or description conceptual class (for example, Product-Specification) when: There needs to be a description about an item or service, independent of the current existence of any examples of those items or services. Deleting instances of things they describe (for example, Item) results in a loss of information that needs to be maintained, due to the incorrect association of information with the deleted thing. It reduces redundant or duplicated information. Book_Descripti on Title, Author, Resources ISBN

14 Adding Associations An Association is relationship between concepts between concepts that indicate some meaningful an interesting connection

15 Valid Attributes Types  Keep attributes simple.  The type of an attribute should NOT normally be a complex domain concept, such as Sale or Airport.  Attributes in a Domain Model should preferably be:  Pure data values: Boolean, Date, Number, String,...  Simple attributes: color, phone number, zip code, universal product code (UPC),...

A COMMON MISTAKE WITH ATTRIBUTES VS. CLASSES CONT. WITH EXAMPLE 16 In the real world, a store is not considered a number or text the term suggests a legal entity, an organization, and something that occupies space. Therefore, Store should be a conceptual class. As another example, consider the domain of airline reservations. Should destination be an attribute of Flight, or a separate conceptual class Airport? In the real world, a destination airport is not considered a number or text it is a massive thing that occupies space. Therefore, Airport should be a concept.

APPLYING UML: ATTRIBUTE NOTATION 17

ASSOCIATIONS  An association is a relationship between classes (more precisely, instances of those classes) that indicates some meaningful and interesting connection. association 18

THE UML NOTATION FOR ASSOCIATIONS 19

MULTIPLICITY Multiplicity defines how many instances of a class A can be associated with one instance of a class B. 22 Multiplicity on association

MULTIPLICITY VALUES 23

Partial conceptual Model

25

26 Cashi er custom er Items Sale Sale line item POS Store

Conceptual Model of POS

SEQUENCE MODEL

SEQUENCE DIAGRAMS Sequence diagrams are part of the UML and are used to model the interactions between the actors and the objects within a system. A sequence diagram shows the sequence of interactions that take place during a particular use case or use case instance. The objects and actors involved are listed along the top of the diagram, with a dotted line drawn vertically from these. Interactions between objects are indicated by annotated arrows. Chapter 5 System modeling29

BASIC MESSAGE SYNTAX The UML has a standard syntax for message expressions: return := message(parameter : parameterType) : returnType. A sequence diagram may optionally show the return from a message

31 System Response Actor Action 1. This use case begin when Borrower arrives at the checkpoint after browsing a list of resources to borrow. 3. The system will check member ship and calculate the number of allowed resources, and record them check resources overdue then issues loans card for it. 2. The Library Clerk records the resources for registered borrowers. 5. Logs the completed borrowing. 4. The clerk will return borrower resources with loan card. 5. The Borrower will leave with resources and load card. Expanded Use Case Format : Borrow Resources

32 Alternatives: Line 2. Borrower are not register cancel borrowing operation. Line 3. Borrower exceed the number of allowed resources clerk not record extra resources Expanded Use Case Format Example: Borrow Resources(cont.)

VERB-PHRASE OF HIGH-LEVEL USE CASE: BORROW RESOURCES From the use case typical course of events high level verb-phrase. 1.Borrow Resources. 2.records the resources for registered borrowers. 3.check member ship. 4.calculate the number of resources 5.Record resources. 6.check resources overdue. 7.issues loans card. 8.return borrower resources with loan card. 9.Logs the completed borrowing. 10.leave with resources and load card.

A FIRST LOOK AT SEQUENCE DIAGRAMS Illustrates how objects interacts with each other. Emphasizes time ordering of messages. Can model simple sequential flow, branching, iteration, recursion and concurrency. 35

A SEQUENCE DIAGRAM - EXAMPLE 1 36 member: LibraryMember book:Book :Book Copy borrow(book) ok = mayBorrow() [ok] borrow(member) setTaken(member)

A SEQUENCE DIAGRAM 37 member: LibraryMember book:Book :Book Copy borrow(book) ok = mayBorrow() [ok] borrow(member) setTaken(member) X-Axis (objects) Y-Axis (time) Object Life Line message Activation box condition

OBJECT Object naming: syntax: [instanceName][:className] Name classes consistently with your class diagram (same classes). The Life-Line represents the object’s life during the interaction 38 book :Book

MESSAGES An interaction between two objects is performed as a message sent from one object to another. If object obj 1 sends a message to another object obj 2 some link must exist between those two objects. 39

MESSAGES (CONT.) A message is represented by an arrow between the life lines of two objects. Self calls are also allowed The time required by the receiver object to process the message is denoted by an activation- box. A message is labeled at minimum with the message name. Arguments and control information (conditions, iteration) may be included. 40

RETURN VALUES Optionally indicated using a dashed arrow with a label indicating the return value. Don’t model a return value when it is obvious what is being returned, e.g. getTotal() Model a return value only when you need to refer to it elsewhere, e.g. as a parameter passed in another message. Prefer modeling return values as part of a method invocation, e.g. ok = isValid() 41

OBJECT CREATION An object may create another object via a > message. 42 :A:B > Construct or :A > :B Preferred

OBJECT DESTRUCTION An object may destroy another object via a > message. An object may destroy itself. Avoid modeling object destruction unless memory management is critical. 43 :A:B >

CONTROL INFORMATION Condition syntax: ‘[‘ expression ’]’ message-label The message is sent only if the condition is true example: Iteration syntax: * [ ‘[‘ expression ‘]’ ] message-label The message is sent many times to possibly multiple receiver objects. 44 [ok] borrow(member)

CONTROL INFORMATION (CONT.) Iteration examples: 45 :Driver *[until full] insert() :Bus The syntax of expressions is not a standard :CompoundShape:Shape *draw() draw()

EXAMPLE 2 46

EXAMPLE 3 47

EXAMPLE 4 48 print(doc,client) Client :PrintServer:Queue :Printer Proxy enqueue(job) status Printing A Document job=dequeue() [job]print(job.doc) [job] done(status) Repeated forever with 1 min interludes

EXAMPLE 5 49 ATM transaction

EXAMPLE 6 scenario decription – The San Francisco Servicing Department requests that a car with the VIN# be repaired. The car availability is queried for a pickup date of and a return date of The system returns that the car is not reserved during those dates. The Servicing Department books the car for servicing. The system confirms the booking. 50