Академический Документы
Профессиональный Документы
Культура Документы
Resumo do Artigo 1
Uma Viso de Abordagem de Desenvolvimento de
Software do Rational Unified Process
Autores: Antnio Roberto Albuquerque
Luciano Schiavo
UNIP, Universidade Paulista
Resumo
O Rational Unified Process (RUP), segundo um dos seus criadores, pode ser visto como
um produto processo, um processo de engenharia ou uma abordagem de
desenvolvimento de software. Uma viso um pouco mais profunda mostra que a
abordagem de desenvolvimento de software utilizada pelo RUP est baseada em
conceitos organizados e aplicados durante todo o avano da engenharia de software. A
idia apresentar a evoluo existente em engenharia de software at o momento e
confronta-la com o que apresentado pelo RUP.
1. Introduo
Engenharia de Software uma cincia relativamente nova que foi definida inicialmente,
segundo (Pressman, 2002), em 1969 em uma conferncia dedicada ao assunto. Nesta
conferncia Fritz Bauer a definiu como a criao e a utilizao de slidos princpios de
engenharia a fim de obter software de maneira econmica, que seja confivel e que
trabalhe eficientemente em mquinas reais.
2. Conceitos bsicos
Apesar dos vrios conceitos e vises disponveis na engenharia de software necessrio
o desenvolvimento de alguns conceitos bsicos que consolidem o conhecimento dentro
desse trabalho. A definio dos seguintes termos necessria:
2.2. Produto
Falando-se de software, ainda h dvidas sobre o que necessariamente deve ser
considerado como produto: o que foi entregue ao cliente ou o que foi criado e utilizado
na confeco do software?
Spinosa em sua tese de doutorado (Spinosa, ????), aborda a diferenciao entre produto
de software e produto de desenvolvimento de software.
Como Produto de Software Spinosa utiliza a definio estabelecida pela norma IEEE
STD-610: produto de software o ...conjunto completo, ou qualquer dos itens
individuais do conjunto, de programas de computador, procedimentos, e documentao
associada e dados designados para liberao para um cliente ou usurio final.
Como Produto de Desenvolvimento de Software, Spinosa cita a mesma definio
encontrada na obra (CMM, 1995), a seguinte: ...qualquer artefato criado como parte
da definio, manuteno ou uso do processo de desenvolvimento de software, que
podem ser ou no destinados a liberao para um cliente ou usurio final.
2.3. Processo
Para (Jacobson, 1992) o processo a forma natural de escalar um mtodo, que fcil
de entender atravs do exemplo: Produzir uma nova substncia qumica no laboratrio
difere grandemente de produzir a nova substncia em escala industrial. No laboratrio o
objetivo encontrar um mtodo para produzir a substncia. Para fazer este mtodo
apropriado para o uso industrial em larga escala, um processo deve ser definido .
(Presman, 2002) discorre sobre a seguinte pergunta: Processo sinnimo de engenharia
de software? Estranhamente o autor aceita a comparao e indica tambm que a
negao tambm ocorre por entender que um processo de desenvolvimento de software
parte da engenharia de software.
Para (Silva, 2001) o processo de desenvolvimento de software um conceito de
mbito muito vasto e pretende designar uma seqncia de atividades , normalmente
agrupadas em fases e tarefas, que so executadas de forma sistemtica e uniformizada,
que so realizadas por pessoas com responsabilidades bem definidas, e que a partir de
um conjunto de inputs produzem um conjunto de outputs.
2.4.2. Prototipao
Durante a dcada de 80, as experincias prticas negativas com o modelo cascata
levaram a um modelo completamente diferente: o modelo iterativo (tambm chamado
como abordagem de prototipao). Esta estratgia alternativa comea com a premissa
que o desenvolvimento de sistema pode comear com informao incompleta e que
equisitos completos so obtidos atravs de um processo cclico e dialtico de reaes do
usurio no prottipo. O importante nesta abordagem que o ponto de vista orientado a
projeto enriquecido com o aumento de interesse da participao do usurio final
(IBM, 2001).
2.5.1. Espiral
O modelo espiral ... foi desenvolvido para abranger as melhores caractersticas tanto do
ciclo de vida clssico como da prototipao, acrescentando, ao mesmo tempo, um novo
elemento a anlise de riscos que falta a esses paradigmas. O modelo (...) define
quatro importantes atividades representadas por quatro quadrantes:
1. Planejamento: determinao dos objetivos, alternativas e restries.
2. Anlise de riscos: anlise de alternativas e identificao/resoluo de riscos.
2.5.2. Incremental
Peters cita que o modelo de processo de software incremental foi proposto pela
European Space Agency em 1991 e semelhante ao cascata. Os requisitos e conceitos
de software e sistema so primeiramente identificados e, em seguida, as demais
atividades do desenvolvimento de software so repetidas cada vez que h uma nova
verso do software. O modelo incremental parte do pricpio irreal de que o sistema, bem
como os requisitos de software, permanecem estveis. Porm, os requisitos tendem a
evoluir devido a mudanas na tecnologia e experincia (feedback relativo a uma verso
operacional do sistema)(Peters, 2001).
3.1 Definio
Krutchen (Krutchen, 2003) afirma que, embora o RUP sugira um processo, ele pode ser
considerado como :
uma abordagem de desenvolvimento de software que interativa, centrada na
arquitetura e dirigida por casos de uso, ou seja, levantamento de requisitos
baseados na viso do usurio.
um processo de engenharia de software bem definido e bem estruturado. Ele
claramente define quem o responsvel pelo que, como as coisas so feitas e
quando faze-las.
um produto processo que fornece um framework de processo customizvel para
a engenharia de software. Essas customizaes podem ser feitas para suportar
pequenas equipes e abordagens disciplinadas ou menos formal para o
desenvolvimento. Esse produto fornecido pela Rational.
4. Concluso
O Rational Unified Process (RUP) sob o ponto de vista de uma abordagem de
desenvolvimento pode ser considerado como uma unio de vrios conceitos que foram
evoluidos durante toda a histria da engenharia de software. Conceitos estes
organizados e agregados para a viabilidade de produo de software com qualidade,
prazo e custos.