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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Advertisements

Lecture: Ethics for High School Presented By: Craig Titus Teaching Engineering Ethics in the High School Classroom Presented by: 1 Craig Titus Head Teaching.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
Creative Additives Chapter 28.
1 Optimization of Routing Algorithms Summer Science Research By: Kumar Chheda Research Mentor: Dr. Sean McCulloch.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
IS After the strategy, the real work ;-)  After determining organizational value chains, after modeling the organizational architecture, after.
SJSU – CmpE Fall 2002 Enterprise & Application Frameworks Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
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.
L5-S1 Software StabilitySJSU – CmpE © M.E. Fayad Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
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.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
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.
Design Process …and the project.
Sept. 11, 2003CS WPI1 CS 509 Design of Software Systems Lecture #2 Thursday, Sept. 11, 2003.
© 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.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics 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,
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Computer Systems & Architecture Lesson Software Product Lines.
Use Case Analysis From soft systems methodology to understanding the system functionality.
PROGRAMMING LANGUAGES The Study of Programming Languages.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Object-oriented Software Engineering with Reuse Contracts Koen De Hondt, Carine Lucas, Kim Mens, Tom Mens, Patrick Steyaert, Roel Wuyts Programming Technology.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
Physics 100 Dr. Edward Rhoads LD 156P
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
L1-S1Introduction 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Comp 15 - Usability & Human Factors Unit 8a - Approaches to Design This material was developed by Columbia University, funded by the Department of Health.
1 Wright State University, College of Engineering Dr. T. Doom, Computer Science & Engineering CS 241 Computer Programming II CS 241 – Computer Programming.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
System Context and Domain Analysis Abbas Rasoolzadegan.
© TRESETarget Industry TRESE Group Department of Computer Science University of Twente P.O. Box AE Enschede, The Netherlands
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
© 2005 Prentice Hall1-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
程建群 博士 (Dr. Jason Cheng) 年 03 月 Software Engineering Part 08.
Computer Science, Algorithms, Abstractions, & Information CSC 2001.
1/3/2016  1998-Present Fayad KSU – SWE Process and Modeling Software Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room.
Fall 2002 SJSU -- CMPE Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José.
Methodology Review Chapter 7 Part 2: Design Methodology Object-Oriented Modeling and Design Byung-Hyun Ha
L11-S1TOP 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of.
“When I was young, people lived from paycheck to paycheck. Today, it seems like they live from credit card payment to credit card payment.” - Robert Kiyosaki.
L3-S1Analysis Heuristics 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
SJSU – CmpE © M.E. Fayad Software Engineering Management Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering.
ICS 3UI - Introduction to Computer Science
Organizational Decision Making
Object-Oriented Analysis & Design
CSE 403 Software Engineering
Component-Based & Software Reuse
Yes, we need hundreds of methodologies!!!
Software System Engineering
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

L13-S2Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 2 Lesson 13: Software Stability

L13-S3Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Lesson Objectives 3 Overview of Previous Lecture Understand the following: – Enduring Business Theme – Business Objects – Industrial Objects – Framework Layering

L13-S4Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Roadmap 4 oScare - General State of Panic o Identify the Killers (Problems) oCatch the killers (Solutions)

L13-S5Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad The Current State of Software - I 5 Current software projects are engineered for the “here and now.” Changes in the support structure or the software market require massive reengineering projects. This reengineering costs ridiculous amounts of money.

L13-S6Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad The Current State of Software - II 6 Software has short life span. Often wrong software application is implemented Sometimes cancelled before completion maintenance cost over 80% of the development lifecycle

L13-S7Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Sample Problem - The Loan 7 January 1998 –I gave a loan of $1000 to one of my students. –He promised to return the money by May April 1998 –Received an asking for an extension until August 1998 May 4, 2000 –I have not received the money

L13-S8Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Where Is The Problem? 8 After giving this problem to the students in a software engineering class, I received the following responses. –There is no problem. –Take him to court. –Kick his –Ignore it. What do you think?

L13-S9Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad A Traditional Model 9 LenderLoan Borrower OwesBorrowed Lent Do you think this model is an accurate representation of the problem?

L13-S10Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Roadmap 10 oScare - General State of Panic o Identify the Killers (Problems) oCatch the killers (Solutions)

L13-S11Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Problems 11 Wrong Analysis Industrial Objects Not stable architecture Missing the most enduring concepts

L13-S12Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Roadmap 12 oScare - General State of Panic oIdentify the Killers (Problems) oCatch the killers (Solutions)

L13-S13Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Open Discussion 13 Problem Domain Friendship Health Employment Family Other Relationships Borrower Schedule Lender Loan Education Expenses Finance Needs

L13-S14Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad EBT-Based Model - The Loan Problem 14 … Friendship {Enduring} Friend {Business} BorrowerLender Finance {Enduring} Loan {Business} Solvency {Enduring} Need {Enduring} Expenses {Business} Employment {Business} Health {Business} Education {Business} Family {Business}

L13-S15Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Kitchens are systems that we are all familiar with. What makes a kitchen a kitchen? Traditionally, people think of a certain set of objects when they think of a kitchen: –Stove –Sink –Refrigerator –Dishwasher –etc Sample Problem II - The Kitchen

L13-S16Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad The result is a model like this: 16 The Kitchen - A Traditional Model Kitchen CabinetCounterApplianceSink RefrigeratorDishwasherRangePantry CooktopOvenFreezer

L13-S17Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad This model has inherent flaws, however. The model can be thought of as a “tree” of aggregations and generalizations. Many of the roots of the subtrees can change drastically, causing this model to break. For example, imagine replacing the appliance node with a Star Trek food replicator The Kitchen - A Traditional Model Kitchen CabinetCounterApplianceSink RefrigeratorDishwasherRangePantry CooktopOvenFreezer

L13-S18Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad To correct this model, one must concentrate on those aspects that do not change over time. Enduring Business Themes are those concepts that remain constant for a given problem. Business Objects are those support objects that remain externally stable. Objects that may be replaced as times change are Industrial Objects. 18 The Kitchen - Correcting The Model

L13-S19Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad What does a kitchen need? What do people do in a kitchen? What is a kitchen for? 19 The Kitchen - Correcting The Model Cooking Cuisine Livability Storage Cleanliness Convenience Spaciousness

L13-S20Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 20 The Kitchen - A Stable Model CabinetPantry RefrigeratorFreezer Food Storage & Preservation {Enduring} Microwave Range Cooking {Enduring} CooktopOven Cuisine {Enduring} Recipe {Business} Food Livability {Enduring} Cleanliness {Enduring} Convenience {Enduring} Light {Business} CounterShelf SinkDishwasherWindowElectric Light Kitchen

L13-S21Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Identifying Enduring Business Themes & Business Objects - Identification Criteria 41 Stability Adaptability Essentiality Explicitness Intuition Tangibility Commonality to the Domain

L13-S22Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S23Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S24Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S25Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S26Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S27Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S28Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 Identification Criteria

L13-S29Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Identification Heuristics - Enduring 49 Enduring Business Themes and Business Objects must be enduring. Watch out - Long field histories will not necessarily translate to true endurance.

L13-S30Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Identification Heuristics - Industrial Object Identification 50 Is the object present in a “classical” model? Can the object be replaced? Is the object a representation of a concrete item?

L13-S31Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Identification Heuristics - Top-Down Identification 51 Break off conceptual pieces of the problem. Recursively break these concepts down. Stop when a layer of industrial objects is reached.

L13-S32Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Identification Heuristics - Bottom-Up Identification 52 Start with a “classical” model. Group the industrial objects under a conceptual “heading.” Continue this grouping until further grouping is impractical or nonsensical.

L13-S33Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Identification Heuristics - There Is No Silver Bullet 53 EBT’s are conceptual themes… Usually Business objects are more concrete objects… Usually There are always exceptions to any rule.

L13-S34Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad 41 HealthCare Example: PID

L13-S35Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Explain the following statements: 1. Objects should be intelligent agents 2. Mechanism rich and policy free 3. A valuable object works and plays well with others 4. Analysis model should not be too elaborate or too formal Explain how to build an analysis model Explain how do you make the analysis model more adaptable 20 Discussion Questions

L13-S36Software Stability May-June 2001 ISISTAN Research Institute – Tandil, Argentina -- M.E. Fayad Define: –Guidelines –Heuristics What do you think of these heuristics –A designer should distribute system intelligence uniformly among the top level classes in the system. –A designer should have 4.6 top level classes per 1,000 lines of code. –Eliminate classes that are outside the system 21 Questions for the Next Lecture