exemplos especificação de software patrícia macedo joaquim filipe joão ascenso engenharia de...
TRANSCRIPT
![Page 1: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/1.jpg)
Exemplos Exemplos Especificação de Software Especificação de Software
Patrícia MacedoPatrícia MacedoJoaquim FilipeJoaquim FilipeJoão AscensoJoão Ascenso
Engenharia de Software 2005/2006Engenharia de Software 2005/2006EST, SetúbalEST, Setúbal
![Page 2: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/2.jpg)
Engenharia de Software 2
Indice GeralIndice Geral1ª Parte1ª Parte Especificação de Software Especificação de Software DFD’sDFD’s Maquinas de estadosMaquinas de estados Petri NetsPetri Nets
2ª Parte2ª Parte UMLUML
3ª 3ª ParteParte Exemplos (DFD’s, ME, PetriNets)Exemplos (DFD’s, ME, PetriNets)
![Page 3: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/3.jpg)
Engenharia de Software 3
Exemplo com DFDSExemplo com DFDS
DFD mostra o DFD mostra o fluxo de dadosfluxo de dados ““o que acontece, o que acontece,
não como não como acontece”acontece”
Número infinito de Número infinito de interpretações interpretações possíveispossíveis
![Page 4: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/4.jpg)
Engenharia de Software 4
Desenhar o DFDDesenhar o DFD
Primeiro refinamentoPrimeiro refinamento
![Page 5: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/5.jpg)
Engenharia de Software 5
Desenhar o DFDDesenhar o DFD Segundo refinamentoSegundo refinamento Ordens em espera são vistas Ordens em espera são vistas
diáriamentediáriamente
![Page 6: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/6.jpg)
Engenharia de Software 6
Desenhar o DFDDesenhar o DFD
Terceiro Terceiro refinamentorefinamento
![Page 7: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/7.jpg)
Engenharia de Software 7
Desenhar o DFDDesenhar o DFD
DFD FinalDFD Final Maior, de fácil compreensão pelo Maior, de fácil compreensão pelo
clientecliente DFDs maioresDFDs maiores
HierarquiaHierarquia Uma caixa é um DFD num nível mais Uma caixa é um DFD num nível mais
baixobaixoP1
P11
P12
P13
Top-down
![Page 8: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/8.jpg)
Engenharia de Software 8
Refinar os fluxos de dadosRefinar os fluxos de dados
Items de dados para cada fluxoItems de dados para cada fluxo Refinar cada fluxo Refinar cada fluxo Dicionário de dadosDicionário de dados
![Page 9: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/9.jpg)
Engenharia de Software 9
Dicionário de dadosDicionário de dados
Entradas de exemploEntradas de exemplo
![Page 10: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/10.jpg)
Engenharia de Software 10
Case studyCase study
A loja ABCD Software compra software de A loja ABCD Software compra software de vários fornecedores e vende ao público. O vários fornecedores e vende ao público. O software mais popular é mantido em software mais popular é mantido em stock, mas o resto é pedido à medida que stock, mas o resto é pedido à medida que é necessário. A algumas instituições e é necessário. A algumas instituições e associações são dadas facilidades no associações são dadas facilidades no acesso ao crédito. acesso ao crédito.
![Page 11: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/11.jpg)
Engenharia de Software 11
Case studyCase study Perceber as razões: Perceber as razões:
Qual é o objectivo do sistema informático no seu negócio ?Qual é o objectivo do sistema informático no seu negócio ? Apenas porque vende software?Apenas porque vende software? Assumir: Introduzir um novo sistema “de forma a Assumir: Introduzir um novo sistema “de forma a
obter mais lucros” obter mais lucros” Análise custos / benefícios para cada secção do negócioAnálise custos / benefícios para cada secção do negócio
Questões importantes:Questões importantes: Que secções informatizar ? Todas ?Que secções informatizar ? Todas ? Como ? Batch ? Online ? Para uso interno ? e-commerce ? Como ? Batch ? Online ? Para uso interno ? e-commerce ?
O perigo de muitas soluções: O perigo de muitas soluções: Primeiro fornecer a solução, só depois descobrir qual é o Primeiro fornecer a solução, só depois descobrir qual é o
problemaproblema
![Page 12: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/12.jpg)
Engenharia de Software 12
Análise estruturada de Análise estruturada de sistemassistemas
Técnica semi-formal para especificar softwareTécnica semi-formal para especificar software Desenvolvida em 1970: [DeMarco,1978], [Gane/Sarsen,1979], Desenvolvida em 1970: [DeMarco,1978], [Gane/Sarsen,1979],
[Yourdon/Constantine,1979] [Yourdon/Constantine,1979] Utilização dos DFDs:Utilização dos DFDs:
Os dados são processados em cada passo antes de se passar Os dados são processados em cada passo antes de se passar para o próximopara o próximo
Simples e intuitivo (os utilizadores participam no processo)Simples e intuitivo (os utilizadores participam no processo) Permite seguir e documentar como os dados são processadosPermite seguir e documentar como os dados são processados
Estes modelos permitem uma perspectiva funcional Estes modelos permitem uma perspectiva funcional de todo o sistemade todo o sistema
![Page 13: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/13.jpg)
Engenharia de Software 13
Refinar os repositórios de Refinar os repositórios de dadosdados
Definir o conteúdo e a representação Definir o conteúdo e a representação (formato)(formato)
Definir a precisão dos dados numéricos, o Definir a precisão dos dados numéricos, o comprimento dos campos de texto etc.comprimento dos campos de texto etc.
Definir que dados irão ser necessários em Definir que dados irão ser necessários em que ficheiros, bases de dados etc. que ficheiros, bases de dados etc.
![Page 14: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/14.jpg)
Engenharia de Software 14
Definir os recursos físicosDefinir os recursos físicos
Para cada ficheiro, especificarPara cada ficheiro, especificar Nome do ficheiroNome do ficheiro Organização (sequencial, indexada, etc.)Organização (sequencial, indexada, etc.) Meio de armazenamentoMeio de armazenamento Estrutura (até ao nível do campo)Estrutura (até ao nível do campo)
![Page 15: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/15.jpg)
Engenharia de Software 15
Determinar Especificações Determinar Especificações I/OI/O
Especificar as entradas/saídas para as Especificar as entradas/saídas para as comunicações externas:comunicações externas: Esboço da interfaceEsboço da interface Esboço das saída de dadosEsboço das saída de dados Formato dos dados de importação/exportação Formato dos dados de importação/exportação
para outro softwarepara outro software
![Page 16: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/16.jpg)
Engenharia de Software 16
Calcular parâmetros Calcular parâmetros relevantesrelevantes
Dados numéricos relevantesDados numéricos relevantes Volume dos dados de entrada Volume dos dados de entrada
(diariamente ou por hora)(diariamente ou por hora) Tamanho, frequência, deadline para cada Tamanho, frequência, deadline para cada
relatório impressorelatório impresso Tamanho, número de campos que passam Tamanho, número de campos que passam
entre o CPU e o meio de armazenamentoentre o CPU e o meio de armazenamento Tamanho de cada ficheiro, etc...Tamanho de cada ficheiro, etc...
![Page 17: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/17.jpg)
Engenharia de Software 17
Requisitos de HardwareRequisitos de Hardware
Requisitos de armazenamentoRequisitos de armazenamento Definir forma de armazenamento para o back-up Definir forma de armazenamento para o back-up
de dadosde dados Input devicesInput devices Output devices Output devices O hardware existente serve ?O hardware existente serve ? Se não, recomendar compra/aluguerSe não, recomendar compra/aluguer
![Page 18: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/18.jpg)
Engenharia de Software 18
No entanto... No entanto...
Tempos de resposta não podem ser Tempos de resposta não podem ser calculadoscalculados
Número de canais E/S apenas podem Número de canais E/S apenas podem ser adivinhadosser adivinhados
A capacidade de processamento A capacidade de processamento apenas pode ser adivinhadaapenas pode ser adivinhada
![Page 19: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/19.jpg)
Engenharia de Software 19
Maquinas de estadosMaquinas de estados
ExemploExemplo
![Page 20: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/20.jpg)
Engenharia de Software 20
Cofre com uma combinaçãoCofre com uma combinação
[Brady,1977][Brady,1977]
![Page 21: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/21.jpg)
Engenharia de Software 21
• Combination lock with 3 positions: 1,2,3• The dial can be turned left L or right R• Any time there are 6 possible dial movements, 1L, 1R, 2L, 2R, 3L, 3R• The combination of the lock is: 1L, 3R, 2L• any other dial movement causes the alarm to go off
Safelocked A B
Safeunlocked
ALARM
any otherdial movement
any otherdial movement any other
dial movement
1L 3R 2L
Cofre com uma combinaçãoCofre com uma combinação
![Page 22: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/22.jpg)
Engenharia de Software 22
Teste de DiagnósticoTeste de Diagnóstico Estado 0 Estado 0 Inicialização Inicialização Evento b Evento b Inicialização OK Inicialização OK Estado 1 Estado 1 Estou activo Estou activo Evento a1 Evento a1 Sem Problemas Sem Problemas Evento a2 Evento a2 Problema detectado Problema detectado Estado 4 Estado 4 Verificação do estado concluído Verificação do estado concluído Estado 5 Estado 5 Erro no teste de diagnóstico Erro no teste de diagnóstico
Ocorre quando recebe uma entrada não esperadaOcorre quando recebe uma entrada não esperada
![Page 23: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/23.jpg)
Engenharia de Software 23
Produtor/ConsumidorProdutor/Consumidor
a) Produtor b) Consumidor c) Buffer
![Page 24: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/24.jpg)
Engenharia de Software 24
Produtor/ConsumidorProdutor/Consumidor
Consumidor: Consumidor: Processo que lê as mensagens e as remove do Processo que lê as mensagens e as remove do
bufferbuffer Buffer vazio Buffer vazio espera que uma mensagem seja espera que uma mensagem seja
escritaescrita Produtor:Produtor:
Produz mensagens e escreve-as no bufferProduz mensagens e escreve-as no buffer Buffer cheio Buffer cheio espera que uma mensagem seja espera que uma mensagem seja
removidaremovida Buffer: suporta apenas 2 mensagensBuffer: suporta apenas 2 mensagens Conjunto de estados <0,p2,c2>:Conjunto de estados <0,p2,c2>:
Buffer vazio, produtor no estado p2 e Buffer vazio, produtor no estado p2 e consumidor no estado c2consumidor no estado c2
![Page 25: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/25.jpg)
Engenharia de Software 25
Produtor/ConsumidorProdutor/Consumidor
![Page 26: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/26.jpg)
Engenharia de Software 26
Redes de Petri - ExemplosRedes de Petri - Exemplos
![Page 27: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/27.jpg)
Engenharia de Software 27
Exemplo: Máquina de Exemplo: Máquina de VendasVendas
Esta máquina dispensa dois tipos de Esta máquina dispensa dois tipos de consumíveis – 20c e 15cconsumíveis – 20c e 15c
Apenas dois tipos de moedas podem Apenas dois tipos de moedas podem ser utilizadasser utilizadas– de 10c e 5c– de 10c e 5c
A máquina não devolve nenhum A máquina não devolve nenhum trocotroco
![Page 28: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/28.jpg)
Engenharia de Software 28
Exemplo: Máquina de VendasExemplo: Máquina de Vendas
5c
Take 15c bar
Deposit 5c
0c
Deposit 10c
Deposit 5c
10c
Deposit 10c
Deposit5c
Deposit 10c20c
Deposit5c
15c
Take 20c bar
![Page 29: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/29.jpg)
Engenharia de Software 29
Exemplo: Máquina de VendasExemplo: Máquina de Vendas
Cenário 1: Cenário 1: Deposita 5c, deposita 5c, deposita 5c, deposita Deposita 5c, deposita 5c, deposita 5c, deposita
5c, retira o consumível de 20c5c, retira o consumível de 20c Cenário 2:Cenário 2:
deposita 10c, deposita 5c, retira o consumível deposita 10c, deposita 5c, retira o consumível de 15cde 15c
Cenário 3:Cenário 3: deposita 5c, deposita 10c, deposita 5c, retira o deposita 5c, deposita 10c, deposita 5c, retira o
consumível de 20cconsumível de 20c
![Page 30: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/30.jpg)
Engenharia de Software 30
Exemplo: Máquina de VendasExemplo: Máquina de Vendas
5c
Take 15c bar
Deposit 5c
0c
Deposit 10c
Deposit 5c
10c
Deposit 10c
Deposit5c
Deposit 10c20c
Deposit5c
15c
Take 20c bar
![Page 31: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/31.jpg)
Engenharia de Software 31
Outro exemploOutro exemplo
• Um sistema produtor-consumidor Um sistema produtor-consumidor consistindo em um produtor, dois consistindo em um produtor, dois consumidores e um buffer; com as consumidores e um buffer; com as seguintes características:seguintes características:• O buffer pode conter até 5 itemsO buffer pode conter até 5 items• O produtor pode enviar 3 items em cada O produtor pode enviar 3 items em cada
produçãoprodução• Ao mesmo tempo apenas um consumidor Ao mesmo tempo apenas um consumidor
consegue aceder ao bufferconsegue aceder ao buffer• Cada consumidor remove dois items quando Cada consumidor remove dois items quando
acede ao bufferacede ao buffer
![Page 32: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/32.jpg)
Engenharia de Software 32
Produtor/ConsumidorProdutor/Consumidor
ready
p1
t1
produce
idle
send
p2
t2
k=1
k=1
k=5
Storage p3
3 2 t3 t4
p4
p5
k=2
k=2
accept
accepted
consume
ready
Producer Consumers
![Page 33: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/33.jpg)
Engenharia de Software 33
Máquina de VendasMáquina de Vendas
5c
Take 15c bar
Deposit 5c
0c
Deposit 10c
Deposit 5c
10c
Deposit 10c
Deposit5c
Deposit 10c20c
Deposit5c
15c
Take 20c bar
![Page 34: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/34.jpg)
Engenharia de Software 34
Estados...Estados...
t8
t1
p1
t2
p2
t3
p3
t4
t5
t6 p5
t7
p4
t9
M0 = (1,0,0,0,0)
M1 = (0,1,0,0,0)
M2 = (0,0,1,0,0)
M3 = (0,0,0,1,0)
M4 = (0,0,0,0,1)
Initial marking:M0
![Page 35: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/35.jpg)
Engenharia de Software 35
Estados alcançáveisEstados alcançáveist8
t1
p1
t2
p2
t3
p3
t4
t5
t6 p5
t7
p4
t9
Initial marking:M0
M0 M1 M2 M3 M0 M2 M4t3t1 t5 t8 t2 t6
M0 = (1,0,0,0,0)
M1 = (0,1,0,0,0)
M2 = (0,0,1,0,0)
M3 = (0,0,0,1,0)
M4 = (0,0,0,0,1)
![Page 36: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/36.jpg)
Engenharia de Software 36
Estados alcançáveisEstados alcançáveis
• ““M2 é M2 é alcançável alcançável a partir de M1 e M4 a partir de M1 e M4 é é alcançávelalcançável a partir de M0” a partir de M0”
• De facto, no exemplo anterior, todas De facto, no exemplo anterior, todas as marcas são alcançáveisas marcas são alcançáveis
M0 M1 M2 M3 M0 M2 M4t3t1 t5 t8 t2 t6
Uma sequência de disparo:
![Page 37: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/37.jpg)
Engenharia de Software 37
Produtor/ConsumidorProdutor/Consumidor
• Nesta rede de Petri, cada lugar têm Nesta rede de Petri, cada lugar têm uma capacidade e cada arco têm um uma capacidade e cada arco têm um peso.peso.
• Isto permite que múltiplos Isto permite que múltiplos tokenstokens possam residir num lugar para possam residir num lugar para modelar um comportamento modelar um comportamento complexo.complexo.
![Page 38: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/38.jpg)
Engenharia de Software 38
Exemplo: AvaliaçãoExemplo: Avaliação
Durante o semestre, o estudante têm de Durante o semestre, o estudante têm de passar a:passar a: TutesTutes PracsPracs Assignment eAssignment e TestTest
No fim do semestre o estudante, têm de No fim do semestre o estudante, têm de passar no exame para obter aprovação na passar no exame para obter aprovação na cadeiracadeira
![Page 39: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/39.jpg)
Engenharia de Software 39
Exemplo: AvaliaçãoExemplo: Avaliação
P
F
P
F
P
FP
F
Tutes
Ass
Pracs
Test
passed
passed
passed
passed
Partial pass
Failed
Sit exam
EnrolIn ES
wait
passFailexam
Hooray!
You have passed!!
![Page 40: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/40.jpg)
Engenharia de Software 40
Exemplo: AvaliaçãoExemplo: Avaliação
P
F
P
F
P
FP
F
Tutes
Ass
Pracs
Test
passed
passed
passed
passed
Partial pass
Failed
Sit exam
EnrolIn ES
wait
passFailexam
Hooray!
You have failed!!
![Page 41: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/41.jpg)
Engenharia de Software 41
Exemplo: AvaliaçãoExemplo: Avaliação
P
F
P
F
P
FP
F
Tutes
Ass
Pracs
Test
passed
passed
passed
passed
Partial pass
Failed
Sit exam
EnrolIn ES
wait
passFailexam
Hooray!
You have failed!!
![Page 42: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/42.jpg)
Engenharia de Software 42
Exemplo: Num restauranteExemplo: Num restaurante
Cenário 1:Cenário 1: O criado recebe ordens do cliente 1; O criado recebe ordens do cliente 1;
serve o cliente 1; recebe ordens do serve o cliente 1; recebe ordens do cliente 2; serve o cliente 2cliente 2; serve o cliente 2
Cenário 2:Cenário 2: O criado recebe ordens do consumidor 1; O criado recebe ordens do consumidor 1;
recebe ordens do consumidor 2; serve o recebe ordens do consumidor 2; serve o consumidor 2; serve o consumidor 1consumidor 2; serve o consumidor 1
![Page 43: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/43.jpg)
Engenharia de Software 43
Exemplo: Num restaurante (Cenário 1)Exemplo: Num restaurante (Cenário 1)
WaiterfreeCustomer 1 Customer 2
Takeorder
Takeorder
Ordertaken
Tellkitchen
wait wait
Serve food Serve food
eating eating
![Page 44: Exemplos Especificação de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal](https://reader035.vdocuments.net/reader035/viewer/2022062623/552fc0f8497959413d8b560a/html5/thumbnails/44.jpg)
Engenharia de Software 44
Exemplo: Num restaurante (Cenário 2)Exemplo: Num restaurante (Cenário 2)
WaiterfreeCustomer 1 Customer 2
Takeorder
Takeorder
Ordertaken
Tellkitchen
wait wait
Serve food Serve food
eating eating