Buscar

VA Engenharia Software 04


Prévia do material em texto

Tema 4
Modelos de sistema e 
projeto de arquitetura
Engenharia de Software I
Prof. Adriano Sepe
O que é modelagem de sistema?
Podemos representar com:
§ UML;
§ Modelos formais.
Compreendendo a modelagem de sistemas
Por que devemos modelar?
Funções distintas considerando:
§ Sistemas existentes;
§ Novos sistemas.
Modelagem de sistemas
Quais os pontos fortes do modelo de sistema?
Como devemos compreender o conceito da 
abstração trazida pelos modelos?
Modelagem de sistemas
A produção de diferentes modelos, tem por 
fundamento a diferenciação na perspectiva. 
Alguns exemplos de diferentes perspectivas 
(SOMMERVILLE, 2011):
§ Externa;
§ Interação;
§ Estrutural;
§ Comportamental.
Modelos propõe perspectivas
O que é efetivamente a Linguagem 
de Modelagem Unificada?
Utilizando UML na modelagem
Conforme Sommerville (2011) observou, por mais que 
existam outros tipos de diagramas, para a UML, a 
maioria dos usuários acreditam haver cinco 
tipos essenciais:
Priorizando a UML
Diagrama de atividades
Diagrama de casos de uso
Diagramas de sequência
Diagrama de classe
Diagramas de estado
Continuando...
Modelos de sistema e 
projeto de arquitetura
É possível utilizar a UML de forma mais flexível?
Podemos utilizar a notação gráfica de três formas 
(SOMMERVILLE, 2011):
§ Discussão;
§ Documentar;
§ Descrição detalhada.
Até onde essa 
flexibilidade é aceitável?
Flexibilidade UML
O que são os limites para a especificação 
de um sistema?
Distinção entre os limites e o ambiente.
Considerações para a definição dos limites 
do sistema.
Considerações a respeito 
do modelo de contexto, 
baseado em suas limitações!
Modelos de contexto
O que é interação?
Exemplos de interação:
§ Envio de SMS ao utilizar o cartão;
§ Envio de e-mail ao falhar nas tentativas de 
acesso à uma conta
§ Utilizando um jogo de computador em rede.
Modelos de interação
O que é modelagem de caso de uso?
Diagramas de Casos de Uso
§ Definição;
§ Como utilizamos;
§ Importância.
Modelos de caso de uso
Modelos de caso de uso
Fonte: o autor.
Diagrama de Caso de Usos
Utilizamos para modelar as interações entre os 
atores e os objetos em um sistema e as interações 
entre os próprios objetos
§ Sintaxe rica;
§ Quais as possibilidades quando o utilizamos.
Modelando com diagrama de sequência
Para proporcionar o entendimento de um sistema 
na perspectiva dos componentes e seus 
relacionamentos, os modelos estruturais de 
softwares trazem importantes elementos que 
corroboram para isso. Os modelos estruturais se 
dividem em dois grupos (SOMMERVILLE, 2011):
§ Modelos estáticos;
§ Modelos dinâmicos.
Modelos estruturais
Quais são as possibilidades no uso do 
Diagrama de Classe.
Diferentes níveis de detalhamento.
Relação com os sistemas orientados a objetos.
Através deste diagrama representamos:
§ Classes;
§ Interfaces;
§ Atributos;
§ Operações;
§ Associações.
Modelagem Diagrama de Classe
Modelagem Diagrama de Classe
Fonte: o autor.
Diagrama de Classe
Finalizando...
Modelos de sistema e 
projeto de arquitetura
Quais os objetivos?
Refatoração é possível, para 
desenvolvimento incremental?
Decomposição como meio para possibilitar 
a discussão de detalhes
Projeto de arquitetura
Segundo Sommerville (2011) podemos projetar as 
arquiteturas de software em dois níveis de 
abstração, o que foi referenciado como 
arquiteturas em pequena e grande escala:
§ Pequena escala;
§ Grande escala.
Projeto de arquitetura
Em muitos sistemas, é notável que os requisitos 
funcionais são também influenciados por 
componentes individuais, mas a arquitetura de 
sistema é a influência dominante.
Projeto de arquitetura
Baseado na observação relatada por Sommerville
(2011), discute-se três vantagens de projetar e 
documentar, explicitamente, a arquitetura 
de software:
§ Comunicação de stakeholders;
§ Análise de sistema;
§ Reuso em larga escala.
Projeto de arquitetura
Como podemos utilizá-lo?
Utilizando diagramas de blocos simples
§ Possibilidade;
§ Considerações.
Projeto de arquitetura
Esse conflito entre a teoria e a prática, justifica-se 
porque podemos utilizar o modelo de arquitetura 
de um programa de duas maneiras:
§ Discussão do projeto: facilita às discussões 
sobre o projeto, principalmente para a 
comunicação com os stakeholders do sistema, e 
planejamento do projeto, 
pois não é rica em detalhes;
Projeto de arquitetura
§ Documentação: nessa perspectiva, é esperado 
que seja criado um modelo completo de sistema, 
mostrando seus diferentes componentes, suas 
interfaces e conexões.
Projeto de arquitetura
Entende-se como um processo criativo a atividade de 
projeto de arquitetura, onde qual deseja-se projetar 
uma organização de sistema com o objetivo de 
atender os requisitos funcionais e não funcionais. 
Existem fatores que influenciam esse processo:
§ Criatividade;
§ Pessoa experiência e formação;
§ Requisitos específicos; e 
§ Tipo de sistema. 
Decisões necessárias 
para o projeto de arquitetura
Os envolvidos durante o processo de projeto de 
arquitetura, precisam tomar uma série de decisões 
estruturais, pois afetarão distintamente o sistema 
e seu processo de desenvolvimento. 
Conhecimentos e experiências serão exigidos 
principalmente para responder 
algumas importantes 
questões, como:
Decisões necessárias 
para o projeto de arquitetura
Requisitos não funcionais são estreitamente 
relacionados à arquitetura do software, 
influenciando em: (SOMMERVILLE, 2011):
Documento de requisitos de software
Desempenho
Proteção
Segurança
Disponibilidade
Manutenção