System modeling and the Unified Modeling Language (UML) CS 560 1.

Slides:



Advertisements
Similar presentations
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Advertisements

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Object-Oriented Analysis and Design
Unified Modeling Language (UML)
The Unified Modeling Language
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 16 Object Oriented Design I.
Unified Modeling Language
Chapter 5 – System Modeling
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Lecture 7 Object Oriented Design. Outline  What is UML and why we use UML?  How to use UML diagrams to design software system?  What UML Modeling tools.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
COP4331UML Lecture Presented By: Antoniya Petkova 9/11/2009 Originally Prepared By: Pengju Shang for EEL5881 Software Engineering I.
CS 3830 Day 15 Introduction 1-1. Announcements r Quiz 3: Wednesday, Oct 10 r Prog3 due (in 1DropBox) on Wednesday, Oct 10 r Prog4: m Parts A and B m Work.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
EEL5881 Software Engineering I UML Lecture Yi Luo.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
An Introduction to the Unified Modeling Language
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
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.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Software Engineering Lecture 8 Object-Oriented Analysis.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML (Unified Modeling Language)
Chapter 3: Introducing the UML
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Introduction to UML Created By: Ajay Bahoriya. Acknowledgements Slides material are taken from different sources including: Slides material are taken.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Lecture 13. Unified Modeling Language (UML) The first applications you wrote in CS201 were easy to think out and code with no intermediate steps. Lab.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 5 – System Modeling
CompSci 280 S Introduction to Software Development
Introduction to UML.
Appendix 3 Object-Oriented Analysis and Design
Chapter 5 System modeling
Chapter 5 – System Modeling
Object-Oriented Analysis and Design
Unified Modeling Language
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Software Architecture & Design Pattern
Introduction to UML Introduction to UML Shiyuan Jin September,23,2002
Software models and the Unified Modeling Language (UML)
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
CS310 Software Engineering Dr.Doaa Sami
CSE470 Software Engineering UML Lecture.  UML resource page
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Chapter 4 System Modeling.
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
CS 501: Software Engineering
Presentation transcript:

System modeling and the Unified Modeling Language (UML) CS 560 1

Models for requirements analysis and Specification A model is a simplification of a component or system being designed.  We build models to better understand the system being developed.  We build models of complex systems because we cannot comprehend such a system in its entirety. Models can be formal or informal.  The more complex a project becomes, the more valuable a formal model becomes. 2

Principles of software Modeling UML  “Unified Modeling Language”  Expresses an idea, not detailed description on functionality.  Specific protocols/languages not needed  Used to describe a software system at a high level of abstraction.  Serves as a bridge between the requirements specifications and the implementation.  Is process and programming language independent. 3

Models: Diagrams and documentation in UML In UML, a model consists of a diagram and documentation.  A diagram is the graphical representation of a set of elements representing components of the software system.  Each diagram is supported by technical documentation that specifies the components represented. A diagram without documentation is of little value. 4

Types of UML Diagrams Use Case Diagrams  Interactions between a system and its environment Class Diagrams  Shows the object classes in the system and the associations between those classes Sequence Diagrams  Interactions between actors and the system, and between system components State Diagrams  Shows how the system reacts to internal and external events 5

Use Case Diagrams (Documentation) A use case is a model of the interaction between  External users of a software product (actors) and  The software product itself describes a set of scenarios captures user requirements contract between client and software developers 6

Use Case Diagrams Actors:  A role that a user plays with respect to the system. Use case:  Scenarios that describing an interaction between actors and the system. System boundary:  rectangle diagram representing the boundary between the actors and the system. 7

Use Case Diagrams (Library) 8 Library System Borrow Order Title Fine Client Employee Supervisor Boundary Actor Use Case

Class Diagrams (Documentation) A class diagram depicts classes and their interrelationships  Used for describing structure and behavior in the use cases  Used for requirement capture, end-user interaction  Detailed class diagrams are used for developers  Used for communicating software connections/requirements 9

Class Diagrams Each class is represented by a rectangle subdivided into three compartments  Name  Attributes  Operations Modifiers are used to indicate visibility of attributes and operations.  ‘+’ is used to denote Public visibility  ‘#’ is used to denote Protected visibility  ‘-’ is used to denote Private visibility By default, attributes are hidden and operations are visible. 10

Class Diagrams (bank account) 11 Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Attributes Operations Class Name

Class Diagrams (shapes) 12 Operations Class Name Attributes

Sequence Diagrams (Documentation) Used to model the interactions between the actors and the components within a system. Shows interactions of specific use cases. Objects and actors are listed along the top of the diagram, with a dotted line drawn vertically from these.  Interactions between objects are indicated by arrows. 13

Sequence Diagrams (Telephone Call) 14 CallerPhoneRecipient Picks up Dial tone Dial Ring notificationRing Picks up Hello

Sequence Diagrams (Booking Website) 15

State Diagrams (documentation) Models the behavior of the system in response to external and internal events. Shows the system’s responses to stimuli  often used for modelling real-time systems. Shows states as nodes, and events as edges between these nodes.  When an event occurs, the system moves from one state to another. 16

State Diagrams (Billing Example) State Diagrams show the sequences of states an object goes through during its life cycle  abstraction of all possible behaviors 17 Unpaid Start End Paid Invoice created paying Invoice destroying

State Diagrams (Traffic Light Example) 18 Yellow Red Green Traffic Light State Transition Event Start

Reliable data Transfer Protocol State Diagram sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) start_timer rdt_send(data) Wait for ACK0 rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) || isACK(rcvpkt,1) ) Wait for call 1 from above sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) start_timer rdt_send(data) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,0) rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) || isACK(rcvpkt,0) ) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,1) stop_timer udt_send(sndpkt) start_timer timeout udt_send(sndpkt) start_timer timeout rdt_rcv(rcvpkt) Wait for call 0from above Wait for ACK1  rdt_rcv(rcvpkt)    19

UML Diagrams Several UML diagrams: Use-case diagram: models the interaction between actors and software Class diagram: a model of classes showing the static relationships among them. Sequence diagram: shows the way objects interact with one another as messages are passed between them. State diagram: shows states, events that cause transitions between states. 20

Modeling tools: pseudo-code An informal modeling technique to show the logic behind part of a system. Pseudocode can be informal. What matters is that its interpretation is understood by everybody involved. Example: University Admission Decision adminDecision (application) if application.SAT == null error (incomplete) if application.SAT > S1 accept(application) else if application.GPA > G1 accept(application) else if application.SAT > S2 and application.GPA > G2 then accept(application) else reject(application) 21

Software Modeling: key points A model is an abstract view of a system that ignores system details.  System models can be developed to show the system’s context, interactions, structure and behavior. Use case diagrams and sequence diagrams are used to describe the interactions between users and systems in the product.  Describes interactions between a system and external actors. Structural models show the organization and architecture of a system.  Class diagrams are used to define the static structure of classes in a system. 22