Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Similar documents
Outline of Unified Process

Contents(1) Basic Concepts to represent the world Basic Concepts for Reuse Information Hiding Principle and Java Program Superiority of OOT

CS487 Midterm Exam Summer 2005

Object-Oriented Software Development Goal and Scope

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Designing Component-Based Architectures with Rational Rose RealTime

Systems Analysis and Design in a Changing World, Fourth Edition

Object-Oriented Design

UML Views of a System

Software Architecture

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Details of Class Definition

Chapter 1: Programming Principles

Hippo Software BPMN and UML Training

Pattern for Structuring UML-Compatible Software Project Repositories

Software Development Methodologies

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Credit where Credit is Due. Goals for this Lecture. Introduction to Design

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Introduction to Unified Modelling Language (UML)

Sofware Requirements Engineeing

Processes, Methodologies and Tools. Fall 2005

Index. : (colon), 80 <<>> (guillemets), 34, 56

Use Case Modeling. Bernd Bruegge Carnegie Mellon University School of Computer Science. 8 September Bernd Brügge Software Engineering 1

New Features of UML2.0 UML2 UML2.0. Koichiro Ochimizu, JAIST UML Structured Classifier. Design View (Internal structure diagram)

Software Engineering with Objects and Components Open Issues and Course Summary

Managing Change and Complexity

Unit Wise Questions. Unit-1 Concepts

Week 9 Implementation

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

Architectural Blueprint

Object Oriented Analysis and Design - Part2(Design)

Testing in the Agile World

Importance of Rational ROSE in Software Development Process Models

Rational Software White paper

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

Analysis and Design with UML

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

OO Project Management

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Contents(1) Basic Concepts to represent the world Basic Concepts for Reuse Information Hiding Principle and Java Program Superiority of OOT

Object-Oriented Design

SE310 Analysis and Design of Software Systems

Chapter 1: Introduction to Systems Analysis

Systems Analysis & Design

Object-Oriented Design

Architecture and the UML

10조 이호진 이지 호

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect

History of object-oriented approaches

Model-based Transition from Requirements to High-level Software Design

Outline for Today CSE 142. Programming a Teller Machine. CSE142 Wi03 I-1. ATM Algorithm for Dispensing Money

The ATCP Modeling Framework

The Dynamic Model. An Introduction to UML. Enterprise Architect. by Geoffrey Sparks. All material (c) Geoffrey Sparks

*ANSWERS * **********************************

Content(2) Contribution of OOT in Software Engineering History of SE Technologies and Contribution of OOT JAIST Koichiro Ochimizu

Object-Oriented Design

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

Chapter 1: Principles of Programming and Software Engineering

INTERNAL ASSESSMENT TEST III Answer Schema

Basic Structural Modeling. Copyright Joey Paquet,

Topic : Object Oriented Design Principles

The Process of Software Architecting

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lecture 8 Requirements Engineering

UNIT-I Introduction of Object Oriented Modeling

Appendix A - Glossary(of OO software term s)

Elevator Control System

Software Development Methodologies

Dimensions for the Separation of Concerns in Describing Software Development Processes

Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)

S1 Informatic Engineering

Information System Design (IT60105)

SE310 Analysis and Design of Software Systems

Object Orientated Analysis and Design. Benjamin Kenwright

How to build a UML model

Software Architectures. Lecture 6 (part 1)

Object-Oriented Analysis and Design Using UML

Best Practices for Model-Based Systems Engineering

index_ qxd 7/18/02 11:48 AM Page 259 Index

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Lecture 2: Software Engineering (a review)

Requirements and Design Overview

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)

Steps in Using COMET/UML

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

UML Is Not a Methodology

Characterizing your Objects

Object-Oriented Analysis and Design Using UML (OO-226)

Lecture 7: Software Processes. Refresher: Software Always Evolves

Transcription:

Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association, ) Feb. 28th 13:00 Basic Concepts on Interaction (message passing, operation, method, polymorphism) 14:30 Basic Concepts on Reuse (super class, class inheritance, interface inheritance) March 1st 13:00 Introduction to Java Programming 14:30 Outline of UML and Unified Process Abstraction of entities in the domain from the viewpoint of satisfy-one s-hunger h1 a1 a2 h2 The world view We can represent the domain simply by A set of objects and their interaction) Modeling the Domain Description of possibility public class hungryperson { hungry apple person state of volume int state-of-hunger hunger satisfy void eat () eat eaten hunger } public class apple { hungry person apple int volume void eaten () } Definition of static structure Program and dynamic behavior state-ofhunger eat() state-ofhunger eat() volume eaten() volume eaten() Object Oriented Analysis/Design/Programming Domain OOA Iterative and Incremental Definition of the problem Model OOD/OOP Construction of the solution Program Reproduction of the Domain in the main memory Relationship between Methods and UML Method 1 Method 2 Method 3 Description UML UML1.5 Very popular now and help us make and analyze: Use-case Diagrams for defining functional requirements Diagrams for finding analysis classes Class Diagramsfor designing the static structure Sequence Diagrams for defining objects interaction State Diagrams for defining the behavior of each object Deployment Diagrams for allocating objects to machines Component Diagrams for packaging UML&UP outline 1

The s in UML Component Deployment Use-Case Logical Concurrency H.E. Eriksson and M. Penker, UML Toolkit John Wiley & Sons, Inc. Relationships between views and diagrams in UML Use-Case Use-Case Diagram Logical Class Diagram, Object Diagram State Diagram, Sequence Diagram, Diagram, Activity Diagram Concurrency State Diagram, Sequence Diagram, Diagram, Activity Diagram Component Diagram,, Deployment Diagram Deployment Deployment Diagram Component Component Diagram The Unified Software Development Process Description Event Sequences between actors and the system Functional Requirements Use-Case Model Use-Case Diagram Analysis Model describe Realization a Use-Case by a Diagram and a Flow of Event Description Design Model Class Diagram, Sequence Diagram, and Statechart Diagram Deployment Model Deployment Diagram Implementation Model Component Diagram Test Model Test Case System Description Analysis of inside of the system Description Analysis Classes Event Sequences between actors and the system Event Sequences between actors and the System Use case Event Flow Description Diagram UML&UP outline 2

Class Diagram (Analysis Class + Design Class) Final Step of Modeling (Definition of Static Structure and Dynamic Behavior) Use case A Use-Case diagram with an actor and three use cases UML Notations : icon for Stereotype Deposit Money Transfer between s Stereotypes Stereotype/keyword Applies to symbol Meaning Specifies a coherent set of roles class that users of use cases play when interacting these use cases Guide, The Description 1. The identifies himself or herself 2. The chooses from which account to withdraw money and specifies how much to withdraw 3. The system decreases the amount from the account and dispenses the money. The Realization of a in the Analysis Model Use-Case Model Analysis Model Use case are also used as placeholders for nonfuctional requirements ier Interface UML&UP outline 3

UML notation collaboration name A collaboration gives a name to the mechanism of the system It also serve as the realization of a use case It defines a group of objects and their interaction A directed dashed line means dependency In this case, trace dependency Guide, Analysis Stereotypes In the analysis model, three different stereotypes on classes are used: <<boundary>>, <<control>>, <<entity>>. Boundary Control ier Interface Entity Analysis Stereotypes <<boundary>> classes in general are used to model interaction between the system and its actors. <<entity>> classes in general are used to model information that is long-lived and often persistent. <<control>> classes are generally used to represent coordination, sequencing, transactions, and control of other objects. And it is often used to encapsulate control related to a specific use case. A collaboration diagram for the use-case realization in the analysis model 1: identify : ier Interface 2: request withdrawal 3: validate and withdraw : : : 4: authorize dispense 5: dispense money : UML notation identify Message Guide, Flow of Events Description of a Use-Case Realization A chooses to withdraw money and activates the ier Interface object. The identifies himself or herself and specifies how much to withdraw and from which (1). The ier Interface verifies the s identity and asks a object to perform the transaction (2) If the identity is valid, the object is asked to confirm that the bank customer has the right to withdraw the specified amount from the. The object confirms this by asking the object to validate the request and, if the request Is valid, withdraw the amount (3). Then the object authorizes the to dispense the amount that the requested (4). The then receives the requested amount of money (5). UML&UP outline 4

A Class Participating in Several Use- Case Realizations in Analysis Model Use-Case Model Transfer between s Analysis Model ier Interface Transfer Money Deposit Money Deposit receptor Analysis Class Focus on functional requirements in defining analysis class. Deal with non functional requirements in design phase or implementation phase. Make the class responsibility clear Define attributes that exist in a real world Define association but do not Include details like navigation Use stereotype classes; <<boundary>>, <<control>>, and <<entity>>. Analysis Class and Design Class Add solution domain classes to problem domain classes Analysis classes UML notation Display ier Interface Key Pad withdrawal Persistent Class Active Class Has a thread and can initiate a control activity Card Design Classes Guide, Card Class Diagram for use case withdraw money Insert card Card Sequence Diagram for use case withdraw money Display Key Pad Card inserted (ID) Display Key Pad withdrawal Persistent Class Show request Specify PIN code Show request Specify amount Ask for PIN code PIN code (PIN) Ask for amount to withdraw Amount (A) Request PIN validation (PIN) Request cash availability Request amount withdrawal (A) UML&UP outline 5

Group Classes into Subsystems <<subsystem>> ATM interface Card Display Key Pad Dispensing <<subsystem>> Management <<service subsystem>> Management <<sub system>> Management Persistent Class Transfers Components that implements Design Classes <<file>> client.c <<executable>> client.exe <<compilation>> <<file>> dispenser.c Test Cases are derived from Model Withdraw money Test Model Basic Flow - What do Software Engineering Projects consider important? by Pete McBreen Traditional Waterfall Projects Specialization of staff into different roles to support the different phases is claimed to promote efficiency by reducing the number of skills a person needs. With clear milestones between phases and known dependencies between deliverables, it is easy to display a waterfall project on a PERT chart. Comprehensive documentation is important, so that at the end of the project it is possible to justify the overall costs. This supports the tracking of the project because it makes everything available for external review. A side benefit of all of this documentation is traceability. Unified Process ( supports Incremental development in the context of a phased approach) Inception( evaluating the economic feasibility of the project, forcing the team to define the overall project scope, plan the remaining phases, and produce estimates) Elaboration (evaluating the technical feasibility of the project by creating and validating the overall software architecture) Construction ( at the end of each increment, new and changed requirements can be incorporated into the plans, and the estimates can be refined based on experiences in the previous increments) Pete McBreen, Questining extreme Programming, Addison-Wesley, 2003. What do Software Engineering Projects consider important? by Pete McBreen Open Source Project Free, unrestricted access to the source code so that developers can share and learn The reputation of the project s developers Frequent releases back to the community Agile Individuals and interactions over processes and tools Working software over comprehensive documentation collaboration over contract negotiation Responding to change over following a plan XP A predictable, sustained, and sustainable pace in the face of changing requirements A collaborative, supportive environment for developers Enhancement of the skills and knowledge of the development team Exercise Review the content of my lecture by answering the following simple questions. Please describe the definition of each technical term. 1. Please describe the relationship between UML and methods. 2. Why do we define the use case model? 3. What is a use case description? 4. What is an collaboration of UML? 5. What are analysis ( or problem domain ) classes? 6. What are design classes? 7. How can we define the interaction among objects using UML notations? 8. How can we define the behavior (or lifecycle) of an object using UML notations? 9. What is a stereotype of UML? Pete McBreen, Questining extreme Programming, Addison-Wesley, 2003. UML&UP outline 6