Você está na página 1de 18

Curso Tecnologia em Gesto de Sistema de Informao

Engenharia de Software
2o semestre de 2007

Notas de Aula 04

Prof. Marcos Roberto e Silva

Rational Unified Process

O Rational Unified Process (RUP) um processo de Engenharia de Software que compreende o gerenciamento, a produo e a manutenco de software, integrando desta maneira todas as fases do ciclo de vida de desenvolvimento de software. O objetivo do RUP assegurar a produo de software de alta qualidade que satisfaa as necessidades de seus usurios finais dentro de prazo e oramento previsveis.(Philippe Kruchten)
Notas de Aula 04 Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

Organizao Geral

Notas de Aula 04

Prof. Marcos Roberto e Silva

Processo de engenharia de software


Um processo um conjunto de passos parcialmente ordenados com a inteno de atingir uma meta (desenvolver ou aperfeioar um software ou um processo). No RUP, os passos so organizados em um conjunto de disciplinas (que uma forma de categorizar as atividades e outros elementos do processo por rea de conhecimento, independente de tempo). para posteriormente definirem os fluxos de trabalho e outros elementos do processo.
Prof. Marcos Roberto e Silva

Fonte:http://www.wthreex.com/rup/

Notas de Aula 04

Curso Tecnologia em Gesto de Sistema de Informao

Disciplinas - Fluxo de Trabalho

Fluxo de Trabalho

Detalhamento do Fluxo de Trabalho

Notas de Aula 04

Prof. Marcos Roberto e Silva

Estrutura do Processo RUP


O processo RUP tem duas dimenses representadas por: Um eixo horizontal que representa o tempo e o desdobramento dos aspectos do ciclo de vida do processo (aspecto dinmico do processo) Um eixo vertical que representa os fluxos do processo, os quais agrupam as disciplinas (aspecto esttico do processo)
Notas de Aula 04

Fonte:http://www.wthreex.com/rup/ Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

As Fases do RUP

Iniciao
Estabelecer o escopo e a viabilidade econmica do projeto

Elaborao
Eliminar os principais riscos, definindo a arquitetura estavl na qual o sistema ser construdo.

Construo
Desenvolver o sistema iterativamente

Transio
Fazer a entrega do sistema aos usurios
Notas de Aula 04 Prof. Marcos Roberto e Silva

Fases e Marcos

Gerencialmente cada fase do RUP concluda por um marcos principal, Em cada final de fase feita uma avaliao do projeto para averiguar se os objetivos da mesma foram alcanados. Uma passagem pelas quatro fases um ciclo de desenvolvimento, sendo que cada passagem produz a gerao de um software.
Notas de Aula 04 Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

As seis melhores prticas da Engenharia de Software

O RUP traz as seis melhores prticas da Engenharia de Software para desenvolvimento de software, que so:
Desenvolvimento Iterativo Gerncia de Requisitos Arquitetura Baseada em Componentes Modelagem Visual (UML) Verificao Contnua da Qualidade Gerncia de Configurao e Mudanas
Prof. Marcos Roberto e Silva

Notas de Aula 04

Desenvolvimento Iterativo

Os processos clssicos de desenvolvimento de software seguem em grande parte o ciclo de vida em cascata.
R I S C O
Testes Implantao e Manuteno Anlise de Requisitos Projeto Implementao

Tempo
Notas de Aula 04 Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

Desenvolvimento Iterativo

O ciclo de vida em cascata segue uma nica fase de anlise, projeto, programao, testes e finalmente implantao, e apresenta algumas desvantagens: Parte do princpio que os requisitos so congelados no incio do projeto Os riscos no so tratados logo no incio do projeto No h verses do produto at que todas as fases estejam concludas
Notas de Aula 04 Prof. Marcos Roberto e Silva

Desenvolvimento Iterativo
Um projeto que usa o desenvolvimento iterativo tem um ciclo de vida que consiste em vrias iteraes. Uma iterao agrupa atividades por resultado e define a nfase dada s disciplinas e suas atividades ao longo do tempo, proporcionando um marco menor que o da fase, voltada para decises tcnicas e focadas especialmente na gerncia de riscos, resultando num artefato ou produto de sistema intermedirio. Uma fase pode ter uma ou mais iteraes e estas devem atender aos macro-objetivos das fases.
Notas de Aula 04

Iterao

Ciclo de desenvolvimento / Evoluo

Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

Vantagens do Desenvolvimento Iterativo em comparao com o Processo Tradicional (Cascata)

Os riscos mais crticos so expostos e mitigados mais cedo As mudanas de requisitos so melhor acomodadas ao projeto Maior facilidade em fazer o refinamento do software, uma vez os erros so encontrados e corrigidos a cada iteraco, o que traz maior qualidade ao produto final A medida que o ciclo de vida evolui as pessoas envolvidas aprendem mais H um maior nvel de reutilizao
Notas de Aula 04 Prof. Marcos Roberto e Silva

Anlise dos Riscos


Desenvolvimento em Cascata Desenvolvimento Iterativo

R I S C O S

TEMPO
Notas de Aula 04 Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

Gerencia de Requisitos
uma abordagem sistemtica para captar, documentar, organizar e rastrear os requisitos variveis do sistema. Um requisito definido como uma condio ou capacidade qual o sistema deve atender. Os requisitos podem ser classificados como: Funcionais - so as aes que o sistema deve executar incluindo os resultados esperados de sada, definem portanto, o comportamento de entrada e sada de um sistema. Normalmente so descritos atravs de um Modelo de Casos de Uso e em Casos de Uso. No Funcionais - so as caractersticas do sistema que envolvem a sua forma de utilizao, confiana, desempenho e suporte.
Notas de Aula 04 Prof. Marcos Roberto e Silva

Requisitos No-Funcionais
Usabilidade
Facilidade de aprendizado e facilidade de uso Consistncia nas interfaces do usurio Documentao do usurio e material de treinamento

Confiabilidade
Tempo mdio de falha, recuperao, previsibilidade e preciso

Desempenho
Condies impostas pelos requisitos funcionais, tais como: velocidade, disponibilidade, preciso, taxa de transao, tempo de resposta, tempo de recuperao ou uso de memria a ser usada em determinada funcionalidade

Suporte
Capacidade de testes, preservao e capacidade de manter o software aps a sua implantao

Notas de Aula 04

Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

Gerencia de Requisito

Notas de Aula 04

Prof. Marcos Roberto e Silva

Os objetivos de gerenciar requisitos

Os objetivos de gerenciar requisitos so:


Estabelecer acordos entre o cliente e a equipe de desenvolvimento quanto a mudanas de requisitos durante o projeto Proporcionar a equipe de desenvolvimento um melhor entendimento dos requisitos Definir o escopo do sistema Obter a base para realizar o planejamento das iteraes e dos contedos tcnicos Obter a base para realizar as estimativas de custo e prazo de desenvolvimento Definir uma interface do usurio para o sistema, a qual deve ter o foco nas suas necessidades e metas
Notas de Aula 04 Prof. Marcos Roberto e Silva

Curso Tecnologia em Gesto de Sistema de Informao

As vantagens de gerenciar requisitos Melhor controle de projetos complexos


Rastreabilidade de dependncia entre requisitos Avaliao das alteraes de requisitos no que diz respeito ao impacto e relao custo-benefcio

Melhoria na qualidade e maior satisfao dos clientes


O sistema faz o que supostamente tem que fazer

Reduo de custos e atrasos


Encontrar os erros mais cedo, faz com que se diminua o custo do projeto e haja preveno de atrasos

Melhoria na comunicao
Maior envolvimento do usurio no processo

Notas de Aula 04

Prof. Marcos Roberto e Silva

Arquitetura de Software A arquitetura de software apresenta uma viso do sistema a ser construdo, descrevendo a estrutura e a organizao dos componentes deste sistema, as propriedades e a capacidade de integrao destes componentes. Uma arquitetura de software deve levar em considerao a funcionalidade, uso, desempenho, capacidade de recuperao, reutilizao, compreenso, economia, limitao tecnolgica, interesses de comercializao e os aspectos visuais de apresentao deste software.

Notas de Aula 04

Prof. Marcos Roberto e Silva

10

Curso Tecnologia em Gesto de Sistema de Informao

Desenvolvimento Baseado em Componentes uma abordagem para a arquitetura de software que deve compreender o desenvolvimento de sistemas fazendo a integrao planejada de componentes, bem como a administrao destes componentes. O principal objetivo realizar a construo de sistemas em partes (componentes) com qualidade e que atendam as necessidades empresariais. Os componentes podem ser desenvolvidos ou reutilizados de sistemas anteriores.
Notas de Aula 04 Prof. Marcos Roberto e Silva

Componentes uma parte do software no trivial que possui uma funo especfica dentro da arquitetura de um sistema, possui uma documentao e condio de reutilizao bem definida. Podem ser classificados como: Componentes de execuo
So os executveis, processos e bibliotecas de ligao dinmica (DLLs)

Componentes de desenvolvimento
Utilizados durante o desenvolvimento do software

Componentes empresariais
So os componenentes de execuo ou desenvolvimento mas que apresentam uma caracterstica funcional de negcio, podendo ser vendidos, lanados ou atualizados
Notas de Aula 04 Prof. Marcos Roberto e Silva

11

Curso Tecnologia em Gesto de Sistema de Informao

Exemplos de Plataformas para Desenvolvimento Baseado em Componentes

COM
Modelo de Objeto Componente da Microsoft

CORBA
Common Object Request Broker Architecture da OMG (Object Management Group)

EJB
Enterprise JavaBeans da Sun Microsystems
Notas de Aula 04 Prof. Marcos Roberto e Silva

As Vantagens

Maior visibilidade dos elementos de um sistema sujeito a mudanas Facilidade de reutilizao em larga escala Facilidade para configurao
Notas de Aula 04

gerencimaneto

de

Prof. Marcos Roberto e Silva

12

Curso Tecnologia em Gesto de Sistema de Informao

Modelagem Visual

A elaborao de modelos visa o melhor entendimento do sistema de software a ser construdo. Um modelo uma abstrao da realidade. Modelar visualmente fazer uso de uma notao grfica que iro permitir elevar o nvel de abstrao

Notas de Aula 04

Prof. Marcos Roberto e Silva

UML

A UML (Unified Modeling Language), ou linguagem unificada de modelagem, uma linguagem padronizada para a modelagem de sistemas de software orientados a objeto. Utilizando a UML tem-se a possibilidade de: Fazer a modelagem dos processos de negcios Fazer a especificao de requisitos Elaborar os modelos do projeto de software
Notas de Aula 04 Prof. Marcos Roberto e Silva

13

Curso Tecnologia em Gesto de Sistema de Informao

Vantagens de Modelar Visualmente

Melhoria na capacidade de entendimento e gerenciamento da complexide dos sistemas Pesquisa e comparao de opes de designa um baixo custo Formao de uma base para implementar Obteno de requisitos com mais preciso Facilidade de comunicao entre a equipe de desenvolvimento, sem ambiguidades
Notas de Aula 04 Prof. Marcos Roberto e Silva

Verificao Continua da Qualidade

Os problemas encontrados em um software so geralmente mais custosos para se reparar quando o software j foi distribudo.

Custo

Notas de Aula 04

Prof. Marcos Roberto e Silva

14

Curso Tecnologia em Gesto de Sistema de Informao

Verificao Continua da Qualidade


Para o RUP a qualidade definida : "...a caracterstica de ter demonstrado a realizao da criao de um produto que atende ou excede os requisitos acordados, conforme avaliado por medidas e critrios acordados, e que criado em um processo acordado. Desta forma, obter qualidade no simplesmente "atender a requisitos" ou produzir um produto que atende s necessidades e expectativas dos usurios. Pelo contrrio, a qualidade tambm inclui a identificao das medidas e dos critrios para demonstrar a obteno da qualidade e a implementao de um processo para garantir que o produto por ele criado tenha atingido o grau desejado de qualidade e possa ser repetido e gerenciado.
Notas de Aula 04 Prof. Marcos Roberto e Silva

Verificao Continua da Qualidade

A verificao continua da qualidade nos leva a:


Obter uma avaliao real da situao do projeto, a qual deve apresentar as inconsistncias dos requisitos, dos modelos de projeto e das implementaes Efetuar testes nas reas de maior risco Identificar os problemas mais cedo Obter ferramentas automatizadas de testes, que possibilitem uma melhor avaliao da funcionalidade, confiabilidade e desempenho do software
Notas de Aula 04 Prof. Marcos Roberto e Silva

15

Curso Tecnologia em Gesto de Sistema de Informao

Gerncia de Configurao e Mudana Durante o desenvolvimento do software muitos artefatos so constantemente modificados, principalmente em se tratando do ciclo de vida iterativo. Desta forma imprescindvel que haja mecanismos que possibilitem realizar o rastreamento destas modificaes para que se possa manter o controle do processo de desenvolvimento. Estes mecanismos so previstos dentro da gerncia de configurao e mudana.

Notas de Aula 04

Prof. Marcos Roberto e Silva

Gerncia de Mudanas

Manter maior contato com o cliente e estabelecer uma via nica de solicitao de mudanas Realizar a anlise do impacto da mudanas dos requisitos no sistema Refazer o escopo do sistema Realizar acordos com o cliente a respeito das modificaes
Notas de Aula 04 Prof. Marcos Roberto e Silva

16

Curso Tecnologia em Gesto de Sistema de Informao

Gerncia de Configurao

Fazer o versionamento da base de requisitos, dos artefatos e software que so produzidos. Coordenar as iteraes e o lanamento dos artefatos e software, estabelecendo e criando uma linha de base (baseline) a cada iterao. Realizar a documentao das alteraes.
Notas de Aula 04 Prof. Marcos Roberto e Silva

Exemplos de Softwares e Solues que auxiliam a Gerncia de Configurao

Rational ClearCase Change Management StarTeam da Borland Microsoft Visual Source-Safe CVS - Concurrent Versions System (Open Source)
Notas de Aula 04 Prof. Marcos Roberto e Silva

17

Curso Tecnologia em Gesto de Sistema de Informao

Referncias Bibliogrficas

KRUCHTEN, Philippe. Introduo ao RUP - Rational Unified Process. Rio de Janeiro: Cincia Moderna, 2003. _____________. Rational Unified Processo - Viso Geral. Disponvel m : <http://www.wthreex.com/rup/>. Acesso em: Agosto, 2007.

Notas de Aula 04

Prof. Marcos Roberto e Silva

18

Você também pode gostar