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

Slides:



Advertisements
Similar presentations
Database Systems: Design, Implementation, and Management Tenth Edition
Advertisements

1 Lecture 2: Processes, Requirements, and Use Cases.
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
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Object-Oriented Analysis and Design
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
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 W. Howden1 Lecture 3: Elaboration and System Architecture.
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.
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
System Architecture Lecture 3 CSE 111 Spring /22/20151Copyright William E. Howden.
1 Lecture 2: Elaboration Tasks and Domain Modeling.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
1 Lecture 1: Processes, Requirements, and Use Cases.
Copyright W. Howden1 Lecture 4: Elaboration Tasks and Domain Modeling.
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 9 Domain Models 1CS6359 Fall 2012 John Cole.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Chapter 5: Modeling Systems Requirements: Events and Things
Modeling Systems Requirements: Events and Things.
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.
Activity & Class Modeling Labs Discussion p3 T120B pavasario sem.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Chapter 9 Applying UML and Patterns -Craig Larman
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.
Design Model Lecture p6 T120B pavasario sem.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
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.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
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.
Elaboration popo.
Lecture 4: Elaboration Tasks and Domain Modeling
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 9 Domain Models.
DATA REQIREMENT ANALYSIS
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Introduction to Unified Modeling Language (UML)
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML Diagrams Jung Woo.
System Modeling Chapter 4
Software Architecture & Design Pattern
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
Uml diagrams In ooad.
Presentation transcript:

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

22 Rational Unified Process

Copyright W. Howden3 Elaboration Tasks Explore concepts from requirements/use cases Domain models: basic concepts and their inter-relationships Basic architectural concepts for system System sequence interactions – system events, UI basics

Copyright W. Howden4 Stable System Design and Domain Models Systems change –Incremental development –Changing requirements –Post deployment enhancement Design for change –Simulation of problem domain –Functionality added to simulation

Copyright W. Howden5 Domain Models Graphical Model Nodes: –Concepts/conceptual classes –Attributes: properties of classes Arcs: Relationships between concepts Particular kind of UML Class Model

Copyright W. Howden6 Sample Partial Domain Model

Copyright W. Howden7 Domain Model Does and Don’ts  Static Model –E.g. Parts explosion diagram  Real World Concepts –E.g. Gender Preference in Dating System Application  Overdo concept list  Dynamic Flow Chart –One entity sends a message to another  Software Entities –E.g. GenderPreferenceText Field in DS  Leave out concepts

Copyright W. Howden8 Domain Models and Data Base Models Entity Relationship Diagrams –Similar to domain modes Used to identify: –Tables = Concepts –Columns/fields = Concept attributes –Table links = Concept relationships

Copyright W. Howden9 Finding Concepts Define the boundary of the system Noun and noun phrase identificationfrom prose descriptions and use cases Concept category checklists Special cases

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

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

Copyright W. Howden12 Descriptions 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 Alternative is to make the information an attribute of a concept –primitive class attributes vs class variables

Copyright W. Howden13 Events Things to which system will have to respond –E.g. logon, date-request Object oriented approach to events: create an instance of an event object which “knows how to process such events” E.g. Java GUI: –create event listener objects which have a method for processing the associated event –add the listeners to the object that is the source of the event –when event occurs, listener objects are “executed”

Copyright W. Howden14 Associations Describe semantically meaningful relationships between concepts Give the structure of the domain model May be annotated with roles and multiplicity designators Important to not miss concepts Important to not over-do associations

Copyright W. Howden15 Finding Associations Need to know criteria –Needed for operation of system –Have a lifetime of importance –E.g. link between DS Member and Account is necessary. –E.g. link between Administrator and GetaDate request is not necessary. Association category checklists

Copyright W. Howden16 Association Category Checklists A is a physical or logical part of B –E.g. Physical Characteristics and Personal Characteristics are part of Dater Properties A is physically or logically contained in B –E.g. MembershipData contained in MemberDB A is recorded in/by B –DatingSystem records occurrence of User Asking for a Date event

Copyright W. Howden17 Associations and Class Design Logical Parts Contained in Class Variables: the objects in one class consist of an aggregation of objects from other classes A vector or other container class contains objects of one or more other classes

Copyright W. Howden18 Association Details Names Multiplicity –One to one, many to many, one to many Direction of association

Copyright W. Howden19 Domain Model Example

Copyright W. Howden20 Attributes Problem domain properties Should have primitive data type values 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. Howden21 Associations vs Attributes – Has Parts to it Special operations associated with it Has its own attributes Quantity with a unit Abstraction of an entity with above properties Standard data types (integer, string, …) Quantity with a unit Note: use of foreign keys (primitive key value used to identify a complex object) not acceptable

Copyright W. Howden22 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. In a complex DS could have a catalog of personality profiles, which we use to classify a member/user

Copyright W. Howden23 Domain Models and Attributes Not enough room in graphical models Give separate documents showing domain model concepts with their attributes E.g.

Copyright W. Howden24 UML and Domain Models UML does not have 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. Howden25 Domain Models and System Increments Construct for current iteration concepts, associations and attributes Will augment with later increments May include concepts not in current increment as part of “extra is better than missing” approach