• Nenhum resultado encontrado

Outros Aspectos

No documento UML, Metodologias e Ferramentas CASE (páginas 132-137)

Método de Booch

P ARTE 2 – L INGUAGEM DE M ODELAÇÃO UML 1 0

3.7.3 Outros Aspectos

O desenvolvimento de software segundo uma abordagem orientada por objectos apresenta outras vantagens comparativamente com a aborda- gem estruturada, resumidamente:

§ Providencia blocos de construção de alto nível que reduzem os

custos de desenvolvimento, pela promoção da reutilização e

encapsulamento de software. Este facto permite reduzir as interde- pendências e facilitar a manutenção posterior.

§ Facilita a transferência de conhecimento através da adopção de “padrões de desenho”, reduzindo o custo de aprendizagem. § Providencia um framework (aplicacional ou de middleware) para

facilitar a extensão do sistema, reduzindo o custo de novas

versões.

§ Reduz o custo de alteração do sistema, em resposta às expec- tativas e requisitos dos utilizadores

Todavia, e ainda que actualmente esta abordagem possa já ser considerada estabelecida e madura, implica alguns cuidados na sua aplicação, pelo facto de levantar algumas questões:

§ Exige uma nova forma de ”pensar“ o processo de desenvolvimento. § A orientação por objectos deve ser utilizada em todas as fases do

ciclo de vida do software. Por exemplo, não tem muito sentido usar- se uma linguagem orientada por objectos a seguir a um ciclo de análise e desenho tradicional, ou vice-versa.

§ A gestão da empresa ou do projecto tem de “comprar” a mudança para a filosofia orientada por objectos, em particular tem de definir os objectivos comerciais para a mudança. Por exemplo, redução dos custos de manutenção do software.

§ A migração para a orientação por objectos tem de ser devidamente planeada para garantir a sua eficácia.

Apesar das vantagens sublinhadas da abordagem da orientação por objectos no desenvolvimento de software, não se deve concluir que esta é “sempre” mais adequada que a aproximação estruturada. Há várias situações em que é mais correcto seguir uma metodologia estruturada. Por exemplo, se a linguagem de programação utilizada pela organiza- ção for Cobol, RPG ou C e o ambiente de desenvolvimento for estrutu- rado, então fará mais sentido aplicar metodologias estruturadas ao

PARTE 2 – LINGUAGEM DE MODELAÇÃO UML

1 0 7

longo de todas as fases do projecto. Caso contrário, correr-se-ia no erro (e no perigo!) de se realizar uma modelação com base em conceitos orientados por objectos e depois ter de se recriar, ao nível do desenho (ou pior, ao nível da codificação!) um modelo completamente distinto do primeiro. Apesar de ser natural e óbvio que é mais consistente a utilização do mesmo paradigma ao longo de todo o ciclo, do ponto de vista teórico nada impede que se utilizem métodos de análise estrutura- da, seguidos de uma implementação numa linguagem orientada por objectos; o inverso pode também acontecer, isto é, a utilização de uma linguagem tradicional na sequência de uma análise orientada por objec- tos.

3.8

Conclusão

Este capítulo conclui a primeira parte do livro, na qual se deu uma visão dos problemas da Engenharia de Software (Capítulo 1), a definição de conceitos e abordagens genéricas ao desenvolvimento de software (Capítulo 2) e uma ideia resumida do caminho que foi seguido até à data em termos de evolução dos conceitos e das metodologias práticas (Capítulo 3).

Neste último capítulo procurámos transmitir ao leitor a ideia de que as abordagens orientadas por objectos apresentam vantagens significa- tivas, mas que a proliferação de notações e metodologias, bem como o conhecimento especializado que é necessário para aplicar com sucesso esta nova forma de encarar e modelar o mundo exterior, colocam desafios significativos e constituem problemas importantes que é preci- so solucionar.

É precisamente com esse objectivo que o resto do livro se concentra na linguagem de modelação UML, e nos processos de desenvolvimento a ela associados, quer porque esta é de facto uma iniciativa unificadora ao nível das notações, quer porque é necessária a sua divulgação de forma a que mais informáticos adquiram os conhecimentos necessários para a sua correcta utilização.

É preciso estar atento às iniciativas metodológicas mais recentes, nomeadamente àquelas que propõem uma simplificação do processo

de desenvolvimento ao nível de actividades, notações e documentação produzida. A grande maioria recorre ao UML para as actividades de modelação que realiza, o que mais uma vez reforça a nossa convicção que esta linguagem de notação representará cada vez mais um papel significativo nas metodologias de desenvolvimento de software.

3.9

Exercícios

Ex.16. Imagine que é o responsável de uma biblioteca cujos livros podem ser requisitados por diversos leitores previamente registados, mediante a apresentação de uma guia de requisição. Esta indica o prazo de devolução, ao fim do qual o leitor tem que devolver o livro, preenchendo uma guia de entrega. Para os livros muito solicitados poderão existir várias cópias na biblioteca, e se necessário, poderão ser adquiridas mais. Para tal, o responsável da biblioteca poderá requisitar mais cópias através de uma requisição, que será autorizada pela direcção, de modo a que o responsável da biblioteca possa encomendar esses livros junto de um fornecedor, proceder ao respectivo pagamento e dar entrada dos livros na biblioteca.

− Se tivesse que efectuar a análise deste caso segundo uma abordagem estruturada, que tipo de informação do enunciado seria mais relevante? E se a abordagem utilizada fosse orientada por objectos? Justifique a sua resposta.

− Efectue a modelação da estrutura estática do sistema pelo diagrama estruturado que achar mais conveniente, justificando a sua resposta.

− Efectue a modelação da estrutura estática do sistema pelo diagrama UML que achar mais conveniente, justificando a sua resposta.

PARTE 2 – LINGUAGEM DE MODELAÇÃO UML

1 0 9

Ex.17. Imagine que é o responsável pela gestão de informação sobre alunos de uma universidade, sendo para isso relevante reproduzir no sistema de informação as acções que normal- mente ocorrem ao longo do ano na universidade: matrículas de alunos num ano lectivo e em cadeiras; inscrições nas aulas prá- ticas; inscrições em exames; pagamentos de propinas; consultas de notas atribuídas; pedidos de certificados.

− Se tivesse que modelar o sistema anteriormente descrito,

indique qual (ou quais) o(s) diagrama(s) que utilizaria se aplicasse uma abordagem estruturada e qual (ou quais) utilizaria se aplicasse uma abordagem orientada por objectos, justificando a sua resposta.

− Efectue a modelação dos conceitos aqui representados pelos diagramas estruturados que achar convenientes, justificando a sua resposta.

− Efectue a modelação dos conceitos aqui representados pelos diagramas relacionados com abordagens orientadas por objectos que achar convenientes, justificando a sua resposta. Quais as principais alterações que ocorreram no processo de desenvolvimento de software com a introdução das aborda- gens estruturadas?

Ex.18. Uma das críticas que normalmente se aponta às metodologias estruturadas é de defenderem conceitos teóricos que se afastam da realidade prática. Indique alguns exemplos deste desfasa- mento.

Ex.19. Compare os conceitos utilizados nos principais diagramas utili- zados nas abordagens estruturadas e nas abordagens orienta- das por objectos, para modelar a dinâmica de um sistema. Ex.20. As abordagens orientadas por objectos, particularmente na

tarefa de implementação, são particularmente adequadas para a implementação de processos iterativos. Justifique esta afirma- ção.

Ex.21. As metodologias estruturadas estão tipicamente divididas em duas categorias principais, consoante a importância que atribu- em às principais técnicas de modelação utilizadas. Indique quais são essas categorias, e quais as principais características de cada uma deles.

Ex.22. Porque é que as metodologias de desenvolvimento de software estruturadas têm este nome? Quais as motivações que levaram à sua definição e aplicação?

Ex.23. Algumas das novas metodologias defendem o fim das activida- des de análise no processo de desenvolvimento de software. Ex- presse a sua opinião, justificando-a.

Parte 2 – Linguagem

No documento UML, Metodologias e Ferramentas CASE (páginas 132-137)