A Modelagem de Objetos Usando a UML
Por: Ednelso245 • 22/6/2018 • 3.450 Palavras (14 Páginas) • 427 Visualizações
...
de caso de uso não oferece detalhes que são necessários para um bom entendimento do negócio. Para que esses detalhes fiquem a vista, é utilizado a Descrição de Casos de Uso, que consiste em descrever textualmente os comportamentos de terminado caso de uso apresentando o seu fluxo principal, e o curso alternativo que pode ocorrer.
As associações entre Casos de Uso nos mostra o relacionamento entre ele e o ator ou entre os Casos de Uso entre si, sendo que pode haver um relacionamento de inclusão que significa que o caso de uso base incorpora explicitamente o comportamento de outro caso de uso; e de extensão onde o caso de uso base incorpora implicitamente o comportamento de um outro caso de uso em um local especificado.
Análise Orientada a Objetos
O objetivo da análise orientada a objetos é definir as classes e os relacionamentos e comportamentos associados a ela, que são relevantes para a solução do problema.
A popularidade da orientação a objetos fez surgir dezenas de métodos OO para análise e projeto. Cada um deles, introduz um processo para analisar um sistema, um conjunto de modelos que evoluem ao longo do processo e uma notação que permite ao engenheiro criar um modelo de maneira consistente.
A partir o levantamento de requisitos e a construção do diagrama de caso de uso e suas descrições, começamos a identificar as classes que é o ponto central do modelo orientado a objetos.
As classes que vão compor o Diagrama de Classes, apresentam o seu nome, atributos e operações, sendo este o modelo inicial do sistema que deverá ser cada vez mais detalhado daí em diante.
As classes são dispostas seguindo uma hierarquia que pode ser de generalização e especialização. Onde temos uma subclasse que deve ter uma relação de “é um tipo de” para uma superclasse; a subclasse deve suportar toda a funcionalidade de uma superclasse.
As potenciais especializações e/ou generalização devem estar no domínio do problema e devem fazer parte das responsabilidades.
Em sistemas grandes e complexos podemos agrupar classes em subsistemas o que irá facilitar na compreensão e no desenvolvimento do sistema final.
As associações entre as classes indicam como elas se relacionam e qual é o papel de cada classe em relação a outra classe, sendo que cada papel possui também sua cardinalidade que representa quantitativamente como aquelas relações podem ocorrer.
Essa associação pode ser uma agregação, sendo assim temos que um objeto é composto, pelo menos por uma parte, de outro na relação todo/parte. Na agregação se o objeto-todo for destruído o objeto-parte continua existindo. Temos também a associação por composição que é um tipo de agregação onde se afirma que o objeto-parte pode pertencer apenas a um objeto-todo.
As classes possuem também atributos que indica um determinado dado daquela classe. Um atributo representa uma informação de estado de um objeto que precisa ser lembrada.
O diagrama de classes representa um modela estático do sistema, e como devemos prever as atividades desse sistema usamos os diagramas de estados e diagramas de interação.
O diagrama de estados descreve todos os estados possíveis pelos quais um particular objeto pode passar e suas transições.
O diagrama de interação é um modelo que descreve como os grupos de objetos colaboram em um certo comportamento.
Os diagramas de transição de estados são bastante peculiar, pois cada um representa uma única classe, com o objetivo de mostrar o comportamento ao longo do tempo de vida de um objeto. Descrevendo assim todos os possíveis estados pelo qual um objeto pode passar.
Os diagramas de interação nos ajudam a visualizar o fluxo global de controle, para tal é usado o diagrama de seqüência.
Em um diagrama de seqüência, um objeto é mostrado como um retângulo com uma linha vertical pontilhada anexada. Esta linha é chamada de linha de vida do objeto e representa a “vida” do objeto durante a interação. Cada mensagem é representada por uma seta cheia entra as linhas de vida de dois objetos. A ordem na qual as mensagens ocorrem é mostrada do alto para o pé da página. Cada mensagem é rotulada com pelo menos o nome da mensagem. Adicionalmente, pode incluir também seus argumentos e alguma informação de controle.
Definida a sequência, conseguimos obter as operações que cada classe irá realizar, e através de sua especificação temos o detalhamento do comportamento das classes. Cada operação pode dar origem a um ou mais métodos a serem executados quando uma mensagem for recebida.
Projeto Orientado a Objetos
O projeto orientado a objetos transforma o modelo de análise em um modelo de projeto que serve de base para a construção do software. Esse projeto depende de aspectos como: as características de linguagem de programação a ser utilizada; modelo de persistência de objetos; características da plataforma de implementação e características de interface.
No modelo de processo são utilizados os diagramas de classes, interação e transição de estados, pois durante o projeto podem ser identificadas novas classes especificas para a implementação. Para a realização do projeto segue-se dói grandes passos: o projeto de arquitetura do sistema e o projeto de objetos.
O projeto de arquitetura do sistema, descreve cada um dos subsistemas, de um modo passível de implementação, e as comunicações entre eles. Esse projeto é composto pelo domínio do problema, interface com o usuário, gerência de tarefas e gerência de dados.
O componente do domínio do problema: corresponde aos subsistemas responsáveis por implementar diretamente os requisitos dos usuários.
O componente de interface com o usuário: corresponde aos subsistemas que implementam as interfaces com o usuário.
O componente de gerência de tarefa: corresponde aos subsistemas responsáveis por controlar e coordenar tarefas.
O componente de gerência de dados: corresponde aos subsistemas responsáveis pelo armazenamento e recuperação de objetos.
Projeto de objetos que descreve aspectos de implementação de cada uma das classes do sistema, incluindo, o projeto procedural de cada operação, a definição de classes internas e o projeto de estruturas de dados para os atributos das classes.
1
...