CPSC 371/872 UML / SysML Modeling J. YATES MONTEITH, CLEMSON UNIVERSITY, FALL 2014.

Slides:



Advertisements
Similar presentations
Modeling Main issues: What do we want to build How do we write this down.
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Unified Modeling Language
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML and Object Oriented Concepts
Unified Modeling Language(UML) BY
The Unified Modeling Language (UML) Class Diagrams.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Unified Modeling Language, Version 2.0
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
An Introduction to the Unified Modeling Language
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
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.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
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.
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.
Chapter 3: Introducing the UML
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
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.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
PAPYRUS Tutorial CSOS 손 태 용.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
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 UML.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
UML Diagrams Jung Woo.
UML: Unified modeling language
Introduction to UML.
Presentation transcript:

CPSC 371/872 UML / SysML Modeling J. YATES MONTEITH, CLEMSON UNIVERSITY, FALL 2014

UML Modeling Contents ◦Modeling ◦UML Modeling ◦A brief history of UML ◦Types of Models ◦A Quick Exercise? ◦SysML Modeling ◦PolarSys

What is Modeling? What is a model? ◦It’s an abstraction of a ‘thing’. Lets look at some models.

Architectural Models

Scientific Models

Mathematical Models

High Level Models

Low Level Models

What is Modeling? What is a model? ◦It’s an abstraction of a ‘thing’. ◦A model is used to represent something else. ◦A model is used to describe and convey information and understanding about the thing which it represents. What is a model in Software and Systems Engineering? ◦Just a pretty picture. ◦Eratta: A pretty picture that [hopefully] has some semantic meaning. Models help us specify a piece of software's design in a more abstract way than source code itself. And we’ll accomplish this through the Unified Modeling Language (UML)

Unified Modeling Language (UML) UML is a standardized general purpose modeling standard. ◦Standardized in the same way that JavaDocs, Java code, naming conventions, etc are standardized. ◦General purpose in that it can model nearly any type of application. UML is primarily object oriented. ◦It could be used in non-OO systems, but a little tougher, a little less expressive. Standard way to visualize ◦Activities and Actors ◦Programming Structures and Software Components ◦Deployment Models and Physical Models. And much much more…

UML: A [Very] Brief History Object Oriented Languages  Modeling languages ◦During the 1980s and 1990s, during the rise OO Programming, tons of modeling languages existed. ◦Needed something better. ◦Too many languages meant our models might not work with other organizations models. UML unified the best in modeling techniques at the time: ◦Jacobsen ◦Use Classes ◦Rumbaugh (OMT) ◦Object Models (Object Diagrams) ◦Dynamic Models (State Machines) ◦Functional Models (Process Models) ◦Booch ◦Class Diagrams

So why modeling and UML? By providing a non-textual way of specifying a software system, models provide us with: ◦An at-a-glance view of a software system ◦A method of documentation that can be ingested and digested easier than a bajillion lines of source. ◦Modeling also provides us with a mechanism for delivering different stakeholder views of a system. ◦We might not want to provide the same information to the CEO as we do the Project Manager

UML: Types of Models Profile Class Composite Structure Component Deployment Object Package Activity Use Case State Machine Interaction ◦Sequence ◦Timing ◦Communication ◦Interaction Overview BEHAVIORALSTRUCTURAL

UML Diagram of UML Diagrams It’s so meta

UML Diagrams We’re only concerned with two diagrams right now: ◦Use Case Diagram ◦Requirements Diagram

My Most Used Model: Use Case Pronounced YOUS-CASE Depicts a set of high level functionalities from the perspective of different actors. What is an actor? ◦Anyone or anything that will interact with the system. Usually stick figures. With top hats. What is a YOUS-CASE? ◦High level functionality that is associated with various actors or other Use Cases through relationships. Usually a circle. With top hats.

Use Case Composed from Scenarios. ◦Scenarios are English description of a high level functionality. Scenarios are engineered during Requirements Ellicitation/Specification. Example Scenario: ◦“User is typing an SMS message and receives a phone call. Incomplete message is stored in local memory during call and recalled once call is completed.” What sort of Use Cases do we see here?

Use Case Composed from Scenarios. ◦Scenarios are English description of a high level functionality. Scenarios are engineered during Requirements Ellicitation/Specification. Example Scenario: ◦“User is typing an SMS message and receives a phone call. Incomplete message is stored in local memory during call and recalled once call is completed.” What sort of Use Cases do we see here? ◦A single scenario incorporates multiple use cases. ◦Many scenarios might incorporate the same use case.

Lets do a UML diagram Pretend we’re going out to dinner. Who are the actors?

Lets do a UML diagram Pretend we’re going out to dinner. Who are the actors? ◦Waiter ◦Cashier ◦Chef ◦Client

Use Case Discussion When would we create a Use Case Diagram?

Use Case Discussion When would we create a Use Case Diagram? ◦Requirements Specification phase. We specify the software via scenarios, and scenarios = {Use Cases} What do we use Use Cases?

Use Case Discussion When would we create a Use Case Diagram? ◦Requirements Specification phase. We specify the software via scenarios, and scenarios = {Use Cases} What do we use Use Cases for? ◦Everything. Literally everything. ◦Requirements Analysis ◦Test Planning ◦Client Communication ◦Even more When do we use the Use Case Diagram?

Use Case Discussion When would we create a Use Case Diagram? ◦Requirements Specification phase. We specify the software via scenarios, and scenarios = {Use Cases} What do we use Use Cases for? ◦Everything. Literally everything. ◦Requirements Analysis ◦Test Planning ◦Client Communication ◦Even more When do we use the Use Case Diagram? ◦Every phase of the SDLC.

Use Case Discussion What are the limitations of Use Cases?

Use Case Discussion What are the limitations of Use Cases? ◦They are difficult to write. There’s a lot of research on how to write good Use Cases. ◦They don’t reflect non-functional requirements. At all. ◦That’s not the point, but they don’t reflect those.

SysML UML was great for specifying software products ◦Structural diagrams allowed us to specify the structure of modules, classes and components. ◦Behavioral diagrams allowed us to specify the behavior and interaction of the programming structures. But as software systems grew more complex, we needed more expressive models to help in the development of systems. Enter SysML, the Systems Modeling Language. ◦SysML is an extension of the UML meta-model / profile that is primarily targeted at systems modeling. ◦As opposed to software or source code modeling. ◦Managed by the Object Management Group. ◦Adds several additional diagrams to the UML Profile. ◦Notably the Requirements diagram.

Modeling Tools Lots of tools exist for performing UML and SysML Modeling. Some can reverse engineer models from code ◦Take code and create a model from it. Some can forward engineer code from models ◦Take a model and generate code from it. Some can perform round trip engineering ◦Take a (Model or Code) and generate / forward engineer (Code or Models) ◦Take the generated (Code or Models) and generate / reverse engineer (Models or Code) from them. ◦Ensure consistency. Many tools exist: ◦Bouml, TopCASED, PolarSys, others… Lets look at PolarSys and see if we can do some modeling.

PolarSys – Getting Started Step 1: Download and Install the PolarSys IDE ◦Located at: ◦Current version: 1.*? ◦ Available for Linux/GTK and Windows. Should also work on Mac, because Eclipse  Java and Mac  GTK Step 2: Unzip into the C:\ directory or another ‘short’ base directory (/opt would work well). ◦Using another base directory might result in path names that are too long, especially on Windows. Step 3: Install JDK 6u35. ◦You could also install JDK 7u* or perhaps 8u*. I have not used / tested it with JDK 7 or 8. Step 4: Open the folder at the extraction point and launch the polarsys application.

Important Links

Extra

My Favorite Diagram: Class Diagrams Used to specify a class and ◦Member Variables and Methods ◦Visibility of Methods and Variables ◦The classes relations to other classes. Relations to other classes are specified through a number of connectors. ◦Association (Relation) – Uni/Bi directional containment, possibly reflexive, possibly aggregating. ◦Aggregation: “Has-A” Class contains a structure containing multiple instances of another class. ◦Composition: “Owns-A” Slightly different from Aggregation. ◦Generalization: “Is-A” Think inheritance hierarchies