Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:

Slides:



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

Systems Analysis and Design with UML Version 2.0, Second Edition
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 The.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Systems Analysis & Design CS183 Spring Semester Dr. Jonathan Y. Clark Course Website:
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.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Prof. Dr. Nizamettin AYDIN
ZEIT2301 Design of Information Systems Structural Design: Class Diagrams School of Engineering and Information Technology Dr Kathryn Merrick.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
Chapter 1: Introduction to Systems Analysis and Design
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.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 4th Edition Copyright © 2012 John Wiley & Sons, Inc. All rights.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
CSIS3600 Systems Analysis and Design Class Identification and Class Diagrams.
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.
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.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
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.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Lecture 6: Structural Modeling
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
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.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Design Model Lecture p6 T120B pavasario sem.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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 Unified Modeling Language, Version 2.0 Chapter 2.
Class diagrams Terézia Mézešová.
Structural Modeling. Introduction A Structural model is a formal way of representating the objects that are used and created by a business system One.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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.
Slide 1 Objectives Understand the basic characteristics of object-oriented systems. Be familiar with the Unified Modeling Language (UML),V.2.0.
Class Diagrams Revisited. Parameterized Classes Parameterized Classes - are used to represent relationships between templates.
Basic Characteristics of Object-Oriented Systems
Chapter 11 An introduction to object-oriented design.
Chapter 5: Structural Modeling
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Systems Analysis and Design with UML Version 2.0, Second Edition
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Chapter 5: Structural Modeling
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Domain Class Diagram Chapter 4 Part 2 pp
INFS 6225 Object Oriented Systems Analysis & Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website: /st/J.Y.Clark/teaching/sad/cs183.html

Slide 2 Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 7: Structural Modelling

Slide 3 Adapted from slides © 2005 John Wiley & Sons, Inc.

Slide 4 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in an organization.. The structure of data used in the system is represented through CRC cards, class diagrams, and object diagrams.

Slide 5 STRUCTURAL MODELS

Slide 6 Purpose of Structural Models Reduce the “semantic gap” between the real world and the world of software Create a vocabulary for analysts and users Represent things, ideas, and concepts of importance in the application domain

Slide 7 Classes and Objects Class – Template to define specific instances or objects Object – Instantiation of a class Attributes – Describes the object Behaviours – specify what an object can do

Slide 8 Basic Characteristics of Object Oriented Systems Classes and Objects Methods and Messages Encapsulation and Information Hiding Inheritance Polymorphism

Slide 9 Helpful Hint….’Compile’ C Classes O Objects M Methods and Messages P Polymorphism I Inheritance (Last, but not least) E Encapsulation

Slide 10 Classes and Objects

Slide 11 Encapsulation and Information Hiding Encapsulation combination of data and process into an entity Information Hiding Only the information required to use a software module is published to the user Reusability is the Key Point an object is used by calling methods

Slide 12 Inheritance Superclasses or general classes are at the top of a hierarchy of classes Subclasses or specific classes are at the bottom Subclasses inherit attributes and methods from classes higher in the hierarchy

Slide 13 Class Hierarchy

Slide 14 Inheritance

Slide 15 Classes Templates for creating instances or objects Concrete (can have real instances) Abstract (only exists to hold subclasses) Typical examples: Application domain, user interface, data structure, file structure, operating environment, document, and multimedia classes

Slide 16 Attributes Units of information relevant to the description of the class Only attributes important to the task should be included

Slide 17 Operations (Methods) Action that instances/objects can take Focus on relevant problem- specific operations (at this point)

Slide 18 Relationships Generalization Enables inheritance of attributes and operations [...is a kind of...] Aggregation Relates parts to the whole [..is a part of..] Association Miscellaneous relationships between classes

Slide 19 CLASS-RESPONSIBILITY- COLLABORATION CARDS

Slide 20 Responsibilities and Collaborations Responsibilities Knowing Doing Collaboration Objects working together to service a request

Slide 21 A CRC Card

Slide 22 Back of CRC Card

Slide 23 CLASS DIAGRAMS

Slide 24 Example Class Diagram

Slide 25 Class Diagram Syntax A CLASS AN ATTRIBUTE AN OPERATION AN ASSOCIATION Class 1 -attribute +operation () Attribute name/ derived attribute name operation name () 1..*0..1 ______verb phrase____

Slide 26 More on Attributes Derived attributes /age, for example can be calculated from birth date and current date Visibility + Public (not hidden) # Protected (hidden from all except immediate subclasses) - Private (hidden from all other classes)

Slide 27 More on Operations Constructor Creates object (ie. creates instance) Destructor Removes object (ie. removes instance) Query Makes information about state available Update Changes values of some or all attributes

Slide 28 Generalization and Aggregation Generalization shows that a subclass inherits from a superclass Doctors, nurses, admin personnel are kinds of employees Aggregation classes comprise other classes Health team class comprised of doctor, nurses, admin personnel classes

Slide 29 More on Relationships Class can be related to itself Multiplicity Exactly one (1), zero or more (0..*), one or more (1..*), zero or one (0..1), specified range (eg. 2..4), multiple disjoint ranges (eg. 1..3,5) Association class (class describing a relationship)

Slide 30 Simplifying Class Diagrams A view mechanism can show a subset of information Eg. A use-case view that shows only that part of the diagram referring to a particular use case. Eg. A view showing only aggregations Eg. A view showing only the class name and attributes

Slide 31 Object Diagrams

Slide 32 CREATING CRC CARDS AND CLASS DIAGRAMS

Slide 33 Object Identification Textual analysis of use-case information Nouns suggest classes Verbs suggest operations Creates a rough first cut Common object list Incidents Roles

Slide 34 Patterns Useful groupings of classes that recur in various situations Contain groups of classes that collaborate or work together Enable reusability

Slide 35 Steps for Object Identification and Structural Modelling 1. Create CRC cards by performing textual analysis on the use-cases. 2. Brainstorm additional candidate classes, attributes, operations, and relationships by using the common object list approach. 3. Role-play each use-case using the CRC cards. 4. Create the class diagram based on the CRC cards. 5. Review the structural model for missing and/or unnecessary classes, attributes, operations, and relationships. 6. Incorporate useful patterns. 7. Review the structural model.

Slide 36 Summary CRC cards capture the essential elements of a class. Class and object diagrams show the underlying structure of an object- oriented system. Constructing the structural model is an iterative process involving: textual analysis, brainstorming objects, role playing, creating the diagrams, and incorporating useful patterns.