Copyright W. Howden1 Lecture 4: Elaboration Tasks and Domain Modeling.

Slides:



Advertisements
Similar presentations
1 Lecture 2: Processes, Requirements, and Use Cases.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapters 7 & 9 System Scope
Chapter 7 Structuring System Process Requirements
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
Copyright W. Howden1 Lecture 7: Functional and OO Design Descriptions.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1.
Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,
Copyright W. Howden1 Lecture 6: Design Evaluation and Intro to OO Design Patterns.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
Copyright W. Howden1 Lecture 13: Programming by Contract.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Lecture 4 Class Responsibility Collaboration Cards
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
Lecture 5b: Basic Design Patterns CSE 111. Basic Design Patterns We know our subsystem interface classes and (some of) their methods We need to create.
System Architecture Lecture 3 CSE 111 Spring /22/20151Copyright William E. Howden.
1 Lecture 2: Elaboration Tasks and Domain Modeling.
1 Lecture 1: Processes, Requirements, and Use Cases.
Copyright W. Howden1 Lecture 6: Collaboration Diagrams.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
Lecture 7: UML Class Diagrams CSE 111 7/15/20151Copyright W. Howden.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Chapter 7 Structuring System Process Requirements
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Introduction To System Analysis and design
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Systems Analysis and Design in a Changing World, Fifth Edition
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
IFS310: Module 6 3/1/2007 Data Modeling and Entity-Relationship Diagrams.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
DBMS ER model-2 Week 6-7.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Basic Characteristics of Object-Oriented Systems
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
5 Chapter 5: Modeling Systems Requirements: Events and Things Systems Analysis and Design in a Changing World.
Data Modeling Using the Entity- Relationship (ER) Model
Elaboration popo.
Lecture 4: Elaboration Tasks and Domain Modeling
UML Diagrams By Daniel Damaris Novarianto S..
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
UML Diagrams Jung Woo.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
The Unified Modeling Language
Lecture 4: Sequence Interaction Diagrams
Analysis models and design models
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Copyright W. Howden1 Lecture 4: Elaboration Tasks and Domain Modeling

Copyright W. Howden2 Elaboration Tasks Explore concepts from requirements use cases Discovering the basic pieces of the design? Functional design: –functions in the top down abstraction Object oriented design –choice of system architecture –class concepts in “domain model”

Copyright W. Howden3 Stable System Design and Domain Concepts Systems change due to: –Incremental development, changing requirements, post deployment enhancement Domain modeling and design for change –Use basic classes that are a kind of simulation of the problem domain –Functionality is added to simulation so it can be removed and changed

Sample Basic Domain Concepts in DS dating system member date preferences dater characteristics matching dates administrator date request... Copyright W. Howden4

Sample Potential Functionality in DS Finding a date or set of possible dates Survey of characteristics of DS members Average frequency of date requests per member Profiles of most frequently selected datees Report of number of times a dater has changed his/her dater properties Copyright W. Howden5

6 Domain Model Graphical model of basic domain concepts and their relationships Nodes: Concepts May have attributes - properties of concepts-classes Edges: Relationships between concepts called “associations” Drawn using the UML Class Diagrams

Copyright W. Howden7 Sample Partial Domain Model for Member Actor w/o Attributes

Copyright W. Howden8 DM Concept Attributes Included in the DM node for the concept –If not enough room show them in separate document. Sample attributes for DS DM

Copyright W. Howden9 Finding Concepts for a Domain Model Look for noun and noun phrase identificationfrom prose descriptions and use cases Use generic concept category checklists –includes DM-oriented special kinds description and event concepts

Copyright W. Howden10 Sample Nouns and Noun Phrases for DS User Dating System LogOn Member Member Option Choice Error Messag MatchingDates GetADate DataBase SetMemberData Preferences DateDescription NoDateMessage MemberData PersonalProps

Copyright W. Howden11 Concept Categories and the DS Concepts Physical Objects: user, member Descriptions: personal props, prefs., dates Roles: member, dater, administrator Containers: DS Data Base Organizations: DS Accounting Dept. Events: logon, getADate, SetMemberData Abstract nouns: session

Copyright W. Howden12 Descriptions as Domain Model Concepts Descriptions of other concepts that have a lifetime of their own –E.g. dater properties in Dating System May be stored in data base May be changed

Copyright W. Howden13 Events as DM Concepts Things to which system will have to respond –E.g. logon, date-request Event objects created and passed to class/object having responsibility for handling them Or, event objects contain knowledge of how to perform the responsibility (in one of their methods)

Copyright W. Howden14 Associations Edges between nodes in a DM Describe “semantically meaningful” relationships between concepts May be annotated with roles and multiplicity designators

Copyright W. Howden15 Domain Model Example

Copyright W. Howden16 Association Annotations 1 Kind of relationship, sometimes referred to as a role. In DS DM example –part of, contained in –described by, identifies (used with description concept) –captured on, initiates (used with events)

Association Annotations 2 Multiplicity e.g. A 1- 1 B means for every instance of an A there is 1 instance of a B e.g. A 1-* B means for every instance of an A there is 0 or more B instances Direction –various interpretations. Some relationships are inherently directional e.g. part-of, initiates Copyright W. Howden17

Copyright W. Howden18 Finding Associations Look in use cases for relationships that are: –Needed for operation of system –Have a lifetime of importance Good link: between DS Member and MemberProperties Bad link: between Administrator and GetaDate request - not needed. Use generic association category checklists

Copyright W. Howden19 Association Category Checklists A is a physical or logical part of B –E.g. Personal Characteristics are part-of Dater Properties A is physically or logically contained in B –E.g. MembershipData contained-in MemberDB A is described by or identified by B Special event-oriented relationships

Special Event-Oriented Relationships Actors perform actions/requests that are modeled as events concepts in the DM An event is associated with an actor (concept) that initiates that event –E.g. Member initiates getDate Each event is handled by or captured on some entity concept Copyright W. Howden20

Copyright W. Howden21 Description Associations vs Attributes – Why Associations? Allows postponing of details Leads to a design that facilitates change Recognizes that some kinds of properties/descriptions may have a life of their own E.g. may want to treat member descriptions independently of members for the purposes of a catalog of profiles

Copyright W. Howden22 Attributes vs Associations? Attributes Should have primitive data type values Associations If property is a (complex) object, should be a separate concept with a linking association E.g. Dater has Dater Properties. This is a complex object and should be its own concept. Linking association:

Copyright W. Howden23 Some Domain Model Do’s and Dont’s Do –Static Model E.g. Parts explosion diagram –Real World Concepts E.g. Gender Preference in Dating System Application –Do not be afraid to overdo concept list Don’t –Dynamic Flow Chart One entity sends a message to another –Software Entities E.g. GenderPrefTextString –Leave out concepts

Copyright W. Howden24 Domain Model Example

Data Flow Diagram – Not a Domain Model

Copyright W. Howden26 UML and Domain Models UML does not include Domain Models UML class diagrams –can be used for several purposes –Conceptual classes as in Domain Model Attributes but no methods –Design classes from design activities Graphical representation of PL classes

Copyright W. Howden27 Use Cases, Domain Models and System Increments Use cases are constructed for the whole system Original domain model is for first phase/iteration only At the beginning of each new iteration, the previous domain model is augmented to include concepts in the next iteration

Assignment 3 Construct a domain model for the first increment (phase 1) of your project Copyright W. Howden28