Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

Similar documents
Unified Modeling Language

Software Engineering Lab Manual

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Object Oriented Modeling

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

LABORATORY 1 REVISION

Unified Modeling Language (UML)

Object-Oriented and Classical Software Engineering

Introduction to Software Engineering. 5. Modeling Objects and Classes

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Object-Oriented Systems Development: Using the Unified Modeling Language

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance

UML. By Somenath Mukhopadhyay.

UML: Unified Modeling Language

OBJECT ORIENTED ANALYSIS AND DESIGN

Avancier Methods (AM) TECHNIQUES. Client-Server Systems

Software Service Engineering

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Unit-1 INTRODUCTION 1.1 CATEGORIES OF INFORMATION SYSTEMS SYLLABUS:

Unified Modeling Language (UML)

Object-Oriented Software Engineering Practical Software Development using UML and Java

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

administrivia today UML start design patterns Tuesday, September 28, 2010

Introduction to Software Engineering. 5. Modeling Objects and Classes

SEEM4570 System Design and Implementation Lecture 11 UML

Experiment no 4 Study of Class Diagram in Rational Rose

MechEng SE3 Lecture 7 Domain Modelling

COSC 3351 Software Design. An Introduction to UML (I)

Computational Paradigms and Process Frameworks. State-Oriented Models. Toggle Switch State Diagram

UML Tutorial. Unified Modeling Language UML Tutorial

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott,

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Unified Modeling Language (UML) Class Diagram

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

CISC 322 Software Architecture

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

SEEM4570 System Design and Implementation. Lecture 10 UML

OO Techniques & UML Class Diagrams

BUILDING BLOCKS. UML & more...

Ch t 8 Chapter 8. System Models

UML Primer. -Elango Sundaram

Object-Oriented Systems Analysis and Design Using UML

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

Ali Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir.

System Analysis and Design

Unified Modeling Language - UML

APPENDIX M INTRODUCTION TO THE UML

Introducing the UML Eng. Mohammed T. Abo Alroos

Practical UML - A Hands-On Introduction for Developers

Approach. Property. Specifications. Abstraction and Translation. Program. Verified Components

UML Is Not a Methodology

Computer Science for Engineers

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1

EECS 4314 Advanced Software Engineering. Topic 03: UML Overview Zhen Ming (Jack) Jiang

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Object Oriented Model of Objectory Process

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

IS 0020 Program Design and Software Tools

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 3 System Models

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Specification of Model Behavior

Engineering Design w/embedded Systems

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Software Development Methodologies

SE 1: Software Requirements Specification and Analysis

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Software Engineering Fall 2014

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

Chapter 2. Database Design. Database Systems p. 25/540

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

OOPD UNIT V OBJECT MODELLING USING UML OVERVIEW OF BASIC OBJECT-ORIENTATION CONCEPTS

History of object-oriented approaches

Relationships. Association Aggregation/Composition Multiplicity Dependencies

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany)

Practical UML : A Hands-On Introduction for Developers

Chapter 5: Structural Modeling

UML part I. UML part I 1/41

Object Oriented Software Development CIS Today: Object Oriented Analysis

Object-Oriented Design

Design and UML Class Diagrams

Index. Add Diagram > Sequence Diagram command,

3.0 Object-Oriented Modeling Using UML

UML Diagrams & And Some Of Their Elements

Data Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell

Object-Oriented Systems Development: Using the Unified Modeling Language

Course 3 7 March

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56

CIS 771: Software Specifications

Entity Relationship Modelling

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Transcription:

Plan for today Software Design and UML Building a software system Documenting your design using UML Process for software development People management Work management Team management Caveat: These processes are merely guidelines Your actual mileage may vary! Gather Requirements Find out what the user needs System Analysis Express these needs formally in system terms Design Design a high level solution Implementation Turn solution into code Testing Verify that the solution works Maintenance Iterate the cycle Problem Domain Gather Requirements / System Analysis Solution domain Design / Implementation Note: no code until implementation! Testing Unit testing Integration testing System testing Reviews Requirements / Design / Code 1

Maintainance Modifications iterate over complete cycle Note: This is just one methodology for software developments, there are others (e.g. extreme Programming). Questions? From the UML FAQ: The is a thirdgeneration method for specifying, visualizing, and documenting the artifacts of an objectoriented system under development. Booch, Jacobson, Rumbaugh ( the Three Amigos) All three now work at Rational Software UML is a language for describing models. Describes what a system is supposed to do but not how it should be implement. Analysis and Design NOT Implementation. CASE tools can generate code from well specified designs. Major Components Entities things in your model Relationships associations between things in the model Diagrams Graphical representation of elements and relationships that present different views of the system. Often presented as a graph (shapes connected by arrows). UML defines numerous types of diagrams In this class we will focus on the following: Class diagrams Illustrates classes/objects and relationships Use Case diagrams Illustrates user interaction (scenerios) with system Sequence Diagrams Illustrates objects interaction over time in realizing a use case. Class Diagrams Classes and Objects All objects have the following: Name how an object is identified Attributes defines an object s state Operations defines an object s behavior Classes Categories of objects with the same set of attributes and behavior Objects are instantiations of classes 2

Class Diagrams Classes Class Diagrams -- Relationships name attributes operations Circle Radius:Integer { radius > 0 } Center: Point = (10,10) Display() : Boolean setposition (pos:point) setradius (r:integer) constraint Initial value Return type parameters Associations Relationship between different objects of different classes Associations can have the following: Name identifies the association type Multiplicity indicates how many objects can participate in the association Roles Meaning of classes involved Represented by lines connecting associated classes Class Diagrams -- Associations Class Diagrams -- Relationships Company multiplicites name 0..1 employs 0..* Employer Employee Person Aggregation Specifies a whole / part relationship has-a relationship Indicated by a line with an unfilled diamond at the end roles Composition strong aggregation where the part generally does not exist without the whole. Indicated by a line with a filled diamond at the end Class Diagrams -- Aggregation Class Diagrams -- Relationships Car Invoice 1 has 3..4 Aggregation 1 has 1..* Employee Composition Wheels Invoice Item Generalization is-a relationship Indicates inheritance Indicated by a line with an open triangle. Dependency Relationship where a change in one element requires a change in the other Instantiation Relationships Temporary associations (operation arguments) Creator / Createe relationship Indicated by a dotted line 3

Class Diagrams -- Generalization Class Diagrams -- Dependency Shape Car Instance of mycar Circle Rectangle Square GUI DisplayForm() Form Class Diagram Summary Class Diagrams -- Summary Classes / Objects represented as boxes Name / Attributes / Operations Relationships lines connecting boxes Associations Aggregations / Composition Generalization Dependency Questions? Use Case Diagram Use Case Diagram Use case Scenario about system use from a external user perspective. Extremely useful tool for requirements gathering and analysis. Use cases are indicated by an oval Actor Entity located outside of a system that is involved in the interaction with the system in a use case. Actors are indicated by a stick person. 4

Use Case Relationships Use Case Relationships Use Cases can have relationships with other use cases Include use case that is performed during the course of another use case. Extend Adding extra steps to an already existing use case. Use Case -- Documentation To be documented with a use case: Sequence of steps that occur in the scenario Preconditions Postconditions Variations and alternative scenarios Use Case Register for courses Precondition: Student has been assigned a valid id/password Postcondition: Student becomes registered and can attend class. Use Case Register for courses Sequence of events Student logs into system System extracts student data from DB Based on this data, system presents a menu of courses student can take Student chooses course Notification sent to registrar to add student to course. Use Case Register for courses Alternative scenarios Student database unavailable Courses cannot be retrieved Course chosen by student is full. Communication to registrar is unavailable. 5

Use case diagram Summary Use case Scenario about system use from a external user perspective. Ovals in diagram Actor Entity located outside of a system that is involved in the interaction with the system in a use case. Stick person Relationships Extend / Include Documentation Questions? Sequence Diagram Messages A communication between objects Types: Call and return Calls a method on an object and waits for it s return Create action creates a new object Destroy action destroys an existing object Send A signal is sent to an object. Asynchronous! Sending object does NOT wait for ack or return A Sequence Diagram illustrates time ordering of messages that go back and forth between objects in performing a given scenario Sequence Diagram Sequence Diagram Messages Return values dotted arrow Object 1 Object 2 action() return type Destroy object Xed out Object 1 Object 2 destroy Sequence Diagram Messages Create object suddenly appears Object 1 Sequence Diagram Messages Send Half arrow Object 1 Object 2 action() create Object 2 Objects / classes can talk to themselves Object 1 action() 6

Sequence Diagram -- Summary Illustrates time ordering of messages that go back and forth between objects in performing a given scenario show examples of important interactions; they are not graphical representations of method code Questions Summary Software Design and Life Cycle Requirements / Analysis / Design / Implementation / Test / Maintenance UML Class Diagrams Use Case Diagrams Sequence Diagrams The Microwave Example There is a single control button available for the user of the oven. If the oven door is closed and you push the button, the oven will cook (energize the power tube) for 1 minute. If you push the button at any time when the oven is cooking, you get an additional minute of cooking time. Pushing the button when the door is open has no effect. Opening the door stops the cooking and clears the timer to 0. The Microwave Example There is a light inside the oven. Anytime the oven is cooking, the light must be turned on. Any time the door is open, the light must be on. If you close the door, the light goes out. If the oven times out, it turns off both the power tube and the light. It then emits a warning beep to tell you that it is finished. Next Time Example / demo of building UML diagrams using Rational Rose. 7