Process 4 Hours.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
Chapter 2 – Software Processes
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SYSC System Analysis and Design
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Object-oriented Analysis and Design
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Principles of Object Technology Module 1: Principles of Modeling.
S/W Project Management
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,
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CLEANROOM SOFTWARE ENGINEERING.
The Rational Unified Process
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
A Development Process Lecture Oo13 Objectory based method.
Rational Unified Process Fundamentals Module 4: Disciplines II.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Chapter – 9 Checkpoints of the process
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
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
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
The Rational Unified Process 1 EECS810: Software Engineering.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
The principles of an object oriented software development process Week 04 1.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Pragmatics 4 Hours.
IEEE Std 1074: Standard for Software Lifecycle
Unified Process Source & Courtesy: Jing Zou.
Object oriented system development life cycle
Approaches to Systems Development
UML: Unified modeling language
Requirements and the Software Lifecycle
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Chapter 2 – Software Processes
Software engineering -1
Software Process Models
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
SNS College of Engineering Coimbatore
Logical Architecture & UML Package Diagrams
Presentation transcript:

Process 4 Hours

Agenda Process First Principles The Macro Process The Micro Process

First Principles Traits of Successful Projects Strong Architectural vision Iterative and Incremental lifecycle Architecture: Organization of System, its components along with its relationships (with each other and its environment) and principles guiding its design. Good Software Architecture Well-defined layers of abstraction Clear separation of concerns (interfaces and implementations) Simple (common behaviour is achieved through common abstractions and mechanisms)

Iterative and Incremental Lifecycle Well-defined problems. Developed in series of releases. Modern software development methods (Extreme Programming and SCRUM). Agile and Plan Driven

Advantages of an iterative approach Requirement changes Integration is progressive Risks are addressed early Tactical changes are possible Reuse is facilitated Defects can be found earlier Efficient project personnel employment Team members learn along the way Development process can be refined and improved

Toward a Rational Development Process Many software development process are available (XP, SCRUM, RUP, etc.) Agile process: Deliver a system that meets their goals in shortest time. Plan driven: Apart from delivering system in time frame, define and validate software development process.

Agile Process Plan-driven Process Lightweight and less ceremony Reliant on Knowledge of team members Tactical not Strategic (not for future) Customers participate in requirements Self-organizing and managing (team takes decisions) Not predetermined Heavyweight and more ceremony Reliant on well—documented processes Strategic not tactical (accommodate future changes) Agree upon a contract up front on what is to be built Managed and controlled (plans and milestones) Defined upfront and continuously improved

The Macro Process The Software Development Lifecycle Overview Scope: From idea to first version of the system Subsequent versions – Another lifecycle of macro process. Primary product: stream of releases Secondary product: prototypes and documentations Serves as the controlling framework for the micro process. Represents the activities of the entire development team.

The macro software development process can be described in terms of: Content Dimensions Time dimensions Requirements  Analysis and Design  Implementation  Test  Deployment. Project management, Configuration and Change management, Environment. Milestones and Phases Date and milestones Phases: Inception, Elaboration, Construction and Transition

Inception Elaboration Purpose: Valuable and Feasible, Applicable for existing systems also. Activities: Core system requirements, agreement. Work Products: Initial risk list, prototypes, key architectural mechanisms. Milestone: Scope is understood. Purpose: Overall architecture framework Activities: Establish, Implement, Test and Refine framework. Work Products: Architecture document and manifestation of actual release. Milestone: Architecture is stable.

Construction Transition Purpose: Discovery  Production Activities: Development based on architecture Work Products: Series of executable releases Milestone: System is ready for End-user testing Purpose: Ensure acceptability Activities: User evaluation (alpha and beta) Work Products: Support documentation, Training materials, etc. Milestone: System is ready to be deployed

Iterations Time spent in each disciplines varies depending on phase of iteration. Iteration is same across software development methods, durations varies.

Release Planning Purpose: Identify a controlled series of releases, each growing in functionality and finally achieving the whole system behaviour. First Step: Define the heartbeat of the project. Second Step: Prioritize the system requirements to be delivered. Third Step: Allocate requirements to iterations releases. Final Step: Identify detailed iteration plans. Release could internal or external, but final release would be external.

The Micro Process: The Analysis and Design Process The micro process gets input (requirements) from macro process and produces design specifications (architecture). Micro process in terms of two dimensions: Levels of Abstraction and Content.

Levels of Abstraction Analysis takes system requirements and produces initial solution. Design takes the results of analysis and produces a specification for implementation. No. of levels is not known in prior and depends on the system under consideration.

Activities Identify the elements (Object-oriented decomposition) Define the collaborations between the elements (How elements collaborate to produce system behaviour) Define the relationships between the elements Define the semantics of the elements (behaviour and attributes)

Products The architecture description describes the system architecture. The analysis/design model includes the analysis and design elements of the software product, their organizations and their realizations. Benefits: Central repository Global view of the project Model driven architecture- MDA (Separate analysis and design models)

The Micro Process and Levels of Abstraction Architect  framework for evolving architectures Engineer  guidance in making tactical decisions Focus of micro process activities: When performing architectural analysis – initial version of the architecture During architectural design – refining the identified elements, responsibilities In component analysis – first approximation of the system components During component design – refine in terms of implementable classes

Identifying Elements Identify the key elements that will be describe the solution. Identification happens at different levels of abstraction. Product: Analysis/Design model with different elements. Steps: Discovery and Invention. Milestones and Measures: Elements identified at different levels of abstraction and a stable analysis/design model.

Defining Element Collaborations Distribution of responsibilities. Products: realizations that show how identified elements collaborate to achieve a behaviour. Steps Behaviour Analysis  to understand how behaviour are realized by elements Pattern Scavenging  patterns that provides opportunity for reuse. Milestones and Measures: Fundamental behaviour is realized.

Defining Element Relationships Define relationships among collaborating elements. Products: relationships at current level of abstraction. Steps Identification of associations Refinement of associations Milestones and Measures: Consistent relationships, Measures (Cohesion, coupling and completeness)

Detailing Element Semantics Clarify the behaviour and attributes of each element at specific level of abstraction. Products: Refined analysis/design model that includes detailed semantics of the elements. Steps: Selection of structures and algorithms. Milestones and Measures: Complete understanding of the semantics, Measure (Simplicity)