1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.

Slides:



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

1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 1: Best Practices of Software Engineering.
Software Processes Overview
CS3773 Software Engineering Lecture 01 Introduction.
Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with.
Object-Oriented Analysis and Design
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.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
Rational Worldwide Software Symposium
SE470 - Rational Unified Process Overview
Copyright  Larry Dribin, Ph.D. SE470_RUP_v1_1.ppt Software Engineering SE470 - RUP - 1 Excellence in Software Engineering Repeatable Level Defined.
SwE 313 Introduction to Rational Unified Process (RUP)
Package design and the Iterative process model. What is a package? Classes are not sufficient to group code –Some classes collaborate, implying dependencies.
Object-Oriented Analysis and Design Using the UML Module 1: Best Practices of Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
Chapter 1 The Systems Development Environment
Principles of Object Technology Module 1: Principles of Modeling.
Rational Unified Process
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
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.
RUP Fundamentals - Instructor Notes
The Rational Unified Process
-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.
Identify steps for understanding and solving the
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object Oriented Design and Analysis Rational Unified Process.
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,
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.
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:
The Rational Unified Process 1 EECS810: Software Engineering.
The principles of an object oriented software development process Week 04 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Introduction to Rational Unified Process
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.
Unified Software Practices v5.5 Copyright © Rational Software, all rights reserved 1 Module 1: The Six Best Practices of Modern 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 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.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Process 4 Hours.
1.Introduction to Rational Unified Process (RUP)
Introduction to Software Engineering
Rational Worldwide Software Symposium
Rational Unified Process
Rational Unified Process (RUP)
Chapter 2 – Software Processes
Rational Worldwide Software Symposium
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Rational Worldwide Software Symposium
Presentation transcript:

1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering

2 Objectives: Best Practices  Identify symptoms of software development problems.  Explain the Best Practices.  Present the Rational Unified Process (RUP) within the context of the Best Practices.

3 Symptoms of Software Development Problems User or business needs not met Requirements not addressed Modules not integrating Difficulties with maintenance Late discovery of flaws Poor quality of end-user experience Poor performance under load No coordinated team effort Build-and-release issues

4 Best Practices Reinforce Each Other Best Practices Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Validates architectural decisions early on Addresses complexity of design/implementation incrementally Measures quality early and often Evolves baselines incrementally Ensures users are involved as requirements evolve

5 Develop Iteratively  Iterative development produces an executable 1. Initial Planning 2. Planning 3. Requirements 4. Analysis & Design 5. Implementation 7. Deployment 6. Test 8. Evaluation Management Environment (on-going) Each iteration results in an executable release

6 Managing Requirements Ensures that you  solve the right problem  build the right system by taking a systematic approach to  eliciting  organizing  documenting  managing the changing requirements of a software application.

7 Use Component Architectures Software architecture needs to be: Component-basedResilient  Reuse or customize components  Select from commercially available components  Evolve existing software incrementally  Meets current and future requirements  Improves extensibility  Enables reuse  Encapsulates system dependencies

8 Purpose of a Component-Based Architecture  Basis for reuse  Component reuse  Architecture reuse  Basis for project management  Planning  Staffing  Delivery  Intellectual control  Manage complexity  Maintain integrity System- software Middleware Business- specific Application- specific Component-based architecture with layers

9 Model Visually (UML)  Captures structure and behavior  Shows how system elements fit together  Keeps design and implementation consistent  Hides or exposes details as appropriate  Promotes unambiguous communication  The UML provides one language for all practitioners.

10 Visual Modeling with the Unified Modeling Language Dynamic Diagrams  Multiple views  Precise syntax and semantics Activity Diagrams Models Static Diagrams Sequence Diagrams Communication Diagrams State Machine Diagrams Deployment Diagrams Component Diagrams Object Diagrams Class Diagrams Use-Case Diagrams

11 Continuously Verify Quality Cost TransitionConstructionElaborationInception Software problems are 100 to 1000 times more costly to find and repair after deployment  Cost to Repair Software  Cost of Lost Opportunities  Cost of Lost Customers

12 Testing Dimensions of Quality Performance Reliability  Test that the application behaves consistently and predictably.  Test the online response under average and peak loading. Functionality  Test the accurate workings of each usage scenario. Usability  Test application from the perspective of convenience to the end user. Supportability  Test the ability to maintain and support the application under production use.

13 Workspace Management Process Integration Parallel Development Build Management Configuration Management is more than just check-in and check-out Manage Change  To avoid confusion, have:  Secure workspaces for each developer  Automated integration/build management  Parallel development

14 Manage Change (continued)  Unified Change Management (UCM) involves:  Management across the lifecycle System Project management  Activity-based management Tasks Defects Enhancements  Progress tracking Charts Reports

15 Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Rational Unified Process Implements Best Practices Best Practices Process Made Practical

16 Achieving Best Practices  Iterative approach  Guidance for activities and artifacts  Process focus on architecture  Use cases that drive design and implementation  Models that abstract the system

17 A Team-Based Definition of Process A process defines Who is doing What, When, and How, in order to reach a certain goal. New or changed requirements New or changed system Software Engineering Process

18 Process Structure - Lifecycle Phases The Rational Unified Process has four phases:  Inception – Define the scope of the project  Elaboration – Plan the project; specify features and baseline architecture  Construction – Build the product  Transition – Transition the product into the end-user community InceptionElaborationConstructionTransition Time

19 Bringing It All Together: The Iterative Approach Disciplines group activities logically. In an iteration, you walk through all disciplines.

20 Summary  Best Practices guide software engineering by addressing root causes.  Best Practices reinforce each other.  Process guides a team on who does what, when, and how.  The Rational Unified Process is a means of achieving Best Practices.