Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.

Slides:



Advertisements
Similar presentations
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advertisements

1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 1: Best Practices of Software Engineering.
1 EE29B Feisal Mohammed Modeling the Process and Life Cycle Software development usually involves the following stages: Requirements analysis and definition.
30 Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 3: RUP Structure and Navigation.
Static Structure: Process Description
PRJ270: Essentials of Rational Unified Process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 8: Post-Project Analysis.
Rational Unified Process
Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Introduction to Software Engineering Dr. Basem Alkazemi
Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides considerably modified and supplemented for classroom.
SwE 313 Introduction to Rational Unified Process (RUP)
Introduction To Rational Rose CS 501 Recitation Session November 1, 1999.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Using the Essential Unified Process with Visual Studio Team System Ian Spence and Craig Lucia.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
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.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Principles of Object Technology Module 1: Principles of Modeling.
Chapter 2: Approaches to System Development
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 5: Tailoring RUP.
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.
Object Oriented Analysis and Design Introduction.
Software Development Best Practices
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Identify steps for understanding and solving the
MCS 270 Spring 2014 Object-Oriented Software Development.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Object Oriented Design and Analysis Rational Unified Process.
Jyoti Chaturvedi and David Orr Enter RUP. What should I know when I leave? What is the RUP software? What good is it? What can I do with it? How will.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Content The system development life cycle
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Analysis and Iterative Development Timothy C. Lethbridge.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Object Oriented Software Development and UML
Software Process Or how to make strength productive Tools Requirements Management Visual Modeling Test coverage and metrics Change Management Requirements.
RUP Life Cycle Software Engineering Learning Programme Software Engineering Foundation.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Configuration.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Software Engineering Introduction.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
It is the fuel of modern life Business are run Government rule Scientists Industries Education However, building and maintaining software is hard and getting.
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
26 Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Requirement Engineering Management Amna Shifia Nisafani Feby Artwodini M. Department of Information Systems Subject : Requirement Engineering.
Advanced Software Engineering Dr. Cheng
The Rational Unified Process
1.Introduction to Rational Unified Process (RUP)
The Rational Unified Process (RUP) An Architecture-Centric Process
Rational Unified Process (RUP)
Presentation transcript:

Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational Unified Process (RUP)

Preface The goal of this process is to produce, within a predictable schedule and budget, high quality software that meets the needs of its end users. 2

Symptoms of failed projects Different software development projects … fail in different ways It is possible identify a number of common symptoms that characterize these kinds of projects 3

Symptoms of failed projects  Inaccurate understanding of end-user needs  Inability to deal with changing requirements  Modules that don't fit together  Software that's hard to maintain or extend 4

Symptoms of failed projects  Late discovery of serious project flaws  Poor software quality  Unacceptable software performance 5

Symptoms of failed projects  Team members making it impossible to reconstruct who changed what, when, where, and why  An untrustworthy build-and-release process 6

Root causes of failed projects different projects fail in different ways most of them fail because of a combination of the following root causes:  Not popular requirements management  Ambiguous and imprecise communication  Brittle architectures  Overwhelming complexity 7

Root causes of failed projects  Undetected inconsistencies in requirements, designs, and implementations  Insufficient testing  Subjective assessment of project status  Failure to attack risk  Uncontrolled change propagation  Insufficient automation 8

Software Best Practices If you treat these root causes, … not only will you eliminate the symptoms… you'll also be in a much better position to develop and maintain quality software in a repeatable and predictable fashion. 9

Software Best Practices There are " best practices “: not so much because you can precisely quantify their value but … because they are commonly used in industry by successful organizations. 10

Software Best Practices Six important best practices : 1) Develop software iteratively. 2) Manage requirements. 3) Use component-based architectures. 4) Visually model software. 5) Continuously verify software quality. 6) Control changes to software. 11

What is the Rational Unified Process It is a software engineering process. It provides a disciplined approach to assigning tasks and responsibilities within a development organization. Its goal is to ensure the production of high- quality software that meets the needs of its end users within a predictable schedule and budget 12

RUP as a Product Rational Unified Process is designed, developed, delivered, and maintained like any software tool. 13

RUP as a Product RUP shares many characteristics with software products:  IBM releases regular upgrades.  It is delivered online using Web technology, so it is literally at the fingertips of the developers.  It can be tailored and configured to suit the specific needs of a development organization. 14

RUP as a Product RUP shares many characteristics with software products: ……  It is integrated with many of the software development tools in the IBM Rational Suites so that developers can access … process guidance from within the tool they are using 15

RUP as a Product- Benefits treating the process as a software product provides the following benefits :  The process is never obsolete;  at regular intervals companies get new releases  with improvements and up-to-date techniques.  All project members can access the latest version of their process configuration on an intranet. 16

 Java applets, such as a process browser and a built-in search engine,  allow developers to reach instantaneously process guidance or policies,  including the latest document templates they should use. 17 RUP as a Product- Benefits

 Hyperlinks provide navigation  from one part of the process to another,  eventually branching out to a  software  development tool or  an external reference or  guideline document. 18 RUP as a Product- Benefits

 Local, project- or company-specific process improvements or special procedures are included easily.  Each project or department can manage its own version or variant of the process. 19 RUP as a Product- Benefits

RUP has a tool  Rational Method Composer 20 RUP as a Product

In a process configuration : you will find not only a complete description of the process itself but also the following:  Tool mentors, guidance when you're working with any of the tools offered by IBM Rational Software  Templates for all major process artifacts  Examples of artifacts for simple projects 21 RUP as a Product

overall architecture of RUP: 22 RUP as a Product

The Process has two structures: 1) The horizontal axis represents: time and shows the lifecycle aspects of the process as it unfolds. 2) The vertical axis represents: core process disciplines, which group activities logically by nature. 23 RUP as a Product

Software Best Practices Six important best practices : 1) Develop software iteratively. 2) Manage requirements. 3) Use component-based architectures. 4) Visually model software. 5) Continuously verify software quality. 6) Control changes to software. 24

It Has …. 25 Software Best Practices in RUP

Other Key Features: 1) Use-Case-Driven Development Use cases are not required in object orientation, but they provide important links between: system requirements and other development artifacts such as design and tests. 26 Software Best Practices in RUP

2) Process Configuration A process should not be followed blindly, generating useless work and producing artifacts that are of little added value. Instead, the process must be made as lean as possible The adopting organization should complement the process with its own best practices and with its specific rules and procedures. 27 Software Best Practices in RUP

The RUP is a process framework that the adopting organization can modify, adjust, and expand to accommodate the specific needs, characteristics, constraints, and history of its organization, culture, and domain. 28 Software Best Practices in RUP

3) Tools Support A process must be supported by adequate tools. 29 Software Best Practices in RUP