Fall, 2002 SJSU -- CMPE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San.

Slides:



Advertisements
Similar presentations
CIT731: Database Development Object Oriented Modeling (OOM)
Advertisements

Fall 2002 SJSU -- CmpE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Introduction To System Analysis and Design
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L3-5c-S1 Object Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
L16-S1 Object Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L28-S1 Interaction Diagrams 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L19-S1 More on Class Diagrams 2003 SJSU -- CmpE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L21-S1 Model-Based Arch SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L26-S1 Interactions 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
L5-S1 Class Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
1999 – 2006 M.E. Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
 Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
L3-6b-S1 Sequence Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
L6-1-S1Design Heuristics - 1 © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Introduction To System Analysis and design
SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
L2-S1Modeling 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
L4-S1 Modeling Concepts 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
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.
OOP (Object Oriented Programming) Lecture 1. Why a new paradigm is needed? Complexity Five attributes of complex systems –Frequently, complexity takes.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
L1-S1 Infinite R-DB 2003 SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Databases and Database User ch1 Define Database? A database is a collection of related data.1 By data, we mean known facts that can be recorded and that.
Object-Oriented Analysis & Design
Software Engineering Management
Software Patterns Dr. M.E. Fayad, Professor
Component-Based & Software Reuse
Software System Engineering
Object-Oriented Analysis & Design
Software Engineering Management
SYS466 Domain Classes – Part 1.
Software System Engineering
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Software System Engineering
Object-Oriented Analysis & Design
Presentation transcript:

Fall, 2002 SJSU -- CMPE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José State University One Washington Square San José, CA URL:

L3-S2OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 2 Lesson 3: Object-Oriented Concepts

L3-S3OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad Lesson Objectives 3 Understand OO concepts Using UML concepts Explore OO models

L3-S4OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad  Model building is a well established human tradition, e.g.  Ancient Egyptian built models for their pyramids and temples  Early ship builders produced physical models for the British Admiralty  Building plans  Electronic schematics  Physics 4 Modeling

L3-S5OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 5 More on Modeling  All models  Are description of something (i.e., a representation that is not the real thing)  Allow us to answer questions about the real thing, before we build it  Capture only those features deemed “essential” by model builders for their goals Any single thing can be represented by a large number of models

L3-S6OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 6 More on Modeling  Models can be validated (How?)  Experimenting with physical things  Quizzing experts, in a field of endeavor, about a conceptual entity.  We will focus on a model building approach to system development allowing:  An early explicit representation of the system to be built  Functionality  Data  Engineers to reason about implicit properties of the system  Deadlock  Response time

L3-S7OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 7 More on Modeling  In particular, we will focus on graphical modeling notations to utilize  “The parallel processing” capabilities of the human visual system in perceiving relationships A picture is worth a thousand words

L3-S8OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad  In this course, we will focus on the job of modelers:  How they collect facts/requirements about the application domain from different sources  How they prepare models of the application domain  How they limit their modeling activities  How they create one or more models of the target system  How they use models to create blueprints and architect software  How they test and validate their models 8 Modeling in this Course

L3-S9OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 9 Reading: Norman, D.A., Some Observations on Mental Models, In Dedre Gentner and Albert L. Stevens (Eds.), Mental Model. Hillsdale, NJ: Lawrence Erlbaum Associates, Inc Target System Conceptual Model Mental Model Scientific Model Mental Model

L3-S10OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 10 Mental Model Properties  Incomplete  Limited  Unstable  Unscientific  Complicated ‘Parsimonious ’Unreliable

L3-S11OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 11 Modeling Concepts  Logical Forms  Structure  Abstraction  Concepts  Objects  Classes  Roles  Actors

L3-S12OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 12 Logical Forms  The same substance often take several forms.  ice, steam, water, snow, frost, fog are different forms of H 2 O  Some substances can be transformed from one form to another.  Not all of our studies are of material substances.  Speech, Writing, Geometry, Physics, etc.  But each area of human study acknowledges the existence of “good form”.  “Form” is thus equated with the existence of a pattern/order/consistency/regularity

L3-S13OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 13 Structure  “Structure” is the way a thing/construct/form is built up from its parts.  Changing the structure’s content can lead to new forms.  Musical notes, part of a house, etc.  A given content may exist in several different forms.  But each area of human study acknowledges the existence of “good form”.  Conversely, a form may also appear in several different contents  In fashion, dresses can be made from different materials.

L3-S14OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 14 Abstraction  “Abstraction” is the consideration of a form apart from its contents. Examples:  “roundness” is a property of a golf ball, a snow ball, a baseball, etc.  “hardness’ is a property of diamond, wood, steel, etc.  Abstraction can be improved upon by practice and study.  Abstract forms are discovered, and named, in the investigation of analogous forms.  A song ==> piano, guitar, etc.  A sphere ==> gold, steel, etc.  We teach abstraction by presenting a set of different things (physical or conceptual) and pointing out the common features that called formal properties.  formal properties are those properties that allow us to express the form of a thing.

L3-S15OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 15 Concept  “A concept” is an abstract form or an abstraction.  There is a set corresponding to each concept.  “The dress is white” means the dress is a member of the set of white things.  These sets need not to be disjoint (i.e., the same member may appear in several sets.  The white dress is short and charming.  These set are called classes or categories.  Concepts are formal properties we use to describe things.  The primitive notions of a factual scientific theory are its concepts  Biology ==> cells, bacteria, virus, animal, plant, etc.  Adjectives & adverbs usually are the names of concepts in English

L3-S16OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 16 Roles  A “role” is the part of a person or thing plays in a specific situation, operation, etc..  Many different object can play the same role.  Many roles can be played by the same object.  The white dress is short and charming.  A description of a role involves descriptions of:  Activities to be performed  Sequences or processes  Commands to be given and received  Roles are, therefore, abstractions (i.e., abstract forms or concepts).  In fact, roles are abstract temporal forms (i.e., a certain behavior at relative points in time).

L3-S17OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 17 Actors  Roles are defined independently of the things used to play that role.  Conversely, Actors are classes that are capable of playing different roles.  They are often classes of physical things.  Man, Woman, Car, etc.  They are often capable of playing different roles in the same time  Woman ==> Doctor, Mother, Pilot  They often take-on and lose roles over time

L3-S18OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 18 System Development is a Model Building  A model is any description of a system that captures some essential aspect while disregarding or ignoring others.  System development is the gradual transformation of a sequence of models.  Each model is an abstraction of the system which enables the designer to make the necessary decisions at this level in order to move closer to the final model, the tested source code.

L3-S19OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 19 Models Serve Several Purposes  Testing a physical entity before building it  Communication with customers  Visualization  Reduction of complexity

L3-S20OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 20 Modeling Notation Notation Again !

L3-S21OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 21 Objects/Classes Real-world systems can be decomposed into discrete entities called objects. Objects represent some things, concepts, or abstraction with definable boundaries and behaviors. An object is specific instance of a class to which it belongs. Classes have attributes and behaviors. Individual objects have their own specific values for each attribute and share the same behaviors.

L3-S22OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 22 More on Objects/Classes Examples: Objects ClassesAttributes A computer screenScreenResolution, # of colors A windowWindowSize, location IBMCompany Name, location, total revenue Chris JonesEmployee Name, department, salary

L3-S23OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 23 More on Objects/Classes Objects with the same attributes, behaviors, and relationships are grouped together into classes. A class describes general attributes and behaviors for a group of objects. An object is a single instance of its class (e.g., IBM is an instance of the Company class). A Class diagram is used to describe the attributes and behaviors of a class.

L3-S24OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad 24 More on Objects/Classes ClassName Attributes Behaviors Class Diagram Employee name salary dept calculatePay payAdjustment Examples Window size location background showWindow hidWindow

L3-S25OO Concepts Fall 2002 SJSU -- CmpE M.E. Fayad What is mental model? What are their properties? What are the properties of an essential model? What are the differences between tangible and intangible modeling? Identify examples of tangible modeling in system development Identify examples of intangible modeling in system development “System development is model building.” Please describe. “Models serve several purposes.” Please describe. Define: logical forms, abstraction, concepts, roles, actors, and objects 17 Discussion Questions