UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd.

Slides:



Advertisements
Similar presentations
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Advertisements

Unnat-e Infotech 1 Object Oriented Concepts Introduction.
Systems Analysis and Design 8th Edition
Unified Modeling Language
Introduction To System Analysis and Design
Introduction to System Analysis and Design
Class Diagram The diagram to the right is the original UML class diagram used to design the code in the prototype. The classes under the real abstract.
Object Oriented System Development with VB .NET
CS 425/625 Software Engineering System Models
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
Requirement Analysis Functional & Non-Functional Requirements Scenarios Use cases: – View Fixtures – Manage Tournament – Register Team – Report Discrepancy.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
Introduction To System Analysis and Design
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
XRules An XML Business Rules Language Introduction Copyright © Waleed Abdulla All rights reserved. August 2004.
The Systems Development Life Cycle
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
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.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
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.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Frameworks CompSci 230 S Software Construction.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
A Well Designed Web Application The Benefits of Object Oriented Analysis and Design Simone Becker
1 Unified Modeling Language, Version 2.0 Chapter 2.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Object Oriented Analysis & Design By Rashid Mahmood.
CSE333 CSE333 DDS.1 A System for Creating Specialized DDS Architectures Research and Work By: Tom Puzak Nathan Viniconis Solomon Berhe Jeffrey Peck Project.
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Object-Oriented Analysis and Design with the Unified Process
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Evaluating Existing Systems
Evaluating Existing Systems
Introduction to System Analysis and Design
Web Engineering.
University of Houston-Clear Lake
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Software Design Lecture : 14.
Review CSE116 2/21/2019 B.Ramamurthy.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Chapter 5.
From Use Cases to Implementation
Presentation transcript:

UML – What’s all the Fuss about? Simon Horwith CTO Etrilogy Ltd.

Presentation Topics What is UML? Where did UML Come From? Why UML? How does UML work? UML facts and fiction

What is UML? Unified Modeling Language UML is a standardized format for diagramming software and software processes.

Where did UML Come From? In the late 1980’s early 1990’s: –n-tier client server application development became very popular –C++ was the most widely used platform for the development of commercial software –The growth in popularity of OO programming led to many different systems and ideas about how to represent an Object Oriented architecture with diagrams both for documentation and planning of software. –The best predecessor to UML (called OMT) was described by it’s creators as “essentially an extended Entity-Relationship approach”. When UML was finally released as an official specification, the authors of OMT then distinguished UML as “addressing programming applications” while OMT “addresses programming database applications”

Where did UML Come From? cont’d UML was released as a theoretical diagramming system in 1997 by the Object Management Group ( who still control and define UML UML has since become THE standard for diagramming Object Oriented applications –This raises the question – “if UML is great for modelling OO Applications, what use is it when building web applications in ColdFusion?” –ColdFusion Applications can be developed in a very OO manner using CFCs and custom tags – there are many benefits to approaching development as such…

Why UML? Do you ever work with databases? Do you plan these databases? Why? – How? Do you plan your applications? Why? – How?

Why UML? cont’d Before asking “Why UML?”, first ask why “Object Oriented CF Applications?” – In 1989, Biggerstaff and Richter suggested in a paper that less than half of any typical system can be built with reusable software components. To summarize their paper, it was concluded that “the only way to obtain more significant gains in productivity and quality is to raise the level of abstraction of the components”. –An application is successful if it meets its original goals and it’s original goals must be clearly defined in order to develop an application and measure its success.

Why UML? cont’d The benefits of Object Oriented Design are best summed up by Ian Graham as: –Required changes are localized and unexpected interactions with other program modules are unlikely –Inheritance and polymorphism make OO systems more extensible, thus contributing to more rapid development –Object-based design is suitable for distributed, parellel, or sequential implementation –Objects correspond more closely to the entities in the

Why UML? cont’d –There are three main occurrences in any software development life cycle: Specification and logical modelling (analysis ) Architectural modelling (design) Implementation (coding and testing) –UML helps to distinguish between the often overlapping specification and design origins of a software system

How does UML work (in a nutshell)? You think You draw pictures You think more You might draw more pictures You code

UML facts and fictions? OK – so maybe your applications aren’t large enough to warrant diagramming all of your code…so that means UML is useless for you?… What about sequences of events? –Most applications begin with use cases… diagramming these sequences helps to give clear vision to how your application is going to work and to what end users are going to experience.

UML facts and fictions? cont’d “UML is hard” –no it’s not. There are hundreds of UML books available (you can order “UML for Dummies” from Amazon for $20). There are also dozens of free and not so free tools that will generate diagrams for you. “UML is a waste of time” –not likely… certainly not for event sequence diagrams

I’m still not convinced… Why? –Because it requires learning? –Because it requires purchasing and using new software –Because my apps. Don’t require it You probably already use UML and don’t even know it!! –If you diagram your apps (use a whiteboard – it’s easy) you are using UML concepts… just not their standards. –You (your company) have some sort of standard naming conventions when you write code, right? Why not agree on a standard way to draw these pictures???