instituto de informática universidade federal do rio grande do sul porto alegre – rs – brazil...
Post on 17-Apr-2015
106 Views
Preview:
TRANSCRIPT
Instituto de InformáticaUniversidade Federal do Rio Grande do Sul
Porto Alegre – RS – Brazil
Modelando com UML
CMP 231 – Sistemas Embarcados
Prof. Flávio R. Wagner e Prof. Luigi Carro
2
• UML 2.0 define visões para lidar com “separação de interesses” (separation of concerns):• Visão estrutural: diagramas de classe, de
componentes e de implantação• Visão de interações: diagramas de seqüência e
de interações• Visão de atividades: diagrama de atividades• Visão de estados: diagrama de estados• Total de 13 diagramas!!!
UML 2.0: Diferentes visões
3
UML 2.0: Diagramas
Hierarquia de diagramas UML
Estruturais Comportamentais
4
UML 2.0: Diagramas
Hierarquia de diagramas UML
Estruturais
- Diagrama de Classes
- Diagrama de Estrutura
- Diagrama de Componente
- Diagrama de Implantação
- Diagrama de Objeto
- Diagrama de Pacotes
5
UML 2.0: Diagramas
Hierarquia de diagramas UML
Comportamentais:
- Diagrama de Atividade
- Diagrama de Interações
- Diag. de Seqüência
- Diag. de Comunicação
- Diag. De Temporização
- Diagrama de Casos de Uso
- Diagrama Máquina de Estados
6
Estendendo UML: Perfil UML-SPT
UML-SPT: UML Profile for Schedulability, Performance and Time
• Modelagem de Recursos
• Modelagem de Tempo• Modelagem da Concorrência• Modelos de Análise da Escalonabilidade• Modelagem do Desempenho
MARTE: sucessor do UML-SPT, mas ainda não é suportado pelas maioria das ferramentas de modelagem.
7
Aplicando UML no projeto de sistemas
Identificação de requisitos funcionais/análise: Diag. de Caso de uso Diag. de Seqüência Diag. de Atividade
Projeto:•Diag. de Seqüência•Diag. de Atividade•Diag. De Estados•Diag. de Objetos•Diag. de Classes•Diag. de Componentes•Diag. de Implantação (deployment)
8
Usando UML: Exemplos
• Cadeira de Rodas
• Vant
• Crane
9
Usando UML: Exemplos
• Cadeira de Rodas
• Vant
• Crane
10
Exemplo de um diagrama de casos de uso
Cadeira de Rodas: Diagrama de Casos de Uso
Identificação de requisitos funcionais/análise
ATOR
CASO DE USO
11
Cadeira de Rodas
Diagrama de ClassesClasses da cadeira:
- Wheelchair
- Navigator
- JoystickDriver
- ActuatorDriver
- SensorDriver
- MovementController
CLASSEASSOCIAÇÕES
Tipos de Associações- Associação unidirecional- Associação bidirecional- Herança (generalização-especialização)- Agregação
12
Exemplo de um diagrama de seqüência
Cadeira de Rodas: Diagrama de Seqüência
Descrição funcional do caso de uso movementActuating
Objeto
Life-line
Mensagem
Ref para outro diagrama de sequência
- Mensagem síncrona- Mensagem assíncrona
13
Usando UML: Exemplos
• Cadeira de Rodas
• Vant
• Crane
14
Diagrama de Classes: Vant
Tipos de Associações- Associação unidirecional- Associação bidirecional- Herança- Agregação
15
Diagrama de Seqüência
alt : if/elsepar: concorrência
16
Usando UML: Exemplos
• Cadeira de Rodas
• Vant
• Crane
17
Crane em UML: Casos de Uso
Car-positionSensor
Cable-angleSensor
MotorBreak-relay
Crane User
EmergencyOperation Mode
Sensor check
Diagnosis
Initialisation
NominalOperation Mode
CalculatePosition Sensors
Update
«extend»
Casos de Uso
18
Crane em UML: Diagrama de classes
«SAschedRes»::Initializer
«SAresource»::DesiredPosition
::BreakInterface
«SAschedRes»::SensorChecker
«SAschedRes»::Diagnoser
«SAschedRes»::Controller
«SAschedRes»::PositionSensorInterface
«SAresource»::PosCarMin
«SAresource»::PosCarMax
«SAresource»::DeltaPosCar
«SAresource»::VcCheck
::MotorInterface
::SwPosCarMin
::SwPosCarMax
«SAschedRes»::ConsoleInterface
::SwPosCar
«SAschedRes»::AngleSensorInterface
«SAresource»::AngleMax
1 1
11
1
1
1
1
1
1
1
11
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1
1
1
1
1
11 1
1
1
1
1
1
1 1..*
11
1
1
1
1
1
1
1
11
1
1
1
11
1
1
1
1
1
1
1
1
11
11
<<SAschedRes>> objetos ativos escalonáveis
Interfaces com sensores e atuadores
<<SAresource>>: Recurso compartilhado
19
Crane User
:PosCarMin«SAresource»
:DeltaPosCar«SAresource»
:VcCheck«SAresource»
:PositionSensorInterface«SAschedRes»
:AngleSensorInterface«SAschedRes»
:Initializer«SAschedRes»
:BreakInterface
:SensorChecker«SAschedRes»
diagnoser:Diagnoser«SAschedRes»
nominalCtrl:Controller«SAschedRes»
:PosCarMax«SAresource»
:AngleMax«SAresource»
run()2.7 :
run()2.8 :
activate()2.10 :
activate()2.11 :
set()2.2 :
set()2.3 :
set()2.4 :
set()2.5 :
PowerOn()1 :
powerOn()2 :
setOn()2.1 :
run()2.9 :
set()2.6 :
Initialisation
Crane em UML: Diagrama de Colaboração (1)
Inicialização
concorrentes
Mensagens assíncronas
Diagrama de comunicação
20
Crane em UML : Diagrama de Estados
EmergencyOpMode
InitMode
NormalOpModeEmrgStopOpMode
Controller
«C reate»/
ac tivate /
setEm ergencyM ode/
ru n /
s etE m rgS top/
re s e t /
s etE m rgS top/
/
Creio que seria possível implementar aqui a concorrencia com o diagnóstico
Diagrama de Estados -> control-flow
Estados do controle:
- Init
- Emergency Stop
- Emergency Mode
- Normal Mode
21
Material complementar
• Site da OMG:
http://www.omg.org/
• Modelagem do Vant: http://www.inf.ufrgs.br/~rrferreira/vant.zip
top related