FACTOID # 14: North Carolina has a larger Native American population than North Dakota, South Dakota and Montana combined.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > IBM Rational Unified Process
Software development process
Activities and steps
Requirements · Specification
Architecture  · Design
Implementation  · Testing
Deployment  · Maintenance
Models
Agile · Cleanroom · Iterative · RAD
RUP · Spiral · Waterfall · XP · Scrum
Supporting disciplines
Configuration management
Documentation
Quality assurance (SQA)
Project management
User experience design
This box: view  talk  edit

The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. This does not cite any references or sources. ... In sytems and software engineering, requirements analysis encompasses those tasks that go into determining the requirements of a new or altered system, taking account of the possibly conflicting requirements of the various stakeholders, such as users. ... In software development, a functional specification (also, functional spec or specs or functional specifications document (FSD)) is the set of documentation that describes the requested behavior of an engineering system. ... The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. ... Software design is the process that starts from a problem for which there is currently no acceptable (software) solution, and ends when such a solution has been created. ... Programming redirects here. ... Software testing is the process used to assess the quality of computer software. ... Software deployment is all of the activities that make a software system available for use. ... In software engineering, software maintenance is the process of enhancing and optimizing deployed software (software release), as well as remedying defects. ... Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. ... The Cleanroom Software Engineering process is a software development process intended to produce software with a certifiable level of reliability. ... Iterative and Incremental development is a cyclic software development process developed in response to the weaknesses of the waterfall model. ... Rapid application development (RAD), is a software development process developed initially by James Martin in the 1980s. ... The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ... The waterfall model is a sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards (like a waterfall) through the phases of requirements analysis, design, implementation, testing (validation), integration, and maintenance. ... Extreme Programming (or XP) is a software engineering methodology, the most prominent of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). ... For other uses, see Scrum. ... Software Configuration Management (SCM) is part of configuration management (CM). ... Software documentation or source code documentation is written text that accompanies computer software. ... Software quality assurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality. ... Software Project Management is a sub-discipline of Project management in which software projects are planned, monitored and controlled. ... User experience design is a subset of the field of experience design which pertains to the creation of the architecture and interaction models which impact a users perception of a device or system. ... Iteration is the repetition of a process, typically within a computer program. ... This does not cite any references or sources. ... Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. ... For other uses, see IBM (disambiguation) and Big Blue. ...


RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. Look up Framework in Wiktionary, the free dictionary. ...


The Rational Unified Process is also a software process product, originally developed by Rational Software, and now available from IBM. The product includes a hyperlinked knowledge base with sample artifacts and detailed descriptions for many different types of activities. RUP is included in the IBM Rational Method Composer (RMC) product which allows customization of the process. The term artifact in connection with software development is largely associated with specific development methods or processes e. ... The IBM Rational Method Composer (RMC) is a commercial product (built on top of Eclipse) for authoring, configuring, viewing, and publishing processes. ...


The Unified Process was designed from the start to include both a generic, public domain process (known as the Unified Process), and a more detailed specification known as the Rational Unified Process which could be marketed as a commercial product. The Unified Software Development Process or Unified Process is a popular iterative and incremental software development process framework. ...

Contents

Background

History of RUP

The roots of Rational Process go back to the original spiral model of Barry Boehm. The Rational Approach was developed at Rational Software in the 1980s and 1990s. The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. ... Barry W. Boehm is known for many contributions to software engineering. ... Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. ...


Design

The creators and developers of the process focused on diagnosing the characteristics of different failed software projects; by doing so they tried to recognize the root causes of these failures. They also looked at the existing software engineering processes and their solutions for these symptoms.


A representative list of failure causes includes the following:

  • Ad hoc requirements management
  • Ambiguous and imprecise communication
  • Brittle architecture (architecture that does not work properly under "stress")
  • Overwhelming complexity
  • Undetected inconsistencies in requirements, designs, and implementations
  • Insufficient testing
  • Subjective assessment of project status
  • Failure to attack risks
  • Uncontrolled change propagation
  • Insufficient automation

Project failure is caused by a combination of several symptoms, though each project fails in a unique way. The outcome of their study was a system of software best practices they named the Rational Unified Process. Ad hoc is a Latin phrase which means for this [purpose]. It generally signifies a solution that has been tailored to a specific purpose, such as a tailor-made suit, a handcrafted network protocol, and specific-purpose equation and things like that. ... Requirements management is the science and art of gathering and managing user, business, technical, functional requirements, and process requirements within a product development project. ... This article does not cite any references or sources. ... Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... Best Practice is a management idea which asserts that there is a technique, method, process, activity, incentive or reward that is more effective at delivering a particular outcome than any other technique, method, process, etc. ...


The Process was designed with the same techniques the team used to design software; it has an underlying object-oriented model, using Unified Modeling Language (UML). In the field of software engineering, the Unified/Universal Modeling Language (UML) is a standardized visual specification language for object modeling. ...


Six Key Principles of Business-Driven Development

RUP is based on a set of six key principles for business-driven development: [1]

  1. Adapt the process
  2. Balance stakeholder priorities
  3. Collaborate across teams
  4. Demonstrate value iteratively
  5. Elevate the level of abstraction
  6. Focus continuously on quality

In short -> [ABCDEF]


Adapt the process

A project or organization must right-size the process to their needs. For example, governance, size of the project, regulations etc, drive the degree of formality that should be used in a project. RUP provides pre-configured process templates for small, medium and large projects, which can be used for easier adoption. The ceremony of the process should reflect the goals of the RUP phases. Adapting a process also encourages the continuous improvement of a process in an organization.


Balance stakeholder priorities

This key principle widens the discussion from a pure software requirements point of view, to a higher discussion. This includes business goals and stakeholder needs. Often, they compete and conflict, which needs to be balanced out between the parties involved.


Collaborate across teams

Software engineering is a team effort. With a broad variety of stakeholders, all voices need to be heard. With the increasing demand of globally distributed development, collaboration is enabled through modern communication tools. The collaboration is not limited to requirements, but includes exchange of metrics, test results, release management and project plans. That is especially true for RUP projects which are executed in an iterative-incremental approach.


Demonstrate value iteratively

Projects are delivered, even though often only internally, in increments in an iterative fashion. The increment, which includes the value of the past iteration, is used to measure the progress of the project. That increment is also used to encourage feedback from stakeholders about the direction of the project. This allows projects to adjust to changed situations based on the feedback. The stakeholders on the other side, can influence the shape of the development effort while the project is executed. The combination of the iterative development and the focus on risks in RUP, allows projects an iterative risk-assessment.


Elevate the level of abstraction

This key principle motivates the use of reusable assets such as software pattern, 4GL or Framework to name a few. This prevents software engineers going directly from the requirements to custom-made software code. A higher level of abstraction also allows discussions on different architectural levels. These can be accompanied by visual representations of the architecture, for example using UML. In software engineering, design patterns are standard solutions to common problems in software design. ... A fourth-generation programming language (or 4GL) is a programming language designed with a specific purpose in mind such as the development of commercial business software. ... Look up Framework in Wiktionary, the free dictionary. ... In the field of software engineering, the Unified/Universal Modeling Language (UML) is a standardized visual specification language for object modeling. ...


Focus continuously on quality

Quality checks are not only at the end of each iteration but a continuous ongoing activity in the software engineering project, often performed in a daily rhythm supported by the entire team. Automating test scenarios (scripts) helps in dealing with the increasing amount of tests due to iterative development.


Project lifecycle

Inception phase

  • Establishing a baseline by which to compare actual expenditures versus planned expenditures.

If the project does not pass this milestone, called the Lifecycle Objective Milestone, it can either be cancelled outright or it can repeat this phase after being redesigned to better meet the criteria. Within the framework of project management a Milestone is a terminal element that marks the completion of a work package or phase, typically marked by a high level event such as completion, endorsement or signing of a deliverable, document or a high level review meeting. ...


Elaboration phase

The elaboration phase is where the project starts to take shape. In this phase the problem domain analysis is made and the architecture of the project gets its basic form. Wikipedia does not have an article with this exact name. ...


This phase must pass the Lifecycle Architecture Milestone by the following criteria:

  • A use-case model in which the use-cases and the actors have been identified and most of the use-case descriptions are developed. The use-case model should be 80% complete.
  • A description of the software architecture in a software system development process.
  • An executable architecture that realizes architecturally significant use cases.
  • Business case and risk list which are revised.
  • A development plan for the overall project.
  • Prototypes that demonstrably mitigate each identified technical risk.

If the project cannot pass this milestone, there is still time for it to be canceled or redesigned. After leaving this phase, the project transitions into a high-risk operation where changes are much more difficult and detrimental when made. In software engineering, a use case is a technique for capturing the potential requirements of a new system or software change. ... A business case is a structured proposal for business change that is justified in terms of costs and benefits. ... For the Parker Brothers board game, see Risk (game) For other uses, see Risk (disambiguation). ...


The key domain analysis for the elaboration is system architecture.


Construction phase

In this phase, the main focus goes to the development of components and other features of the system being designed. This is the phase when the bulk of the coding takes place. In larger projects, several construction iterations may be developed in an effort to divide the use cases into manageable segments that produce demonstrable prototypes. In software engineering, a use case is a technique for capturing the potential requirements of a new system or software change. ...


This phase produces the first external release of the software. Its conclusion is marked by the Initial Operational Capability Milestone.


Transition phase

In the transition phase, the product has moved from the development organization to the end user. The activities of this phase include training of the end users and maintainers and beta testing of the system to validate it against the end users' expectations. The product is also checked against the quality level set in the Inception phase. If it does not meet this level, or the standards of the end users, another iteration of the phase begins.


If all objectives are met, the Product Release Milestone is reached and the development cycle ends.


Disciplines and workflows

The Rational Unified Process

RUP is based on a set of building blocks, or content elements, describing what is to be produced, the necessary skills required and the step-by-step explanation describing how specific development goals are achieved. Image File history File links RationalUnifiedProcess. ...


The main building blocks, or content elements, are the following:

  • Roles (who) – A Role defines a set of related skills, competences, and responsibilities.
  • Work Products (what) – A Work Product represents something resulting from a task, including all the documents and models produced while working through the process.
  • Tasks (how) – A Task describes a unit of work assigned to a Role that provides a meaningful result.

Within each iteration, the tasks are categorized into nine Disciplines:


Engineering Disciplines:

  • Business Modeling
  • Requirements
  • Analysis and Design
  • Implementation
  • Test
  • Deployment

Supporting Disciplines:

  • Configuration and Change Management
  • Project Management
  • Environment

Business modeling discipline

Organizations are becoming more dependent on IT systems, making it imperative that information system engineers know how the applications they are developing fit into the organization. Businesses invest in IT when they understand the competitive advantage and value added by the technology. Information and communication technology spending in 2005 Information Technology (IT), as defined by the Information Technology Association of America (ITAA), is the study, design, development, implementation, support or management of computer-based information systems, particularly software applications and computer hardware. ...


The aim of business modeling is to first establish a better understanding and communication channel between business engineering and software engineering. Understanding the business means that software engineers must understand the structure and the dynamics of the target organization (the client), the current problems in the organization and possible improvements. They must also ensure a common understanding of the target organization between customers, end users and developers. It has been suggested that this article or section be merged with Process Modeling. ... There are very few or no other articles that link to this one. ... Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ...


Business modeling explains how to describe a vision of the organization in which the system will be deployed and how to then use this vision as a basis to outline the process, roles and responsibilities.


Requirements discipline

This discipline explains how to elicit stakeholder requests and transform them into a set of requirements work products that scope the system to be built and provide detailed requirements for what the system must do.


Analysis and design discipline

The goal of analysis and design is to show how the system will be realized in the implementation phase. The aim is to build a system that:

  • Performs—in a specific implementation environment—the tasks and functions specified in the use-case descriptions.
  • Fulfills all its requirements.
  • Is easy to change when functional requirements change.

Analysis and design results in a design model and optionally an analysis model. The design model serves as an abstraction of the source code; that is, the design model acts as a 'blueprint' of how the source code is structured and written. The design model consists of design classes structured into packages and subsystems with well-defined interfaces, representing what will become components in the implementation. It also contains descriptions of how objects of these design classes collaborate to perform use cases. Functional requirements define the internal workings of the software: that is, the calculations, technical details, data manipulation and processing and other specific functionality that show how the use cases are to be satisfied. ... In software engineering, a use case is a technique for capturing the potential requirements of a new system or software change. ...


Implementation discipline

The purposes of implementation are:

  • To define the organization of the code, in terms of implementation subsystems organized in layers.
  • To implement classes and objects in terms of components (source files, binaries, executables, and others).
  • To test the developed components as units.
  • To integrate the results produced by individual implementers (or teams), into an executable system.

Systems are realized through implementation of components. The process describes how you reuse existing components, or implement new components with well defined responsibility, making the system easier to maintain, and increasing the possibilities to reuse.

Software Testing Portal

Image File history File links Portal. ...

Test discipline

The purposes of the Test discipline are:

  • To verify the interaction between objects.
  • To verify the proper integration of all components of the software.
  • To verify that all requirements have been correctly implemented.
  • To identify and ensure that defects are addressed prior to the deployment of the software
  • Ensure that all the defects are fixed, retested and closed.

The Rational Unified Process proposes an iterative approach, which means that you test throughout the project. This allows you to find defects as early as possible, which radically reduces the cost of fixing the defect. Tests are carried out along four quality dimensions: reliability, functionality, application performance, and system performance. For each of these quality dimensions, the process describes how you go through the test lifecycle of planning, design, implementation, execution and evaluation.


Deployment discipline

The purpose of deployment is to successfully produce product releases, and deliver the software to its end users. It covers a wide range of activities including:

  • Producing external releases of the software
  • Packaging the software and business application
  • Distributing the software
  • Installing the software
  • Providing help and assistance to users

Although deployment activities are mostly centered around the transition phase, many of the activities need to be included in earlier phases to prepare for deployment at the end of the construction phase.The Deployment and Environment workflows of the Rational Unified Process contain less detail than other workflows.


Configuration and Change management discipline

The Change Management discipline in RUP deals with three specific areas:

  • Configuration management
  • Change request management
  • Status and measurement management

Configuration management

Configuration management is responsible for the systematic structuring of the products. Artifacts such as documents and models need to be under version control and these changes must be visible. It also keeps track of dependencies between artifacts so all related articles are updated when changes are made.


Change request management

During the system development process many artifacts with several versions exist. CRM keeps track of the proposals for change. Change management is a structured approach to change in individuals, teams, organizations and societies that enables the transition from a current state to a desired future state. ...


Status and measurement management

Change requests have states such as new, logged, approved, assigned and complete. A change request also has attributes such as root cause, or nature (like defect and enhancement), priority etc. These states and attributes are stored in database so useful reports about the progress of the project can be produced. Rational also has a product to maintain change requests called ClearQuest. This activity has procedures to be followed. Rational ClearQuest is a customizable defect and change tracking system for software development. ...


Project management discipline

Project planning in the RUP occurs at two levels. There is a coarse-grained or Phase plan which describes the entire project, and a series of fine-grained or Iteration plans which describe the iterations.


This discipline focuses mainly on the important aspects of an iterative development process:

  • Risk management
  • Planning an iterative project, through the lifecycle and for a particular iteration
  • Monitoring progress of an iterative project, metrics

However, this discipline of the RUP does not attempt to cover all aspects of project management. For example, it does not cover issues such as:

  • Managing people: hiring, training, etc.
  • Managing budget: defining, allocating, etc.
  • Managing contracts: with suppliers, with customers, etc.

The project management discipline contains a number of other Plans and Artifacts that are used to control the project and monitoring its performance such Plans are:

  • The Phase Plan (The Software Development Plan)
  • The Iteration Plan

Phase plan

Each Phase is treated as a project, controlled and measured by the Software Development Plan which is grouped from a subset of monitoring plans:

  • The Measurement Plan defines the measurement goals, the associated metrics, and the primitive metrics to be collected in the project to monitor its progress.
  • The Risk Management Plan details how to manage the risks associated with a project. It details the risk management tasks that will be carried out, assigned responsibilities, and any additional resources required for the risk management activity. On a smaller scale project, this plan may be embedded within the Software Development Plan.
  • The Risk list is a sorted list of known and open risks to the project, sorted in decreasing order of importance and associated with specific mitigation or contingency actions.
  • The Problem Resolution Plan describes the process used to report, analyze, and resolve problems that occur during the project.
  • The Product Acceptance Plan describes how the customer will evaluate the deliverable artifacts from a project to determine if they meet a predefined set of acceptance criteria. It details these acceptance criteria, and identifies the product acceptance tasks (including identification of the test cases that need to be developed) that will be carried out, and assigned responsibilities and required resources. On a smaller scale project, this plan may be embedded within the Software Development Plan.

Iteration plan

The iteration plan is a fine-grained plan with a time-sequenced set of activities and tasks, with assigned resources, containing task dependencies, for the iteration.


There are typically two iteration plans active at any point in time.

  • The current iteration plan is used to track progress in the current iteration.
  • The next iteration plan is used to plan the upcoming iteration. This plan is prepared toward the end of the current iteration.

To define the contents of an iteration you need:

  • the project plan
  • the current status of the project (on track, late, large number of problems, requirements creep, etc.)
  • a list of scenarios or use cases that must be completed by the end of the iteration
  • a list of risks that must be addressed by the end of the iteration
  • a list of changes that must be incorporated in the product (bug fixes, changes in requirements)
  • a list of major classes or packages that must be completely implemented

These lists must be ranked. The objectives of an iteration should be aggressive so that when difficulties arise, items can be dropped from the iterations based on their ranks. In software engineering, a use case is a technique for capturing the potential requirements of a new system or software change. ...


Therefore there is a set of supported Artifacts that help in measuring and building each iteration plan


Work Product (Artifact)

IBM has replaced the term "artifact" with the term "work product". The work products used are:

  • The Iteration Assessment captures the result of an iteration, the degree to which the evaluation criteria were met, lessons learned, and changes to be done.
  • The project measurements is the project's active repository of metrics data. It contains the most current project, resources, process, and product measurements at the primitive and derived level.
  • The periodic Status Assessment provides a mechanism for managing everyone's expectations throughout the project lifecycle to ensure that the expectations of all parties are synchronized and consistent.
  • The work order is the Project Manager's means of communicating with the staff about what is to be done and when it is to be completed. It becomes an internal contract between the Project Manager and those assigned responsibility for completion.
  • The Issues List is a way to record and track problems, exceptions, anomalies, or other incomplete tasks requiring attention.

Environment discipline

The environment discipline focuses on the activities necessary to configure the process for a project. It describes the activities required to develop the guidelines in support of a project. The purpose of the environment activities is to provide the software development organization with the software development environment-both processes and tools-that will support the development team.


The Environment discipline workflow is broken down into three main steps:


Prepare Environment for Project Preparing the development environment for a project means turning the underlying development process into an enactable project-specific development process. This involves :

  • defining how the project is going to use the configured development process.
  • developing a development case describing deviations of the underlying process.
  • qualifying artifact selections with timing and formality requirements.
  • preparing project-specific assets, like guidelines and templates, according to the development case.
  • producing a list of candidate tools to use for development.

Prepare Environment for an Iteration The purpose of this workflow detail is to ensure that the project environment is ready for the upcoming iteration. This includes process and tools.


This work is focused mainly on:

  • Complete the Development Case to get ready for the iteration.
  • Prepare and, if necessary, customize tools to use within the iteration.
  • Verify that the tools have been correctly configured and installed.
  • Prepare a set of project-specific templates and guidelines to support the development of *project artifacts in the iteration.
  • Make sure that all the changes made to the project environment are properly communicated to *the project members

Support Environment During an Iteration support the developers in their use of tools and process during an iteration.This includes installation of required software, ensuring that the hardware is functioning properly and that potential network issues are resolved without delays.


The IBM Rational Method Composer product

The IBM Rational Method Composer product is a tool for authoring, configuring, viewing, and publishing processes.


see IBM Rational Method Composer and an open source version Eclipse Process Framework (EPF) project for more details. The IBM Rational Method Composer (RMC) is a commercial product (built on top of Eclipse) for authoring, configuring, viewing, and publishing processes. ... The Eclipse Process Framework (EPF) is an open source project that is managed by the Eclipse Foundation. ...


Certification

In January 2007, the new RUP certification examination for IBM Certified Solution Designer - Rational Unified Process 7.0 was released which replaces the previously called IBM Rational Certified Specialist - Rational Unified Process[2]. The new examination will not only test knowledge related to the RUP content but also to the process structure elements[3].


To pass the new RUP certification examination, a person must take IBM's Test 839: Rational Unified Process v7.0. You are given 75 minutes to take the 52 question exam. The passing score is 62% [4].


Limitations

If the users of RUP do not understand that RUP is a process framework, they may perceive it as a weighty and expensive process. RUP was not intended, not envisioned and not promoted to be used straight “out of the box.” The IBM Rational Method Composer product has been created to address this limitation and help process engineers and project managers customize the RUP for their project needs. OpenUP/Basic, the lightweight and open source version of RUP, is another attempt to address this limitation. The OpenUP/Basic is the most agile and lightweight form of OpenUP, an open source software development process developed as part of the Eclipse Process Framework (EPF, an open source process framework developed within the Eclipse open source organization). ...


As the RUP must be customized for each project by a RUP process expert, the project's overall success is highly dependent on the abilities of this one person.


Criticisms

Wolfgang Hesse is a vocal critic of RUP, one of his most famous papers on the subject is "Dinosaur Meets Archaeopteryx?"[5]

Common criticisms of RUP include:
- it is overly complicated and difficult to apply to software engineering projects [Wagner 2003] [Graham 2000]"Designing Telecommunication Service Management Systems"
- it is very costly to implement [6]

A recent academic paper, "Assessment of a framework to compare software development methodologies"[6] , rates a relatively new methodology URDAD above RUP for the purposes of business analysis, but there are numerous others that compete with RUP to differing degrees - see the "Competing frameworks and methodologies" section below. URDAD, the Use-Case, Responsibility Driven Analysis and Design method is a methodology for technology neutral business process design. ...


See also

Refinements and variations

Scott Amblers Agile Unified Process (AUP) is a simplified version of the Rational Unified Process (RUP). ... The Open Unified Process (OpenUP) is an open-source software development process, created as part of the Eclipse Process Framework (EPF) project. ... The Eclipse Process Framework (EPF) is an open source project that is managed by the Eclipse Foundation. ... The OpenUP/Basic is the most agile and lightweight form of OpenUP, an open source software development process developed as part of the Eclipse Process Framework (EPF, an open source process framework developed within the Eclipse open source organization). ... The Enterprise Unified Process (EUP) is an extension of the Rational Unified Process. ... The Essential Unified Process for software development, or EssUP, was invented by Ivar Jacobson as an improvement on the Rational Unified Process. ... The Unified Software Development Process or Unified Process is a popular iterative and incremental software development process framework. ... The UPEDU or Unified Process for Education is a software development process specialized for education, develop by Pierre-N. Robillard (École Polytechnique de Montréal), Philippe Kruchten (Rational Software) and Patrick dAstous (École Polytechnique de Montréal). ...

Competing frameworks and methodologies

The referenced methodologies and / or frameworks below do not necessarily compete with RUP on all fronts, but do so to differing degrees

The Cleanroom Software Engineering process is a software development process intended to produce software with a certifiable level of reliability. ... Dynamic Systems Development Method (DSDM) is a framework based originally around Rapid Application Development (RAD), supported by its continuous user involvement in an iterative development and incremental approach which is responsive to changing requirements, in order to develop a system that meets the business needs on time and on budget. ... ICONIX is an Agile software development process borrowing elements from both the Rational Unified Process (RUP) and Extreme Programming(EP). ... Extreme Programming (or XP) is a software engineering methodology, the most prominent of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). ... Systems engineering (or systems design engineering) as a field originated around the time of World War II. Large or highly complex engineering projects, such as the development of a new airliner or warship, are often decomposed into stages and managed throughout the entire life of the product or system. ... Microsoft® Solutions Framework (MSF) is a deliberate and disciplined approach to technology projects based on a defined set of principles, models, disciplines, concepts, guidelines, and proven practices from Microsoft. ... The Open Unified Process (OpenUP) is a part of the Eclipse Process Framework (EPF), an open source process framework developed within the Eclipse open source organization. ... Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. ... Designed by Software Engineering Institute at Carnegie Mellon, PSP has its roots in Capability Maturity Model (CMM), the Personal Software Process is a set of guidelines and best practices to incorporate discipline in the software development process. ... It has been suggested that this article or section be merged with Scrum (development). ... URDAD, the Use-Case, Responsibility Driven Analysis and Design method is a methodology for technology neutral business process design. ...

Software engineering

Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. ... Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ... This does not cite any references or sources. ... Software component representations: above the representation used in UML, below the representation commonly used by Microsofts COM objects. ... It has been suggested that this article or section be merged into Software development process. ... Programming redirects here. ... For the Jurassic 5 album, see Quality Control (album) In engineering and manufacturing, quality control and quality engineering are involved in developing systems to ensure products or services are designed and produced to meet or exceed customer requirements. ... Extreme Programming (or XP) is a software engineering methodology, the most prominent of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). ... Agile Modeling is a supplement to other Agile Methodologies such as: Extreme Programming (XP) Scrum [1] Answers to Criticisms The principles and values of Agile Modeling practises help to mitigate the criticisms of Agile Software Development. ... Test-Driven Development (TDD) is a software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is refactored to accommodate the changes. ... Feature Drive Development (FDD) is an iterative and incremental software development process. ... The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. ...

References

  1. ^ Kroll, Per; Walker Royce (2005-10-15). Key principles for business-driven development. IBM. Retrieved on 2008-05-13.
  2. ^ Krebs, Jochen (2007-01-15). The value of RUP certification. IBM. Retrieved on 2008-05-13.
  3. ^ Spacer IBM Certified Solution Designer - IBM Rational Unified Process V7.0. IBM. Retrieved on 2008-05-13.
  4. ^ Test 839: Rational Unified Process v7.0. IBM. Retrieved on 2008-05-13.
  5. ^ Hesse, Wolfgang. Seven Theses on Rational's Unified Process (RUP) (PDF). Retrieved on 2008-05-13.
  6. ^ a b Klopper, Riaan; Stefan Gruner, Derrick G. Kourie (2007). Assessment of a framework to compare software development methodologies. ACM International Conference Proceeding Series; Vol. 226. ACM. Retrieved on 2008-05-13.

Year 2005 (MMV) was a common year starting on Saturday (link displays full calendar) of the Gregorian calendar. ... is the 288th day of the year (289th in leap years) in the Gregorian calendar. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 133rd day of the year (134th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) was a common year starting on Monday of the Gregorian calendar in the 21st century. ... is the 15th day of the year in the Gregorian calendar. ... For other uses, see IBM (disambiguation) and Big Blue. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 133rd day of the year (134th in leap years) in the Gregorian calendar. ... For other uses, see IBM (disambiguation) and Big Blue. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 133rd day of the year (134th in leap years) in the Gregorian calendar. ... For other uses, see IBM (disambiguation) and Big Blue. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 133rd day of the year (134th in leap years) in the Gregorian calendar. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 133rd day of the year (134th in leap years) in the Gregorian calendar. ... ACM is a three-letter abbreviation with multiple meanings, as described below: Abstract Control Model Academy of Country Music Academic Common Market Academy of Contemporary Music Advanced Cruise Missile Adaptive Combat Model Aerial Combat Maneuver Air combat manoeuvering Air Cycle Machine Airspace Coordination Measure Adams Capital Management Advanced compact MOSFET... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Common Era (or Anno Domini), in accordance with the Gregorian calendar. ... is the 133rd day of the year (134th in leap years) in the Gregorian calendar. ...

Books

  • 2007: RUP Reference and Certification Guide

Ahmad Shuja, Jochen Krebs [1]

  • 2006: Agility and Discipline Made Easy: Practices from OpenUP and RUP

Per Kroll, Bruce MacIsaac [2]

  • 2003: Rational Unified Process Made Easy, The: A Practitioner's Guide to the RUP

Per kroll [3]

  • 1999: The Unified Software Development Process

Ivar Jacobson, Grady Booch, and James Rumbaugh [4] Ivar Hjalmar Jacobson (born in Ystad, Sweden, on September 2, 1939) is a Swedish computer scientist. ... Grady Booch (born February 27, 1955) is a software designer, a software methodologist and a design pattern enthusiast. ... Dr. James Rumbaugh is a computer scientist and object methodologist who is best known for his work in creating the Object Modeling Technique (OMT) and the Unified Modeling Language (UML). ...

  • 1998: The Rational Unified Process: An Introduction

Philippe Kruchten [5] 2003: 3rd ed: [6] Philippe Kruchten was formerly the Director of Process Development (RUP) at Rational Software. ...


External links


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m