Identify steps for understanding and solving the

Slides:



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

Configuration Management
Prescriptive Process models
Ch 3: Unified Process CSCI 4320: Software Engineering.
CS487 Software Engineering Omar Aldawud
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 1: Best Practices of Software Engineering.
Chapter 3 Process Models
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
PRJ270: Essentials of Rational Unified Process
Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
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.
Software Engineering.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides considerably modified and supplemented for classroom.
Iterative development and The Unified process
4. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the elements of project management and the responsibilities of a.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
Object-Oriented Analysis and Design Using the UML Module 1: Best Practices of Software Engineering.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
211 Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides. Considerably modified and supplemented for.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Best Practices of Software Engineering.
Change Request Management
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
Rational Unified Process
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
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
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Software Development Best Practices
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Object Oriented Design and Analysis Rational Unified Process.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
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)
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Software Process Or how to make strength productive Tools Requirements Management Visual Modeling Test coverage and metrics Change Management Requirements.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
The Rational Unified Process 1 EECS810: Software Engineering.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
PPTTEST 12/26/ :41 1 IT Ron Williams Information Technology Management Project Management.
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 Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Rational Unified Process Fundamentals Module 1: Best Practices of Software Engineering Rational Unified Process Fundamentals Module 1: Best Practices of.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Practice 5: Verify Software Quality Control Changes Develop.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Iterative development and The Unified process
Introduction to Software Engineering
Rational Unified Process
Presentation transcript:

Identify steps for understanding and solving the www.mahendar.com Objectives Identify steps for understanding and solving the Software Engineering Problems Explain some of the BEST PRACTICES Present the Rational Unified Process within the context of these BEST PRACTICES

Inception Elaboration Construction Transition www.mahendar.com Rational Unified Process is Architecture centric, use-case centric, Process driven modeling the abstraction of the system It is a team-based definition of the process Its process structure : Inception Elaboration Construction Transition

Elaboration : Base Line Architecture Construction : Build the product www.mahendar.com The Milestones Inception : Scope Elaboration : Base Line Architecture Construction : Build the product Transition : Transit to the end user community

Symptoms in Software Development Process www.mahendar.com Symptoms in Software Development Process User needs not met Requirements turn violently User is not clear …. What he needs Modules do not fit together Hard to maintain Poor or Compromise quality Big difference in Progress v/s Schedule Build and release (wait)

No clear scope definition Architecture is brittle www.mahendar.com Some Root causes No clear scope definition Architecture is brittle 90% done … 90% has to be done Undetected inconsistency Uncontrolled change Improper estimation of project complexity Incomplete study of requirements Lack of common programming practices and conventions within Low Intra communication Understanding of Technical risks Gauging Team by the head

Use Component based architecture Model Visually Change management www.mahendar.com The Best Practices Develop Iteratively Manage requirements Use Component based architecture Model Visually Change management Continuously verify Quality

Practice 1 : Iterative Development www.mahendar.com Practice 1 : Iterative Development Advantages : Yields a good architecture Iteration gives an executable release Address greater risk with an earliest iteration Test and Integrate continuously Enables early user feedback Project management is easy Short term objectives and milestones Risk assessment is easy Helps to draw a comparison diagram

Practice 2 : Manage Requirements www.mahendar.com Practice 2 : Manage Requirements The Need : Software projects failed because : Poor requirement management Incorrect definition of requirements How to attack : Solve the right problem Build the right solution

How to Achieve Right? By Eliciting, Organizing, Documenting, www.mahendar.com How to Achieve Right? By Eliciting, Organizing, Documenting, Manage the changing REQUIREMENTS

Aspects of Requirement Management www.mahendar.com Aspects of Requirement Management Analyze Understand Define the scope of the system Manage Scope Refine the right system Build the right one The different kinds of requirements Functional Non functional

Assess the process impact of the changing the requirements www.mahendar.com What is Traceability Assess the process impact of the changing the requirements Manage the scope and change Whether the system is doing what it intends to do

Meet the current and future requirements Improve extensibility www.mahendar.com Resiliency Meet the current and future requirements Improve extensibility Enable reuse Encapsulate system dependencies Select from the commercially available components Evolve the existing software incrementally

Practice 3 : Use Component Architecture www.mahendar.com Practice 3 : Use Component Architecture Software architecture is the development product that gives highest returns on investment Architecture Trade of analysis Software architecture

It is part of design. Is is about making decision on www.mahendar.com Architecture It is part of design. Is is about making decision on How the system will be built. But it is not all design It stops at major abstractions and major elements Software system architect is the most important aspect that can be used to control the iterative and Incremental development of the system throughout the life cycle

The component architecture yields : www.mahendar.com The component architecture yields : Basis for Re-Use Basis for Architecture Basis for Project Management (Planning, Staffing, Delivery)

(Mostly adopted by many organizations) www.mahendar.com Practice 4 : Visual Modeling (Mostly adopted by many organizations) Model : It is a simplification of reality Reason for building models is for better under- standing of the system and to comprehend its entirety. We capture the structure and behavior To show how the elements put together Keep design and implementation consistent Hide or expose details Promotes unambiguous communication

Practice 5 : Continuously Verify Quality www.mahendar.com Practice 5 : Continuously Verify Quality Test based on the requirements The ways that a program behaves almost infinite QA Involvement Inception Elaboration Construction Transition

The dimensions for testing quality www.mahendar.com The dimensions for testing quality Functionality Reliability Performance Functionality Testing Create test for each key Use-case instance Assess the system functionality by asking what scenario failed and where? What is the corresponding which is not yet exercised

Automated test script generation to provide the www.mahendar.com Reliability Testing Automated test script generation to provide the broad coverage of application under test. Performance Testing Load testing. Verifying the robustness of the application

Practice 6 : Manage Change www.mahendar.com Practice 6 : Manage Change We cannot stop change from being introduced into Our project, but must control the changes, how And when changes are introduced in to a project Artifacts and who introduce the change between Requirement Release

Changes to enable Iterative Development www.mahendar.com Changes to enable Iterative Development Secure work spaces for each developer Automated integration Build Management Parallel development Common problems : Simultaneous update Limited notification (All users are not notified) Multiple update Multiple versions

Aspects of Change Management System : www.mahendar.com Aspects of Change Management System : Change Request Management (CRM) Configuration Status Reporting (CSR) Configuration Management (CM) Change Tracking (CT) Version Selection (VS) CRM: Cost, schedule and impact changes on existing product CSR: For Accounting CM: Defines configuration building and labeling CT: History and rational of changes VC: Right versions for changes of the system

- Requirements and Change Management Design Review www.mahendar.com Concentrating more on - Project Management - Requirements and Change Management Design Review Bug/Error Tracking system should be followed uniformly across all stages helps in ensuring productivity and a better quality deliverable