Methods, Models, Madness

Slides:



Advertisements
Similar presentations
K. Ingram1November 2000 Object Orientated Analysis and Design - Contents When to use OO? What is OO? Unified Modelling Language OO Methodologies: –Object.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Object-Oriented Software Development CS 3331 Fall 2009.
Chapter 2 Approaches to System Development
7M701 1 Information Systems Modelling and Design with.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
CS3773 Software Engineering Lecture 03 UML Use Cases.
7M822 UML Introduction 7 September 2010.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Itntroduction to UML, page 1 Introduction to UML.
Systems Analysis and Design in a Changing World, Fifth Edition
Introduction To System Analysis and design
Chapter 2: Approaches to System Development
UML - Development Process 1 Software Development Process Using UML (2)
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
A Development Process Lecture Oo13 Objectory based method.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Object-Oriented Analysis and Design An Introduction.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
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.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
The Unified Modeling Language (UML)
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
Software Design. A well-known phenomenon You will learn…. –Thinking "object oriented“ –Define requirements and analyze the problem domain. –Design of.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Copyright (C), No Magic, Inc Welcome to No Magic!
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Rational Rose For System Design What is Rational Rose? Rational Rose is the visual modeling software solution that lets you create, analyze, design,
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Object Oriented Analysis & Design By Rashid Mahmood.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction To System Analysis and Design
UNIT 1.
Evolution of UML.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Object-Oriented Modeling and Design
THE BOOCH METHODOLOGY.
UML: Unified modeling language
Software Architecture & Design Pattern
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction To System Analysis and Design PART 2
Introduction to UML.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 644  Object-Oriented Design and Development. (3) 
On to Object Design c. 14.
Presentation transcript:

Methods, Models, Madness Long history of object-oriented methods and models defacto standard modeling exists today: UML Unified Modeling Language (from Rational via others) “three amigos”: Booch, Rumbaugh, Jacobsen emerging standard via OMG: object modeling group notational tool, as distinct from method/process Methods: Booch, Objectory, Fusion, [DOOM!] Learning OO programming, design, analysis (OOP, OOD, OOA) from UML Distilled “now that the methods war is over, I think that patterns will be where most of the interesting material about analysis and design will appear.” http://www.enteract.com/~bradapp/links/oo-links.html

Basics of modeling Modeling: coherent approach to designing a system Different techniques make up a system class diagrams: static notation CRC cards: classes, responsibilities, collaboration interaction, sequence diagrams state transistion diagrams use cases Syntax and semantics of models syntax is notational, can be formal or informal semantics depends on rigor, can be formally defind formal should mean “based on logic/mathematics”

CRC card (see SCOOTER assignment) Robot move load unload Rocket Factory Box 3x5 index card developed after brainstorming about classes can be moved around, tacked to walls (portable and useful) facilitates group interaction/discussion both in analysis and design Class name, sub and super Responsibility scenarios, walkthroughs Collaboration other classes: Responsibilities Process bot Robot Box Rocket Make box process bot Robot Box Factory

A simple process (based on Booch) Time frames for one-year project: conceptualization: 1 month analysis: 1-2 months design: 1 month, 2 max evolution: 9 months Conceptualization: vision, priorities, prototypes Analysis what, not how; all requirements Design logical/physical architecture plan releases Evolution sequence of releases, iterative Conceptualization, core requirements. Analysis: Model desired behavior Design: Create an architecture Evolution/ Implementation Maintentance: post delivery

Micro (compare previous Macro) process [Booch] Used during design phase in specifying architecture classes and objects, can include CRC cards for example semantics include use-cases, class invariants, documentation relationships include “is-a”, “has-a”, “uses-a”, class diagrams updated types, signatures, algorithms for interfaces, implementations Identify classes and objects identify semantics specify interfaces implementations identify class and object relationships

Programming and Development In the real world you have to deal with people people are not programmers/ programmers are not people programs are developed for users abstract factories are great, when I click this button I want something to happen Development lessons from Scoobi, what’s important in developing a team-constructed software product what can we do with Scooter, Harpoon? what has been good, what has been bad future for OO programming, Java, C++, ..., CPS 108