Executable UML The Models are the Code - Executable UML Lecture 3 - Modelling with Domains and Classes Paul Krause.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Systems Analysis and Design with UML Version 2.0, Second Edition
Database Systems: Design, Implementation, and Management Tenth Edition
Object-oriented modeling Class/Object Diagrams
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
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
Object-Oriented Software Engineering More Modelling with Classes Paul J Krause.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
PROCESS MODELING Transform Description. A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial.
1 Lecture 2: Elaboration Tasks and Domain Modeling.
Introduction to Databases Transparencies
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Requirements Analysis Classes & Associations b510.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
“DOK 322 DBMS” Y.T. Database Design Hacettepe University Department of Information Management DOK 322: Database Management Systems.
8/28/97Information Organization and Retrieval Files and Databases University of California, Berkeley School of Information Management and Systems SIMS.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Object-Oriented Software Engineering Revision Paul J Krause.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
The Models are the Code - Executable UML
Executable UML The Models are the Code - Executable UML Lecture 4 - How to Build Class Models Paul Krause.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Module Title? DBMS Introduction to Database Management System.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
CSE 441: Systems Analysis & Design
An Introduction to Software Architecture
Internet Software Development Putting it all together Paul J Krause.
OHT 11.1 © Marketing Insights Limited 2004 Chapter 9 Analysis and Design EC Security.
Introduction To System Analysis and Design
Stephenson College DP 96 1 Object-Orientation by Derek Peacock.
Structural Modeling Chapter 7
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Objectives:1. Classes and Objects 2. Attributes 3. Services 4. Subjects Object-Oriented Analysis – Finding Class-&-Obects.
Database Design – Lecture 3 Conceptual Database Design.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Lecture 6: Structural Modeling
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
IT 21103/41103 System Analysis & Design. Chapter 04 Data Modeling.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Model Lecture p6 T120B pavasario sem.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Lecture 8&9 11/2/16 Introduction to OO Concepts 1.
2 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel Data Models Why data models are important About the basic data-modeling.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 Lecture1 Introduction to Databases Systems Database 1.
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Chapter 5 – System Modeling
Elaboration popo.
Chapter 5 – System Modeling
Object-Oriented Analysis and Design
SYS466 Domain Classes – Part 1.
An Introduction to Software Architecture
Copyright 2007 Oxford Consulting, Ltd
Database Design Hacettepe University
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Executable UML The Models are the Code - Executable UML Lecture 3 - Modelling with Domains and Classes Paul Krause

Executable UML Lecture 3 - Modelling with Domains and Classes v Partitioning complex projects v Domains and Domain Charts v Class Modelling within Domains

Executable UML One Thousand Classes and Beyond v We have to partition the problem. But how? v Functional decomposition is a traditional option v But typically a function represents a “vertical”slice through a system requiring  application expertise  knowledge of service functions - security, logging, …  understanding of database functionality  software architecture and implementation knowledge v In general, there are too many dependencies

Executable UML Subject Matter Partitioning v Sally Shlaer and Stephen Mellor established the foundations for this approach in 1988  Object-oriented Systems Analysis - Modelling the World in Data v Recognises that a system consists of a set of subject matters - domains  Each domain consists of a set of classes  Domains are represented as packages in UML v A Domain Chart captures the dependencies between domains

Executable UML Air Traffic Control System Air Traffic Control Equipment Configuration AlarmsUser Interface Radar Data Processing

Executable UML What is a Domain? v A domain is an autonomous, real, hypothetical or abstract world inhabited by a set of conceptual entities that behave according to characteristic rules and policies  Mellor and Balcer, p30 v Real Worlds  Air traffic control, patient administration, banking, … v Hypothetical Worlds  3D geometry, statistical analysis, … v Abstract Worlds  User interface, messaging, workflow, …

Executable UML Domain Policies Aircraft Air Traffic Control Domain “Aircraft” Class represents a real world concept Domain Policy: An Aircraft must remain at least 3 miles horizontally and 100 vertically from all other Aircraft Icon User Interface Domain “Icon” Class represents an abstract concept Domain Policy: An icon must become opaque if it is in front of another icon

Executable UML Advantages of Subject Matter Partitioning v Reuse v Well-defined interfaces v Effective use of subject-matter knowledge v Stability to changing requirements v Stability to changing technology v Incorporation of third party software v Effective integration with Use-Case driven development

Executable UML Domain Types Command and Control Application Domains Represents the purpose of the system from the end-user’s perspective Recording Service Domains Providing generic services to support the application domains User Interface Software Architecture Architecture Domain Representing the globally applied design and coding strategies Oracle Implementation Domains Representing pre-existing software components - either bought-in or ‘legacy’ Unix

Executable UML Domain Partitioning Flight Plan AircraftRunway Icon Pop-up Menu 1 has filed has been filed for 0..* 0..1 is being used by is using 0..1 represents 1 is represented by 1 1 is linked to has 1

Executable UML Air Traffic ControlUser Interface Domain Partitioning Flight Plan AircraftRunway Icon Pop-up Menu 1 has filed has been filed for 0..* 0..1 is being used by is using is linked to has 1

Executable UML Lecture 3 - Modelling with Domains and Classes v Partitioning complex projects v Domains and Domain Charts v Class Modelling within Domains

Executable UML Class Modelling within Domains v A class is an abstraction of some set of conceptual entities with common characteristics and common behaviour v Note the two activities  Classification  Abstraction v There are various kinds of “conceptual entities”, not just tangible things

Executable UML Kinds of Classes v Tangible things  Aircraft, Book, Car, Pet, … v Roles  Doctor, Clerk, Employee, Department, … v Incidents  Flight, Performance, Accident, Service Call, … v Interactions  Purchase, Credit Card Charge, Database Transaction, … v Specifications  Insurance Product, Book Product, Credit Card Type, …

Executable UML Classes and Objects An Object v Is a chunk of structured data in a running software system v Has properties that represent its state  Its behaviour may depend on its state v Has behaviour  how it acts and reacts to events and messages

Executable UML Classes and Objects A Class v Is an abstraction of a set of objects that are similar in some useful way  its instances v Film is a class v “Anger Management” is an instance of Film

Executable UML Classes and Objects Film title director producer duration : Film title: Anger Management director producer duration

Executable UML Identifying classes v Think about general properties of the domain in which you are working v Identify the nouns v These form candidate classes A Publisher produces and markets a Book A Customer purchases a Book An Author writes a Book

Executable UML PublisherBookCustomerAuthor

Executable UML Publisher name address webSite Book bookNumber title unitPrice Customer name shippingAddress Author name address webSite

Executable UML Associations Publisher name address webSite Book bookNumber title unitPrice R1 publisherpublication Publisher name address webSite Book bookNumber title unitPrice R1 is produced and marketed by produces and markets

Executable UML Association Meanings v Name the association so that it can be unambiguously identified (e.g. R1) v The “association ends” express meaning v An association end may be a role or a verb phrase v Each class in an association has a role  (e.g. a Book has the role of a publication) v But writing meaning in terms of a verb phrase is more descriptive

Executable UML Publisher name address webSite Book bookNumber title unitPrice Customer name shippingAdd Author name address webSite R1R3 R2 is produced and marketed by produces and markets purchases is sold to wrote was written by

Executable UML Multiplicity v We can also characterise an association by the number of instances (objects) that participate in each instance of the domain relationship v UML allows specific numbers in a multiplicity relation v Recommend you only use four kinds:  unconditional;1, or 1..*  conditional;0..1, or 0..*

Executable UML Publisher name address webSite Book bookNumber title unitPrice Customer name shippingAdd Author name address webSite R1R3 R2 is produced and marketed by produces and markets purchases is sold to wrote was written by 10..*1..* 0..* 1..* There are books not sold to any customer To be a customer you must have purchased at least one book But where do I put the number of books a customer purchased?

Executable UML Publisher name address webSite BookProduct bookNumber title unitPrice Customer name shippingAdd Author name address webSite R1R3 R2 is produced and marketed by produces and markets is a purchase of is sold as wrote was written by 10..*1..* 0..* 1..* Order quantity salePrice date makes1..* is made by 1