Escolar Documentos
Profissional Documentos
Cultura Documentos
Objectivos
Compreender a importância do planeamento dos sistemas de informação segundo uma
perspectiva estratégica e fornecer todo um conjunto de técnicas permitem desenvolver sistemas
integrados e determinantes na estratégia do negócio.
Competências Conferidas
Planear os sistemas de informação de uma organização numa perspectiva estratégica
desenvolver cenários completos em que as necessidades de informação de negócio estejam
integradas com as infra-estruturas tecnológicas incorporar os sistemas de informação nos
processos que constituem o suporte da actividade organizacional
(Redirecionado de RUP)
Índice
[esconder]
1 Linhas mestras
o 1.1 Gestão de requisitos
o 1.2 Uso de arquitetura baseada em componentes
o 1.3 Uso de software de modelos visuais
o 1.4 Verificação da qualidade do software
o 1.5 Gestão e Controle de Mudanças do Software
2 Fases
o 2.1 A Fase de concepção
o 2.2 A Fase de Elaboração
o 2.3 A Fase de Construção
o 2.4 A Fase de Transição
3 Disciplinas
o 3.1 Seis Disciplinas de Engenharia
3.1.1 Disciplina de Modelagem de Negócios
3.1.2 Disciplina de Requisitos
3.1.3 Disciplina de Análise e Projeto("Design")
3.1.4 Disciplina de Implementação
3.1.5 Disciplina de Teste
3.1.6 Disciplina de Implantação
o 3.2 Três Disciplinas de Apoio/Suporte
3.2.1 Disciplina de Ambiente
3.2.2 Disciplina de Configuração e Gerência de Mudança
3.2.3 Disciplina de Gerência de Projeto
4 Princípios e melhores práticas
o 4.1 Desenvolvimento iterativo
o 4.2 Gerenciamento de requisitos
o 4.3 Uso de arquitetura baseada em componentes
o 4.4 Modelagem visual de software
o 4.5 Verificar qualidade de software
o 4.6 Controle de alterações no software
5 Ver também
6 Ligações externas
Linhas mestras
O RUP define as seguintes linhas-mestras e esqueletos (templates) para os membros da
equipe de um ciclo de produção: parte do cliente, e uma avaliação do progresso do
projeto pela sua gerência. Além disso, ajuda os programadores a manterem-se
concentrados no projeto.
Gestão de requisitos
Uma documentação apropriada é essencial para qualquer grande projeto; note que o
RUP descreve como documentar a funcionalidade, restrições de sistema, restrições de
projeto e requisitos de negócio.
Os casos de uso (em inglês Use Cases) e os cenários são exemplos de artefatos
dependentes do processo, que têm sido considerados muito mais eficazes na captura de
requisitos funcionais.
O uso de modelos visuais também pode permitir que indíviduos de perfil menos técnico
(como clientes) tenham um melhor entendimento de um dado problema, e assim se
envolvam mais no projeto como um todo.
Fases
Até agora estas linhas de guia são gerais, a serem aderidas ao percorrer do ciclo de vida
de um projeto. As fases[1] indicam a ênfase que é dada no projeto em um dado instante.
Para capturar a dimensão do tempo de um projeto, o RUP divide o projeto em quatro
fases diferentes:
1. Concepção: ênfase no escopo do sistema;
2. Elaboração: ênfase na arquitetura;
3. Construção: ênfase no desenvolvimento;
4. Transição: ênfase na implantação.
1. Pessoas
2. Projeto
3. Produto
4. Processo
Todas as fases geram artefatos. Estes serão utilizados nas próximas fases e documentam
o projeto, além de permitir melhor acompanhamento.
A Fase de concepção
Como cita o RUP, o ideal é que sejam feitas iterações. Porém estas devem ser bem
definidas quanto a sua quantidade e objetivos.
A Fase de Elaboração
A Fase de Construção
A Fase de Transição
Disciplina de Requisitos
Esta disciplina explica como levantar pedidos das partes interessadas ("stakeholders") e
transformá-los em um conjunto de requisitos que os produtos funcionam no âmbito do
sistema a ser construído e fornecem requisitos detalhados para o que deve fazer o
sistema.
O objetivo da análise e projeto é mostrar como o sistema vai ser realizado. O objetivo é
construir um sistema que:
Disciplina de Implementação
Disciplina de Teste
O Rational Unified Process propõe uma abordagem iterativa, o que significa que deve-
se testar todo o projeto. Isto permite encontrar defeitos tão cedo quanto possível, o que
reduz radicalmente o custo de reparar o defeito. Os testes são realizados ao longo de
quatro dimensões da qualidade:confiabilidade, funcionalidade, desempenho da
aplicação, e o desempenho do sistema. Para cada uma destas dimensões da qualidade, o
processo descreve como você passar pelo teste do ciclo de planejamento, projeto,
implementação, execução e avaliação.
Disciplina de Implantação
Disciplina de Ambiente
O ambiente enfoca as atividades necessárias para configurar o processo para um projeto.
Ele descreve as atividades necessárias para desenvolver as diretrizes de apoio a um
projeto. A proposta das atividades de ambiente é prover à organização de
desenvolvimento de software com o ambiente de desenvolvimento de software - os
processos e as ferramentas - que darão suporte à equipe de desenvolvimento. Se os
usuários do RUP não entendem que o RUP é um framework de processo, eles podem
percebê-lo como um processo pesado e caro. No entanto, um conceito-chave dentro do
RUP foi que o processo RUP pode e, muitas vezes, deve ser refinado. Este foi
inicialmente feito manualmente, ou seja, por escrito, um documento de "caso de
desenvolvimento" que especificou o processo refinado para ser utilizado.
Posteriormente, o produto IBM Rational Method Composer foi criado para ajudar a
tornar esta etapa mais simples, engenheiros de processos e gerentes de projeto poderiam
mais facilmente personalizar o RUP para suas necessidades de projeto. Muitas das
variações posteriores do RUP, incluindo OpenUP/Basic, a versão open-source e leve do
RUP, são agora apresentados como processos distintos, por direito próprio, e atendem a
diferentes tipos e tamanhos de projetos, tendências e tecnologias de desenvolvimento de
software. Historicamente, como o RUP, muitas vezes é personalizado para cada projeto
por um perito do processo RUP, o sucesso total do projeto pode ser um pouco
dependente da capacidade desta pessoa.
Desenvolvimento iterativo
Dado o tempo gasto para desenvolver um software grande e sofisticado, não é possível
definir o problema e construir o software em um único passo. Os requerimentos irão
freqüentemente mudar no decorrer do desenvolvimento do projeto, devido a restrições
de arquitetura, necessidades do usuário ou a uma maior compreensão do problema
original. Alterações permitem ao projeto ser constantemente refinado, além de
assinalarem itens de alto risco do projeto como as tarefas de maior prioridade. De forma
ideal, ao término de cada iteração haverá uma versão executável, o que ajuda a reduzir o
risco de configuração do projeto, permitindo maior retorno do usuário e ajudando ao
desenvolvedor manter-se focado.
Usando iterações, um projeto terá um plano geral, como também múltiplos planos de
iteração. O envolvimento dos stakeholders é freqüentemente encorajado a cada entrega.
Desta maneira, as entregas servem como uma forma de se obter o comprometimento dos
envolvidos, promovendo também uma constante comparação entre os requisitos e o
desenvolvimento da organização para as pendências que surgem.
Gerenciamento de requisitos
A Linguagem modelagem unificada (UML) pode ser usada para modelagem de Casos
de Uso, diagrama de classes e outros objetos. RUP também discute outras formas para
construir estes modelos.
Em todos os projetos de software, mudanças são inevitáveis. RUP define métodos para
controlar, rastrear e monitorar estas mudanças. RUP também define espaços de
trabalho seguros (do inglês secure workspaces), garantindo que um sistema de
engenharia de software não será afetado por mudanças em outros sistemas. Este
conceito é bem aderente com arquiteturas de software baseados em componentização.
IBM Rational Unified Process
From Wikipedia, the free encyclopedia
Contents
[hide]
1 History
2 Rational Unified Process topics
o 2.1 RUP building blocks
o 2.2 Four project lifecycle phases
2.2.1 Inception phase
2.2.2 Elaboration phase
2.2.3 Construction phase
2.2.4 Transition phase
o 2.3 Six engineering disciplines
o 2.4 Three supporting disciplines
2.4.1 Phase plan
2.4.2 Iteration plan
2.4.3 Work Product (Artifact)
o 2.5 The IBM Rational Method Composer product
o 2.6 Certification
o 2.7 Six Best Practices
3 Other frameworks
o 3.1 Refinements and variations
o 3.2 Competing frameworks and methodologies
4 See also
5 References
6 Further reading
7 External links
History
The Rational Unified Process (RUP) is a software process product, originally developed
by Rational Software, which was acquired by IBM in February 2003. 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.
These best practices both drove the development of Rational's products, and were used
by Rational's field teams to help customers improve the quality and predictability of
their software development efforts. To make this knowledge more accessible, Philippe
Kruchten, a Rational techrep, was tasked with the assembly of an explicit process
framework for modern software engineering. This effort employed the HTML-based
process delivery mechanism developed by Objectory. The resulting "Rational Unified
Process" (RUP) completed a strategic tripod for Rational:
RUP is based on a set of building blocks, or content elements, describing what are to be
produced, the necessary skills required and the step-by-step explanation describing how
specific development goals are achieved. The main building blocks, or content
elements, are the following:
Within each iteration, the tasks are categorized into nine disciplines: six "engineering
disciplines" (Business Modeling, Requirements, Analysis and Design, Implementation,
Test, Deployment) and three supporting disciplines (Configuration and Change
Management, Project Management, Environment).
The RUP has determined a project lifecycle consisting of four phases. These phases
allow the process to be presented at a high level in a similar way to how a 'waterfall'-
styled project might be presented, although in essence the key to the process lies in the
iterations of development that lie within all of the phases. Also, each phase has one key
objective and milestone at the end that denotes the objective being accomplished.
Inception phase
The primary objective is to scope the system adequately as a basis for validating initial
costing and budgets. In this phase the business case which includes business context,
success factors (expected revenue, market recognition, etc), and financial forecast is
established. To complement the business case, a basic use case model, project plan,
initial risk assessment and project description (the core project requirements, constraints
and key features) are generated. After these are completed, the project is checked
against the following criteria:
If the project does not pass this milestone, called the Lifecycle Objective Milestone, it
can either be cancelled or it can repeat this phase after being redesigned to better meet
the criteria.
Elaboration phase
The primary objective is to mitigate the key risk items identified by analysis up to the
end of this 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.
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.
The key domain analysis for the elaboration is system architecture.
Construction phase
The primary objective is to build the software system. 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.
This phase produces the first external release of the software. Its conclusion is marked
by the Initial Operational Capability Milestone.
Transition phase
The primary objective is to 'transition' the system from the development into
production, making it available to and understood by 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 all objectives are met, the Product Release Milestone is reached and the development
cycle ends.
This article may require copy-editing for grammar, style, cohesion, tone or
spelling. You can assist by editing it now. (September 2009)
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. 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.
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. 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.
Design results in a design model and analysis 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.
Implementation discipline
The purposes of implementation are
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 and
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.
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. If
the users of RUP do not understand that RUP is a process framework, they may
perceive it as a weighty and expensive process. However a key concept within
RUP was that the RUP process could and often should itself be refined. This was
initially done manually, ie by writing a "Development case" document that
specified the refined process to be used. Later the IBM Rational Method
Composer product was created to help make this step simpler, so process
engineers and project managers could more easily customize the RUP for their
project needs. Many of the later variants of RUP, including OpenUP/Basic, the
lightweight and open source version of RUP, are now presented as separate
processes in their own right, and cater for different types and sizes of projects
and trends and technologies in software development. Historically, as the RUP is
often customized for each project by a RUP process expert, the project's overall
success can be somewhat dependent on the abilities of this one person.
Configuration and Change management discipline
The Change Management discipline in RUP deals with three specific areas:
configuration management, change request management, and Status and
measurement management.
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:
Phase plan
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.
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.
Therefore there is a set of supported Artifacts that help in measuring and building each
iteration plan.
IBM has replaced the term "Artifact" with the term "work product". The work products
used are:
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.