The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.

Slides:



Advertisements
Similar presentations
Testing Workflow Purpose
Advertisements

Test Yaodong Bi.
Gerhard Dueck -- CS3013Capturing Requirements as Use Cases 1 Capturing the Requirements as use Cases  Requirements Description  We need to describe –The.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Use-case Modeling.
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.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Rational Worldwide Software Symposium
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Object Oriented Analysis and Design Using the UML
Chapter 7: The Object-Oriented Approach to Requirements
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
RUP Implementation and Testing
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Unified Modeling Language, Version 2.0
SWE © Solomon Seifu CONSTRUCTION. SWE © Solomon Seifu Lesson 13-2 Testing.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
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.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
UML-1 8. Capturing Requirements and Use Case Model.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
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,
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
Use Case, Component and Deployment Diagrams University of Sunderland.
Basic Characteristics of Object-Oriented Systems
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.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
 System Requirement Specification and System Planning.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
Unified Modeling Language
University of Central Florida COP 3330 Object Oriented Programming
UML: Unified modeling language
Rational Worldwide Software Symposium
Introduction to UML.
Rational Worldwide Software Symposium
Design Yaodong Bi.
Rational Worldwide Software Symposium
Software Development Process Using UML Recap
Presentation transcript:

The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999

Remainder p. 11

Workflows The Workflows are carried in each iteration as far as required for a particular iteration. Workflows interact by using one another’s products and widening them. Traceability - one can trace back and forward the products of each workflow. Workflows can be alternate forth and back during iteration.

UML – Unified Modeling Language Standard modeling language for software. “Language for visualizing, specifying, constructing, and documenting the artifacts of a software intensive system” Goes hand by hand with the Unified Software Development Process. The artifacts and products of each workflow are written by UML. I will explain the idea behind the artifacts, I will not show the artifacts representation in UML.

Requirements Capture Requirements capture – the process of finding out, usually under difficult circumstances, what is to be built. Why requirements capture is difficult?  Developers of the system are usually not the users.  The users don’t know what are the requirements or how to specify them in a precise manner.  Systems are big and has many users and users types – no one can see the whole picture.  Each system has it own unique requirements and functionalities.

Requirements workflow Purpose – building the right system. Achieved by:  Describing the requirements well enough so that an agreement can be reached between customer and developers on what system should and should not do.  Use the customer language to describe the results of the requirements capture.

Requirements Workflow Main Products Actors – each type of user and each external system interacts with are represented as actors Use Cases – each way the actors use the system is represented as a use case. “Chunks” of functionality that of the system. Special requirements – non-functionality requirements which has to be dealt in a use case – written in the appropriate use case as text. Use-Case model – holds all of the use cases, actors and their relations. Architecture Description – the important use cases of the model. Used for prioritizing developing of uses cases.

Analysis Since we focused on the customer language - requirements workflow leave some unresolved issues in the system description: internal details, interfaces, redundancies etc. Analyzing the requirements mode in-depth and supply more formally results. The results given in the developer language. Give more precise specification of the system.

Analysis Main Products Analysis class –Conceptual, functional, high level representation of one or several classes and/or subsystems in the system. Use-Case realization - Analysis – description of how a specific use case is realized and performed in terms of analysis classes and their interacting analysis objects. Contains:  Class diagram – the classes that participate in the use-case realization.  Interaction diagram – describe the sequence of actions in a use case in general i.e. which class is applying which class and when in the realization.

Analysis Main Products – Cont. Analysis classes and Use-Case realization can be organized on analysis packages. Analysis model - contains the analysis classes, use-case realizations and packages. Architecture description – contain architectural view of the analysis model – description of the components in the Analysis model which consider to be crucial for the system architecture. (main use-case realizations, key analysis classes etc.).

Design Shaping the system and its form that lives up to all requirements. Acquire in-depth understanding of non-functional requirements and other constrains like: programming languages, OS, DB technologies, UI technologies etc. Capturing requirements for on individual subsystems, interfaces and classes. Capture major interfaces between subsystems early as possible in software life’s cycle.

Design – Cont. Decompose the implementation (on next workflow) into manageable and independent tasks. Create seamless abstraction of the system’s implementation so the implementation will be straightforward refinement of the design by filling in the “meat” but not changing the structure.

Design Main Products Design Class – seamless abstraction of class in the system’s implementation including:  Attributes and their visibility  Methods  Etc. Use-Case realization - Design – specification of how specific use case is realized and performed in terms of design classes. Contain:  Class diagram – the classes that participates the realization of the use case and their relationships.  Interaction diagram - describe the sequence of actions in a use case which method of which class is called by which class etc.

Design Main Products – Cont. Interface – specify the operations provides by design classes and subsystems. Classes and use case realizations can be organized in Design subsystems. Design model – all design classes, use-case realizations and subsystems. Architecture description (view of design model) – contain architectural view of the design model – description of the components in the design model which consider to be crucial for the system architecture. (e.g. design subsystems and their interfaces and dependencies, key design classes, key use-case realizations).

Implementation Implement the system in terms of components that is source code, scripts, binaries etc. Implement the design classes and subsystems. Unit test the components of the implementation.

Implementation Main Products Source code files, executables, binaries, libraries, etc. All these actual files which product by an implementation are called Build. Also UML objects: Component – represents an actual product of the implementation. Interface – describe the operations which implemented by components or implementation subsystem.

Implementation Main Products – Cont. Implementation subsystem – organize some components and their interfaces. Implementation model – contain all components, interfaces and implementation subsystems. Architecture description (implementation view) – contain architectural view of the implementation view model – description of the components in the implementation model which consider to be crucial for the system architecture. (e.g. Key components, main subsystem and their interfaces).

Test Verify the result from implementation be testing each build. Integration tests. Plan the required test in each iteration. Design and implement tests by creating test cases. Perform the test cases and handle the tests results:  If a test of a build fails then it is retested and might sent back to previous workflows in order to fix significant defects.

Test Products Test case – specifies one way to test the system. Includes:  What to test – generally one use-case (“black box”) or use-case realization-design (“white box”) or a specific scenario of a use case or use case realization-design.  Input, test conditions.  Expected result Test procedure – specify how to perform a test case, a series of test case or a part of test case. Test component (drivers) – automation of one or several test cases. Used to tests the components of the implementation workflow.

Test Products – Cont. Test Plan – the strategies, resources and schedules of the testing. Defect – bug or other problem which was found during the tests. Test Evaluation – the state of the testing process and the current defects status.

Workers, Workflow The book also describes who are the workers – i.e. the functionaries who take place in each workflow. For example: System analyst, Use- Case specifier, UI designer, architect, Use-Case engineer, Component engineer, System integrator, Test designer, Integration tester and System tester. The book also describes how each workflow should be performed, i.e. how the workers should produce the products (artifacts).