Sie sind auf Seite 1von 35

Projetos de Software

(aula 8 - Prtica)

Modelagem de software
Me. Diogo Tavares da Silva
contato: tavareko@gmail.com

Introduo
Nas ltimas aulas estudamos os atividades de
projeto de arquitetura e prototipao de
software
Como discutido, essas atividades esto na
interseco entre as fases de levantamento e
anlise de requisitos e modelagem e projeto
de software
Dado que um documento de requisitos e um
prottipo foram aceitos pelo cliente, o prximo
passo deve ser realizar a modelagem do
sistema

Porque modelar o sistema?


Antes de mais nada devemos lembrar que
sistemas de software so dinmicos
Podem ser ampliados em tamanho,
complexidade e abrangncia
clientes sempre desejam alteraes ou
melhorias
estratgias de negcio mudam e o
sistemas precisam acompanhar essas
tendncias
Legislaes regulatrias ou tributrias so
alteradas

Porque modelar o sistema?


Modelar um modo eficiente de documentar
toda a estrutura do software
Suporte ao trabalho do programador
Um mestre de obras precisa das plantas
para construir um prdio
Permite maior facilidade, rapidez e correo
na manuteno e expanso do sistema
referencial para manuteno do projeto
Base de compreenso do sistema, para
futuros desenvolvedores

O que um modelo do sistema?


Um modelo uma abstrao do sistema real
Representao de determinadas caractersticas
do sistema a partir de alguma viso:
Estrutural
Como o sistema est organizado
Comportamental
Como o sistema funciona ou como os
elementos do sistema interagem entre si

UML (Unified Modeling Language)


Linguagem visual de modelagem baseada no
paradigma de orientao a objetos
Padro de modelagem na indstria de
engenharia de software
NO LINGUAGEM DE PROGRAMAO
Notao grfica que auxilia engenheiros de
software a definirem caractersticas do
sistema:
requisitos, comportamentos, estrutura
lgica, dinmica de processos e
necessidades fsicas

UML (Unified Modeling Language)


Verso atual 2.0
Lista de diagramas:

Casos de uso
Classes
Objetos
Pacotes
Sequncia
Comunicao
Mquina de Estados
Atividade
Viso geral de interao
Componentes
Implantao
Estrutura composta
Temporizao

Porque tantos diagramas?


Desenvolver mltiplas vises do sistemas
completude de modelagem
Cada tipo de diagrama analisa o sistema, ou
parte dele, sob uma determinada viso.
organizao estrutural do sistema
comportamento de um processo especfico
definio de um determinado algoritmo
necessidades fsicas de implantao do
sistema
Vamos realizar uma viso geral de cada um dos
diagramas da UML

Diagrama de casos de uso


Diagrama mais geral e informal da UML
D suporte para o levantamento e anlise de
requisitos
Apresenta de modo simples como o sistema
ir se comportar
Busca identificar os atores (indivduos e
elementos que interagem com o sistema) e as
funcionalidades oferecidas pelo sistema (casos
de uso)

ex:

Diagrama de classes
Mais utilizado e um dos mais importantes do
UML
Define a estrutura das classes utilizadas pelo
sistema
determina os atributos e mtodos de cada
classe
estabelece como as classes se relacionam e
trocam informaes entre si

ex:

Diagrama de objetos
Est fortemente associado ao diagrama de
classes
Basicamente um complemento
Demostrao de valores armazenados por
objetos instanciados de um diagrama de
classes durante um determinado momento de
execuo

ex:

Diagrama de pacotes
Diagrama estrutural
Representa como os subsistemas ou
submdulos englobados por um sistema se
compe e esto associados
Auxilia na demonstrao de como a
arquitetura do sistema est elaborada

ex:

Diagrama de Sequncia
Diagrama comportamental
Preocupa-se com a ordem temporal em que
as mensagens so trocadas pelos objetos
envolvidos em um determinado processo
Geralmente baseia-se no caso de uso do
mesmo nome e no diagrama de classes para
determinar os objetos envolvidos no processo
Costuma-se identificar o evento gerador do
processo, o ator responsvel pelo evento e a
sequncia de mtodos disparados pelas
mensagens trocadas

ex:

Diagrama de comunicao
Complemento do diagrama de sequncia
Apresenta as mesmas informaes do diagrama
de sequncia, porm com intuito diferente
No preocupa-se com a temporalidade dos
eventos
Preocupa-se na forma como os elementos do
diagrama
esto
vinculados
e
quais
mensagens trocam entre si

ex:

Diagrama de mquina de estados


A idia deste diagrama demonstrar o
comportamento de um elemento, ou mesmo de
uma parte do sistema atravs de um conjunto
finito de estados, ou seja de uma mquina de
estados
Pode tambm ser utilizado para expressar o
protocolo de uso de uma parte do sistema

ex:

Diagrama de atividade
Preocupa-se em descrever os passos a serem
percorridos para a concluso de uma atividade
especfica
Representao do fluxo de controle de uma
atividade
Pode ser um mtodo, um algoritmo ou mesmo
um processo completo

ex:

Diagrama de viso geral da interao


Variao do diagrama de atividade
fornece uma viso geral dentro de um sistema
ou processo de negcio

ex:

Diagrama de Componentes
Diretamente associado a linguagem de
programao
representa os componentes do sistema quando
o mesmo for implementado em termos de
mdulos de cdigo-fonte, bibliotecas, sistemas
integrados, formulrios, arquivos de ajuda e
configurao, etc.
Determina como esses componentes esto
estruturadose iro interagir para que o sistema
funcione

ex:

Diagrama de implantao
Determina as necessidades de hardware do
sistema
caractersticas fsicas como servidores,
estaes, topologias e protocolos de
comunicao
todo aparato fsico necessrio para a
execuo do sistema
Permite demonstrar tambm como se dar a
distribuio dos mdulos do sistema

ex:

Diagrama de estrutura composta


Descreve a estrutura interna de um classificar,
como uma classe ou componente
detalhamento das partes internas do
componente, mostrando como elas se
comunicam e colaboram entre si

ex:

Diagrama de tempo ou temporizao


Descreve a mudana no estado ou condio de
uma instncia de uma classe ou seu papel
durante um perodo
Utilizado para demonstrar a mudana no estado
de um objeto no tempo em resposta a eventos
externos

ex:

Ferramentas CASE
Existem diversas ferramentas disponveis para
modelagem UML
Cada uma possui vantagens e desvantagens
Exemplos:
Enterprise Architect
Astah
Gliffy (google app)
UML diagram editor (google app)
etc

Das könnte Ihnen auch gefallen