You are here

EA975 - Design

Objetivos

Neste laboratório, os objetivos a serem atingidos são os seguintes:
- Desenvolvimento das atividades relacionadas à etapa de Design

Atividades

Neste laboratório, que tem uma previsão de duração de 4 aulas, iniciaremos o desenvolvimento das atividades relacionadas à fase de design. Após o desenvolvimento das atividades, solicite a presença do professor para avaliação/realimentação dos diagramas desenvolvidos.

ATIVIDADE 1: Faça a leitura do capítulo 18 - "A Fase de Design no Processo Unificado", do livro Engenharia de Software: Uma Visão Prática, descrevendo as atividades referentes à fase de design. Verifique no final desta página o tempo previsto para cada uma das atividades, e tente seguir de maneira estrita esse cronograma, de forma que as atividades em grupo não sejam prejudicadas. Dessa forma, dedique não mais do que 20 minutos para essa leitura e passe à atividade 2 a seguir, que deve ser desenvolvida em grupo.

ATIVIDADE 2: Reuna-se em grupo e inicie a etapa de Desenvolvimento do Diagrama de Deployment. Verifique se de acordo com a especificação de seu projeto, a aplicação será uma aplicação distribuída ou não e crie um ou mais diagramas de deployment para descrever a distribuição de sua aplicação por diferentes nós ou computadores da rede. O tempo previsto para essa atividade não deve ser maior do que 30 minutos

ATIVIDADE 3: Ainda em grupo, inicie a Consideração de Opções de Tecnologias de Reuso. Considere as possíveis partes do sistema que poderiam ser reutilizadas, definindo o modo de reuso: se por meio de componentes, frameworks ou design patterns. Liste essas partes, de forma que essa lista possa ser utilizada na atividade 4 a seguir. O tempo previsto para essa atividade não deve ser maior do que 20 minutos.

ATIVIDADE 4: Tendo-se em conta quais as partes do sistema que se deseja reutilizar, ainda em grupo proceda ao Desenvolvimento do Diagrama de Componentes. Nesta atividade, utilize as partes previstas na atividade 3 e construa o diagrama de componentes, indicando os principais subsistemas, suas interfaces e suas dependências de outros subsistemas. O tempo previsto para essa atividade não deve ser maior do que 50 minutos. Essa atividade deve ser encerrada até o final da primeira aula, para que o cronograma funcione a contento.

ATIVIDADE 5: Tendo o diagrama de componentes como ponto de partida, comece a Discussão Inicial da Arquitetura de Design. Lembre-se que a arquitetura pode ser estruturada em layers: aplicação, middleware e software de sistema. Utilizando o diagrama de componentes como base, crie o diagrama de classes inicial da arquitetura de design, transformando os componentes em pacotes. Comece pelos subsistemas que serão necessariamente desenvolvidos, tais como os subsistemas de aplicação. Em seguida especifique os subsistemas que provavelmente serão reutilizados, tais como os subsistemas de middleware e de software de sistema. Para identificar subsistemas, utilize diagramas de pacotes, que nada mais são do que diagramas de classes que contém pacotes (que podem ser subsistemas). Esses diagramas podem ser derivados dos diagramas equivalentes desenvolvidos na fase de análise, mas devem conter especificações mais fortes como as especificações de design que envolvem o middleware e o software de sistema, que foram abstraídos na análise. Em seguida proceda à identificação das interfaces dos subsistemas, ou seja, para cada subsistema, crie uma interface no diagrama de classes e associe-a ao subsistema em questão. Passe à identificação das classes de design que são arquiteturalmente significativas e as introduza nos diferentes subsistemas, (ou seja nos diagramas de classe correspondentes ao subsistema). Proceda à identificação de mecanismos genéricos de design tais como a persistência, a distribuição de objetos (uso de objetos distribuídos), os requisitos de segurança, a deteção e recuperação de erros e o gerenciamento de transações e os introduza na forma de classes nos diagramas de classes adequados. O tempo previsto para essa atividade não deve ser maior do que 50 minutos.

ATIVIDADE 6: Uma vez que a estrutura básica da arquitetura de design esteja iniciada, inicie a etapa de Distribuição dos Casos de Uso. Distribua para cada membro da equipe um caso de uso a ser desenvolvido, de tal forma que as atividades 7 e 8 possam ser iniciadas. O tempo previsto para essa atividade não deve ser maior do que 10 minutos.

ATIVIDADE 7: Trabalhando agora individualmente, inicie a etapa de Elaboração dos Diagramas de Comunicação/Sequência para cada caso de uso. Essa atividade deve ser desenvolvida de maneira concomitante com a atividade 8 a seguir. Para tanto, desenvolva a descrição das interações entre objetos de design, de forma a realizar o caso de uso que lhe foi designado, ou seja, crie diagramas de comunicação ou sequência (um ou mais para cada caso de uso), descrevendo a interação entre os objetos envolvendo o caso de uso em questão. A escolha de um diagrama de comunicação ou diagrama de sequência deve levar em consideração o potencial número de mensagens trafegando entre os objetos. Se esse número for pequeno, utilize diagramas de comunicação. Se for grande, utilize diagramas de sequência. Essa atividade tem um tempo previsto total de 2 horas, e portanto deverá ter seu tempo dividido  entre duas aulas. Na primeira aula, utilize 1 hora deste tempo para esta atividade. Na próxima aula, utilize mais 1 hora.

ATIVIDADE 8: De modo concomitante com a atividade 7, inicie a etapa de Elaboração dos Diagramas de Classe para cada caso de uso. Para tanto, verifique  a arquitetura de análise e defina como essas classes serão aproveitadas ou modificadas para dar origem às classes de design. Além disso, para cada objeto utilizado em um diagrama de interação, deve haver uma classe correspondente em algum diagrama de classes da arquitetura do sistema. 

ATIVIDADE 9: Inicie a etapa de Elaboração dos Contratos das Classes. Para tanto, para cada classe constando da realização do caso de uso sob sua responsabilidade, deve-se desenvolver um método. Esse método será formalizado por meio da elaboração de um contrato de software que especifique cada operação aparecendo na classe. Esses contratos devem ser desenvolvidos segundo o mesmo formato utilizado na fase de análise. O tempo previsto para essa atividade é de 1 hora. Desta forma, esta atividade deve ter se encerrado até o final da 3a. aula do design.

ATIVIDADE 10: Inicie a etapa de Desenvolvimento das Interfaces com o Usuário. Para tanto, os requisitos não-funcionais tais como escolha de cores, posições e tamanhos dos itens das interfaces devem ser considerados, de tal forma a tornar a interação com o usuário mais adequada.  Descreva a versão final das interfaces gráficas utilizadas, de modo que possamos desenvolver sua implementação, possivelmente utilizando uma ferramenta computacional. O tempo previsto para essa atividade é de 1 hora.

ATIVIDADE 11: Inicie a etapa de Integração da Arquitetura. Reunindo-se novamente toda a equipe, cada membro da equipe deve expor aos demais o diagrama de interação desenvolvido e mostrar onde suas classes podem ser acomodadas na arquitetura do sistema. Da mesma forma, deve apresentar os contratos desenvolvidos para as classes e as interfaces com o usuário que foram desenvolvidas. Durante a apresentação, a equipe deve promover uma análise crítica sobre o design elaborado, sugerindo modificações e/ou melhorias. Particularmente, com relação à interface com o usuário, deve-se tentar garantir a consistência no uso de cores, posições de botões e modelos de interação, de tal forma que a experiência do usuário seja a mais uniforme possível (independente do gosto do desenvolvedor que ficou responsável pela interface). Durante a avaliação crítica, a equipe pode sugerir modificações que possam tornar a interação mais amigável, o que pode demandar um pequeno retrabalho nos diagramas de interação, classes e/ou contratos. O tempo previsto para essa atividade é de 60 minutos, sem se considerar os retrabalhos, que devem ser executados posteriormente.

RESULTADO ESPERADO: Ao final de todas as atividades, considerando-se os eventuais retrabalhos que possam ocorrer, os seguintes artefatos devem resultar disponíveis:

  • Diagrama de Deployment
  • Diagrama de Componentes da Arquitetura
  • Arquitetura de Design, constituída por um conjunto de diagramas de classes estruturado
  • Diagramas de Comunicação/Sequência para cada caso de uso
  • Contratos (texto) para as operações de cada classe
  • Interfaces com o Usuário

CRONOGRAMA:

AULA 1 
1 - Leitura e Planejamento00:20
2 - O Desenvolvimento do Diagrama de Deployment00:30
3 - A Consideração de Opções de Tecnologias de Reuso00:20
4 - O Desenvolvimento do Diagrama de Componentes00:50
AULA 2 
5 - A Discussão Inicial da Arquitetura de Design00:50
6 - A Distribuição dos Casos de Uso00:10
7 - A Elaboração dos Diagramas de Comunicação/Sequência para cada caso de uso (parte)01:00
8 - A Elaboração dos Diagramas de Classe para cada caso de uso (parte)01:00
AULA 3 
7 - A Elaboração dos Diagramas de Comunicação/Sequência para cada caso de uso (parte)
01:00
8 - A Elaboração dos Diagramas de Classe para cada caso de uso (parte)01:00
9 - A Elaboração dos Contratos das Classes01:00
AULA 4 
10 - O Desenvolvimento das Interfaces com o Usuário01:00
 
11 - A Integração da Arquitetura01:00

 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer