Object-Oriented Analysis and Design with the Unified Process by Şensev Alicik.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Advertisements

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Object-Oriented Analysis and Design
Chapter 15: System Modeling with UML
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Revision Session 1.UML Overview 2.Detailed software design : operation specification, designing for re-use.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Bina Nusantara 7 C H A P T E R MODELING SYSTEM REQUIREMENTS WITH USE CASES.
Modeling System Requirements with Use Cases
© Copyright Eliyahu Brutman Programming Techniques Course.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Use Case Diagram (UCD) Yong Choi BPA.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
CMIS 470 Structured Systems Design
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Class, Sequence and UML Model.  Has actors and use cases.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Interaction diagrams Sequence and collaboration diagrams.
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.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Drawing System Sequence Diagrams
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Systems Analysis and Design in a Changing World, Fourth Edition
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)
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 What to do if you want to build a new house? › Buy a bunch of wood and nails and start immediately. › Or, put some blueprints to follow, and plan of.
 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.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Ondřej Přibyl Faculty of Transportation Sciences, CTU DESIGN OF ITS SYSTEMS Project support 1 3 PROJECT SUPPORT Use cases.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Object-Oriented Analysis and Design with the Unified Process
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
System Modeling Chapter 4
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
Chapter 4 System Modeling.
Unıfıed modellıng language (uml)
Presentation transcript:

Object-Oriented Analysis and Design with the Unified Process by Şensev Alicik

Unified Modelling Language (UML) is a standardized language used for the collection, analysis and processing of requirements as well as for the specification message exchanges and overviews of architecture and behaviour specifications. UML is standardized by the Object Management Group. WHAT IS UML?

UML is increasingly popular in the telecommunications world, as software becomes more important for telecommunications equipment manufacturers. As networks move towards server-based architectures, software applications are replacing traditional switched based functionality. With its different notations, UML is well suited to the standards making process. At almost any given stage in the development of a standard there is a UML notation available for the task. WHAT IS UML?

There are a number of different UML diagrams that provides a look of the system from different perspectives, here are the models required for the ITEC402 graduation report: Use Case diagram Use Case descriptions Class diagrams Activity diagrams Sequence diagrams UML DIAGRAMS

To gain the greatest benefit from UML, it must be used at the beginning of the process when requirements are being collected, reviewed and evaluated. Traditionally, this has been a relatively informal activity involving discussion within technical committees. UML can provide the formalization and visualization which make the requirements clear and unambiguous. WHAT IS UML?

Use case illustrates a unit of functionality provided by the system. The main purpose of the use-case diagram is to help development teams visualize the functional requirements of a system, including the relationship of "actors" (human beings who will interact with the system) to essential processes, as well as the relationships among different use cases. Use-case diagrams generally show groups of use cases — either all use cases for the complete system, or a breakout of a particular group of use cases with related functionality (e.g., all security administration-related use cases). USE CASE DIAGRAM

To show a use case on a use-case diagram, you draw an oval in the middle of the diagram and put the name of the use case in the center of, or below, the oval. To draw an actor (indicating a system user) on a use-case diagram, you draw a stick person to the left or right of your diagram (and just in case you're wondering, some people draw prettier stick people than others). Use simple lines to depict relationships between actors and use cases, as shown in Figure 1. USE CASE DIAGRAM

FIGURE 1 - USE CASE EXAMPLE

A use-case diagram is typically used to communicate the high-level functions of the system and the system's scope. By looking at our use-case diagram in Figure 1, you can easily tell the functions that our example system provides. This system lets the band manager view a sales statistics report and the Billboard 200 report for the band's CDs. It also lets the record manager view a sales statistics report and the Billboard 200 report for a particular CD. The diagram also tells us that our system delivers Billboard reports from an external system called Billboard Reporting Service. In addition, the absence of use cases in this diagram shows what the system doesn't do. For example, it does not provide a way for a band manager to listen to songs from the different albums on the Billboard 200 — i.e., we see no reference to a use case called Listen to Songs from Billboard 200. This absence is not a trivial matter. With clear and simple use-case descriptions provided on such a diagram, a project sponsor can easily see if needed functionality is present or not present in the system. USE CASE DIAGRAM

It’s a formal method of documenting a use-case. One of the major difficulties that software developers have is struggling to obtain a deep understanding of the users’ needs. But if you create a fully developed use-case description, you increase the probability that you thoroughly understand the business processes and the ways the system responds to them. USE-CASE DESCRIPTION

USE-CASE DESCRIPTION TEMPLATE 1 Author: Date: USE CASE NAME: ACTOR(S): DESCRIPTION: TYPICAL COURSE OF EVENTS: Actors ActionsSystems Response ALTERNATE COURSE: PRECONDITION: POSTCONDITION: ASSUMPTIONS:

USE-CASE DESCRIPTION TEMPLATE 2

USE-CASE DESCRIPTION TEMPLATE

The class diagram shows how the different entities (people, things, and data) relate to each other; in other words, it shows the static structures of the system. A class diagram can be used to display logical classes, which are typically the kinds of things the business people in an organization talk about — rock bands, CDs, radio play; or loans, home mortgages, car loans, and interest rates. Class diagrams can also be used to show implementation classes, which are the things that programmers typically deal with. An implementation class diagram will probably show some of the same classes as the logical classes diagram. CLASS DIAGRAMS

A class is depicted on the class diagram as a rectangle with three horizontal sections, as shown in Figure 2. The upper section shows the class's name; the middle section contains the class's attributes; and the lower section contains the class's operations (or "methods"). FIGURE 2 – SINGLE CLASS

In Figure 3, we see both the inheritance relationship and two association relationships. The CDSalesReport class inherits from the Report class. A CDSalesReport is associated with one CD, but the CD class doesn't know anything about the CDSalesReport class. The CD and the Band classes both know about each other, and both classes can be associated to one or more of each other. FIGURE 3 – CLASS DIAGRAM

Activity diagrams show the procedural flow of control between two or more class objects while processing an activity. Activity diagrams can be used to model higher-level business process at the business unit level, or to model low-level internal class actions. In my experience, activity diagrams are best used to model higher-level processes, such as how the company is currently doing business, or how it would like to do business. This is because activity diagrams are "less technical" in appearance, compared to sequence diagrams, and business- minded people tend to understand them more quickly. ACTIVITY DIAGRAMS

FIGURE 4 - ACTIVITY DIAGRAM

Sequence diagrams show a detailed flow for a specific use case or even just part of a specific use case. They are almost self explanatory; they show the calls between the different objects in their sequence and can show, at a detailed level, different calls to different objects. A sequence diagram has two dimensions: The vertical dimension shows the sequence of messages/calls in the time order that they occur; the horizontal dimension shows the object instances to which the messages are sent. SEQUENCE DIAGRAMS

FIGURE 5 - SEQUENCE DIAGRAM

It’s a formal language Each element of the language has a strongly defined meaning, so youcan be confident that when you model a particular facet of your system it will not be misunderstood. It’s concise The entire language is made up of simple and straightforward notation. It’s comprehensive It describes all important aspect of a system. CONCLUDING UML

It’s scaleable Where needed, the language is formal enough to handle massive system modeling projects, but it also scales down to small projects, avoiding overkill. It’s built on lessons learned UML is the culmination of best practices in the object-oriented community during the past 15 years. It’s the Standard UML is controlled by an open standards group with active contributions from a worldwide group of vendors and academics, which fends off “vendor lock- in” The standard ensures UML’s transform-ability and interoperability, which means you aren’t tied to a particular product. CONCLUDING UML

Thank You For Your Attention !!! THE END