Вы находитесь на странице: 1из 11

1 UML (UNIFIED MODELING LANGUAGE)

Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usurios, com qualidade, por intermdio de uma arquitetura slida que aceite modificaes, de forma rpida, eficiente, com o mnimo de desperdcio e retrabalho, faz-se necessrio o emprego de modelagem. Segundo Booch (2000) os modelos so construdos para que o sistema que ser desenvolvido seja melhor compreendido. Construir o modelo de um sistema no uma atividade fcil, so vrias as abordagens a serem consideradas tais como a organizao da empresa, os processos existentes ou requeridos, as informaes existentes (ou requeridas) e os recursos envolvidos. Com a modelagem, pode-se alcanar quatro objetivos: a) os modelos ajudam a visualizar o sistema como ele ou como se deseja; b) os modelos permitem especificar a estrutura ou o comportamento de um sistema; c) os modelos proporcionam um guia para a construo do sistema; d) os modelos documentam as decises tomadas. Existem limites para a capacidade humana de compreender complexidades, mais especificamente, reter todos os detalhes que envolvem uma realidade complexa, os relacionamentos existentes, as possveis situaes que possam ocorrer dependendo da combinao de cada aspecto envolvido. Com a ajuda da modelagem, delimitado o problema, restringindo o foco num nico aspecto por vez. Quanto mais complexo for o sistema, maior ser a probabilidade de ocorrncia de erros ou de construo de itens errados. Caso no se utilize nenhuma modelagem, pode-se esquecer de detalhes que iro comprometer o produto quando estiver sendo utilizado (TONSIG, 2003). 1.1 BREVE HISTRICO Segundo Bezerra (2003), a construo da UML teve muitos contribuintes, mas os principais autores do processo foram Grady Booch, James Rumbaugh e Ivar Jacobson. No processo de definio da UML, procurou-se o melhor das caractersticas das notaes preexistentes, principalmente das tcnicas Booch Method, OMT (Object Modeling Technique) e OOSE (Object-Oriented Software Engineering), proposta pelos trs

amigos, citados anteriormente. A notao definida para a UML uma unio de diversas notaes preexistentes, com alguns elementos removidos e outros elementos adicionados com o objetivo de torn-la mais expressiva. Finalmente, em 1997, a UML foi aprovada pelo OMG (Object Management Group). Desde ento, a UML tem tido grande aceitao pela comunidade de desenvolvedores de sistemas. 1.2 CONCEITOS Segundo Booch (2000), a UML uma linguagem-padro para elaborao da estrutura de projetos de software. A UML poder ser empregada para visualizao, especificao, a construo e a documentao de artefatos que faam uso de sistemas complexos de software. A UML apenas uma linguagem e portanto, somente uma parte de um mtodo para desenvolvimento de software. Segundo Tonsig (2003), a UML tem como objetivo prover as necessidades de desenvolvedores de software com uma linguagem de modelagem visual completa, buscando atingir os seguintes aspectos: e) disponibilizao de mecanismos de especificaes que possam expressar os nveis conceituais; f) independncia de processos de desenvolvimento e linguagens de programao; g) incentivo do crescimento das aplicaes desenvolvidas no conceito da orientao a objetos; h) permisso de suporte a conceitos de desenvolvimento de alto nvel, tais como frameworks, padres e componentes. Segundo Booch (2000), visualizar, especificar, construir e documentar sistemas complexos de software so tarefas que requerem a visualizao desses sistemas sob vrias perspectivas. Vrios participantes usurios finais, analistas, desenvolvedores, integradores de sistemas, o pessoal que testa os sistemas, escritores tcnicos e gerentes de projetos cada um traz contribuies prprias ao projeto e observa o sistema de maneira distinta em momentos diferentes ao longo do desenvolvimento do projeto. A arquitetura do sistema talvez seja o artefato mais importante a ser utilizado com o objetivo de

gerenciar esses diferentes pontos de vistas e assim, tornar possvel um controle do desenvolvimento iterativo e incremental de um sistema durante seu ciclo de vida. Conforme mostra a figura 1, a arquitetura de sistema complexo de software pode ser descrita mais adequadamente por cinco vises interligadas. Cada viso constitui uma projeo na organizao e estrutura do sistema, cujo foco est voltado para determinado aspecto desse sistema.

Viso de projeto

Viso de implementao

Viso de caso de uso Viso de processo Viso de implantao

Fonte: Bezerra (2003).

FIGURA 1 Vises de um sistema de software

A viso do caso de uso abrange os casos de uso que descrevem o comportamento do sistema conforme visto pelos seus usurios finais, analistas e pessoal do teste. Essa viso no especifica realmente a organizao do sistema de um software. Porm, ela existe para especificar as foras que determinam a forma da arquitetura do sistema. Com a UML, os aspectos estticos dessa viso so capturados em diagramas de caso de uso, enquanto os aspectos dinmicos so capturados em diagramas de interao, diagramas de grfico de estados e diagramas de atividades. A viso de projeto de um sistema abrange as classes, interfaces e colaboraes que formam o vocabulrio do problema e de sua soluo. Essa perspectiva proporciona principalmente um suporte para os requisitos funcionais do sistema, ou seja, os servios

que o sistema dever fornecer a seus usurios finais. Com a UML, os aspectos estticos dessa viso so capturados em diagramas de classes e de objetos; os aspectos dinmicos so capturados em diagramas de interaes, diagramas de estados e diagramas de atividades. A viso do processo abrange as threads e os processos que formam os mecanismos de concorrncia e de sincronizao do sistema. Essa viso cuida principalmente de questes referentes ao desempenho, escabilidade e ao through-put do sistema. Com a UML, os aspectos estticos e dinmicos dessa viso so capturados nos mesmos tipos de diagramas da viso de projeto, mas com o foco voltado para as classes ativas que representam threads e processos. A viso de implementao de um sistema abrange os componentes e os arquivos utilizados para a montagem e fornecimento do sistema fsico. Essa viso envolve principalmente o gerenciamento da configurao das verses do sistema, composta por componentes e arquivos de alguma maneira independentes, que podem ser reunidos de diferentes formas para a produo de um sistema executvel. Com a UML, os aspectos estticos dessa viso so capturados em diagramas de interaes, de estados e de atividades. A viso de implantao de um sistema abrange os ns que formam a topologia de hardware em que o sistema executado. Essa viso direciona principalmente a distribuio, o fornecimento e a instalao das partes que constituem o sistema fsico. Com a UML, os aspectos estticos dessa viso so capturados em diagramas de implantao; os aspectos dinmicos so capturados em diagrama de interaes, de estados e diagramas de atividades. Cada uma dessas cinco vises pode ser considerada isoladamente, permitindo que diferentes participantes dirijam seu foco para os aspectos da arquitetura do sistema que mais interessam. Essas cinco vises tambm interagem entre si os ns da viso da implantao contm componentes da viso de implementao que, por sua vez, representa a realizao fsica de classes, interfaces, colaboraes e classes ativas provenientes das vises de projeto e de processo.

1.3

DIAGRAMAS DA UML Segundo Furlan (1998), o modo para descrever os vrios aspectos de modelagem

pela UML atravs da notao definida pelos seus vrios tipos de diagramas. Um diagrama uma apresentao grfica de uma coleo de elementos de modelo, freqentemente mostrado como um grfico conectado de arcos (relacionamentos) e vrtices (outros elementos do modelo). Cada viso descrita em um nmero de diagramas que contm informao enfatizando um aspecto particular do sistema. Analisando-se o sistema atravs de vises diferentes, possvel se concentrar em um aspecto de cada vez . Os diagramas propostos pela UML so: i) diagrama de classes: exibe conjunto de classes, interfaces e colaboraes, bem como seus relacionamentos. Esses diagramas so encontrados com maior freqncia em sistemas de modelagem orientados a objeto e abrangem uma viso esttica da estrutura do sistema. Os diagramas de classes incluem classes ativas direcionam a perspectiva do processo esttico do sistema; j) diagrama de objetos: exibe um conjunto de objetos e seus relacionamentos. Representa retratos estticos de instncias de itens encontrados em diagramas de classes. So diagramas que abrangem a viso esttica da estrutura ou processo de um sistema, como ocorre nos diagramas de classes, mas sob perspectiva de casos reais ou de prottipos; k) diagrama de casos de uso: exibe um conjunto de caso de uso e atores (um tipo especial de classe) e seus relacionamentos. Diagramas de caso de uso abrangem a viso esttica de casos de uso do sistema. Esses diagramas so importantes principalmente para a organizao e a modelagem de comportamentos do sistema; l) diagrama de interao: exibe uma interao, consistindo de um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles. Diagramas de interao abrangem a viso dinmica do sistema. Composto por diagrama de seqncias e diagrama de colaboraes descritos a seguir;

m) diagrama de seqncias: um diagrama de interao cuja nfase est na organizao estrutural dos objetos que enviam e recebem mensagens; n) diagrama de colaboraes: um diagrama de interao cuja nfase est na organizao estrutural dos objetos que enviam e recebem mensagens; o) diagrama de estados: exibem uma mquina de estados, formada por estados, transies, eventos e atividades. Os diagramas de estados abrangem a viso dinmica de um sistema. So importantes principalmente para a modelagem de comportamentos de uma interface, classe ou colaborao e para dar nfase a comportamentos de um objeto ordenados por eventos; p) diagrama de atividade: um tipo essencial de diagrama de grficos de estado, exibindo o fluxo de uma atividade para outra no sistema. Abrange a viso dinmica do sistema e importante principalmente para a modelagem da funo de um sistema e d nfase ao fluxo de controle entre objetos; q) diagrama de componente: exibe as organizaes e as dependncias existentes em um conjunto de componentes. Abrange a viso esttica da implementao de um sistema. Est relacionado aos diagramas de classes, pois tipicamente os componentes so mapeados para uma ou mais classes, interfaces ou colaboraes; r) diagrama de implantao: mostra a configurao dos ns de processamento em tempo de execuo e os componentes neles existentes. Abrange a viso esttica do funcionamento de uma arquitetura diagramas de implantao. Est relacionado aos diagramas de componentes, pois tipicamente um n inclui um ou mais componentes. Cada tipo de diagrama captura uma perspectiva diferente e um determinado elemento poder existir em mltiplos diagramas, embora haja apenas uma definio daquele elemento no modelo subjacente. A seguir ser detalhado o diagrama de casos de uso, visto que o mesmo a base para o Use Case Points.

1.3.1

DIAGRAMA DE CASOS DE USO Segundo Booch (2000), os diagramas de casos de uso so importantes para

visualizar, especificar e documentar o comportamento de um elemento. Esses diagramas fazem com que sistemas, subsistemas e classes fiquem acessveis e compreensveis, por apresentarem uma viso externa sobre como esses elementos podem ser utilizados no contexto geral. importante que na modelagem a ser construda sejam especificados os limites do sistema, definidos pela funcionalidade que exigida do software. A funcionalidade de todo o sistema representada por um conjunto de casos de uso. Cada caso de uso por sua vez deve ser extensivamente avaliado, para encontrar todas as possveis situaes de uso daquela funcionalidade que est sendo modelada (TONSIG, 2003). Segundo Tonsig (2003), no momento da construo do diagrama, no deve se ter a preocupao quanto aos aspectos de implementao, visto que os principais objetivos da representao so: s) captar a funcionalidade necessria para a resoluo dos problemas existentes, sob o ponto de vista do cliente ou usurios; t) mostrar uma viso funcional coesa sobre tudo o que o software dever fazer, pois esse diagrama ser a base para todo o processo de desenvolvimento; u) dever ser aplicado para testes de validao, ou seja, verificar se o software quando pronto, realmente possui funcionalidade inicialmente planejada; v) propiciar facilidades para a transformao dos requisitos funcionais em classes e operaes reais do software. O modelo de casos de uso de um sistema composto de casos de uso, de atores e de relacionamentos entre estes. Nas prximas sees, esses componentes sero descritos separadamente.

1.3.1.1

CASOS DE USO Segundo Booch (2000), um caso de uso descreve um conjunto de seqncias, cada

uma representando a interao de itens externos ao sistema (seus atores) com o prprio sistema (e suas principais abstraes). Um caso de uso, conforme figura 2, a descrio de um conjunto de seqncias de aes, inclusive variantes, que um sistema executa para produzir um resultado de valor observvel por um ator.

FIGURA 2 Exemplo de caso de uso 1.3.1.2 ATORES Na UML, qualquer elemento externo que interage com o sistema denominado ator. O termo externo indica que atores no fazem parte do sistema. O termo interage significa que um ator troca (envia e/ou recebe) informaes com o sistema. As categorias de atores, junto com exemplos de cada uma, so listadas a seguir: w) pessoas: empregado, cliente, gerente, almoxarife, vendedor, etc; x) organizaes: empresa fornecedora, agncia de impostos, administradora de cartes; y) outros sistemas: sistema de cobrana, sistema de estoque de produtos; z) equipamentos: leitora de cdigo de barras, sensor. Um ator pode participar de muitos casos de uso. Do mesmo modo, um caso de uso pode envolver vrios atores, o que resulta na classificao dos atores em primrios ou secundrios. Um ator primrio aquele que inicia uma seqncia de interaes de caso de uso. So os agentes externos para os quais o caso de uso tem benefcio direto. As funcionalidades principais do sistema so definidas tendo em mente os objetivos dos atores primrios. Atores secundrios supervisionam, operam, mantm ou auxiliam na utilizao do sistema. Um exemplo de ator representado na figura 3.

FIGURA 3 Exemplo de ator 1.3.1.3 RELACIONAMENTOS Segundo Bezerra (2003), os casos de uso e atores no existem sozinhos. Por exemplo, um ator deve estar relacionado a um ou mais casos de uso de um sistema. A UML define diversos tipos de relacionamentos no modelo de casos de uso: aa) relacionamento de comunicao: representa a informao de quais atores esto associados a que casos de uso, exemplificado na figura 4. O fato de um ator estar associado a um caso de uso significa que esse ator interage (troca informaes) com o sistema. Um ator pode se relacionar com mais de um caso de uso do sistema.

FIGURA 4 Exemplo de relacionamento de comunicao bb) relacionamento de incluso: existe somente entre casos de uso. Para entender o princpio deste tipo de relacionamento, til uma analogia com um conceito de linguagens de programao: a rotina. Quando dois ou mais casos de uso incluem uma seqncia comum de interaes, essa seqncia comum deve ser descrita em um outro caso de uso. A partir da, os casos de uso do sistema podem usar esse caso de uso comum. Isso evita a descrio de uma mesma seqncia de interaes mais de uma vez e, tornando assim, a descrio dos casos de uso como um todo mais simples, conforme apresentado na figura 5. Neste tipo de relacionamento deve-se usar o esteretipo <<inclui>>.

FIGURA 5 Exemplo de relacionamento de incluso cc) relacionamento de extenso: utilizado para modelar situaes em que diferentes seqncias de interaes podem ser inseridas em um caso de uso, chamado caso de uso estendido, exemplificado na figura 6. Cada uma dessas diferentes seqncias representa um comportamento opcional, ou seja, um comportamento que s ocorre sob certas condies, ou cuja realizao depende da escolha de um ator. Quando um ator opta por executar a seqncia de interaes definida no extensor, este executado. Aps sua execuo, o fluxo de interaes volta ao caso de uso estendido, recomeando logo aps o ponto em que o extensor foi inserido. Neste tipo de relacionamento deve-se usar o esteretipo <<estende>>.

FIGURA 6 Exemplo de relacionamento de extenso dd) relacionamento de generalizao: este relacionamento permite que um caso de uso (ou um ator) herde caractersticas de um caso de uso (ator) mais genrico. Este ltimo normalmente chamado de caso de uso (ator) base. O caso de uso (ator) herdeiro pode especializar o comportamento do caso de uso (ator) base. O relacionamento de generalizao pode existir entre dois casos de uso ou entre dois atores, conforme figura 7.

FIGURA 7 Exemplo de relacionamento de generalizao

Вам также может понравиться