Object Oriented Analysis and Design

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Chapter 3 Process Models
Business Driven Technology Unit 5
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
03/12/2001 © Bennett, McRobb and Farmer Development Process Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
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.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
RUP Fundamentals - Instructor Notes
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
RUP Implementation and Testing
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
The Rational Unified Process 1 EECS810: Software Engineering.
The principles of an object oriented software development process Week 04 1.
Rational Unified Process (RUP)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Unified Process Software Development Darren Roback/Ravali Kallem CMIS Fall 2009.
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
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
June 2008Mike Woodard Rational Unified Process Overview Mike Woodard.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
Software Development Framework
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Software Development.
Process 4 Hours.
The Unified Software Development Process
Chapter 3 Prescriptive Process Models
Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Chapter 1: Introduction to Systems Analysis and Design
Unified Process Source & Courtesy: Jing Zou.
Software Process Models
UNIFIED PROCESS.
UML: Unified modeling language
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Processes.
Requirements and the Software Lifecycle
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Rational Worldwide Software Symposium
Rational Unified Process
Rational Unified Process (RUP)
Chapter 2 – Software Processes
Process Models Coming up: Prescriptive Models.
Rational Worldwide Software Symposium
Software engineering -1
The Unified/Rational Unified Process (UP/RUP) Defined
Chapter 3 Prescriptive Process Models
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 1: Introduction to Systems Analysis and Design
Rational Worldwide Software Symposium
Chapter 1: Introduction to Systems Analysis and Design
CSCI 360: Software Architecture & Design
Presentation transcript:

Object Oriented Analysis and Design Software Development Process

Advantages of Efficient Software Development methodology Minimum requirement changes which increases confidence that each delivery will be on time. The length of time between deliveries is longer compared to most agile methods, which reduces costs since delivering software has overhead associated with it.

Advantages of Efficient Software Development methodology Producing a requirements document, specification document, a design document (pseudo code / diagram) gives the developer opportunity to think about the code and design the code well from the start. Bug fixing and code changes can be done faster and more efficiently which saves time and money.

Advantages of Efficient Software Development methodology If the developer is sick, on vacation or leave the project, a substitute developer can be assigned the work Developer can focus on designing and writing the code and not spend any time on the tests until all the code is written

Unified Software Development Process(USDP) USDP has been developed by the team that created UML It is claimed that the USDP embodies much of the currently accepted best practice in information systems development.

Unified Software Development Process(USDP) USDP embodies Iterative and incremental development. Component based development Requirements driven development Configurability Architecture centrism Visual modeling techniques

Main Activities in USDP Activity Technique Deliverable Requirement capturing Use case modeling Initial use case model Requirements analysis Class and object models Analysis modeling Analysis model System design Component model Package modeling Architectural model Overview design and implementation architecture Class design Class and object modeling Interaction modeling State modeling Design patterns Design models Data Management design Class and object modeling Interaction modeling Design models with database specification

Main Activities in USDP Activity Technique Deliverable Interface Design Class and object modeling Interaction modeling State modeling Package modeling Prototyping Design patterns Design models with interface specification Construction Component reuse, DDL Constructed system documentation Testing Test procedures Tested system Implementation

Unified Software Development Process(USDP) The Unified Software Development Process or Unified Process is a iterative and incremental software development process framework. The best-known and extensively documented refinement of the Unified Process is the Rational Unified Process (RUP). Other examples are OpenUP and Agile Unified Process.

Rational Unified Process Rational Unified Process is a software development process from Rational Software, a division of IBM for object oriented software development in UML. RUP is a specific implementation of the Unified Process. This is a use-case driven, architecture centric, iterative and incremental software development model. It divides the development process into four distinct phases that each involve business modeling, analysis and design, implementation, testing, and deployment. 

Rational Unified Process Inception Construction Transition Production Elaboration

Phases in RUP Inception Phase: It includes both customer communication and planning activities. By collaborating with the customer and end users, business requirements for the software are identified. A rough architecture for the system is proposed, and a plan for the iterative, incremental nature of the project is developed.

Phases in RUP Inception Phase: Major work products Vision document Initial use case model Initial risk assessment Project Plan Business model Prototypes

Phases in RUP Elaboration Phase: This phase encompasses the planning and modeling activities of the generic process model. Elaboration refines and expands the primary use cases that were developed as part of the inception phase and expands the architectural representation to include five different views of the software the use case model, the analysis model, the design model, the implementation model and the deployment model.

Phases in RUP Elaboration Phase: Major Work Products Use-case model Requirements functional, non-functional Analysis model Software architecture Preliminary design model Revised risk list, revised prototypes

Phases in RUP Construction Phase: The construction phase of the UP is identical to the construction activity defined in the generic software process. Using the architectural model as input, the construction phase develops or acquires the software components that will make each use-case operational for end users. As components are developed, unit tests are designed and executed for each component. Integration testing and acceptance testing are carried out using use-cases to derive required test cases.

Phases in RUP Construction Phase : Major Work Products Design model Software components Integrated software increment Test cases Test Plan and Procedures Support documentation

Phases in RUP Transition Phase: The transition Phase of the UP encompasses the later stages of the generic construction activity and the first part of the generic deployment activity. Software is given to end-users for beta testing. The software team creates necessary support information (user manual, installation manual etc.). At the end of transition phase, the software increment becomes a usable software release.

Phases in RUP Transition Phase : Major Work Products Delivered software increment Beta test reports General user feedback

Phases in RUP Production Phase: The production phase of the UP coincides with the deployment activity of the generic process. During this phase, the on going use of the software is monitored, support for operating environment is provided, and defect reports and requests for change are submitted and evaluated.

Phases in RUP It is likely that at the same time the construction, transition and production phases are being conducted, work may have already begun on the next software increment. This means that the unified process do not occur in a sequence, but rather with staggered concurrency.