May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.

Slides:



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

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
 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.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Requirements Analysis Concepts & Principles
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
7M822 UML Introduction 7 September 2010.
© M.E. Fayad SJSU -- CmpE Database Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
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.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
 Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
L6-1-S1Design Heuristics - 1 © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department,
Structured Vs. Object Oriented Analysis and Design SAD Vs. OOAD
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
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.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
1 Introduction to Software Engineering Lecture 1.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
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)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
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.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
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é.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
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.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis & Design
Object-Oriented Analysis and Design
Software Engineering Management
OO Domain Modeling With UML Class Diagrams and CRC Cards
UML Diagrams Jung Woo.
Component-Based & Software Reuse
Introduction To System Analysis and Design PART 2
Software Engineering Management
Software Design Methodologies and Testing
Object-Oriented Analysis & Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Advanced Object-Oriented Analysis & Design
Advanced Object-Oriented Analysis & Design
Component Based & Software Reuse
Software Systems Engineering
Presentation transcript:

May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department of Computer Science & Engineering University of Nebraska, Lincoln Ferguson Hall, P.O. Box Lincoln, NE

L2-S2Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 2 Lesson 2: Modeling

L2-S3Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad Lesson Objectives 3 Understand modeling 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad Define: –Standards –Methodologies –Method & Process –Model & View –Tools –Environments 4 Definitions

L2-S5Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 10 POM vs. OOM

L2-S11Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 11 Method Provides Foundation for Software Engineering

L2-S12Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 12 The Myth of the Single Software Development Method

L2-S13Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 13 How Many OO Methods Exist? UML

L2-S14Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 17 Defined Processes are Baseline for Improvements Can’t improve anything that you can’t repeat

L2-S18Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 18 Software Process Hierarchy

L2-S19Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 19 General Processes Must be Tailored to Your Projects

L2-S20Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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 May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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. 21 Modeling – Definition

L2-S22Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 22 Model Essentials Simple Complete (most likely to be correct) Stable to technological changes Testable Easy to understand Visual or graphical [Fayad98]

L2-S23Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 23 Modeling Classifications [1] Tangible –Physical –Examples Mall Aircraft Intangible –Logical –Examples Flowcharts STDs DFDs

L2-S24Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 24 Modeling Classifications [2] Static –Object models –Domain models –DFDs Dynamic –Behavior models Flowcharts Petri-Net –Three properties: Control, Behavior, Time

L2-S25Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 25 Modeling Classifications [3] Object Model (class diagram) Control Model (STDs) Transformation Model (DFDs)

L2-S26Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 26 Modeling Classifications [4]: UML Static Type diagrams, CRC cards, class diagrams Dynamic or Behavior Activity diagrams, collaboration diagram, sequence diagram, and state diagram Implementation Component diagram & deployment diagram

L2-S27Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 27 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-S28Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad 28 Tools: Select Tools to Meet Specific Needs

L2-S29Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, M.E. Fayad What are the differences between multiple models and multiple views? T/F –UML stands for United Modeling Level. –Software design is part of UML. Define: Static models, dynamic models, transformation models What are the differences between a method and a process? 29 Discussion Questions

L2-S30Modeling May-June 2001 ISISTAN Research Institute – Tandil, Argentina, 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” 30 Questions for the Next Lecture