Apresentação |
|
Você conhece os treze diagramas da nova versão da linguagem de especificação
UML? Conhecia os nove diagramas da versão anterior? Mais importante que isso:
sabe usá-los em um processo de desenvolvimento orientado a objetos? É grande
o número de profissionais de nível superior atuantes em desenvolvimento de
software que responderiam “Não” a essas perguntas. Por isso, o foco deste
trabalho é capacitar quem tem noções de programação orientada a objetos a
usar UML em análise e projeto orientados a objetos, o que possibilita o
desenvolvimento de softwares de mais alta complexidade, com garantia de
estruturação adequada. A primeira versão de UML foi produzida em 1997 e, de lá para cá,
tornou-se padrão de notação para especificações orientadas a objetos, levando
ao desuso dezenas de notações até então existentes. A versão 2 da linguagem vem tratar deficiências presentes na
primeira versão e é proposta quase uma década após o lançamento desta. Várias metodologias de análise e projeto abandonaram suas
notações originais, adotando UML ao longo da última década. Outras novas
surgiram já incorporando UML. Porém, de um modo geral, observa-se uma
subutilização do potencial expressivo da linguagem nessas metodologias. Com o
lançamento recente de UML 2, essa característica
tornou-se ainda mais evidente. É importante ressaltar esse aspecto, pois, em
pleno século XXI, há que se perguntar se ainda faz sentido produzir uma
publicação voltada a análise e projeto orientados a objetos. A resposta é
“Sim” e existem algumas razões para isso: ·
Desafios
de ordem prática em análise e projeto não são completamente solucionados pelas propostas ora publicadas. Na elaboração
desta obra, buscaram-se respostas para várias questões levantadas no
dia-a-dia da prática de modelagem; ·
Não
se encontrou nenhum material disponível que descrevesse a segunda versão de
UML de uma forma completa e didática. Existem várias publicações voltadas à
primeira versão, adaptadas para a segunda, sem de fato mostrarem ao leitor a
segunda versão de UML de forma completa; ·
As
metodologias de análise e projeto que adotam UML não prevêem
a possibilidade de uso de todos os seus diagramas, o que leva a uma
subutilização da linguagem. O conhecimento de UML possibilita uma releitura
dessas metodologias. Uma outra questão relevante é a finalidade de
proceder a uma modelagem no desenvolvimento de software, isto é, de gerar
especificações baseadas em UML durante as etapas de análise e projeto. Um dos
objetivos da presente obra é tornar claro como e porque o processo de modelagem,
a partir da possibilidade de tratar um software em diferentes níveis de
abstração, através de diferentes pontos de vista, auxilia na identificação e
seleção de alternativas mais adequadas, levando a um resultado de melhor
qualidade. Isso significa “software melhor estruturado”, o que tem um reflexo
direto na sua manutenibilidade (porque será de mais
fácil compreensão), bem como na reusabilidade de suas partes. Com isso, o
processo de modelagem torna-se um excelente auxílio para administrar a
complexidade em um desenvolvimento, para levar a um melhor resultado, bem
como para aumentar a produtividade da atividade de desenvolvimento de
software. Sem a adoção de abordagens metódicas de desenvolvimento (o que
inclui modelagem de análise e projeto) não há capacitação para grandes
desafios, isto é, para software extenso. Nesta obra procura-se deixar esses
aspectos muito nítidos para o leitor, pois se a prática de modelagem não
pudesse ajudá-lo, consistiria apenas em mais uma demanda de esforço em um
processo de desenvolvimento. A primeira parte deste livro é voltada a introduzir o tema
modelagem em desenvolvimento de software – e mais especificamente, no
desenvolvimento de software orientado a objetos. Introduz conceitos
fundamentais a um processo de modelagem. A seguir, discute-se a estrutura de
um programa orientado a objetos tanto em tempo de desenvolvimento – classes –
como em tempo de execução – objetos interagindo. Os dois pontos de vista
devem ser abordados em um processo de modelagem. Introduzem-se critérios de
avaliação de especificações de projeto orientado a objetos: os pontos de
vista essenciais – o que envolve tanto a necessidade de tratar diferentes
níveis de abstração quanto de abranger modelagem estrutural e dinâmica. A segunda parte é voltada à apresentação da versão 2 da linguagem UML, inclusive comparando-a com a versão
anterior. Um capítulo inicial apresenta uma visão geral de UML, descrevendo
em linhas gerais todos os diagramas, seus principais elementos e sua
aplicabilidade em um processo de modelagem. Outros oito capítulos detalham os
treze tipos de diagrama da segunda versão de UML. Seus elementos sintáticos
são apresentados e seu uso é ilustrado através de exemplos. O último capítulo discute sucintamente as próximas necessidades,
no sentido de compor um processo de desenvolvimento de software. A primeira,
definir a seqüência de etapas para produzir uma
modelagem orientada a objetos usando UML e que atenda ao requisito de
produzir uma especificação que possa ser considerada completa – que trate os
possíveis pontos de vista, em diferentes níveis de abstração. Além de passos
a seguir, uma outra necessidade de um procedimento
metodológico é prever critérios para avaliar e validar a modelagem produzida
– no sentido de maximizar a qualidade, consistência, legibilidade e coesão da
especificação. O conteúdo apresentado é resultado de anos de prática do autor,
tanto modelando, como ensinando a modelar – em graduação, pós-graduação e Ricardo Pereira e Silva |