Pick of the day 10-Jan-2003 Lecture 2 Crash course on OO Analysis Models.

Slides:



Advertisements
Similar presentations
Pick of the day 24 Jan 2003 Lecture 10 Make it as simple as possible, but no simpler.
Advertisements

1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Chapter 14 (Web): Object-Oriented Data Modeling
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
IEG 3080 Tutorial 1 Wilson Ip. Outline Lecture reviews: Some basics of Software Engineering principle Some basics of OOP How to use Visual Studio.NET.
CS 4233: Object Oriented Analysis and Design 9-Jan-2003 Lecture 1.
Overview Objective: refine information gathered
2Object-Oriented Analysis and Design with the Unified Process Events and Use Cases  Use case  Activity the system carries out  Entry point into the.
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
Chapter 14: Object-Oriented Data Modeling
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Chapter 14: Object-Oriented Data Modeling
Software Construction Lecture 5 Class Diagrams. Agenda 2  Topics:  Examples of class diagrams  Navigation, visibility, named associations, and multiplicity.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
CSE 303 – Software Design and Architecture
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.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
R McFadyen Chapter 7 Conceptual Data Modeling.
CSC 211 Introduction to Design Patterns. Intro to the course Syllabus About the textbook – Read the introduction and Chapter 1 Good attendance is the.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Domain Modeling Part2: Domain Class Diagram Chapter 4 pp part 2 1.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
INFO 620Lecture #81 Information Systems Analysis and Design Class Diagram Refinement INFO 620 Glenn Booker.
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain.
Data Structures Using C++ 2E1 Inheritance An “is-a” relationship –Example: “every employee is a person” Allows new class creation from existing classes.
Lecture 6: Structural Modeling
Object-Oriented Data Modeling
Design Model Lecture p6 T120B pavasario sem.
CS 4233 Review Feb February Review2 Outline  Previous Business – My.wpi.edu contains all grades to date for course – Review and contact.
Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2008 Course.
Fundamentals of OO. CSCI 265Dale Roberts Example: Classroom Attending the lecture we have several individuals –Wade - loves Chinese food –George - an.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
CS 103 Discrete Structures Lecture 19 Relations. Chapter 9.
Database Design – Lecture 12 Object Oriented Database Design cont’d.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
OOP Review CS 124.
March 1, 2004CS WPI1 CS 509 Design of Software Systems Lecture #6 Monday, March 1, 2004.
Pick of the day 13-Jan-2003 Lecture 3 Common Patterns in Static Design.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Activity & Class Modeling Labs Discussion p3 T120B pavasario sem.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
Modeling with UML – Class Diagrams
UML Diagrams: Class Diagrams The Static Analysis Model
COMP 2710 Software Construction Class Diagrams
Business System Development
DATA REQIREMENT ANALYSIS
EKT472: Object Oriented Programming
Fundamentals of OO.
Domain Model Refinement
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
The Object Oriented Approach to Design
UML Diagrams: The Static Model Class Diagrams
Chapter 18: Refining Analysis Relationships
Domain Class Diagram Chapter 4 Part 2 pp
Chapter 10 Thinking in Objects
Lec 3: Object-Oriented Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Chapter 2 Underpinnings of Requirements Analysis
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
Chapter 17 Designing Databases
Design Yaodong Bi.
Agenda Lecture Content: Relations (Relasi)
Presentation transcript:

pick of the day 10-Jan-2003 Lecture 2 Crash course on OO Analysis Models

January Lecture 22 Outline Previous Business Survey Results Constructor Challenge Results Reading Questions Crash course in OO modeling Continuing Mini-Example

January Lecture 23 Survey Results Topics of interest Primary OOD Secondary UML, OOP, Design Patterns, Software Architecture Tertiary Security, Swing, Transactions, Quaternary Persistence, Domain Analysis

January Lecture 24 Reading Questions What is the “inherent identity” that Lau considers objects to have? [p. 1] Book b = new Book (); Book b2 = b; Book b3 = new Book(); // identity checked by comparing object references b == b2 // true b2 == b3 // false

January Lecture 25 Equality tangent What is difference between == and equals Book b = new Book (); Book b2 = new Book(); // only Book class knows the answer if (b.equals (b2)) { } equals equals must be reflexive, symmetric, transitive

January Lecture 26 Reading Questions Object state is set by the object’s operations. Is this the only way to set an object’s state? No:1) constructor can set initial state 2) class attributes can be pre-set upon construction 3) Thread of computation within object can alter values

January Lecture 27 Reading Questions What is the difference between uni- directional and bi-directional associations? CategoryBook 1* The underlying link between the objects is one-way for unidirectional associations but two-way for bi-directional associations Category Books:Book[*] Book

January Lecture 28 Reading Questions What is the practical impact of maintaining a bidirectional association? 1) referential integrity 2) simultaneous creation AB AB A

January Lecture 29 Binary Associations Familiar to C programmers Links are realizations of associations Unidirectional: object reference (pointer) Bi-direction: more than doubly-linked list What is access scope of object? What are core operations?

January Lecture 210 Binary Association Alternatives Does Book know of its Category “parent”? Does Category maintain “ownership” over the aggregate set? Can a change to a Book impact/invalidate set? Who is responsible for add/remove? Does the relationship scale to 10,000 books? 10,000,000 books? CategoryBook 1*

January Lecture 211 N-ary associations How common are they? a complex set of binary associations can be greatly simplified through an n-ary association Committee Year Person post Committee Year Person Post * * * * * *

January Lecture 212 Aggregation and Composition Normal Association Aggregation special binary association between aggregate (the set) and its elements “operations on whole are propagated to subparts” Composition stronger than aggregation, implies that a sub-part is integral part of greater whole “whole cannot exist without subpart” but “subpart can exist without whole” Differences are subtle and may be refined later.

January Lecture 213 Aggregate Composition Quiz Category ––––Book Frame –––– Button Canvas –––– Font Course –––– Student Polygon–––– Point Student–––– Identifier

January Lecture 214 Aggregation/Composition Summary CharacteristicNormal Association AggregationComposition UML OwnershipNoneWeakStrong MultiplicityAny One : Any TransitivityNoYes Propagation of properties UndefinedWhole to Part

January Lecture 215 Servant Classes & Delegation To reduce complexity and increase cohesion create new class as servant to existing class servant object has only one “master” operations are delegated to servant object Lau claims this leads to higher abstraction and better reuse. Why?

January Lecture 216 Inheritance vs. Servant Point real x, y Circle Circle uses (x,y) as center But this can’t be right! Point real x, y Circle Point center abstract reuse

January Lecture 217 Monday Assignments Read: TAOO: Chapter 2.1 – 2.4 Modeling exercise try to model Person, Committee, Year as only binary relationships try to model Post as a separate class to manage Person/Committee/Year relationships Exercise 2-1, 2-2

January Lecture 218 References none