SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.

Slides:



Advertisements
Similar presentations
Use cases Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself A set.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
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.
Object-Oriented Analysis and Design
CS3773 Software Engineering Lecture 03 UML Use Cases.
Introduction To System Analysis and Design
Use-case Modeling.
Documenting Requirements using Use Case Diagrams
Use Cases Chapter 4. After Scenarios Find all the use cases in the scenario that specifies all possible instances of how to report a fire –Ex: “Report.
1 Real-time requirements  Intro to Software Engineering  Software Development Process Models  Formal methods in software specification  Structured.
© 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.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Unified Modeling Language
USE Case Model.
CMPT 275 Software Engineering
CIT UPES | Sept 2013 | Unified Modeling Language - 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.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
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.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Presented by: CHAN LAI SAN ( ) REBAH DAW SARREB ( ) FIDA AL-OBAISI ( ) 08 April 2008 (Tuesday 6pm – 7:30pm)
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Systems Analysis and Design in a Changing World, 3rd Edition
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation: Functional Modeling.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
1 Structuring Systems Requirements Use Case Description and Diagrams.
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.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Essentials of Visual Modeling w/ UML Instructor Notes
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
UML - Development Process 1 Software Development Process Using 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.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
CHAPTER
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Object-Oriented Techniques
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Diagrams Jung Woo.
Software Architecture & Design Pattern
IMPORTANT NOTICE TO STUDENTS:
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
University of Houston-Clear Lake
Chapter 4, Requirements Elicitation: Functional Modeling
Software Design Lecture : 15.
Uml diagrams In ooad.
Presentation transcript:

SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML

Agenda Part 1:  Why modeling?  Introduction to Unified Modeling Language.  Uses of UML  Mapping Diagrams. Part 2:  Use-Case Diagrams  Actors/Use-cases Part 3:  Lab-Task: Case Study

Modeling A model is a simplified representation of a complex reality. Complex systems and software cannot be understood without properly modeling them. Today, software are getting complex and consequently we need to understand them through modeling.

Modeling In simple words, we need simpler representations for complex models and modeling is a mean for dealing with complexity. In simple words, we need simpler representations for complex models and modeling is a mean for dealing with complexity. A modeling method comprises a language and also a procedure for using the language to construct models. Modeling is the only way to visualize your design and check it against requirements before you start to code.

Unified Modeling Language (UML) UML is a notational system which is principally graphical and aims at modeling system using object oriented concepts. UML is termed as a “Visual Modeling Language’. Generally UML is used for modeling software systems. UML consists of :  Views: shows different faces of the system and links with the process  Diagrams: are basically the graphs that explain the contents of view.  Model Elements: are contained within the diagrams.

Unified Modeling Language UML is a complete language for capturing knowledge about a subject and then expressing that knowledge i.e. gathering requirements and then modeling those requirements. Such modeling includes two phases :  Analysis  Design

Unified Modeling Language UML Analysis Phase: System is described by a set of requirements. USE-CASE DIAGRAM Analysis Phase: System is described by a set of requirements. USE-CASE DIAGRAM Design Phase: It is tightly connected to the analysis phase, as it starts from the identification of requirements and continues up till the detailed specification of those requirements. Class Diagrams Interaction Diagrams State Chart Diagrams Deployment Diagrams Design Phase: It is tightly connected to the analysis phase, as it starts from the identification of requirements and continues up till the detailed specification of those requirements. Class Diagrams Interaction Diagrams State Chart Diagrams Deployment Diagrams

SOFTWARE ENGINEERING BIT-8 USE-CASE DIAGRAMS

Use-Case Diagram Use Case Diagram is used to describe the functionalities provided by a system and the users associated with that system. The Use case diagram is used to identify the primary elements and processes that form the system. The primary elements are termed as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case.

Use-Case Diagram The main purpose of the use-case diagram is:  to help development teams visualize the functional requirements of a system  To help identify relationship of "actors" (human beings who will interact with the system) with essential processes  and understand the relationships among different use cases

Elements of a use-case diagram Use-case diagrams contain the following elements: Actors, which represent users of a system, including human users and other systems. Use Cases, which represent functionality or services provided by a system to users.

Actor Definition:  The outside entity which communicates with the system:  A Person (user)  An external system  Physical Environment  An Actor has a unique name and an optional description Symbol: UML notation used to represent an actor

Actor (Example) Consider the following scenario related to a “University Management System” :  In a university management system, a Student can submit the assignments, the instructor marks those assignments and then uploads the result. The Student is allowed to view the Results.  Now, by recalling the definition of actor, can you identify the actors in this System? Student Instructor

Student Instructor Actor (Example/2) Student Instructor Student is an external entity which interacts with the system. Student is a user of this system, as some services are used by it. Instructor is another external entity which interacts with the university management system.

Use-case Represent functionality or services provided by a system to users. It is a description of set of sequence of actions that a system perform that produces an observable result. A use case represents a class of functionality provided by the system as an event flow. Use cases describe the interaction between a primary actor and the system itself

Use-case The use case technique is used in software and systems engineering to capture the functional requirements of a system. Each use case describes how the actor will interact with the system to achieve a specific goal. One or more scenarios may be generated from each use case, corresponding to the detail of each possible way of achieving that goal. Symbol : UML notation used to represent a use-case

Use-case (Example) Consider the same example again:  In a university management system, a Student can submit the assignments, the instructor marks those assignments and then uploads the result. The Student is allowed to view the Results.  Now, by recalling the definition of use-case, can you identify the use-cases in this System? Submit Assignments Mark Assignments Upload Results View Results

Use-case (Example/2) The use-cases are linked with the functional requirements of this system. In this example :  Student submit the assignments.  Instructor marks the assignments.  Instructor upload the marks.  Student can view the marks. It is now clear that how actors are interacting with different use-cases of this system. Now, lets combine actors and use-cases in one diagram? Easy ?

Symbols in Use-Case Diagrams ACTOR USE-CASE INTERACTION: denotes set of messages exchanged among objects NOTES/COMMENTS

Use-Case Diagram (University Management System) Student Instructor Submit Assignments Mark Assignments Upload Results View Results SYSTEM BOUNDARY Package: University Management System

SOFTWARE ENGINEERING BIT-8 Extending Use-Case Diagram

1 HOUR EXERCISE Lab-Exercise (Extracting Use-cases)

Use-Case Associations Use case association is the relationship between use cases Important types:  Extends  A use case extends another use case  Include  A use case uses another use case (“functional decomposition”)

>: Functional Decomposition A function in the original problem statement is too complex to be solved immediately. What’s the Solution? Describe the function as the aggregation of a set of simpler functions The associated use case is decomposed into smaller use cases

> Example The include association from Use Case A to Use Case B indicates that an instance of A performs all the behavior described in B In > association, the base case cannot exist alone. It is always called with the supplier use case > Base (A) Supplier (B)

> Association for Use Cases Problem:  The functionality in the original problem statement needs to be extended. Solution:  An extend association from Use Case B to Use Case A indicates that B is an extension of A. AB >

Example Example:  The use case “ReportEmergency” is complete by itself, but can be extended by the use case “Help” for a specific scenario in which the user requires help Note: In an extend association, the base use case can be executed without the use case extension Field Officer ReportEmergency > Help

Lab-Exercise Read the following case :  Identify the actors  Identify (extract ) the use cases  Construct a proper use-case diagram (with proper symbols & notations)

Case-Study Consider the Library Management System of SEECS. A Student is allowed to issue books for a period of two weeks. Student can read newspapers/magazines in the library and can even access the databases for e-books. The Library Staff is responsible for maintaining the records of students and along with the issued books. The Staff marks an entry in the register whenever a student issue or return a book. A fine is charged on a student if he/she fail to return the book on time. The Librarian is there to manage the staff, check the records and prepare reports for DG/DEAN.