L2-S1Modeling 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
CIT731: Database Development Object Oriented Modeling (OOM)
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
 Fayad SJSU -- CmpE Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
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.
 Fayad SJSU – CmpE Software Engineering Management 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.
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.
L06-2-S1 Activity Diagrams 2003 SJSU -- CmpE Software Engineering II 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 Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L5-S1 Class Diagrams 2003 SJSU -- CmpE Software Patterns Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L8-S1 CRC Cards 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
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.
L04-S1 Stable Design Patterns 2003 SJSU -- CmpE Software Patterns 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,
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Fall, 2002 SJSU -- CMPE Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San.
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
IS0514Slide 1 IS0514 Lecture - Week 1 (Semester 2) Business Systems Development Tools and Techniques.
1 Introduction to Software Engineering Lecture 1.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
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 
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Object-Oriented Analysis & Design
Object-Oriented Analysis and Design
Advanced Object-Oriented Analysis & Design
Software Engineering Management
Component-Based & Software Reuse
Software System Engineering
Object-Oriented Analysis & Design
Software Engineering Management
Advanced Object-Oriented Analysis & Design
Software System Engineering
Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Software Systems Engineering
Advanced Object-Oriented Analysis & Design
Software System Engineering
Presentation transcript:

L2-S1Modeling 2003 SJSU -- CMPE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA

L2-S2Modeling 2003 SJSU – CMPE ---- M.E. Fayad 2 Lesson 2: Modeling

L2-S3Modeling 2003 SJSU – CMPE ---- M.E. Fayad Lesson Objectives 3 Understand modeling Why we model? Discuss model essentials Explore different models Understand the differences between a method and a process Understand the differences between multiple models and multiple views

L2-S4Modeling 2003 SJSU – CMPE ---- M.E. Fayad Define: –Standards –Methodologies –Method & Process –Model & View –Tools –Environments 4 Definitions

L2-S5Modeling 2003 SJSU – CMPE ---- M.E. Fayad Standards imply regulations, guidelines, rules, laws, and so on. Standards can dictate named methodologies, such as IEEE standards or DOD standards (Ex: DOD-STD-2167A). A standard alone is not sufficient on getting a task completed. Why? 5 Standards [Fayad-Laitinen 1998]

L2-S6Modeling 2003 SJSU – CMPE ---- M.E. Fayad Because standards focus on the attributes of the results instead of how the results will be achieved A standard also includes a type, model, or example commonly or generally accepted or adhered to, such a criterion set for usage or practices (moral standards) Standards applies to some measure, principle, model, and so on, with which things of the same class are compared to determine their quantity, value, quality, and so forth (standards of purity in drugs) 6 Standards [Fayad-Laitinen 1998]

L2-S7Modeling 2003 SJSU – CMPE ---- M.E. Fayad A methodology is “a science of method or orderly arrangement” Webster. A methodology is used to refer to the very highest level of the way we do things. A methodology also refers to “a system of methods, as in particular science” The methodology we will consider here cover only the development of software applications. 7 Methodology [Fayad-Laitinen 1998]

L2-S8Modeling 2003 SJSU – CMPE ---- M.E. Fayad A method implies a regular, orderly, logical procedure for doing something, such as a method of finding software requirements. Exs: Waterfall model, spiral model [Boehm84], and fountain model [Henderson-Selers90]. Jacobson defines a method as a planned procedure by which a specific goal is approached step by step [Jacobson92]. Examples of software design method are a set of work procedures, a set of notations, or a set of heuristics. 8 Methods or Techniques

L2-S9Modeling 2003 SJSU – CMPE ---- M.E. Fayad Software engineering methods can be divided into three major categories: 1. Process-Oriented Methods [Yourdon89] 2. Data-Oriented Methods [Martin90] 3. Object-Oriented Methods [Fayad93, Rumnaugh91, etc..] 9 Methods or Techniques

L2-S10Modeling 2003 SJSU – CMPE ---- M.E. Fayad 10 POM vs. OOM

L2-S11Modeling 2003 SJSU – CMPE ---- M.E. Fayad 11 Method Provides Foundation for Software Engineering

L2-S12Modeling 2003 SJSU – CMPE ---- M.E. Fayad 12 The Myth of the Single Software Development Method

L2-S13Modeling 2003 SJSU – CMPE ---- M.E. Fayad 13 How Many OO Methods Exist? UML

L2-S14Modeling 2003 SJSU – CMPE ---- M.E. Fayad 14 Engineering Process Hierarchy Engineering ComputerElectronics SoftwareHardware SASDOOT UML Scientific Area Standards Methodologies (Macrodevelopment Processes) Techniques (Methods) (Minidevelopment Processes) Processes (Microdevelopment Processes OMT Identify Classes Identify Attributes

L2-S15Modeling 2003 SJSU – CMPE ---- M.E. Fayad 15 Processes are Important for a new OO Teams New methods and tools introduce confusion Processes define exactly who, what, when, and how –“big-picture”

L2-S16Modeling 2003 SJSU – CMPE ---- M.E. Fayad 16 Method vs. Process Processes take OO methods out of the classroom and put them to work Theoretical Ideas Predictions Practical Concrete Actions Metrics

L2-S17Modeling 2003 SJSU – CMPE ---- M.E. Fayad 17 Defined Processes are Baseline for Improvements Can’t improve anything that you can’t repeat

L2-S18Modeling 2003 SJSU – CMPE ---- M.E. Fayad 18 Software Process Hierarchy

L2-S19Modeling 2003 SJSU – CMPE ---- M.E. Fayad 19 General Processes Must be Tailored to Your Projects

L2-S20Modeling 2003 SJSU – CMPE ---- M.E. Fayad 20 Identifying Appropriate Process Details Cost effective range –depends upon environment –specifies “who”, “what”, “when” –reference “how” Too Much not cost effective typically too much “why” Not Enough useless typically only “what”

L2-S21Modeling 2003 SJSU – CMPE ---- M.E. Fayad 21 Modeling  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

L2-S22Modeling 2003 SJSU – CMPE ---- M.E. Fayad Building a model is a well-established human process. A model is a description of something. Models allow us to answer questions about a real thing before we build it. Models capture only those features deemed essential by model builders for their goals. A single thing might be represented by multiple model. Models can be validated. 22 Modeling – Definition Any single thing can be represented by a large number of models

L2-S23Modeling 2003 SJSU – CMPE ---- M.E. Fayad To communicate the desired structure and behavior of the system To visualize the system’s architecture To better understand the system we are building To serve as a template that guide us in constructing a system To expose opportunities for simplification and reuse To document the decisions made To manage risk 23 Objectives of Modeling

L2-S24Modeling 2003 SJSU – CMPE ---- M.E. Fayad Modeling –A central part of all the activities that lead up to the deployment of good software. Model –A simplification of reality –Provides the blueprint of a system 24 Modeling and Model

L2-S25Modeling 2003 SJSU – CMPE ---- M.E. Fayad The best models are connected to reality No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models 25 Principles of Modeling

L2-S26Modeling 2003 SJSU – CMPE ---- M.E. Fayad 26 Model Essentials Simple Complete (most likely to be correct) Stable to technological changes Testable Easy to understand Visual or graphical [Fayad98]

L2-S27Modeling 2003 SJSU – CMPE ---- M.E. Fayad 27 Modeling in this Course  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

L2-S28Modeling 2003 SJSU – CMPE ---- M.E. Fayad 27 Summary: Models Serve Several Purposes  Testing a physical entity before building it  Communication with customers  Visualization  Reduction of complexity

L2-S29Modeling 2003 SJSU – CMPE ---- M.E. Fayad 29 Modeling Classifications [1] Tangible –Physical –Examples Mall Aircraft Intangible –Logical –Examples Flowcharts STDs DFDs

L2-S30Modeling 2003 SJSU – CMPE ---- M.E. Fayad 30 Modeling Classifications [2] Static –Object models –Domain models –DFDs Dynamic –Behavior models Flowcharts Petri-Net –Three properties: Control, Behavior, Time

L2-S31Modeling 2003 SJSU – CMPE ---- M.E. Fayad 31 Modeling Classifications [3] Object Model (class diagram) Control Model (STDs, FlowCharts, Activity Diagrams, OIDs) Transformation Model (DFDs)

L2-S32Modeling 2003 SJSU – CMPE ---- M.E. Fayad 32 Modeling Classifications [4]: UML Static Type diagrams, CRC cards, use case Model, use case diagrams, and class diagrams Dynamic or Behavior Activity diagrams, collaboration diagram, sequence diagram, and state diagram Implementation Component diagram & deployment diagram

L2-S33Modeling 2003 SJSU – CMPE ---- M.E. Fayad 33 Multiple Models vs. Multiple Views UML has 9 different models. This called “multiple models” and represents: –Abstraction, what and how, etc. It is not “multiple views” Multiple view represents: –Presentations –Levels, layers, slices, details –Scalability, accessibility, authorization, information hiding, dimensions

L2-S34Modeling 2003 SJSU – CMPE ---- M.E. Fayad 34 Tools: Select Tools to Meet Specific Needs

L2-S35Modeling 2003 SJSU – CMPE ---- M.E. Fayad What are the differences between multiple models and multiple views? T/F –UML stands for United Modeling Level. –Use case diagrams are behavior models. –Data flow diagrams are tangible models. –Decision tables are control models. –Petri nets are static models –Software design is part of UML. What are the properties of software process? What are the essential properties of the model? 35 Discussion Questions (1)

L2-S36Modeling 2003 SJSU – CMPE ---- M.E. Fayad Define: Static models, dynamic models, transformation models What are the differences between a method and a process? 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. Essay Topic 1: Multiple Models vs. Multiple Views Essay Topic 2: Mapping from models to views 36 Discussion Questions (2)

L2-S37Modeling 2003 SJSU – CMPE ---- M.E. Fayad Discuss the following guidelines –Go Beyond the Problem Domain –Speculate About Likely Changes –Separate General Functionality from Specific Policy –Object should have Cohesive Interfaces –Objects Should Be Intelligent Agents –Objects Should Export Services –Avoid “Object Machismo” 37 Questions for the Next Lecture

L2-S38Modeling 2003 SJSU – CMPE ---- M.E. Fayad Task 1: Problem Statement for team projects are needed (see sample problems on OOPSLA – DesignFest). This is due on the third week of the semester. Task 2: Identify the team members of your team. Select a team name and me, the team name, team’s members’ names, their s, phone numbers -- Immediately. Task 3: Think about extra assignments and writing essays. E- mail me if you like to start right away. Please note that problem statements must be submitted electronically as MS Word format. 38 Tasks for Next Lecture