Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.

Slides:



Advertisements
Similar presentations
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Advertisements

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
© Copyright Eliyahu Brutman Programming Techniques Course.
SwE 313 Introduction to Rational Unified Process (RUP)
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process.
Use Case Analysis – continued
Object Oriented Analysis and Design Using the UML
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 19 Chapter 2 Text Introduction to Rational Unified Process.
Principles of Object Technology Module 1: Principles of Modeling.
The Design Discipline.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
©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.
Rational Unified Process Fundamentals Module 4: Disciplines II.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Faculty of Computer & Information Software Engineering Third year
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 7 System models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process Adapted by Dr. Spiegel.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
TAL7011 – Lecture 4 UML for Architecture Modeling.
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process.
Rational Unified Process Fundamentals Module 3: Disciplines I.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Introduction to Rational Unified Process
Essentials of Visual Modeling w/ UML Instructor Notes
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
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.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
1.Introduction to Rational Unified Process (RUP)
Software Design Lecture : 15.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified in many cases to support instructional needs. Original developed by Rational

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 2 Objectives: Rational Unified Process We have talked about these in general. Now, for a more formal discussion:  Describe the Unified Modeling Language (UML)  Define what a software development process is  Describe the Rational Unified Process  Explain the four phases of the Rational Unified Process and their associated milestones  Define iterations and their relation to phases  Define artifact, worker, and activity  State the importance of automated tool support

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 3 The RUP  Software Development is a process of developing a software system from requirements.\  A software process provides a disciplined approach to assigning tasks and responsibilities to ensure the production of high-quality software within a predictable schedule / budget.  The RUP is a software process that incorporates the six best practices we’ve discussed.  The RUP formalizes these best practices into a written set of procedures/practices that are complete and self-consistent.

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 4 In Building a System, a Language (like English) is Not Enough Modeling Language Unified Process Team-Based Development We need a Modeling Language! We will use the Unified Modeling Language, UML) Provides a standard for artifacts produced by workers in roles undertaking activities during development – (semantic models, syntactic notation, and diagrams. things that must understood, controlled, and exchanged.) We need a development Process We will follow the Rational Unified Process (RUP) It is ALL ABOUT PROCESS (and object culture). While UML has a very high value as a common modeling language, successful software development requires a development process! So, we are talking about a Process (RUP) and a modeling language (UML).

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 5 What Is the UML?  Have seen parts of this slide before….  The Unified Modeling Language (UML) is a language for Specifying Visualizing Constructing Documenting the artifacts of a software-intensive system UML is now the industry standard modeling language. We will use UML 2.0 Has been under development since 1990 Important to note that UML does not dictate an OO approach – but greatly supports it!

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 6 The UML Provides Standardized Diagrams Deployment Diagrams Deployment Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Models State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams Collaboration Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Use-Case Diagrams Activity Diagrams Activity Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Class Diagrams Class Diagrams In building visual models, many different diagrams are needed to represent different views of the system. (different views to different stakeholders). Use Case Diagrams (ahead) – illustrate user interactions with the application. Activity Diagrams illustrate the flow of events in a Use Case (all scenarios). Class diagrams represent logical structure, while Interaction Diagrams illustrate behavior (show how objects collaborate via message passing to provide features (responsibilities) of the objects.. Other diagrams are used to illustrate other viewpoints necessary in some (but not all) circumstances, such as the State Diagrams, Deployment diagrams, …

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 7 A Sample UML Diagram: Use-Case Diagram A University Course Registration System Professor Select Courses to Teach Student Course Catalog Register for Courses Maintain Student Information Maintain Professor Information Registrar Billing System Close Registration Use Case diagrams are used to show the existence of Use Cases and their relationships both to other Use Cases and to Actors. An Actor is something/one external to the system that interfaces with the system and receives ‘value,’ from it, such as a user. Use Cases model dialogue (interchange) between actors and system. A Use Case is initiated by an Actor to invoke certain functionality – like Register for Courses (see Use Case). Arrow indicates direction of initiation of the interaction. A Use Case Narrative (Specification) is a complete, meaningful flow of events! A Use Case

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 8 A Sample UML Diagram: Classes A University Course Registration System MainForm // select maintain schedule() > MaintainScheduleForm + // open() + // select four primary and two alternate offerings() > CourseCatalogSystem // get course offerings() > 10..* RegistrationController // add courses to schedule() // get course offerings () > 1 1 Schedule // create with offerings() > Classes – different kinds (here, boundary, control, entity classes) Note: multiplicity; association Be sure to understand notation….. multiplicity; aggregation; stereotypes… MUCH MORE ABOUT THESE CLASSES LATER!

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 9 UML Diagrams Are Key Artifacts Produced Actor A Use-Case 1 Use-Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw() fetch() send() receive() > Forward Engineering(Code Generation) and Reverse Engineering Executable System User Interface Definition Domain Expert Use-Case 3 Source Code edit, compile, debug, link Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram State Diagram Package Diagram Deployment Diagram Class Have seen this slide before too.

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 10 New or changed requirements New or changed system Software Engineering Process What Is a Process? A process defines Who is doing What, When and How to reach a certain goal. In software engineering the goal is to build a software product or to enhance an existing one We will use the RUP - a generic process that uses UML as a modeling language. The RUP can be used for any kind of software system (information system, scientific or engineering-oriented system, etc.)

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 11 As An Effective Process, the RUP:  Provides guidelines for efficient development of quality software  The RUP provides suggested flows of activities and assignment of roles to artifacts  Reduces risk and increases predictability  The RUP: Through iteration planning, risks aggressively attacked up front  Captures and presents best practices – very detailed.  RUP: Mentor on your desktop – tool mentors, guidelines,  Promotes common vision and culture. Same model elements; same meanings; different contexts.  Contains disciplines – addressing all stakeholder concerns  Provides roadmap for applying tools – it is NOT just a theory  RUP: Suggests activity sequences; Adaptable for large and small projects.  Delivers information on-line, at your finger tips  RUP: Many ‘mentors’ on line; tutorials, etc.  The RUP is a use-case driven, architecture-centric, iterative development process!   WHAT DOES THIS MEAN TO YOU? VERY IMPORTANT! KNOW THIS!!!!  Now, MORE>>>>>

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 12 Rational Unified Process Is Use-Case Driven Withdraw Money Customer An actor is someone or something outside the system that interacts with the system An actor receives VALUE from the system. A MUST. Example: ATM, transfer funds, withdraw money…. A Use-Case (actually the Use Case Narrative or Use Case Specification!) is a sequence of actions a system performs that yields an observable result of value to a particular actor Models functionality from user point of view!! Check Balance Use-Cases for a Cash Machine A collective set of Use Cases is said to constitute The Use Case Model and represent all the possible ways of using the system. (end-user view; functionality!!!) Use Case is thus a model of system’s intended functions. Use Cases can serve as a contract between customer and developer, and are said to capture total functionality. This is a Use Case Diagram. Contains UML symbols for Use Cases and for Actors. Also shows the relationships between an actor and the use cases.

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 13 Use-Case Specifications Include a Flow of Events Consider, for example, the flow of events for the Withdraw Money Use-Case. (Example is quite general….) 1. The Use-Case begins when the customer inserts a cash card. The system reads and validates information on the card. 2. The system prompts for the PIN. The customer enters the pin. The system validates the PIN. 3. The system asks which operation the customer wishes to perform. The customer selects “Cash withdrawal.” 4. The system requests the amount. The customer enters the amount. 5. The system requests the account type. The customer selects checking or savings. 6. The system communicates with the ATM network... REMEMBER: The RUP is a use-case driven, architecture- centric, iterative development process! Note the interchange. This text is typical in a Use Case narrative (Interchanges may/may not be numbered’)

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 14 Rational Unified Process as a Use-Case Driven Process:  Use-Cases are concise, simple, and understandable by a wide range of stakeholders  End users, developers and testers, others all understand functional requirements of the system.  Use-Cases drive numerous activities in the process:  Creation and validation of the design model  Definition of test cases and procedures of the test model  Planning of iterations (identifies functionality and risk and more…)  Creation of user documentation  System deployment, and MUCH more.

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 15 Use Case Driven… more  Use-Cases help synchronize / drive / tie together the content of different models and activities.  Note: Use Case descriptions use the language / jargon of the end user! (much more later)

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 16 Rational Unified Process: As a Architecture-Centric Process:  Architecture is a primary focus of the early iterations  Building, validating, and base lining the architecture constitute the primary objectives (but not all) of Elaboration Phase – especially the first iteration…  The Architectural Prototype model captures the architecture; serves as the baseline and drives development  The Software Architecture Document may capture this architectural description.  Platforms; distribution; high-level design models (client/server; pipe/filter…)  Identification of potential items of high risk!  Other artifacts are derived from architecture:  Much more later on architecture… Essential!

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 17 Representing Architecture: The 4+1 View Model Process View Deployment View Logical View Implementation View Programmers Software management Performance Scalability, Concurrency, Throughput, Parallelism… System Integrators System topology Delivery, installation Communication System Engineering Use-Case View Structure Analysts/ Designers End-user Functionality View A View is a complete description (an abstraction) of a system from a particular view- point or perspective – covering particular concerns and omitting others not relevant to this perspective. Different ‘views’ from different ‘stakeholders; different concerns. Model A Model is a complete representation. Model consists of Views. Functional requirements Logical View Functional Requirements – Deals with design, packages, sub- systems, and classes, layers, … Implementation View – deals mostly with programming and organization of the static software modules & unit test

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 18 Benefits of an Architecture-Centric Process  (Think ‘parts’: layers, subsystems, packages, relationships, components, etc….)  Lets you gain and retain intellectual control over a project, to manage its complexity, and to maintain system integrity  (Principles of design: divide and conquer; coupling; cohesion, reusability, etc. much more later…)  Provides an effective basis for large-scale reuse  Provides a basis for project management – allocation to teams…  Facilitates component-based development (from separate architectural components – interchange (swap) well-defined components.  Components fulfill a clear function in the context of a well-defined architecture  A component conforms to and provides the physical realization of a set of interfaces

Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 19 Benefits of an Architecture-Centric Process - more  Architecture is not just the sum of parts  Consists of small, independent tactical decisions that provides a structure on how to grow the system without having the complexity to blow your minds.  Architecture gives us structure for this and rules to guide us.  Third description: The RUP is a use-case driven, architecture-centric, iterative development process!  To set the stage for further discussion of the ‘iteration,’ we need more on the structure on the RUP.