What is UML? What is the Unified Process?

Slides:



Advertisements
Similar presentations
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Advertisements

Unified Modeling (Part I) Overview of UML & Modeling
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
UML - Development Process 1 Software Development Process Using UML (2)
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
Rational Unified Process (Part 1) CS3300 Fall 2015.
Rational Unified Process Fundamentals Module 4: Disciplines II.
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 User Guide Section 1—Getting Started.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
Software Engineering Lecture 8 Object-Oriented Analysis.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
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 Unified Modeling Language, Version 2.0 Chapter 2.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Basic Characteristics of Object-Oriented Systems
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 1: Introduction to Systems Analysis and Design
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
Unified Process Source & Courtesy: Jing Zou.
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
UML: Unified modeling language
Software Architecture & Design Pattern
Object Oriented Analysis and Design
Rational Worldwide Software Symposium
Rational Unified Process
The Unified Modeling Language
Unified Modeling Language
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Rational Worldwide Software Symposium
Analysis models and design models
Software Design Lecture : 15.
Copyright 2007 Oxford Consulting, Ltd
Chapter 1: Introduction to Systems Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Rational Worldwide Software Symposium
Chapter 1: Introduction to Systems Analysis and Design
Introduction to OOAD and the UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

What is UML? What is the Unified Process? Part I: Definition What is UML? What is the Unified Process? 12.11.2018 Object Oriented Analysis & Design & UML (Unified Modeling Language)

Object Oriented Analysis & Design & UML (Unified Modeling Language) What is UML? UML is a modeling language not a methodology a general purpose visual modeling tool Incorporates practices in modeling and software engineering UP (Unified Process) is the methodology Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Objects and UML The Premise of UML: Software and other systems can be modeled as collection of collaborating objects Object: A cohesive cluster of data and behavior Contains data and perform functions Aspects of UML to describe a model: Static Structure Object types and how they are related Dynamic behavior Object life cycles and their collaboration Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UML Structure The structure of UML: Building blocks Basic UML modeling elements Relationships Diagrams Common mechanisms UML ways to achieve specific goals Architecture The view of system architecture Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UML Building Blocks Things modeling elements Relationships how things are semantically related Diagrams Views of models Show collection of things What system do (analysis level diagrams) How it will do (design level diagrams) Things Relationships Diagrams Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UML Things Structural things The nouns of a UML model: classes, interfaces, collaboration, use case, active class, component, node Behavioral Things The verbs of a UML model : interactions, state changes etc Grouping Things Package: to group semantically related elements Annotation Things The note to explain the diagrams like a yellow sticky note Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UML Relationships To show on a model How two or more things are related To capture meaningful connections between things Type of relationships Association Links between classifiers Dependency Change to one object affects behavior of another object Generalization Aggregation – “whole-part” relationship Composition – “ comprise/contains” – relationship Realization One classifier specifies a contract the other classifier to carry out Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

UML Relationships Association Dependency Generalization Realization UML Relationships and their graphical representation Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UML Diagrams Views or windows into the model Static Model Captures the static relationships UML’s static diagrams: Class diagram Component diagram Deployment diagram Dynamic Model Captures how things interact to generate the behavior of the SW UML’s dynamic diagrams: Object UC: Usecase Diagram Sequence / collaboration State Activity Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

UML Diagrams Static model (system structure) Dynamic model (system behavior) Diagrams Class Diagram Object Diagram Component Diagram Use case Diagram Deployment Diagram Sequence Diagram Collaboration Diagram Statechart Diagram Activity Diagram UML Diagrams Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Common Mechanisms Strategies applied for approaching object modeling Common mechanisms in UML: Specifications Graphical and textual descriptions of semantics Adornments Added information on diagrams Common divisions Classifier and instance (abstract and concrete) Interface and implementation (separate what and How) Extensibility mechanisms Constraints (extend semantics) Stereotypes (adds new UML elements) Tagged values ( extends an elements specs) Adornment: Süs Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

UML Common Mechanisms Specifications Common Divisions Adornments Extensibility Mechanisms UML Common Mechanism Types Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Common Mechanisms: Specifications The “meat” of the model Hold the model together Give meaning to the model Maintained using a CASE tool CASE: Computer Aided Software Engineering Provides ways to enter, view, and modify specifications Models may be Elided Elements are present in backplane Hidden in diagram to simplify the view Incomplete Some elements may be missing Inconsistent Model may contain contradictions To construct software drive in modeling to evolve into consistent models complete models Adornment: Süs Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Specifications provide the semantic Semantic Backplane Class Specification Usecase Specification Dependency Specification BankAccount name accountNumber deposit() withdraw() calculateIntereset() Deposit Modeling Element Semantic Backplane Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Common Mechanisms: Adornments To provide more information when needed on diagrams Start model construction with High level models Use just the basic symbols Add one or two adornments Refine the model over time Add more and more adornments Until the model sufficiently detailed Show the adornments only to increase the clarity and readability to highlight some important features Window Unadorned element Window (author=jim, status=tested +size: Area = (100,100) #visibility:Boolean=false +defaultSoze: Rectangle #maximumSize: Rectangle -xptr:Xwindow* +create() +hide() +display(location: Point) -attachXWindow(xwin: Xwindow*) Adornment: Süs Element with Adornments Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Common Mechanisms: Extensibility Mechanisms To extend the model when UML is not sufficient Constraints A text string in braces “{}” Specifies some conditions or rules The modeling element must maintain Stereotypes Represents a variation of an existing models element. Allow to introduce new modeling elements Append the stereotype in guilemots “« »” Tagged values To add own properties to modeling elements Example: {tag1=value1, tag2=value2,.., tagN=valueN} Adornment: Süs Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Common Mechanisms: Common Divisions Describe ways of thinking about the world Two types: Classifier and instance Interface and implementation Adornment: Süs Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Common Divisions-1 Classifier and instance Classifier: Abstract notion of type Example: bank account Instance: Specific, concrete things Example: “my bank account” Adornment: Süs Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UML Classifiers Classifier Semantics Actor A role played by an outside user of the system to whom the system delivers some value Class A description of a set of objects that share the same features Classifier Role A classifier restricted to a particular role in a collaboration Component A physical and replaceable part of a system that conforms to and realizes one or more interfaces Datatype A type whose values have no identity such as the primitive types, int, float, and char. Interface A collection of operations that are used to specify a servide offered by a class or component Node A physical, run-time element that represents a computational resource Signal An asynchronous message passed between objects Subsystem A grouping of elements – some of these may specify the behavior offered by contained elements Usecase A description of a sequence of actions that a subsytem performs to yield a value to a user Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Common Divisions-2 Interface and implementation To separate what something does (interface) From how it does (implementation) Interface: A contract to guarantee implementation must adhere Implementation: The actual specification to show how the functionality obtained Adornment: Süs To adhere: Bağlanmak Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Architecture 4 + 1 view of the system Logical view System functionality and vocabulary Class diagrams Statechart diagrams Object diagrams Process view Performance, scalability and throughput Implementation view Assembly and configuration management Component diagrams Deployment view Topology, distribution, delivery and installation Deployment diagrams Use Case Use case diagrams Interaction diagrams Throughput: İş hacmi Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

What is Unified Process (UP) UP is a Software Engineering Process (SEP) the industry standard process for UML-based projects Process defines who, what, when and how to turns the requirements into software Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Instantiating UP Every software project is different Instantiate the process defining & incorporating: In-house standards Document templates Tools compilers, management tools, etc. Databases Life cycle modifications Safety critical projects: complex quality control measures Simple projects: Simplification some of the activities Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UP Axioms Three basic Axioms Use Case and Risk driven Architecture Centric Iterative and incremental UP is driven by user requirements and Risk! Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UP Structure Four phases Inception Elaboration Construction Transition One or more iterations in each phase Five core workflows in each iteration Requirements, Analysis, Design, Implementation, Test Each iteration last 2 to 3 months Phases Iterations Workflows Inception Requirements Elaboration Analysis Construction Design Transition Implementation Testing Inception: başlama, başlangıç. Elaboration: olgunlaşma. Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Phases, Iterations and Workflows Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

UP Iteration Workflows 5 core Workflows of UP Requirements Analysis Design Implementation Test Each iteration generates a “baseline” Baseline is a set of iteration artifacts Artifact: insan eliyle yapılmış şey. Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) UP Iterations UP specific five core workflows Requirements Analysis Design Implementation Test An Iteration Planning Assessment Project Specific… Other workflows Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Inception Establish feasibility Prototyping to validate technology decisions business requirements Create business case To demonstrate the project will deliver quantifiable business benefits Capture essential requirements Identify risks Focus: requirements and analysis workflows some design Inception: Başlama, başlangıç Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Elaboration Create an architectural baseline Refine risk assessment Define quality attributes Capture use cases Create construction plan Develop resource requirements time, equipment, staff, cost Elaboration: Detaylandırma Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Construction Uncover missed requirements Finish analysis model Finish design model Build initial operational release Test initial release Construction: Yapılandırma, Kurma Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) Transition Correct defects Prepare user site Tailor software for user site Create user manuals Customize software to user environment Conduct post project review Transition: Geçiş Object Oriented Analysis & Design & UML (Unified Modeling Language) 12.11.2018

Object Oriented Analysis & Design & UML (Unified Modeling Language) End of Chapter 12.11.2018 Object Oriented Analysis & Design & UML (Unified Modeling Language)