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.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Unified Modeling Language (UML)
The Unified Modeling Language
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© 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.
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.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
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 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
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.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
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.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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.
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.
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.
Introduction to UML Created By: Ajay Bahoriya. Acknowledgements Slides material are taken from different sources including: Slides material are taken.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
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.
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.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Chapter 4 – System Modeling Lecture 1 1Chapter 5 System modeling.
System modeling and the Unified Modeling Language (UML) CS
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Chapter 5 – System Modeling
CompSci 280 S Introduction to Software Development
Software Engineering Lecture 4 System Modeling The Analysis Stage.
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 5 System modeling
Chapter 5 – System Modeling
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
System Modeling Chapter 4
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
Chapter 4 System Modeling.
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

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 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

 UML  “Unified Modeling Language”  Expresses an idea, not detailed description on functionality.  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.  An industry-standard process for specifying, visualizing, constructing, and documenting information about software systems.  Simplifies the complex process of software design. 3

 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

 Means of discussion about an existing or proposed system  Way of documenting an existing system  Models should be an accurate representation of the system but need not be complete.  Detailed system description that can be used to generate a system implementation  Models have to be both correct and complete. 5

 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 6

 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 7

 Actors:  A role that a user plays with respect to the system.  Use case:  A set of scenarios that describing an interaction between a user and a system.  System boundary:  rectangle diagram representing the boundary between the actors and the system. 8

9 Library System Borrow Order Title Fine Client Employee Supervisor Boundary Actor Use Case

10 Boundary Actor Use Case

 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 11

 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. 12

13 Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Attributes Operations Class Name

14 Operations Class Name Attributes

15 Subtype2 Supertype Subtype1 Inheritance is a required feature of object orientation Promotes code reuse and flexability Regular Customer Loyalty Customer Example:

 Sequence diagrams  Used to model the interactions between the actors and the objects 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. 16

 Used to model the interactions between the actors and the objects within a system.  Shows the sequence of interactions that take place during a particular use case.  Example:  User making a phone call 17

18 CallerPhoneRecipient Picks up Dial tone Dial Ring notificationRing Picks up Hello

19

 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. 20

 State Diagrams show the sequences of states an object goes through during its life cycle  abstraction of all possible behaviors 21 Unpaid Start End Paid Invoice created paying Invoice destroying

22 Yellow Red Green Traffic Light State Transition Event Start

 UML is a standardized specification language for object modeling  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. 23

 An informal modeling technique to show the logic behind part of a system.  Example: University Admission Decision adminDecision (application) if application.SAT == null then error (incomplete) if application.SAT > S1 then accept(application) else if application.GPA > G1 then accept(application) else if application.SAT > S2 and application.GPA > G2 then accept(application) else reject(application)  Pseudo-code  can be informal, or  a standard used by a software development organization, or  based on a regular programming language.  What matters is that its interpretation is understood by everybody involved. 24

 Rapid prototyping is the most comprehensive of all modeling methods  Specifying requirements by building a system that demonstrates the functionality of key parts of the required system  Particularly valuable for user interfaces 25

 A data dictionary is a list of names used by the system  Name (e.g., "start date")  Brief definition (e.g., what is "date")  Where is it used (e.g., source, used by, etc.)  May be combined with a glossary  As the system is developed, the data dictionary in the requirements is the basis of the system data dictionary, which is part of the final specification. 26

 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. 27