Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational."— Presentation transcript:

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

2 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

3 Preface In this section we will learn :  what the RUP is and what it is not ;  master the vocabulary of the RUP and understand its structure;  develop an understanding for the best practices that we have synthesized in this process;  understand how the RUP can give you the guidance you need for your specific responsibility in a project 3

4 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 4

5 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 5

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

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

8 Symptoms of failed projects For example: the late discovery of serious project flaws … is only a symptom of larger problems … namely: subjective (personal feeling) project status assessment and undetected inconsistencies in the project's requirements, designs, and implementations. 8

9 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 9

10 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 10

11 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. 11

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

13 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. 13

14 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 14

15 What is the Rational Unified Process The RUP is a process product. It is developed and maintained by Rational Software and integrated with its suite of software development tools It is available from IBM on CD/DVD or through the Internet. 15

16 What is the Rational Unified Process In this course…  We learn an integral part of the Rational Unified Process but  represents only a small fraction of the Rational Unified Process knowledge base. 16

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

18 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. 18

19 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 19

20 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. 20

21  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. 21 RUP as a Product- Benefits

22  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. 22 RUP as a Product- Benefits

23  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. 23 RUP as a Product- Benefits

24 RUP has a tool  Rational Method Composer as: Best practices: Includes practices that use process expertise and experience in  agile development;  systems engineering;  real-time, embedded software development;  requirements management;  quality management; and  change and release management. 24 RUP as a Product

25 RUP has a tool  Rational Method Composer: Process configuration: Lets you configure processes by … selecting only those practices that … address your operational objectives. 25 RUP as a Product

26 RUP has a tool  Rational Method Composer: Process authoring: Enables you to manage, author, evolve, measure, and deploy effective processes tailored to your project needs. 26 RUP as a Product

27 RUP has a tool  Rational Method Composer: Process tailoring: Captures and maintains your practices and combines them with IBM practices and processes for maximum results. 27 RUP as a Product

28 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 28 RUP as a Product

29 overall architecture of RUP: 29 RUP as a Product

30 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. 30 RUP as a Product

31 It Has …. 31 Software Best Practices in RUP

32 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. 32

33 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. 33 Software Best Practices in RUP

34 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. 34 Software Best Practices in RUP

35 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. 35 Software Best Practices in RUP

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


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

Similar presentations


Ads by Google