Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract. This article describes what should be considered in the software development to
achieve acceptable quality patterns. The article shows that quality software is something that
should be considered in all time in the application life cycle. One of the features that can
maximize the software’s quality level is the iterative and incremental development. Moreover,
the failures of the waterfall development process and the show and description of the Rational
Unified Process (RUP)’s features will be approached.
Resumo. Este artigo descreve o que deve ser levado em consideração no desenvolvimento de
software para atingir padrões de qualidade aceitáveis. O artigo mostra que a qualidade de
software é algo que deve ser levado em consideração em todo momento do ciclo de vida do
aplicativo. Uma das características que podem elevar o nível de qualidade do software é o
desenvolvimento iterativo e incremental. Além disso, são abordadas as falhas do processo de
desenvolvimento em cascata e a apresentação e descrição das características do Rational
Unified Process (RUP).
1
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
1. Introdução
A cada dia que passa, as organizações se tornam mais dependentes dos sistemas de informação.
Atualmente, não apenas sistemas que podem colocar a vida de pessoas em risco são
considerados sistemas de missão crítica. Hoje, os sistemas de informação de muitas empresas
são qualificados como de missão crítica, pois podem gerar enormes prejuízos financeiros caso
haja eventuais problemas com os mesmos.
A qualidade de software não pode ser avaliada de maneira isolada. Softwares são desenvolvidos
pelas organizações através de procedimentos. Um método pobre ou a ausência de uma
metodologia pode ser a causa da baixa qualidade. Sendo assim, a avaliação da qualidade está
diretamente relacionada com a qualidade de processos e metodologias utilizadas.
2
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
2. Metodologias de Desenvolvimento
Esse método, também conhecido como seqüencial, ou linear, foi utilizado por muitos anos e
ainda é utilizado. Segundo [Kroll e Kruchten 2003], esse processo se baseia nos seguintes
passos:
3
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
Distribuir o produto.
Esse processo é similar à forma a qual pontes e edifícios são construídos. Algumas coisas
devem ser feitas dessa maneira. Em um projeto com dois meses de duração, essa metodologia
poderia ser usada. Mas normalmente, softwares não devem ser desenvolvidos dessa forma.
4
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
Conforme [Kroll e Kruchten 2003], podemos ter três definições para o Rational Unified Process
(RUP):
O RUP utiliza a Linguagem Unificada de Modelagem (UML [2]) para especificar, modelar e
documentar artefatos. A UML é um padrão definido pelo OMG [3] e ter se tornado o padrão
empresarial para a modelagem orientada a objetos [4].
Por ser flexível e configurável, o RUP pode ser utilizado em projetos de pequeno, médio e
grande porte. [Kroll e Kruchten 2003] mostra como o RUP pode ser utilizado em um projeto de
uma semana com uma equipe de uma pessoa.
Não existe uma maneira exata de aplicar o RUP, pois ele pode ser aplicado de várias formas e
será diferente em cada projeto e organização. Porém, existem alguns princípios que podem
caracterizar e diferenciar o RUP de outros métodos iterativos:
5
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
O RUP possui cinco elementos principais: papéis, atividades, artefatos, fluxos de trabalho e
disciplinas.
Um papel (ou perfil) define o comportamento e as responsabilidades de um determinado
indivíduo ou grupo de indivíduos trabalhando como uma equipe. Papéis não são indivíduos e
nem títulos de trabalho. Um indivíduo pode assumir vários papéis. São exemplos de papéis:
Analista de sistema – O indivíduo que assume este papel coordena a obtenção dos
requisitos e a modelagem dos casos de uso identificando funcionalidades do sistema e
estabelecendo limites do sistema;
Projetista – Esse indivíduo define responsabilidades, operações, atributos,
relacionamentos de uma ou mais classes e determina como elas devem ser ajustadas
para serem implementadas no ambiente;
Projetista de testes – Responsável pelo planejamento, projeto, implantação e avaliação
de testes, incluindo a geração de plano e modelo de teste, implementando
procedimentos de testes e avaliando a abrangência dos testes, resultados e a
efetividade.
Uma atividade é uma unidade de trabalho que um indivíduo executa quando está exercendo um
determinado papel e produz um resultado importante para o contexto do projeto. Cada atividade
pode ser dividida em passos. São exemplos de atividades:
6
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
7
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
Uma disciplina é uma coleção de atividades relacionadas que fazem parte de um contexto
comum em um projeto. As disciplinas proporcionam um melhor entendimento do projeto sob o
ponto de vista tradicional de um processo cascata. A separação das atividades em disciplinas
torna a compreensão das atividades mais fácil, porém dificulta mais o planejamento das
atividades. O RUP possui nove disciplinas, divididas em disciplinas do processo e de suporte.
As disciplinas de processo são: modelagem de negócios, requisitos, análise e projeto,
implementação, teste e distribuição. As de suporte são: configuração e gerenciamento de
mudanças, gerenciamento de projeto, e ambiente.
8
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
O ciclo de desenvolvimento termina com uma versão completa do produto de software. As fases
definem estados do projeto, que são definidos por riscos que estão sendo mitigados ou questões
que precisam ser respondidas.
A fase de iniciação, foca no tratamento de riscos relacionados com o caso de negócio. Deve ser
verificado se o projeto é viável e se é financeiramente possível.
Na fase elaboração, o foco deve ser nos riscos técnicos e arquiteturais. O escopo deve ser
revisado e os requisitos devem estar mais compreendidos.
Durante a construção, a atenção será voltada para os riscos “ lógicos ”, e a maior parte do
trabalho será realizada.
9
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
Conforme descrito na documentação do RUP, cada passagem pelas quatro fases gera uma
geração do software. A menos que o produto "desapareça", ele irá se desenvolver na próxima
geração, repetindo a mesma seqüência de fases de iniciação, elaboração, construção e transição.
Esses ciclos subseqüentes são chamados de ciclos de evolução. A cada ciclo, são produzidas
novas gerações.
Os ciclos de evolução podem ser disparados por melhorias sugeridas pelos usuários, mudanças
no contexto do usuário, mudanças na tecnologia subjacente, reação à concorrência e assim por
diante. Normalmente, a menos que ocorram mudanças significativas do produto ou da
arquitetura, os ciclos de evolução têm fases de Iniciação e Elaboração bem menores, pois a
definição e a arquitetura básicas do produto foram determinadas por ciclos de desenvolvimento
anteriores.
10
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
4. Conclusão
Qualidade de software;
Produtividade no desenvolvimento, operação e manutenção de software;
Controle sobre desenvolvimento dentro de custos, prazos e níveis de qualidade
desejados;
Estimativa de prazos e custos com maior precisão.
Apesar dos benefícios, deve-se ter a consciência que os benefícios não virão de maneira
imediata. É necessário adquirir treinamento adequado, adaptação da metodologia no contexto ao
qual ela será utilizada, apoio especializado para as equipes de desenvolvimento e tempo para a
absorção da metodologia.
Mais informações a respeito do RUP podem ser obtidas no site do IBM RUP e também no site
da comunidade IBM Rational. (IBM 2004).
11
http://qualidade-de-software.blogspot.com
Obtendo Qualidade de Software com o RUP
Referências
12
http://qualidade-de-software.blogspot.com