Lecture 6: Structural Modeling

Slides:



Advertisements
Similar presentations
Systems Analysis and Design with UML Version 2.0, Second Edition
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Object-oriented modeling Class/Object Diagrams
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
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.
Domain model: visualizing concepts
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Object-Orientated Design Unit 3: Objects and Classes Jin Sa.
Classes Chapter 4. Terms and Concepts A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
ZEIT2301 Design of Information Systems Structural Design: Class Diagrams School of Engineering and Information Technology Dr Kathryn Merrick.
Chapter 13 (Online): Object-Oriented Databases
CMIS 470 Structured Systems Design
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
Intro to UML - OO Class Diagrams Week 5 CMIS570. Plan for Tonight Object terms Unified Modeling Language history Class Diagrams Intro to Oracle Oracle.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 4th Edition Copyright © 2012 John Wiley & Sons, Inc. All rights.
Introduction To System Analysis and Design
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
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.
Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Today in OOAD  The Domain Model Artifact UML Classes  EU-Bid Domain Model Exercise  EU-Lease Domain Model Assignment Guest Speaker  Kate Cunningham,
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.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
What is a Structural Model?
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.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Design Model Lecture p6 T120B pavasario sem.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
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.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
Structural Modeling. Introduction A Structural model is a formal way of representating the objects that are used and created by a business system One.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
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.
Chapter 6: The Analysis Workflow Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
Chapter 5: Structural Modeling
Modeling with UML – Class Diagrams
Elaboration popo.
Structural Modeling.
Chapter 5: Structural Modeling
OO Domain Modeling With UML Class Diagrams and CRC Cards
Advanced Java Programming
OO Domain Modeling With UML Class Diagrams and CRC Cards
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Lecture 6: Structural Modeling

Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class diagrams, and object diagrams. Be able to create CRC cards, class diagrams, and object diagrams. Understand the relationship between the structural and use case models.

Structural Model A formal way of representing the objects that are used and created by a business system People Places Things Drawn using an iterative process First drawn in a conceptual, business-centric way Then refined in a technology-centric way describing the actual databases and files

Structural Models Main goal: to discover the key data contained in the problem domain and to build a structural model of the objects Structural Modeling Solution Domain Problem Domain

A Common Language Structural models create a well-defined vocabulary shared by users and analysts Classes created during analysis are not the classes that programmers develop during implementation This refinement comes later Typical structural models: CRC cards Class (and Object) diagrams

Classes, Attributes, & Operations Templates for instances of people, places, or things Attributes Properties that describe the state of an instance of a class (an object) Operations Actions or functions that a class can perform Classes, Attributes, & Operations

Relationships Describe how classes relate to one another Three basic types in UML Generalization Enables inheritance of attributes and operations Aggregation Relates parts to wholes Association Miscellaneous relationships between classes

Responsibilities & Collaborations Knowing Doing Collaboration Objects working together to service a request

Front-Side of a CRC Card

Back-Side of a CRC Card

Elements of a Class Diagram

Attribute Visibility Attribute visibility can be specified in the class diagram Public attributes (+) are visible to all classes Private attributes (-) are visible only to an instance of the class in which they are defined Protected attributes (#) are like private attributes, but are also visible to descendant classes Visibility helps restrict access to the attributes and thus ensure consistency and integrity

Operations Constructor Query Update Creates object Makes information about state available Update Changes values of some or all attributes

More Elements of Class Diagrams

Multiplicities Department Boss Exactly one: A department has one and only one boss 1 1 Employee Child Zero or more: An employee has zero to many children 1 0..* Boss Employee One or more: A boss is responsible for one or more employees 1 1..*

More Multiplicities Employee Spouse Zero or one: An employee can be married to 0 or 1 spouse 1 0..1 Employee Vacation Specified range: An employee can take 2 to 4 vacations each year 1 2..4 Employee Committee Multiple disjoint ranges: An employee can be in 1 to 3 or 5 committees 1 1..3, 5

Sample Class Diagram

Domain Model : visualizing concept

Object modeling might support a reduced “semantic gap” in models at different stages. But an exact 1-1 mapping is not always present or desirable.

Not A Diagram of Software Components Conceptual models represent ideas, things, and objects in the real-world problem domain. A conceptual model is not a picture of: Software components. Classes in an object-oriented programming language. It illustrates real-world concepts.

4 Steps to Domain Model Make a list of candidate concepts Create CRC Cards Create the class diagram (Domain Model) Review the class diagram

Make a list of candidate concepts STEP 1 Make a list of candidate concepts

Strategies to Identify Conceptual Classes Use a conceptual class category list Make a list of candidate concepts Use noun phrase identification 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.

Object Identification Textual analysis of use-case information Creates a rough first cut Common object list Incidents Roles

Textual analysis of use-case information • A Noun A common or improper noun implies a class of objects. A proper noun or direct reference implies an instance of a class. A collective noun implies a class of objects made up of groups of instances of another class. • An adjective implies an attribute of an object. • A verb A verb doing verb implies an operation. A being verb implies a classification relationship between an object and its class. A having verb implies an aggregation or association relationship. A transitive verb implies an operation. An intransitive verb implies an exception. A predicate or descriptive verb phrase implies an operation. • An adverb implies an attribute of a relationship or an operation.

Step 2 Create CRC cards

Designing with CRC cards CRC Cards—Classes, Responsibilities, Collaboration Cards. OO design is about assigning Responsibilities to Classes for how they Collaborate to accomplish a use case Usually a manual process done in a brainstorming session 3 X 5 note cards One card per class Front has responsibilities and collaborations Back has attributes needed

Detailed Design with CRC cards Design process Identify class with primary responsibility Identify other classes that collaborate with primary class (become requests for service to other classes)‏ Identify responsibilities within each class (these become methods)‏

CRC Card Notation

CRC Card Results

Step 3 Create Domain Model

Using the CRC card you can identify the following: Attributes related to each classes. Association between classes.

Association Category A is recorded in B A uses or manages B A is related to a transaction of B A communicates with B A is a transaction related to another transaction B A is next to B A is related to B via a transaction A is recorded in B A uses or manages B A is related to a transaction of B A communicates with B A is a transaction related to another transaction B A is next to B A is related to B via a transaction