Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia de Software
2o semestre de 2007
Notas de Aula 04
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
Organizao Geral
Notas de Aula 04
Fonte:http://www.wthreex.com/rup/
Notas de Aula 04
Fluxo de Trabalho
Notas de Aula 04
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
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
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
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
R I S C O S
TEMPO
Notas de Aula 04 Prof. Marcos Roberto e Silva
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
Gerencia de Requisito
Notas de Aula 04
Melhoria na comunicao
Maior envolvimento do usurio no processo
Notas de Aula 04
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
10
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
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
12
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
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
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
Os problemas encontrados em um software so geralmente mais custosos para se reparar quando o software j foi distribudo.
Custo
Notas de Aula 04
14
15
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
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
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
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
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
18