Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.

Slides:



Advertisements
Similar presentations
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
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.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Principles of Object-Oriented Software Development Unified Modeling Language.
Unified Modeling (Part I) Overview of UML & Modeling
© Copyright Eliyahu Brutman Programming Techniques Course.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
Unified Modeling Language
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Objects, Classes, and Basic Class Diagrams.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
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 Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
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.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.
Basic Characteristics of Object-Oriented Systems
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.
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.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
Evolution of UML.
Introduction to the Unified Modeling Language
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
Unified Modeling Language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to UML.
Introduction to the Unified Modeling Language
Object oriented analysis and design
Introduction to the Unified Modeling Language
Unified Modeling Language
Presentation transcript:

Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction to the Unified Modeling Language CS/SWE 421 Introduction to Software Engineering (Slides adapted from Dan Fleck and Dr. Stephen Clyde with permission)

Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Last week n Introduction to software engineering –How is it different from traditional engineering? n Introduction to the project lifecycle –What are the five phases?

Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body This week n The design and modeling phase –UML diagrams –Why did I skip requirements (for now)? Give you a chance to think about your projects before talking about requirements UML diagramming is closely related (the precursor) to coding, which you have done a lot of already

Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Project planning n What sort of planning activities do you/have you engaged in your classes so far? n Do you read the specs and simply jump into coding? n Do you think your projects would have benefited from planning? n Assuming you were able to capture requirements perfectly, what is (or should be) the most difficult part of the development lifecycle?

Coming up: History Unified Modeling Language n UML is an object-oriented modeling language –semi-formal –process independent UML can be used with a variety software development process models –Customizable and extensible –Model structure (static) and behavioral (dynamic) aspects of a system n UML is a communication tool – for the team, and other stakeholders –A standard way to create a visual model

Coming up: Modeling Elements and Diagrams History n In the 90s many people creating OO diagramming languages n Three different ones created by Grady Booch, Ivar Jacobson, James Rumbaugh n Joined forces with Rational (company) to create Unified Modeling Langauge (UML) Booch, Jacobson, Rumbaugh

Coming up: UML Diagrams Modeling Elements and Diagrams n Diagrams represent chunks of information that need to be communicated as part of a conceptual description. –It usually requires many diagrams to describe a system –Each diagram should focus on a single thought or a small set of tightly related thoughts n Diagrams are like paragraphs in a section of well-structured text

Coming up: UML Diagrams – we’ll use in class UML Diagrams n Use Case Diagrams n Class Diagrams n Object Diagrams n Interaction Diagrams –Sequence Diagrams –Communication Diagrams n State Charts (enhanced State Machines) n Component Diagrams n Deployment Diagrams

Two types of diagrams n Structural –Class –Component –Object –… n Behavioral –Activity –Use case –Interaction –State machine

Coming up: Three Software-Engineering Modeling Perspectives UML Diagrams – we’ll use in class n Use Case Diagrams n Class Diagrams n Object Diagrams n Interaction Diagrams –Sequence Diagrams –Communication Diagrams n State Charts (enhanced State Machines) n Component Diagrams n Deployment Diagrams

Structural: Class diagrams n Describes a system by showing the structure of its classes –Includes attributes –Documents relationship among classes

Structural: component diagram n Shows how the software is split into components –Wired together by connections

Structural: deployment diagram n Describes hardware used in the system

Structural: object diagram n Shows a view of the system at a specific point in time n Shows objects (instances) of classes n Used in conjunction with class diagrams

Behavioral: Activity diagram n Describes workflows in a system

Behavioral: state machine n Similar to a finite state machine

Behavioral: use case diagram n Actors, goals, and dependencies

Behavioral: sequence diagrams n Messages between processes/objects n Includes lifespans

UML diagram summary

Coming up: Perspectives Three Software-Engineering Modeling Perspectives n Analysis – for understanding –The objects represented in the models are real-world objects –Models focus on problem-domains concepts –They describe the real-world problem n Specification – for scoping and planning –The models include both real-world and software objects –The models describe logically what the system is to become n Implementation – for designing / building –The objects in the models are mostly software objects –The models focus on solution-oriented concepts –The models describe what the software system is or will be

Perspectives Student name major GPA standing interests -- The set of students known to the registration system Student name: String major: String GPA: real standing: Scode add(Course) drop(Course) -- Software representation of students; support registration in courses Student -name: String -major: String -GPA: Real -standing: String +add(Course) +drop(Course) -- Handle a registration in courses CourseList -- Display a dynamic list courses SpecificationImplementationAnalysis Increasing Detail Real World DomainSoftware Implementation

In the analysis perspective will I need a loop counter? n A. Yes if you have a loop n B. No n C. It depends (be able to say on what if you choose this )

Coming up: More UML Modeling Questions Some Interesting UML Modeling Questions n How do we discover objects or classes? n When should we focus on problem-domain objects, solution-domain objects, or environment objects? n Should each perspective be captured by a different model or can they all be managed in one model? n How much detail should you put in a diagram, a view, or a model?

Coming up: More UML Modeling Questions More UML Modeling Questions n How should you distribute responsibilities among classes? –What happens when classes get too big, i.e. inadequate distribution? –What happens when classes are too small, i.e. too fine of grain distribution? –What happens when there are a lot of dependency relationships between classes, i.e., inappropriate or ad hoc distribution?