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.

Slides:



Advertisements
Similar presentations
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Advertisements

RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Object-Oriented Analysis and Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Rational Unified Process
SE 470 Software Development Processes James Nowotarski 21 April 2003.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Rational Worldwide Software Symposium
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
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
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Principles of Object Technology Module 1: Principles of Modeling.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
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
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Rational Unified Process (Part 1) CS3300 Fall 2015.
A Development Process Lecture Oo13 Objectory based method.
Chapter 1: The Object-Oriented Systems Development Environment Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Chapter 1: Introduction to Systems Analysis and Design
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Identify steps for understanding and solving the
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 7 Applying UML and Patterns Craig Larman
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
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.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
A DESIGN AND IMPLEMENTATION COURSE FRAMEWORK: A CURRICULUM PROPOSAL FOR AN EXPERIENTIAL APPROACH TO THE SYSTEMS ANALYSIS AND DESIGN AND THE PROJECTS IN.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The principles of an object oriented software development process Week 04 1.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
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.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
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.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
Chapter 1: Introduction to Systems Analysis and Design
Business System Development
Unified Process Source & Courtesy: Jing Zou.
UNIFIED PROCESS.
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Rational Worldwide Software Symposium
Rational Unified Process
Rational Worldwide Software Symposium
Chapter 1: Introduction to Systems Analysis and Design
Rational Worldwide Software Symposium
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

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 system design / architecture model? »what do we model in a detailed design model? »how do these models relate to each other? refinement? pure extension? mapping? tracing? »when, in which order do we make these models? »which techniques/diagrams do we use to which extent? Modeling all  all on a high-level, some detailed design of complex issues plus good code-documentation  some high-level models  no documentation at all? Quality assurance, prototyping, …: how do they match into the process? WHAT - WHY - WHO - WHEN - HOW

Process of Fusion The Fusion process knows seven main activities: Requirements: use case model (actors, use cases), some high- level use case specifications, non-functional requirements Analysis: system class diagram containing basic classes; system interface with detailed use case specifications, system operations and events, pre- and post-conditions for system operations GUI Design Architecture: technical framework of system, main components of the system, component interfaces and interactions Database Design Design for each component: design class diagrams, object collaboration diagrams, visibility, representation of associations, initial object configuration, detailed class descriptions Implementation: code

Rational Unified Process A product goes through various cycles, each cycle having the following phases: - Inception: proof of concept, feasibility, goals - Elaboration: detailed requirements, usage scenarios, architecture, components, high-level interaction patterns - Construction: refinement of architecture, risk-driven implementation iterations - Transition: facilitating user acceptance,... Each phase is split up into various iterations. Each iteration has analysis, design and implementation activities. Guiding principles in the Rational Unified / Objectory process: - Use-case driven - Controlled and iterative - Architecture-centric - Risk-driven

Deliverables Inception Phase Project description »about the project in general and its goals, not requirements »“unless you write it out, you can’t be sure everyone agrees on the same project description” »one short paragraph to a few pages for really large projects (r) Risk analysis –list of market factors (r) –list of risk factors: list of things that can go wrong in contrast to use cases that model expected behavior –list of assumptions Use case diagram, description of actors and use cases »determine system boundaries and project scope »one sentence descriptions for use cases and actors Project proposal –to get go / no-go decision

Scoping the project Defines that part of the system that will be build in this project. Project scope is not given by system boundaries! –prioritize requirements –take into account »market forces »skill of developers »money and time frame »risks –start small, grow powerful (in follow up projects) Similar to defining iterations, yet project wide. Helps to avoid getting stuck in requirements and use case modeling Scoping itself is iterative and scope must be redefined!

Deliverables Elaboration Phase Detailed primary scenarios Secondary scenarios Activity diagrams User interface diagrams or examples »e.g. by using story boarding Architecture, maybe class diagrams Prototypes Project plan »break down into iterations »cost estimates for iterations Changes to boundaries, scope, list of risk factors, list of actors, description of use cases as defined in inception phase!

Planning Construction Iterations What is done in the first iterations? core functionality »either implemented (if high risk) or as stubs (if low risk) use cases that handle high risks »update list of risks to reflect current situation (complex issues that are crucial and for which no solution is yet known) »prioritize risks and decide which ones need to be solved first primary scenarios of use cases only »first goal is to solve high risk challenges, full functionality comes later on Each iteration produces an executable, testable, in later iterations even deployable release of the system. »stubs, simulators, additional test-components »tested by other people than its developers (d: What should be planned for last iteration?)

Use Cases in the Process Inception phase: Use cases are developed to help scope out the project. Elaboration phase: More detailed use cases are developed for: »risk analysis »baseline architecture »plan the construction phase Construction phase: Uses cases are starting points for: »design (where more detailed use cases may be developed) »developing test plans Use cases are part of requirements to be satisfied. Transition phase: Use cases can be used to develop user guides and training.

Use Case Driven Use cases bind all workflows together Use cases are the starting point for requirements capture Use cases are used to define iterations Use cases help to structure user documentation Use cases help to define and structure test cases ==> advantages of use case driven approach? ==> dangers of use case driven approach ? (d)

Function versus Form ==> process is use case driven (helps organizing work and models) but architecture centric (is focus of models and work) ==> architecture and design patterns are not part of notation but have to be designed into models Use cases specify function Architecture specifies form

Other Elements of a Process Definition Either predefined or project-specific Consider a process like Rational Unified just as a framework where you plug in and derive from it the project specific, adapted and detailed process definition Also project definition is created incrementally and refined iteratively (inclusive project plan reviews) during the project! Other elements? (d)