Distributed Java Programming 107-198 Distributed Java Programming Class #1 August 20, 2002.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

UML an overview.
ESE Einführung in Software Engineering 6. Modeling Objects and Classes Prof. O. Nierstrasz.
Unnat-e Infotech 1 Object Oriented Concepts Introduction.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
CS3773 Software Engineering Lecture 03 UML Use Cases.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Object Oriented Analysis Process
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Itntroduction to UML, page 1 Introduction to UML.
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
Use Case Analysis From soft systems methodology to understanding the system functionality.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Systems Analysis and Design in a Changing World, Fifth Edition
Use Cases College of Alameda Copyright © 2007 Patrick McDermott.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
CSCI-383 Object-Oriented Programming & Design Lecture 9.
©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.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
5 Systems Analysis and Design in a Changing World, Fourth Edition.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
SWEN 5130 REQUIREMENTS ENGINEERING Unified Modeling Language Short Tutorial By Yuvaraj Mani Teaching Assistant SWEN 5130 Spring semester 2006.
Distributed Java Programming Distributed Java Programming Class #2 August 22, 2002.
System models l Abstract descriptions of systems whose requirements are being analysed.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
9/01RUT1 NASA OSMA SAS '01 R equirements U se case T ool James R. McCoy SRS Information Services NASA Software Assurance Technology Center
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
CS-2852 Data Structures LECTURE 3B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, 6th Edition
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,
The Unified Modeling Language (UML)
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
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.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Use Case Diagrams Lecture Oo14 Use Cases. References n Booch, et al, The Unified modeling Language User’s Guide, AWL, 1999, Chapt 16 & 17 n Fowler & Scott,
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
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.
Copyright (C), No Magic, Inc Welcome to No Magic!
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Chapter 11 Inheritance © 2008 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. Marilyn Bohl/Maria Rynn Tools for Structured and Object-Oriented.
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.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
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.
Introduction to UML.
Evolution of UML.
Introduction to the Unified Modeling Language
Object-Oriented Modeling with UML
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Introduction to the Unified Modeling Language
Presentation transcript:

Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002

Distributed Java Programming What is UML?  Stands for Unified Modeling Language  It is a culmination of 15 years of effort to properly define and model object- oriented systems.  It is based on the OO Methodologies of:  Grady Booch (Clouds)  Ivar Jacobson (Use Cases)  James Rumbaugh (OMT)

Distributed Java Programming Yeah, but What is UML?  UML is a modeling language.  It lets us takes a problem, visualize it and clearly understand it before we begin writing code.  UML consists of a lot of different tools. However we are going to focus on three core tools for use in this class:  Use Cases  Class Diagrams  Interaction Diagrams  Lets dive into it

Distributed Java Programming Use Case and Use Case Analysis  Use cases are tool for capturing how a users interacts with an existing system or a new system that is being built.  A use case is a discrete and well- defined action that is carried out by a user to reach a specific goal.  Use cases usually involve two pieces of documentation:  A Use Case Diagram  A Use Case Specification Document

Distributed Java Programming A Use Case Diagram

Distributed Java Programming Use Case Piece: The Actor ►Actors are a role a user is playing in the system. ►An actor can carry out many tasks within a system. ►Actors do not have to be people. They can be other systems. ►Often times, particularly large projects listing the actors are a good place to start.

Distributed Java Programming Use Case Piece: The Use Case ►Represents a discrete task to be carried out by end user. ►Can also represent a more complex task. ►Granularity is the key here. You use case diagram clearly communicate the major tasks in the application will carry out.

Distributed Java Programming More About Use Cases  Generalization and Actors  Generalization and Use Cases  The Use of Include

Distributed Java Programming Generalization and Actors

Distributed Java Programming Generalization and Actors  Generalization allows us to capture roles that share responsibilities.  Using generalization when modeling the actors in your system allows you to easily define security roles for each user.  Do not try to jam too many actor generalizations on one screen. It makes things difficult to read and understand.

Distributed Java Programming Generalization and Use Cases

Distributed Java Programming Generalization and Use Cases  Sometimes one process will build on the functionality of another process.  The generalization in a use case is very similar to an inheritance hierarchy in a class diagram.  In our example previously, the generalization shown between “Deposit Check” and “Deposit Payment” are very similar. “Deposit Check” puts the money into your bank account. “Deposit Payment” puts the money against a liability owed to the bank.

Distributed Java Programming The Include Statement

Distributed Java Programming The Include Statement  The include statement allows you to indicate that the functionality provided in one use case is used in another use case.  It is a time saving measure. Particularly when you have to translate your use case diagrams into use case specifications.

Distributed Java Programming Use Case Specification  More rigorous definition of a specific use case.  Defines the pre and post conditions for a use case.  Defines any exceptions that can occur and how they must be handled.  Defines each of the individual steps involved within the user case.  See the hand out for an example use case specification.

Distributed Java Programming Closing Thoughts……  Use case diagrams are useful tools for communicating with business users about the development team’s understanding of a set of processes.  Keep your use case diagrams simple. Use cases decompose complex processes in easy to understand pieces.  Use case specification documents are what the development team will be working off of when they begin coding.  The definitions for a use case specification must be rigorous.  If your use cases are designed properly, they should represent one discrete piece of functionality on a project plan.

Distributed Java Programming Assignment 1  Take an existing business process at your work (Or make one up)  Build a use case diagram demonstrating how 1 or more roles perform various use cases. Proper notation is required and the process you pick must have 3 – 4 use cases in it.  Take one use case and write a full user specification.  Based upon your use case, build a class diagram.  Show all classes derived from the use case  Show their properties, methods and access levels.  Show multiplicity and any inheritance relationships that may exist between.

Distributed Java Programming Resources Martin Fowler UML Distilled Second Edition Safari-informit.com Poseidon UML UML Resource Center