u niversidade do m inho e scola de e ngenharia 2000/01 d ep. i nformÁtica desenvolvimento de...

60
UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA 2000/01 DEP. INFORMÁTICA DESENVOLVIMENTO DE DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) (MESTRADO EM INFORMÁTICA) - SESSÃO 5: Proposta de metodologia - - SESSÃO 5: Proposta de metodologia - JOÃO MIGUEL FERNANDES JOÃO MIGUEL FERNANDES Email: [email protected] Email: [email protected] URL: http://www.di.uminho.pt/~miguel URL: http://www.di.uminho.pt/~miguel

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

UNIVERSIDADE DO MINHO

ESCOLA DE ENGENHARIA 2000/01 DEP. INFORMÁTICA

DESENVOLVIMENTO DE DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS SISTEMAS EMBEBIDOS

(MESTRADO EM INFORMÁTICA) (MESTRADO EM INFORMÁTICA)

- SESSÃO 5: Proposta de metodologia -- SESSÃO 5: Proposta de metodologia -

JOÃO MIGUEL FERNANDESJOÃO MIGUEL FERNANDESEmail: [email protected]: [email protected]

URL: http://www.di.uminho.pt/~miguelURL: http://www.di.uminho.pt/~miguel

Page 2: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

2

SumárioSumário

1. Enquadramento1. Enquadramento

2. Metodologia MIDAS 2. Metodologia MIDAS

3. A Análise na Metodologia MIDAS3. A Análise na Metodologia MIDAS

Page 3: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

3

1. Enquadramento 1. Enquadramento (1/2)(1/2)

Objectivos deste móduloObjectivos deste módulo– Apresentar uma proposta de metodologia (MIDAS) Apresentar uma proposta de metodologia (MIDAS)

para desenvolvimento de sistemas embebidos.para desenvolvimento de sistemas embebidos.– Discutir as características mais importantes (modelo Discutir as características mais importantes (modelo

do processo, notação, métodos) dessa metodologia.do processo, notação, métodos) dessa metodologia.

Audiência alvoAudiência alvo– licenciados (com ou sem formação na área das TSI) licenciados (com ou sem formação na área das TSI)

com responsabilidades e experiência comprovada com responsabilidades e experiência comprovada (desejável!) na análise, concepção e implementação (desejável!) na análise, concepção e implementação de sistemas baseados em softwarede sistemas baseados em software

Page 4: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

4

1. Enquadramento 1. Enquadramento (2/2)(2/2)

Bibliografia recomendadaBibliografia recomendada– Fernandes J.M. (2000). “Fernandes J.M. (2000). “MIDAS: MIDAS: Metodologia Orientada Metodologia Orientada

ao Objecto para Desenvolvimento de Sistemas ao Objecto para Desenvolvimento de Sistemas EmbebidosEmbebidos”. Tese de Doutoramento”. Tese de Doutoramento, DI, UM., DI, UM.

– Jacobson I., Booch G., Rumbaugh J. (1999). “Jacobson I., Booch G., Rumbaugh J. (1999). “The The Unified Software Development ProcessUnified Software Development Process”. Object ”. Object Technology. Addison-Wesley. Technology. Addison-Wesley. ISBN 0-201-57169-2ISBN 0-201-57169-2..

– Selic B., Gullekson G., Ward P.T. (1994). “Selic B., Gullekson G., Ward P.T. (1994). “Real-Time Real-Time Object-Oriented ModelingObject-Oriented Modeling”. John Wiley & Sons.”. John Wiley & Sons. ISBN 0-ISBN 0-

471-59917-4471-59917-4..

– Calvez J.P. (1993). “Calvez J.P. (1993). “Embedded Real-Time Systems: A Embedded Real-Time Systems: A Specification and Design MethodologySpecification and Design Methodology”. Software ”. Software Engineering Practice. John Wiley & Sons. Engineering Practice. John Wiley & Sons. ISBN 0-471-ISBN 0-471-

93563-893563-8..

Page 5: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

5

2. Metodologia MIDAS 2. Metodologia MIDAS (1/16)(1/16)

CaracterizaçãoCaracterização– Abordagem operacional.Abordagem operacional.– Especificação unificada, gráfica e multi-vista.Especificação unificada, gráfica e multi-vista.– Modelação orientada ao objecto.Modelação orientada ao objecto.

Page 6: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

6

2. Metodologia MIDAS 2. Metodologia MIDAS (2/16)(2/16)

CaracterizaçãoCaracterização– A A abordagem operacionalabordagem operacional usa modelos de usa modelos de

especificação que podem ser vistos como programas especificação que podem ser vistos como programas escritos numa linguagem de alto nível. escritos numa linguagem de alto nível.

– Esses programas são compilados e executados, a fim Esses programas são compilados e executados, a fim de se detectarem, durante o desenvolvimento do de se detectarem, durante o desenvolvimento do sistema, falhas e inconsistências.sistema, falhas e inconsistências.

– A metodologia usa uma abordagem baseada numa A metodologia usa uma abordagem baseada numa representação unificadarepresentação unificada e neutra. e neutra.

– A representação do sistema vai sendo A representação do sistema vai sendo progressivamente refinada, até se obter um modelo progressivamente refinada, até se obter um modelo válido do sistema. válido do sistema.

– Nessa altura, podem então escolher-se as tecnologias, Nessa altura, podem então escolher-se as tecnologias, nas quais os vários componentes vão ser nas quais os vários componentes vão ser implementados.implementados.

Page 7: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

7

2. Metodologia MIDAS 2. Metodologia MIDAS (3/16)(3/16)

CaracterizaçãoCaracterização– As notações para especificar sistemas reactivos devem ter As notações para especificar sistemas reactivos devem ter

um forte cariz visual e intuitivo, para facilitar a transição um forte cariz visual e intuitivo, para facilitar a transição da análise para a implementação e a comunicação entre da análise para a implementação e a comunicação entre clientes e projectistas.clientes e projectistas.

– O uso de O uso de representações gráficasrepresentações gráficas mostra-se útil, sempre mostra-se útil, sempre que as especificações não estiverem sobrecarregadas com que as especificações não estiverem sobrecarregadas com demasiados pormenores.demasiados pormenores.

– É preferível o uso de modelos multi-vistas, cada um dos É preferível o uso de modelos multi-vistas, cada um dos quais abordando uma dada perspectiva de modelação do quais abordando uma dada perspectiva de modelação do sistema.sistema.

– Assim, adoptar-se-á a linguagem UML, que preenche os Assim, adoptar-se-á a linguagem UML, que preenche os requisitos atrás indicados (unificada, multi-vista e gráfica)requisitos atrás indicados (unificada, multi-vista e gráfica)

– Os mecanismos de modelação que UML disponibiliza Os mecanismos de modelação que UML disponibiliza adaptam-se a um processo incremental e iterativo que se adaptam-se a um processo incremental e iterativo que se baseie em casos de uso e num modelo de objectos.baseie em casos de uso e num modelo de objectos.

Page 8: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

8

2. Metodologia MIDAS 2. Metodologia MIDAS (4/16)(4/16)

CaracterizaçãoCaracterização– Pretende adoptar-se um Pretende adoptar-se um modelo de processomodelo de processo “sensato”, “sensato”,

de modo que possam ser cometidos erros em qualquer de modo que possam ser cometidos erros em qualquer das fases que o compõem. das fases que o compõem.

– Um modelo que atenda esta consideração pode ser Um modelo que atenda esta consideração pode ser recuado no seu fluxo, permitindo que se revisitem fases recuado no seu fluxo, permitindo que se revisitem fases anteriores, com o intuito de rectificar o que possa não anteriores, com o intuito de rectificar o que possa não estar correcto. estar correcto.

– Adicionalmente, um modelo não deve ter um fluxo rígido, Adicionalmente, um modelo não deve ter um fluxo rígido, pois a flexibilidade na aplicação das diversas etapas e pois a flexibilidade na aplicação das diversas etapas e dos diversos passos do processo, deve ser entendida dos diversos passos do processo, deve ser entendida como uma característica positiva. como uma característica positiva.

– Nesta linha de raciocínio, a utilização do modelo em Nesta linha de raciocínio, a utilização do modelo em cascata (ou de qualquer uma das suas variantes) será cascata (ou de qualquer uma das suas variantes) será preterida em detrimento de modelos mais iterativos, preterida em detrimento de modelos mais iterativos, como o modelo transformacional ou em espiral.como o modelo transformacional ou em espiral.

Page 9: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

9

2. Metodologia MIDAS 2. Metodologia MIDAS (5/16)(5/16)

CaracterizaçãoCaracterização– Na abordagem tradicional , a maior fatia do teste está Na abordagem tradicional , a maior fatia do teste está

concentrada no fim do projecto. concentrada no fim do projecto. – Para sistemas embebidos, é crucial validar as restrições Para sistemas embebidos, é crucial validar as restrições

que condicionam o seu desenvolvimento o mais cedo que condicionam o seu desenvolvimento o mais cedo possível, visto que os custos de desenvolvimento e teste possível, visto que os custos de desenvolvimento e teste deste tipo de sistemas são elevados. deste tipo de sistemas são elevados.

– Para construir um sistema que tem de obedecer a Para construir um sistema que tem de obedecer a requisitos funcionais e não funcionaisrequisitos funcionais e não funcionais, devem construir-se , devem construir-se vários modelos de especificação e realizar uma vários modelos de especificação e realizar uma implementação. implementação.

– Após estarem definidos o conjunto de restrições impostas Após estarem definidos o conjunto de restrições impostas e o modelo de concepção que suporte a funcionalidade e o modelo de concepção que suporte a funcionalidade pretendida para o sistema, é provável que não seja pretendida para o sistema, é provável que não seja possível encontrar uma implementação que satisfaça a possível encontrar uma implementação que satisfaça a totalidade das restrições. totalidade das restrições.

Page 10: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

10

2. Metodologia MIDAS 2. Metodologia MIDAS (6/16)(6/16)

CaracterizaçãoCaracterização– Um modelo de processo iterativo é novamente Um modelo de processo iterativo é novamente

importante para o desenvolvimento de sistemas importante para o desenvolvimento de sistemas embebidos, já que não impõe a necessidade de embebidos, já que não impõe a necessidade de finalizar a implementação para validar o sistema. finalizar a implementação para validar o sistema.

– Além disso, a utilização de Além disso, a utilização de protótiposprotótipos e a validação dos e a validação dos modelos desenvolvidos, em fases precoces do modelos desenvolvidos, em fases precoces do projecto, permite detectar, estudar e corrigir projecto, permite detectar, estudar e corrigir problemas que, noutras situações, só o poderiam ser problemas que, noutras situações, só o poderiam ser em fases finais do projecto (ou, pior ainda, durante a em fases finais do projecto (ou, pior ainda, durante a utilização do sistema).utilização do sistema).

– A necessidade de modelos de processo flexíveis é, na A necessidade de modelos de processo flexíveis é, na prática, sentida, porque, por vezes, não é possível prática, sentida, porque, por vezes, não é possível aplicar as diversas fases dum dado processo pela aplicar as diversas fases dum dado processo pela ordem em que ele foi inicialmente idealizado. ordem em que ele foi inicialmente idealizado.

Page 11: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

11

2. Metodologia MIDAS 2. Metodologia MIDAS (7/16)(7/16)

CaracterizaçãoCaracterização– É fundamental perceber que a metodologia, per si, não É fundamental perceber que a metodologia, per si, não

é suficiente para assegurar êxito no desenvolvimento é suficiente para assegurar êxito no desenvolvimento de sistemas. de sistemas.

– Ela deve ser adaptada às necessidades específicas da Ela deve ser adaptada às necessidades específicas da organização e estendida com outras técnicas úteis.organização e estendida com outras técnicas úteis.

– A metodologia Midas foi concebida para o A metodologia Midas foi concebida para o desenvolvimento de sistemas embebidos, desenvolvimento de sistemas embebidos,

– Assim, tentará, tipificar-se as características e as Assim, tentará, tipificar-se as características e as situações em que a metodologia Midas pode ser situações em que a metodologia Midas pode ser melhor aproveitada ou nas quais pode ser facilmente melhor aproveitada ou nas quais pode ser facilmente enquadrada.enquadrada.

Page 12: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

12

2. Metodologia MIDAS 2. Metodologia MIDAS (8/16)(8/16)

CaracterizaçãoCaracterização– A A equipa de projectoequipa de projecto será composta por várias pessoas, será composta por várias pessoas,

uma vez que uma pessoa não consegue, sozinha e em uma vez que uma pessoa não consegue, sozinha e em tempo útil, desenvolver um sistema complexo. tempo útil, desenvolver um sistema complexo.

– Deste facto resulta a necessidade de algum tipo de gestão Deste facto resulta a necessidade de algum tipo de gestão de projecto (de projecto (gestão de recursos humanos, gestão financeira, gestão de recursos humanos, gestão financeira, calendarização de tarefas, organização do trabalho em grupos, condução calendarização de tarefas, organização do trabalho em grupos, condução

de reuniões, formato da documentação, etc.de reuniões, formato da documentação, etc.), que não será tratada ), que não será tratada aquiaqui

– Também a realização dum estudo de viabilidade, antes de Também a realização dum estudo de viabilidade, antes de se iniciar a fase de análise, é de extrema importância para se iniciar a fase de análise, é de extrema importância para as fases seguintes de projecto, mas também não será as fases seguintes de projecto, mas também não será encarada.encarada.

– Apesar de ser possível projectar sistemas para uso Apesar de ser possível projectar sistemas para uso próprio, a situação mais comum é o sistema ser próprio, a situação mais comum é o sistema ser desenvolvido para desenvolvido para outrémoutrém. .

Page 13: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

13

2. Metodologia MIDAS 2. Metodologia MIDAS (9/16)(9/16)

CaracterizaçãoCaracterização– A metodologia parte do pressuposto que a equipa de A metodologia parte do pressuposto que a equipa de

projecto desenvolve um sistema que lhe foi encomendado projecto desenvolve um sistema que lhe foi encomendado por um cliente, entendido como uma entidade externa à por um cliente, entendido como uma entidade externa à equipa de projecto.equipa de projecto.

– Regra geral, o cliente é especialista no domínio de aplicação, Regra geral, o cliente é especialista no domínio de aplicação, mas não é conhecedor de linguagens de especificação, mas não é conhecedor de linguagens de especificação, modelação de sistemas, hardware, software, etc. modelação de sistemas, hardware, software, etc.

– Por outro lado, é lícito supor que o conhecimento dos Por outro lado, é lícito supor que o conhecimento dos projectistas na área de aplicação é geralmente diminuto.projectistas na área de aplicação é geralmente diminuto.

– A metodologia pode ser usada para desenvolver de raiz A metodologia pode ser usada para desenvolver de raiz sistemas, ou então em situações de engenharia reversa sistemas, ou então em situações de engenharia reversa ((reengenhariareengenharia). ).

– A primeira situação pode ser considerada um caso especial A primeira situação pode ser considerada um caso especial da segunda, em que se desenvolve o sistema pela primeira da segunda, em que se desenvolve o sistema pela primeira vez.vez.

Page 14: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

14

2. Metodologia MIDAS 2. Metodologia MIDAS (10/16)(10/16)

Modelo do processoModelo do processo– Esta visão está em consonância com Esta visão está em consonância com

a divisão do processo, em dois a divisão do processo, em dois níveis: macro e micro.níveis: macro e micro.

– O O macro-processomacro-processo segue o modelo segue o modelo em cascata, tem associada uma em cascata, tem associada uma escala temporal maior (meses ou escala temporal maior (meses ou anos) e serve como uma referência anos) e serve como uma referência de controlo para o micro-processo. de controlo para o micro-processo.

– O O micro-processomicro-processo segue o modelo segue o modelo em espiral, tem associada uma em espiral, tem associada uma escala temporal mais reduzida escala temporal mais reduzida (semanas, dias ou mesmo horas) e (semanas, dias ou mesmo horas) e facilita uma abordagem iterativa e facilita uma abordagem iterativa e incremental no desenvolvimento de incremental no desenvolvimento de sistemas. sistemas.

Page 15: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

15

2. Metodologia MIDAS 2. Metodologia MIDAS (11/16)(11/16)

Modelo do processoModelo do processo– Garantir o cumprimento do macro-processo é uma Garantir o cumprimento do macro-processo é uma

tarefa que incumbe aos gestores do projectotarefa que incumbe aos gestores do projecto– O micro-processo é da responsabilidade dos O micro-processo é da responsabilidade dos

projectistas, a quem uma determinada tarefa de projectistas, a quem uma determinada tarefa de desenvolvimento foi atribuída.desenvolvimento foi atribuída.

– Esta perspectiva do processo a dois níveis permite Esta perspectiva do processo a dois níveis permite reconciliar duas forças antagónicas. reconciliar duas forças antagónicas.

– Por um lado, há um certo conflito entre projectos muito Por um lado, há um certo conflito entre projectos muito cerimoniosos e projectos sem qualquer cerimónia.cerimoniosos e projectos sem qualquer cerimónia.

– Os primeiros impedem qualquer assomo de Os primeiros impedem qualquer assomo de criatividade, pois tudo tem de seguir, cegamente, o criatividade, pois tudo tem de seguir, cegamente, o estipulado pelo método (exemplo, SSADM), ao passo estipulado pelo método (exemplo, SSADM), ao passo que os segundos convergem facilmente para situações que os segundos convergem facilmente para situações caóticas e insustentáveis.caóticas e insustentáveis.

Page 16: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

16

2. 2. MetodologiMetodologia MIDAS a MIDAS (12/16)(12/16)

Fase de análiseFase de análise

Page 17: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

17

2. Metodologia MIDAS 2. Metodologia MIDAS (13/16)(13/16)

Modelo do processoModelo do processo– 1. Captura do ambiente1. Captura do ambiente: Obtém-se o diagrama de : Obtém-se o diagrama de

contexto que mostra o sistema, entendido como uma contexto que mostra o sistema, entendido como uma entidade única, e todos os actores, vistos como entidade única, e todos os actores, vistos como entidades externas.entidades externas.

– 2. Modelação funcional2. Modelação funcional: Com base no diagrama de : Com base no diagrama de contexto, constrói-se o diagrama de casos de uso, que contexto, constrói-se o diagrama de casos de uso, que é entendido como um refinamento daquele. Para cada é entendido como um refinamento daquele. Para cada actor do sistema, especificado no diagrama de actor do sistema, especificado no diagrama de contexto, devem identificar-se os respectivos casos de contexto, devem identificar-se os respectivos casos de uso a que ele recorre.uso a que ele recorre.

– 3. Descrição3. Descrição: Neste passo, escreve-se para cada um dos : Neste passo, escreve-se para cada um dos casos de uso indicados no respectivo diagrama, uma casos de uso indicados no respectivo diagrama, uma descrição textual que caracteriza os seus aspectos descrição textual que caracteriza os seus aspectos funcionais. Essa descrição deve indicar o tipo de funcionais. Essa descrição deve indicar o tipo de informação utilizada pelo caso de uso.informação utilizada pelo caso de uso.

Page 18: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

18

2. Metodologia MIDAS 2. Metodologia MIDAS (14/16)(14/16)

Modelo do processoModelo do processo– 4. Transformação4. Transformação: Os casos de uso são transformados em : Os casos de uso são transformados em

objectos seguindo regras. Este passo constitui uma das objectos seguindo regras. Este passo constitui uma das inovações que a metodologia Midas introduziu.inovações que a metodologia Midas introduziu.

– 5. Modelação do controlado5. Modelação do controlado: Para sistemas com uma : Para sistemas com uma forte componente de controlo, este passo permite forte componente de controlo, este passo permite determinar as características do sistema controlado.determinar as características do sistema controlado.

– 6. Modelação comportamental6. Modelação comportamental: Tendo em conta o sistema : Tendo em conta o sistema controlado, este passo especifica a forma como o mesmo controlado, este passo especifica a forma como o mesmo será usado. A forma de especificar essa utilização não será usado. A forma de especificar essa utilização não está fixada, dependendo do sistema em causa.está fixada, dependendo do sistema em causa.

– 7. Selecção7. Selecção: Este passo permite escolher os objectos a ter : Este passo permite escolher os objectos a ter em consideração para desenvolvimento, de acordo com em consideração para desenvolvimento, de acordo com algum critério. Pode restringir-se o sistema àqueles algum critério. Pode restringir-se o sistema àqueles objectos que, por alguma razão, se estimam como objectos que, por alguma razão, se estimam como importantes.importantes.

Page 19: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

19

2. Metodologia MIDAS 2. Metodologia MIDAS (15/16)(15/16)

Modelo do processoModelo do processo– 8. Classificação8. Classificação: Para os objectos criados, indica-se a : Para os objectos criados, indica-se a

respectiva classe. Através desta classificação, devem respectiva classe. Através desta classificação, devem identificar-se objectos que pertençam à mesma classe identificar-se objectos que pertençam à mesma classe e relacionar as várias classes entre si (por hierarquia).e relacionar as várias classes entre si (por hierarquia).

– 9. Modelação de protocolos9. Modelação de protocolos: Tendo em conta os : Tendo em conta os objectos que constituem o sistema e as ligações entre objectos que constituem o sistema e as ligações entre eles, descrevem-se algumas interacções (mais típicas eles, descrevem-se algumas interacções (mais típicas ou relevantes) entre alguns dos objectos do sistema. ou relevantes) entre alguns dos objectos do sistema.

– 10. Formalização10. Formalização: Por análise dos diagramas de : Por análise dos diagramas de sequência e do documento que especifica a utilização sequência e do documento que especifica a utilização do sistema controlado, criam-se diagramas de state-do sistema controlado, criam-se diagramas de state-charts, para qualquer objecto/classe cujo charts, para qualquer objecto/classe cujo comportamento dinâmico seja relativamente comportamento dinâmico seja relativamente complexo.complexo.

Page 20: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

20

2. Metodologia MIDAS 2. Metodologia MIDAS (16/16)(16/16)

Modelo do processoModelo do processo– 11. Especificação11. Especificação: Neste passo, com base nos diagramas : Neste passo, com base nos diagramas

de objectos, de classes e de state-charts, procede-se à de objectos, de classes e de state-charts, procede-se à criação duma especificação, que descreve essas 3 vistas criação duma especificação, que descreve essas 3 vistas do sistema. Esta transformação utiliza a linguagem do sistema. Esta transformação utiliza a linguagem Oblog como representação unificada de sistemas Oblog como representação unificada de sistemas embebidos.embebidos.

– 12. Simulação12. Simulação: Usando a especificação como entrada, : Usando a especificação como entrada, este passo permite simular o sistema, sendo criados este passo permite simular o sistema, sendo criados diagramas de sequência que descrevem situações de diagramas de sequência que descrevem situações de funcionamento do modelo especificado.funcionamento do modelo especificado.

– 13. Comparação13. Comparação: Com base nos 2 conjuntos de diagramas : Com base nos 2 conjuntos de diagramas de sequência obtidos nos passos 10 e 12, faz-se uma de sequência obtidos nos passos 10 e 12, faz-se uma comparação dos resultados de ambos os conjuntos, de comparação dos resultados de ambos os conjuntos, de forma a verificar se o comportamento que se pretende forma a verificar se o comportamento que se pretende obter corresponde ao comportamento especificado.obter corresponde ao comportamento especificado.

Page 21: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

21

3. Análise em MIDAS 3. Análise em MIDAS (1/40)(1/40)

Diagrama de contextoDiagrama de contexto– Apesar da notação UML não suportar directamente a Apesar da notação UML não suportar directamente a

descrição de diagramas de contexto, é possível adaptar descrição de diagramas de contexto, é possível adaptar os diagramas de caso de uso e de objectos, para esse os diagramas de caso de uso e de objectos, para esse fim. fim.

– Assim, usam-se actores para especificar as entidades Assim, usam-se actores para especificar as entidades externas que comunicam com o sistema e um objecto externas que comunicam com o sistema e um objecto para representar todo o sistema. para representar todo o sistema.

– Pode também olhar-se o diagrama de contexto como Pode também olhar-se o diagrama de contexto como sendo o diagrama de casos de uso de mais alto nível, que sendo o diagrama de casos de uso de mais alto nível, que é constituído por um único caso de uso, representativo é constituído por um único caso de uso, representativo de toda a funcionalidade disponibilizada pelo sistema.de toda a funcionalidade disponibilizada pelo sistema.

Page 22: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

22

3. Análise em MIDAS 3. Análise em MIDAS (2/40)(2/40)

Diagrama de contextoDiagrama de contexto– A estratégia para criar o diagrama de contexto A estratégia para criar o diagrama de contexto

consiste nos 3 passos seguintes:consiste nos 3 passos seguintes: Construir uma lista de actores, entradas e saídas.Construir uma lista de actores, entradas e saídas. Desenhar o diagrama de contexto, escolhendo o tipo Desenhar o diagrama de contexto, escolhendo o tipo

adequado para cada uma das ligações entre actores e o adequado para cada uma das ligações entre actores e o sistema.sistema.

Especificar pormenorizadamente as ligações numa Especificar pormenorizadamente as ligações numa tabela.tabela.

– Identificar os actores dum sistema pode revelar-se Identificar os actores dum sistema pode revelar-se ingrato, pois por vezes é complicado justificar se uma ingrato, pois por vezes é complicado justificar se uma dada funcionalidade está dentro ou fora do sistema. dada funcionalidade está dentro ou fora do sistema.

Page 23: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

23

3. Análise em MIDAS 3. Análise em MIDAS (3/40)(3/40)

Diagrama de contextoDiagrama de contexto– Normalmente, é sempre necessária alguma iteração na Normalmente, é sempre necessária alguma iteração na

identificação dos actores, até se atingir uma solução identificação dos actores, até se atingir uma solução estável. estável.

– Algumas recomendações para identificar os actores:Algumas recomendações para identificar os actores: O enunciado do problema refere-se explicitamente ao O enunciado do problema refere-se explicitamente ao

objecto, (ex: quando o sistema tem de interactuar com objecto, (ex: quando o sistema tem de interactuar com dispositivos).dispositivos).

O objecto já está disponível no ambiente da aplicação, ou O objecto já está disponível no ambiente da aplicação, ou seja, não será desenvolvido como parte do sistema.seja, não será desenvolvido como parte do sistema.

O objecto envia ou recebe informação do sistema.O objecto envia ou recebe informação do sistema. O objecto é uma pessoa que usa o sistema.O objecto é uma pessoa que usa o sistema.

– Quando nenhuma destas hipóteses se aplica a um dado Quando nenhuma destas hipóteses se aplica a um dado objecto, então esse objecto, em princípio, deve ser objecto, então esse objecto, em princípio, deve ser desenvolvido no âmbito do sistema e nele incorporado.desenvolvido no âmbito do sistema e nele incorporado.

Page 24: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

24

3. Análise em MIDAS 3. Análise em MIDAS (4/40)(4/40)

Diagrama de contextoDiagrama de contexto– Outra forma alternativa ou complementar de Outra forma alternativa ou complementar de

encontrar os actores do sistema consiste em colectar encontrar os actores do sistema consiste em colectar as respostas a uma série de questões:as respostas a uma série de questões:

Quem usa o sistema?Quem usa o sistema? Quem instala o sistema?Quem instala o sistema? Quem arranca o sistema?Quem arranca o sistema? Quem mantém o sistema?Quem mantém o sistema? Quem desliga o sistema?Quem desliga o sistema? Que outros sistemas usam o sistema?Que outros sistemas usam o sistema? Quem recebe informação do sistema?Quem recebe informação do sistema? Quem disponibiliza informação ao sistema?Quem disponibiliza informação ao sistema? Algo sucede automaticamente no momento de arranque?Algo sucede automaticamente no momento de arranque?

Page 25: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

25

3. Análise em MIDAS 3. Análise em MIDAS (5/40)(5/40)

Comunicação inter-objectosComunicação inter-objectos– As interligações de comunicação descritas são aplicáveis As interligações de comunicação descritas são aplicáveis

a todos os diagramas em que existam ligações entre a todos os diagramas em que existam ligações entre objectos (diagramas de classes, objectos, sequência e objectos (diagramas de classes, objectos, sequência e colaboração).colaboração).

– Regra geral, as metodologias para desenvolvimento de Regra geral, as metodologias para desenvolvimento de software usam apenas, para comunicação, mensagens.software usam apenas, para comunicação, mensagens.

– A mensagem é um mecanismo de comunicação ponto a A mensagem é um mecanismo de comunicação ponto a ponto, pelo que não é possível a difusão de mensagens. ponto, pelo que não é possível a difusão de mensagens.

– A representação completa do comportamento dum A representação completa do comportamento dum sistema, à luz dum meta-modelo que inclui apenas o sistema, à luz dum meta-modelo que inclui apenas o mecanismo de passagem de mensagens, mostra-se uma mecanismo de passagem de mensagens, mostra-se uma solução demasiado vinculada à forma como os solução demasiado vinculada à forma como os componentes de software comunicam entre si .componentes de software comunicam entre si .

Page 26: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

26

3. Análise em MIDAS 3. Análise em MIDAS (6/40)(6/40)

Comunicação inter-objectosComunicação inter-objectos– Assim, um meta-modelo baseado apenas em mensagens Assim, um meta-modelo baseado apenas em mensagens

limita significativamente uma característica desejada limita significativamente uma característica desejada para os modelos, que consiste na independência destes para os modelos, que consiste na independência destes com a solução final (hardware ou software).com a solução final (hardware ou software).

– Alguns exemplos concretos elucidam melhor este Alguns exemplos concretos elucidam melhor este assunto. assunto.

– Entre os objectos candidatos para implementação em Entre os objectos candidatos para implementação em hardware encontram-se aqueles que lidam com sinais de hardware encontram-se aqueles que lidam com sinais de elevada largura de banda (visão e áudio).elevada largura de banda (visão e áudio).

– Modelar as ligações a esses objectos através de Modelar as ligações a esses objectos através de protocolos usando apenas mensagens, além de bastante protocolos usando apenas mensagens, além de bastante inadequado, poderia confundir os projectistas sobre qual inadequado, poderia confundir os projectistas sobre qual a melhor implementação para esses objectos.a melhor implementação para esses objectos.

Page 27: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

27

3. Análise em MIDAS 3. Análise em MIDAS (7/40)(7/40)

Comunicação inter-objectosComunicação inter-objectos– Também há situações em que a ocorrência de eventos é Também há situações em que a ocorrência de eventos é

relevante para vários componentes, pelo que convém, por relevante para vários componentes, pelo que convém, por questões de expansibilidade, que o objecto, responsável questões de expansibilidade, que o objecto, responsável por assinalar o evento, não necessite de conhecer a quem por assinalar o evento, não necessite de conhecer a quem esse evento é relevante. esse evento é relevante.

– Tal situação não é facilmente modelada com mensagens, Tal situação não é facilmente modelada com mensagens, pois, recorrendo unicamente a esse mecanismo, será pois, recorrendo unicamente a esse mecanismo, será inevitável serem explicitamente enviadas mensagens a inevitável serem explicitamente enviadas mensagens a todos os objectos sensíveis a esse evento. todos os objectos sensíveis a esse evento.

– O objecto responsável pela sinalização do evento terá, O objecto responsável pela sinalização do evento terá, portanto, a ingrata tarefa de conhecer a que objectos e portanto, a ingrata tarefa de conhecer a que objectos e quando deve dar conhecimento da ocorrência do evento.quando deve dar conhecimento da ocorrência do evento.

Page 28: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

28

3. Análise em MIDAS 3. Análise em MIDAS (8/40)(8/40)

Comunicação inter-objectosComunicação inter-objectos– Finalmente, certos objectos podem ser responsáveis por Finalmente, certos objectos podem ser responsáveis por

disponibilizar continuamente certos valores, ao longo do disponibilizar continuamente certos valores, ao longo do tempo, sem necessidade desses objectos conhecerem tempo, sem necessidade desses objectos conhecerem quem usa, e quando, essa informação. quem usa, e quando, essa informação.

– Como exemplos típicos, considere-se um relógio que Como exemplos típicos, considere-se um relógio que disponibiliza continuamente a hora do dia, um disponibiliza continuamente a hora do dia, um termómetro que proporciona a temperatura, ou um termómetro que proporciona a temperatura, ou um sensor que fornece em contínuo o valor do nível de sensor que fornece em contínuo o valor do nível de concentração de gás num dado ambiente fechado concentração de gás num dado ambiente fechado (quarto). (quarto).

– Embora seja sempre possível disponibilizar a informação Embora seja sempre possível disponibilizar a informação mediante o estabelecimento dum protocolo envolvendo mediante o estabelecimento dum protocolo envolvendo mensagens, tal solução não é a mais natural, podendo até mensagens, tal solução não é a mais natural, podendo até ser entendida como forçada.ser entendida como forçada.

Page 29: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

29

3. Análise em MIDAS 3. Análise em MIDAS (9/40)(9/40)

Comunicação inter-objectosComunicação inter-objectos– Em sistemas reactivos, o tratamento dos eventos e da Em sistemas reactivos, o tratamento dos eventos e da

informação depende tipicamente do estado do sistema, que informação depende tipicamente do estado do sistema, que se encontra distribuído pelos objectos que o compõem. se encontra distribuído pelos objectos que o compõem.

– Este facto requer que cada objecto tenha acesso aos Este facto requer que cada objecto tenha acesso aos eventos e às informações que lhe são relevantes, de acordo eventos e às informações que lhe são relevantes, de acordo com as necessidades e o estado desse objecto. com as necessidades e o estado desse objecto.

– Muitas vezes, o controlo dinâmico e a transformação da Muitas vezes, o controlo dinâmico e a transformação da informação são os aspectos mais importantes de concepção, informação são os aspectos mais importantes de concepção, sendo irrelevante o controlo sobre o acesso à informação. sendo irrelevante o controlo sobre o acesso à informação.

– Assim, o apertado controlo sobre o acesso que é imposto Assim, o apertado controlo sobre o acesso que é imposto pela comunicação por mensagens apresenta-se demasiado pela comunicação por mensagens apresenta-se demasiado restritivo para sistemas embebidos, motivo pelo qual são restritivo para sistemas embebidos, motivo pelo qual são propostos alguns novos tipos de ligações inter-objectos.propostos alguns novos tipos de ligações inter-objectos.

Page 30: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

30

3. Análise em MIDAS 3. Análise em MIDAS (10/40)(10/40)

Comunicação inter-objectosComunicação inter-objectos– Em Midas, estão disponíveis 4 tipos de interligações :Em Midas, estão disponíveis 4 tipos de interligações :

Interacção,Interacção, Evento,Evento, Fluxo discreto de informação,Fluxo discreto de informação, Fluxo contínuo de informação.Fluxo contínuo de informação.

Page 31: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

31

3. Análise em MIDAS 3. Análise em MIDAS (11/40)(11/40)

Comunicação inter-objectosComunicação inter-objectos– InteracçãoInteracção: Retrata o habitual mecanismo de passagem de : Retrata o habitual mecanismo de passagem de

mensagens em software, sendo a sua semântica similar à mensagens em software, sendo a sua semântica similar à chamada duma função. chamada duma função.

– Trata-se dum mecanismo síncrono de comunicação entre 2 Trata-se dum mecanismo síncrono de comunicação entre 2 objectos, em que o emissor requisita uma dada operação ao objectos, em que o emissor requisita uma dada operação ao receptor, ficando em suspenso até que este responda, receptor, ficando em suspenso até que este responda, através do envio dum resultado.através do envio dum resultado.

– EventoEvento: É usado, por um objecto, para indicar as mudanças : É usado, por um objecto, para indicar as mudanças do seu próprio estado que sejam relevantes a outros do seu próprio estado que sejam relevantes a outros objectos. objectos.

– Não há a noção de sincronismo, dado que a natureza e o Não há a noção de sincronismo, dado que a natureza e o tempo de resposta não são controlados pelo objecto emissor. tempo de resposta não são controlados pelo objecto emissor.

– Trata-se dum mecanismo de comunicação fundamental para Trata-se dum mecanismo de comunicação fundamental para sistemas reactivos, usado com frequência na especificação sistemas reactivos, usado com frequência na especificação dos diagramas de estados dos objectos.dos diagramas de estados dos objectos.

Page 32: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

32

3. Análise em MIDAS 3. Análise em MIDAS (12/40)(12/40)

Comunicação inter-objectosComunicação inter-objectos– Fluxo discreto de informaçãoFluxo discreto de informação: Exprime a transferência de : Exprime a transferência de

dados entre objectos, duma forma discreta. dados entre objectos, duma forma discreta.

– Neste mecanismo não existe a noção de sincronismo, dado Neste mecanismo não existe a noção de sincronismo, dado que o receptor da informação pode ler qualquer valor que o receptor da informação pode ler qualquer valor anteriormente gerado sempre que dele necessitar. anteriormente gerado sempre que dele necessitar.

– Não há qualquer tipo de controlo por parte do emissor sobre Não há qualquer tipo de controlo por parte do emissor sobre quando a leitura é feita, pois aquele apenas controla o valor quando a leitura é feita, pois aquele apenas controla o valor da informação, pois é o responsável pela sua actualização.da informação, pois é o responsável pela sua actualização.

– Fluxo contínuo de informaçãoFluxo contínuo de informação: Este mecanismo de ligação é : Este mecanismo de ligação é muito idêntico ao anterior, mas pressupõe a transferência muito idêntico ao anterior, mas pressupõe a transferência de dados entre objectos, dum modo contínuo. Directamente, de dados entre objectos, dum modo contínuo. Directamente, o receptor da informação tem apenas disponível para uso o o receptor da informação tem apenas disponível para uso o último valor de informação (i.e. o valor actual).último valor de informação (i.e. o valor actual).

Page 33: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

33

3. Análise em MIDAS 3. Análise em MIDAS (13/40)(13/40)

Comunicação inter-objectosComunicação inter-objectos– Os modos assíncronos de comunicação implicam, na Os modos assíncronos de comunicação implicam, na

prática, que o objecto responsável pela informação, prática, que o objecto responsável pela informação, após a disponibilizar, continua a sua execução, após a disponibilizar, continua a sua execução, independentemente da forma como essa informação é independentemente da forma como essa informação é tratada pelo receptor. tratada pelo receptor.

– Em comunicações síncronas, sucede o contrário, ou Em comunicações síncronas, sucede o contrário, ou seja, o emissor da informação fica à espera do seja, o emissor da informação fica à espera do tratamento dado pelo receptor para poder prosseguir tratamento dado pelo receptor para poder prosseguir a sua execução.a sua execução.

– O modo assíncrono de comunicação permite ao O modo assíncrono de comunicação permite ao emissor continuar a executar logo após a mensagem emissor continuar a executar logo após a mensagem ter sido despachada. ter sido despachada.

Page 34: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

34

3. Análise em MIDAS 3. Análise em MIDAS (14/40)(14/40)

Comunicação inter-objectosComunicação inter-objectos– A principal vantagem associada ao modo assíncrono é A principal vantagem associada ao modo assíncrono é

o período de tempo, durante o qual o objecto emissor o período de tempo, durante o qual o objecto emissor está a tratar da comunicação, ser curto. está a tratar da comunicação, ser curto.

– No modo síncrono de comunicação, o emissor fica No modo síncrono de comunicação, o emissor fica bloqueado até receber uma resposta à mensagem bloqueado até receber uma resposta à mensagem inicial. Durante esse período, não pode responder a inicial. Durante esse período, não pode responder a outros estímulos que, eventualmente, lhe sejam outros estímulos que, eventualmente, lhe sejam enviados. enviados.

– A vantagem desta forma de comunicação consiste no A vantagem desta forma de comunicação consiste no nível de controlo relativamente à ordem das nível de controlo relativamente à ordem das actividades que é implicitamente disponibilizado.actividades que é implicitamente disponibilizado.

Page 35: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

35

3. Análise em MIDAS 3. Análise em MIDAS (15/40)(15/40)

Diagramas de casos de usoDiagramas de casos de uso– Para identificar os casos de uso dum sistema, a Para identificar os casos de uso dum sistema, a

“melhor” estratégia consiste em tentar encontrar, “melhor” estratégia consiste em tentar encontrar, primeiramente, os actores desse sistema e, depois, para primeiramente, os actores desse sistema e, depois, para cada um daqueles, colectar uma lista decada um daqueles, colectar uma lista de possíveis casos possíveis casos de uso. de uso.

– Cada fluxo completo de eventos, iniciado por um actor,Cada fluxo completo de eventos, iniciado por um actor, representa um caso de uso do sistema em análise. representa um caso de uso do sistema em análise.

– Os actores do sistema já foramOs actores do sistema já foram obrigatoriamente obrigatoriamente identificados no diagrama de contexto, pelo que resta a identificados no diagrama de contexto, pelo que resta a tarefa tarefa de colectar uma lista de casos de uso.de colectar uma lista de casos de uso.

– É preferível ver a construção dos diagramas de contexto É preferível ver a construção dos diagramas de contexto e de casos de uso como um processo iterativo.e de casos de uso como um processo iterativo.

Page 36: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

36

3. Análise em MIDAS 3. Análise em MIDAS (16/40)(16/40)

Diagramas de casos de usoDiagramas de casos de uso– Os casos de uso podem ser decompostos em outros Os casos de uso podem ser decompostos em outros

casos de uso, repetindo-se o processo até se chegar casos de uso, repetindo-se o processo até se chegar aos cenários que mostram sequências de interacção aos cenários que mostram sequências de interacção entre objectos. entre objectos.

– Assim, outra possibilidade para construção dos Assim, outra possibilidade para construção dos diagramas de casos de uso consiste na identificação diagramas de casos de uso consiste na identificação dos cenários do sistema, a partir dos quais é possível, dos cenários do sistema, a partir dos quais é possível, por agregação, por agregação, inferir os casos de uso.inferir os casos de uso.

– A semântica associada aos casos de uso levanta A semântica associada aos casos de uso levanta alguns problemas, alguns problemas,

– Um desses problemas refere-se à possibilidade de Um desses problemas refere-se à possibilidade de haver casos de uso sem qualquer ligação, implícita ou haver casos de uso sem qualquer ligação, implícita ou explícita, a actores. explícita, a actores.

Page 37: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

37

3. Análise em MIDAS 3. Análise em MIDAS (17/40)(17/40)

Diagramas de casos de usoDiagramas de casos de uso– Tal não é permitido em UML e esse caso de uso contraria o Tal não é permitido em UML e esse caso de uso contraria o

propósito dos casos de uso, como mecanismo para captar propósito dos casos de uso, como mecanismo para captar as funcionalidades que o sistema disponibiliza aos seus as funcionalidades que o sistema disponibiliza aos seus utentes. utentes.

– No entanto, essa possibilidade é útil para modelar tarefas No entanto, essa possibilidade é útil para modelar tarefas queque têm de ser executadas periódica e automaticamente e têm de ser executadas periódica e automaticamente e sem qualquer intervenção externa.sem qualquer intervenção externa.

– Um sistema que tenha que fazerUm sistema que tenha que fazer alguma operação alguma operação automática (estatísticas, log ou reciclagem de memória) automática (estatísticas, log ou reciclagem de memória) deve ele próprio ser o responsável por iniciar deve ele próprio ser o responsável por iniciar internamente essa operação. internamente essa operação.

– Sugere-se a utilização dumSugere-se a utilização dum estereótipo <<internal>> estereótipo <<internal>> associado aos casos de uso que representam essas tarefas associado aos casos de uso que representam essas tarefas iniciadas internamente.iniciadas internamente.

Page 38: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

38

3. Análise em MIDAS 3. Análise em MIDAS (18/40)(18/40)

Diagramas de casos de usoDiagramas de casos de uso– Assim que o diagrama de casos de uso estiver Assim que o diagrama de casos de uso estiver

desenhado, deve produzir-se uma descrição textual desenhado, deve produzir-se uma descrição textual (ou gráfica) sobre cada um dos casos de uso, para (ou gráfica) sobre cada um dos casos de uso, para servir como referência às fases seguintes do projecto. servir como referência às fases seguintes do projecto.

– Há vários formatos para descrever os casos de uso: Há vários formatos para descrever os casos de uso: texto informal, texto estruturado em passos texto informal, texto estruturado em passos numerados (com pré e pós-condições), pseudo-código numerados (com pré e pós-condições), pseudo-código ou diagramas de actividade.ou diagramas de actividade.

– Com base nos casos de uso do sistema, é possível Com base nos casos de uso do sistema, é possível seguir, no projecto, uma abordagem guiada ao risco. seguir, no projecto, uma abordagem guiada ao risco.

– Para tal, deve construir-se uma lista com todos os Para tal, deve construir-se uma lista com todos os casos de uso e atribuir-se a cada um deles um nível de casos de uso e atribuir-se a cada um deles um nível de importância, usando uma escala apropriada.importância, usando uma escala apropriada.

Page 39: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

39

3. Análise em MIDAS 3. Análise em MIDAS (19/40)(19/40)

Diagramas de casos de usoDiagramas de casos de uso– Pode, assim, planear-se a implementação do sistema Pode, assim, planear-se a implementação do sistema

com base no nível de importância atribuído a cada caso com base no nível de importância atribuído a cada caso de uso.de uso.

– OsOs casos de uso indispensáveis são implementados em casos de uso indispensáveis são implementados em primeiro lugar, os importantes a seguir, os úteis depois primeiro lugar, os importantes a seguir, os úteis depois e, se houver tempo, implementam-se os casos de uso e, se houver tempo, implementam-se os casos de uso supérfluos. supérfluos.

– Assim, quando se ultrapassa o prazo estabelecidoAssim, quando se ultrapassa o prazo estabelecido inicialmente para um projecto, é mesmo assim possível inicialmente para um projecto, é mesmo assim possível apresentar um sistema com as funcionalidades mais apresentar um sistema com as funcionalidades mais importantes a funcionar (e supostamente testadas). importantes a funcionar (e supostamente testadas).

– AsAs funcionalidades não incluídas podem ser introduzidas funcionalidades não incluídas podem ser introduzidas na versão seguinte do sistema, sem que daí resultem na versão seguinte do sistema, sem que daí resultem grandes inconvenientes para os utilizadores.grandes inconvenientes para os utilizadores.

Page 40: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

40

3. Análise em MIDAS 3. Análise em MIDAS (20/40)(20/40)

Diagramas de objectosDiagramas de objectos– Assim que o comportamento exteriormente visível do Assim que o comportamento exteriormente visível do

sistema estiver definido, devem identificar-se os sistema estiver definido, devem identificar-se os objectos e as classes que permitem descrever o sistema objectos e as classes que permitem descrever o sistema em desenvolvimento. em desenvolvimento.

– Ainda há quem não distinga claramente entre os Ainda há quem não distinga claramente entre os objectos e as classes. objectos e as classes.

– A confusão entre objectos e classes está profundamente A confusão entre objectos e classes está profundamente relacionada com a natureza abstracta do software. relacionada com a natureza abstracta do software.

– Por exemplo, tanto a planta duma casa como a própria Por exemplo, tanto a planta duma casa como a própria casa podem ser modeladas por objectos, mas também casa podem ser modeladas por objectos, mas também se pode entender a planta como a “classe” da casa. se pode entender a planta como a “classe” da casa.

– Não há mal algum com esta visão enquanto os dois tipos Não há mal algum com esta visão enquanto os dois tipos de objectos estiverem separados. de objectos estiverem separados.

Page 41: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

41

3. Análise em MIDAS 3. Análise em MIDAS (21/40)(21/40)

Diagramas de objectosDiagramas de objectos– Os problemas surgem quando se misturam no mesmo Os problemas surgem quando se misturam no mesmo

modelo os objectos e as classes do sistema a modelo os objectos e as classes do sistema a construir. construir.

– Este é ainda um dos problemas maisEste é ainda um dos problemas mais comuns que se comuns que se verificam, quando se usam conceitos orientados ao verificam, quando se usam conceitos orientados ao objecto.objecto.

– Uma classe pode ser vista como um padrão que Uma classe pode ser vista como um padrão que permite criar objectos para a aplicação em causa e, permite criar objectos para a aplicação em causa e, provavelmente, para outras aplicações futuras, provavelmente, para outras aplicações futuras, enquanto que os objectos representam os elementos enquanto que os objectos representam os elementos que constituem realmente a aplicação. que constituem realmente a aplicação.

– Esta perspectiva permite concluir que é preferível não Esta perspectiva permite concluir que é preferível não incorporar no mesmo modelo as classes e os objectos.incorporar no mesmo modelo as classes e os objectos.

Page 42: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

42

3. Análise em MIDAS 3. Análise em MIDAS (22/40)(22/40)

Diagramas de objectosDiagramas de objectos– O espaço de análise pode dividir-se em três dimensões O espaço de análise pode dividir-se em três dimensões

ortogonais: informação, comportamento e apresentação.ortogonais: informação, comportamento e apresentação.

– A dimensão A dimensão informaçãoinformação descreve descreve os dados do sistema, o que os dados do sistema, o que permite especificar o seu estado permite especificar o seu estado interno. interno.

– A dimensão A dimensão comportamentocomportamento indica quando e como o estado do indica quando e como o estado do sistema é alterado. sistema é alterado.

– A dimensão A dimensão apresentaçãoapresentação providencia os pormenores para providencia os pormenores para apresentar o sistema ao exterior.apresentar o sistema ao exterior.

Page 43: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

43

3. Análise em MIDAS 3. Análise em MIDAS (23/40)(23/40)

Diagramas de objectosDiagramas de objectos– O modelo de análise constrói-se através da O modelo de análise constrói-se através da

especificação de objectos neste espaço tri-dimensional. especificação de objectos neste espaço tri-dimensional.

– Uma hipótese, que não se recomenda, é usar objectos Uma hipótese, que não se recomenda, é usar objectos que expressam apenas uma única dimensão. que expressam apenas uma única dimensão.

– É isso que acontece nos métodos estruturados, em que É isso que acontece nos métodos estruturados, em que as funções são colocadas no eixo comportamento e os as funções são colocadas no eixo comportamento e os dados no eixo informação. dados no eixo informação.

– Outra hipótese, que também não se recomenda, Outra hipótese, que também não se recomenda, consiste na utilização de objectos, que podem ser consiste na utilização de objectos, que podem ser colocados em qualquer posição do espaço.colocados em qualquer posição do espaço.

– Esta perspectiva vê todos os objectos como iguais, mas Esta perspectiva vê todos os objectos como iguais, mas não permite classificar um objecto segundo o papel que não permite classificar um objecto segundo o papel que desempenha no sistema.desempenha no sistema.

Page 44: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

44

3. Análise em MIDAS 3. Análise em MIDAS (24/40)(24/40)

Diagramas de objectosDiagramas de objectos– Em Midas, adoptou-se a perspectiva que associa, a Em Midas, adoptou-se a perspectiva que associa, a

cada objecto uma dada categoria, permitindo obter cada objecto uma dada categoria, permitindo obter uma estrutura que pode, mais facilmente, adaptar-se uma estrutura que pode, mais facilmente, adaptar-se às mudanças.às mudanças.

– Cada uma das categorias está fortemente relacionada Cada uma das categorias está fortemente relacionada com uma das dimensões, sem contudo implicar a com uma das dimensões, sem contudo implicar a inexistência de componentes nas outras 2 dimensões. inexistência de componentes nas outras 2 dimensões.

– Os objectos podem classificar-se em três categorias:Os objectos podem classificar-se em três categorias: Objectos-interface.Objectos-interface. Objectos-entidade.Objectos-entidade. Objectos-função.Objectos-função.

Page 45: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

45

3. Análise em MIDAS 3. Análise em MIDAS (25/40)(25/40)

Diagramas de objectosDiagramas de objectos– Um Um objecto-interfaceobjecto-interface modela comportamento e modela comportamento e

informação que dependem do interface do sistema, i.e. informação que dependem do interface do sistema, i.e. do diálogo (da comunicação) do sistema com os actores do diálogo (da comunicação) do sistema com os actores que com ele interagem. que com ele interagem.

– Tudo o que respeita a interface do sistema deve ser Tudo o que respeita a interface do sistema deve ser colocado em objectos-interface. colocado em objectos-interface.

– O objecto-interface deve estar de tal forma O objecto-interface deve estar de tal forma encapsulado que, se houver alguma mudança no modo encapsulado que, se houver alguma mudança no modo de comunicação, só o objecto-interface é modificado, de comunicação, só o objecto-interface é modificado, ficando inalterados todos os restantes objectos. ficando inalterados todos os restantes objectos.

– Os objectos-interface, por permitirem isolar as partes Os objectos-interface, por permitirem isolar as partes de interface das partes funcionais, tornam mais directa de interface das partes funcionais, tornam mais directa a reutilização destas (sob a forma de objectos-função).a reutilização destas (sob a forma de objectos-função).

Page 46: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

46

3. Análise em MIDAS 3. Análise em MIDAS (26/40)(26/40)

Diagramas de objectosDiagramas de objectos–   Um Um objecto-entidadeobjecto-entidade modela principalmente modela principalmente

informação, cuja existência deve ser prolongada (não informação, cuja existência deve ser prolongada (não se incluem, portanto, dados com um carácter se incluem, portanto, dados com um carácter temporário). temporário).

– Para além dos atributos que caracterizam o objecto-Para além dos atributos que caracterizam o objecto-entidade, todo o comportamento associado à entidade, todo o comportamento associado à manipulação dessa informação deve ser incluído manipulação dessa informação deve ser incluído nesse objecto-entidade.nesse objecto-entidade.

– Como exemplo dum objecto-entidade considere-se Como exemplo dum objecto-entidade considere-se uma conta bancária com os respectivos atributos e uma conta bancária com os respectivos atributos e operações.operações.

Page 47: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

47

3. Análise em MIDAS 3. Análise em MIDAS (27/40)(27/40)

Diagramas de objectosDiagramas de objectos– Um Um objecto-funçãoobjecto-função modela comportamento que não pode modela comportamento que não pode

ser associado, duma forma natural, a nenhum outro ser associado, duma forma natural, a nenhum outro objecto. objecto.

– Exemplo: a funcionalidade que opera sobre vários objectos Exemplo: a funcionalidade que opera sobre vários objectos e que devolve o resultado a um objecto-interface. e que devolve o resultado a um objecto-interface.

– Considere-se um objecto que calcula o total dos saldos dum Considere-se um objecto que calcula o total dos saldos dum conjunto de contas bancárias. conjunto de contas bancárias.

– Esta funcionalidade poderia ser atribuída a um dos Esta funcionalidade poderia ser atribuída a um dos objectos-entidade (conta bancária) ou ao objecto-interface objectos-entidade (conta bancária) ou ao objecto-interface encarregado de apresentar o resultado final, mas não é encarregado de apresentar o resultado final, mas não é responsabilidade de qualquer um desses objectos. responsabilidade de qualquer um desses objectos.

– Daí que a solução mais apropriada, em exemplos similares, Daí que a solução mais apropriada, em exemplos similares, seja a introdução dum objecto-função responsável por seja a introdução dum objecto-função responsável por disponibilizar essa funcionalidade.disponibilizar essa funcionalidade.

Page 48: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

48

3. Análise em MIDAS 3. Análise em MIDAS (28/40)(28/40)

Diagramas de objectosDiagramas de objectos– As categorias de objectos adoptadas tornam o modelo mais As categorias de objectos adoptadas tornam o modelo mais

estável, pois as mudanças a realizar estão mais localizadas.estável, pois as mudanças a realizar estão mais localizadas.

– As alterações mais frequentes a que um sistema está sujeito As alterações mais frequentes a que um sistema está sujeito são a sua apresentação e o seu comportamento, sendo a são a sua apresentação e o seu comportamento, sendo a informação a componente mais estável dos sistemas.informação a componente mais estável dos sistemas.

– Mudanças à apresentação afectam apenas objectos-Mudanças à apresentação afectam apenas objectos-interface, enquanto que modificações ao comportamento interface, enquanto que modificações ao comportamento podem perturbar qualquer tipo de objecto:podem perturbar qualquer tipo de objecto:

Se a funcionalidade está associada a uma informação do sistema, Se a funcionalidade está associada a uma informação do sistema, então o objecto-entidade que a representa é afectado.então o objecto-entidade que a representa é afectado.

Se a funcionalidade a modificar está relacionada com a forma de Se a funcionalidade a modificar está relacionada com a forma de apresentação, então o respectivo objecto-interface é alterado.apresentação, então o respectivo objecto-interface é alterado.

Alterações a funcionalidades que envolvem vários objectos são, Alterações a funcionalidades que envolvem vários objectos são, em princípio, locais a um objecto-função.em princípio, locais a um objecto-função.

Page 49: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

49

3. Análise em MIDAS 3. Análise em MIDAS (29/40)(29/40)

Diagramas de objectosDiagramas de objectos– Os objectos são obtidos a partir dos casos de uso, em que Os objectos são obtidos a partir dos casos de uso, em que

cada um destes é dividido em objectos das 3 categorias. cada um destes é dividido em objectos das 3 categorias.

– O diagrama de objectos representa uma arquitectura ideal O diagrama de objectos representa uma arquitectura ideal do sistema, já que não são considerados quaisquer do sistema, já que não são considerados quaisquer factores relacionados com a plataforma de implementação.factores relacionados com a plataforma de implementação.

–   A transformação do diagrama de casos de uso para o A transformação do diagrama de casos de uso para o diagrama de objectos é um dos passos mais importantes e diagrama de objectos é um dos passos mais importantes e críticos da metodologia Midas. críticos da metodologia Midas.

– Esta transição consiste em distribuir o comportamento Esta transição consiste em distribuir o comportamento especificado pelos casos de uso, por objectos que serão os especificado pelos casos de uso, por objectos que serão os constituintes do diagrama de objectos. constituintes do diagrama de objectos.

– Serão dadas algumas recomendações para o modo de Serão dadas algumas recomendações para o modo de proceder nesta tarefa. proceder nesta tarefa.

Page 50: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

50

3. Análise em MIDAS 3. Análise em MIDAS (30/40)(30/40)

Diagramas de objectosDiagramas de objectos– A estratégia passa pela distribuição, a vários objectos, do A estratégia passa pela distribuição, a vários objectos, do

comportamento especificado pelos casos de uso, indicando comportamento especificado pelos casos de uso, indicando que parte do comportamento dum caso de uso corresponde a que parte do comportamento dum caso de uso corresponde a cada objecto introduzido no diagrama dos objectos. cada objecto introduzido no diagrama dos objectos.

– Um mesmo objecto pode ser comum a diversos casos de uso. Um mesmo objecto pode ser comum a diversos casos de uso. 

– Uma vez que os objectos são obtidos a partir casos de uso, as Uma vez que os objectos são obtidos a partir casos de uso, as referências numéricas dos casos de uso devem ser referências numéricas dos casos de uso devem ser transpostas para os objectos. transpostas para os objectos.

– A referência dum objecto constrói-se com a referência do A referência dum objecto constrói-se com a referência do caso de uso, acrescentando um sufixo ‘i’, ‘e’ ou ‘f’, conforme caso de uso, acrescentando um sufixo ‘i’, ‘e’ ou ‘f’, conforme se trate dum objecto-interface, entidade ou função.se trate dum objecto-interface, entidade ou função.

– Facilita-se assim a observação das relações entre os casos de Facilita-se assim a observação das relações entre os casos de uso e os respectivos objectos (continuidade dos modelos).uso e os respectivos objectos (continuidade dos modelos).

Page 51: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

51

3. Análise em MIDAS 3. Análise em MIDAS (31/40)(31/40)

Diagramas de objectosDiagramas de objectos– A estratégia (4-step rule set) é então a seguinte:A estratégia (4-step rule set) é então a seguinte:

Passo 1Passo 1: Transformar cada caso de uso em 3 objectos (1 função, : Transformar cada caso de uso em 3 objectos (1 função, 1 entidade e 1 interface). Cada objecto recebe a mesma 1 entidade e 1 interface). Cada objecto recebe a mesma referência que o caso de uso que lhe dá origem, acrescentando referência que o caso de uso que lhe dá origem, acrescentando um sufixo que distingue a categoria a que pertence.um sufixo que distingue a categoria a que pertence.

Passo 2Passo 2: Com base nas descrições textuais, para cada caso de : Com base nas descrições textuais, para cada caso de uso, decide-se quais as categorias que devem ser mantidas uso, decide-se quais as categorias que devem ser mantidas para representar o caso de uso. A decisão deve ser feita para representar o caso de uso. A decisão deve ser feita considerando todo o sistema (abordagem holística e não cada considerando todo o sistema (abordagem holística e não cada caso de uso per si, como sucede em algumas abordagens mais caso de uso per si, como sucede em algumas abordagens mais reducionistas.reducionistas.

Passo 3Passo 3: Os objectos “sobreviventes”' devem ser agregados, : Os objectos “sobreviventes”' devem ser agregados, sempre que houver sobreposição, numa representação sempre que houver sobreposição, numa representação unificada desses objectos.unificada desses objectos.

Passo 4Passo 4: Os objectos e os agregados obtidos devem ser ligados : Os objectos e os agregados obtidos devem ser ligados para indicar as associações entre esses objectos.para indicar as associações entre esses objectos.

Page 52: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

52

3. Análise em MIDAS 3. Análise em MIDAS (32/40)(32/40)

Diagramas de objectosDiagramas de objectos– Quando o número de objectos a colocar num diagrama é maior Quando o número de objectos a colocar num diagrama é maior

que um dado valor, a respectiva legibilidade degrada-se. que um dado valor, a respectiva legibilidade degrada-se.

– Recorde-se a famosa regra de Miller “7Recorde-se a famosa regra de Miller “7±±2” que indica que a 2” que indica que a mente humana não consegue, em simultâneo, captar mente humana não consegue, em simultâneo, captar adequadamente mais do que 7 conceitos relacionados (com adequadamente mais do que 7 conceitos relacionados (com uma margem, para cima ou para baixo, de 2).uma margem, para cima ou para baixo, de 2).

– Esta inaptidão, para manipular várias coisas simultaneamente, Esta inaptidão, para manipular várias coisas simultaneamente, consiste numa limitação intrínseca à maioria dos seres consiste numa limitação intrínseca à maioria dos seres humanos que não pode eliminar-se através de aprendizagem. humanos que não pode eliminar-se através de aprendizagem.

– Para colmatar esta falha, pode e deve procurar-se algum Para colmatar esta falha, pode e deve procurar-se algum mecanismo de modelação que permita formar novos objectos, mecanismo de modelação que permita formar novos objectos, a partir dum conjunto de objectos de mais baixo nível.a partir dum conjunto de objectos de mais baixo nível.

Page 53: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

53

3. Análise em MIDAS 3. Análise em MIDAS (33/40)(33/40)

Diagramas de objectosDiagramas de objectos– Assim, são necessários mecanismos que facilitem a criação Assim, são necessários mecanismos que facilitem a criação

de objectos compostos (criando relações entre objecto/sub-de objectos compostos (criando relações entre objecto/sub-objectos, agregado/partes ou sistema/subsistemas), para objectos, agregado/partes ou sistema/subsistemas), para permitir especificações do mais abstracto para o mais permitir especificações do mais abstracto para o mais concreto. concreto.

– Em sistemas orientados ao objecto, a solução passa pela Em sistemas orientados ao objecto, a solução passa pela introdução dum introdução dum objecto agregado ou compostoobjecto agregado ou composto que constitui que constitui uma abstracção, que esconde, a um dado nível, os seus sub-uma abstracção, que esconde, a um dado nível, os seus sub-objectos e as respectivas relações.objectos e as respectivas relações.

– O uso de agregação em que há partilha de partes por vários O uso de agregação em que há partilha de partes por vários agregados deve evitar-se porque não facilita o agregados deve evitar-se porque não facilita o relacionamento entre a realidade e o modelo construído.relacionamento entre a realidade e o modelo construído.

– Para colmatar este problema, devem dividir-se os objectos Para colmatar este problema, devem dividir-se os objectos que pertencem a vários compostos segundo vistas que pertencem a vários compostos segundo vistas ortogonais.ortogonais.

Page 54: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

54

3. Análise em MIDAS 3. Análise em MIDAS (34/40)(34/40)

Page 55: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

55

3. Análise em MIDAS 3. Análise em MIDAS (35/40)(35/40)

Diagramas de objectosDiagramas de objectos– Por vezes, é necessário especificar múltiplos Por vezes, é necessário especificar múltiplos

objectos da mesma classe, como por exemplo, objectos da mesma classe, como por exemplo, quando se tem de construir uma estrutura quando se tem de construir uma estrutura repetitiva (rede neural artificial ou array de repetitiva (rede neural artificial ou array de processadores). processadores).

– Por este motivo, a notação UML foi estendida Por este motivo, a notação UML foi estendida para suportar este mecanismo de para suportar este mecanismo de especificação. especificação.

– Assim, com um único símbolo, designado por Assim, com um único símbolo, designado por objecto objecto repetidorepetido, representam-se vários objectos organizados , representam-se vários objectos organizados de forma regular. de forma regular.

– Trata-se dum mecanismo de abstracção, em que o Trata-se dum mecanismo de abstracção, em que o objecto é replicado várias vezes.objecto é replicado várias vezes.

Page 56: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

56

3. Análise em MIDAS 3. Análise em MIDAS (36/40)(36/40)

Diagramas de classesDiagramas de classes– O diagrama de classes é um referencial para uma O diagrama de classes é um referencial para uma

categoria de aplicações que a partir dele se podem categoria de aplicações que a partir dele se podem construir. construir.

– O modelo de classes é uma generalização de alto O modelo de classes é uma generalização de alto nível dos sistemas.nível dos sistemas.

– Dito por outras palavras, quando se define a forma Dito por outras palavras, quando se define a forma como as classes se relacionam entre si, está a como as classes se relacionam entre si, está a indicar-se quais os possíveis sistemas que podem ser indicar-se quais os possíveis sistemas que podem ser construídos a partir dessas classes. construídos a partir dessas classes.

– Neste sentido, o diagrama de classes funciona como Neste sentido, o diagrama de classes funciona como uma “camisa de forças” para o diagrama de objectos.uma “camisa de forças” para o diagrama de objectos.

Page 57: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

57

3. Análise em MIDAS 3. Análise em MIDAS (37/40)(37/40)

Diagramas de classesDiagramas de classes– Midas vê o diagrama de classes como um repositório de Midas vê o diagrama de classes como um repositório de

especificações pré-definidas de objectos. especificações pré-definidas de objectos. – A estrutura de classes pode ser composta por várias A estrutura de classes pode ser composta por várias

árvores não ligadas entre si. As subclasses estão árvores não ligadas entre si. As subclasses estão semanticamente relacionadas com as suas semanticamente relacionadas com as suas superclasses. superclasses.

– Esta perspectiva não inviabiliza a reutilização das Esta perspectiva não inviabiliza a reutilização das implementações, que ocorre como uma consequência implementações, que ocorre como uma consequência natural das relações semânticas entre classes. natural das relações semânticas entre classes.

– Apesar do mecanismo de herança não impor nenhuma Apesar do mecanismo de herança não impor nenhuma perspectiva, adoptou-se a prática de ver as perspectiva, adoptou-se a prática de ver as superclasses como mais abstractas que as subclasses.superclasses como mais abstractas que as subclasses.

– Isto permite que a hierarquia de classes seja uma Isto permite que a hierarquia de classes seja uma hierarquia de abstracções e que o mecanismo de hierarquia de abstracções e que o mecanismo de herança seja um esquema de classificação.herança seja um esquema de classificação.

Page 58: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

58

3. Análise em MIDAS 3. Análise em MIDAS (38/40)(38/40)

Diagramas de state-chartsDiagramas de state-charts– Até ao momento, definiu-se a forma como os sistemas Até ao momento, definiu-se a forma como os sistemas

devem ser decompostos nos seus objectos constituintes devem ser decompostos nos seus objectos constituintes e o modo como estes se inter-relacionam.e o modo como estes se inter-relacionam.

– a análise orientada ao objecto inclui também a a análise orientada ao objecto inclui também a especificação do comportamento dinâmico dos especificação do comportamento dinâmico dos sistemas, através da utilização de diagramas de state-sistemas, através da utilização de diagramas de state-charts. charts.

– O comportamento dum sistema refere-se à operação O comportamento dum sistema refere-se à operação interna deste ao longo do tempo.interna deste ao longo do tempo.

– De acordo com o tipo de comportamento que os De acordo com o tipo de comportamento que os objectos exibem, estes podem ser classificados segundo objectos exibem, estes podem ser classificados segundo as duas seguintes categorias, relevantes para sistemas as duas seguintes categorias, relevantes para sistemas embebidos):embebidos):

simples/reactivo.simples/reactivo. passivo/activo.passivo/activo.

Page 59: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

59

3. Análise em MIDAS 3. Análise em MIDAS (39/40)(39/40)

Diagramas de state-chartsDiagramas de state-charts– Qualquer objecto cujo comportamento não dependa da Qualquer objecto cujo comportamento não dependa da

história associada, diz-se que tem um história associada, diz-se que tem um comportamento comportamento simplessimples e não tem, portanto, associada qualquer noção de e não tem, portanto, associada qualquer noção de estado. estado.

– Alguns objectos-informação tem o seu comportamento Alguns objectos-informação tem o seu comportamento enquadrado neste tipo. enquadrado neste tipo.

– Por exemplo, um objecto que disponibiliza aos seus Por exemplo, um objecto que disponibiliza aos seus clientes o cálculo da raiz quadrada dum número, devolve clientes o cálculo da raiz quadrada dum número, devolve sempre o mesmo resultado, independentemente da sempre o mesmo resultado, independentemente da história.história.

– Se um objecto tem um Se um objecto tem um comportamento reactivocomportamento reactivo, então este , então este pode ser descrito por um modelo à luz dum meta-modelo pode ser descrito por um modelo à luz dum meta-modelo baseado em estados, nomeadamente por um state-chart. baseado em estados, nomeadamente por um state-chart.

– Desta forma, em qualquer instante, o objecto está num Desta forma, em qualquer instante, o objecto está num dado estado que determina a forma como aquele reage às dado estado que determina a forma como aquele reage às mensagens a que pode estar sujeito. mensagens a que pode estar sujeito.

Page 60: U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 5:

© 2

001

UM

/EE

/DI/

JMF

60

3. Análise em MIDAS 3. Análise em MIDAS (40/40)(40/40)

Diagramas de state-chartsDiagramas de state-charts– Um Um objecto activoobjecto activo está continuamente a executar e é está continuamente a executar e é

geralmente autónomo (i.e. exibe algum comportamento, geralmente autónomo (i.e. exibe algum comportamento, sem a necessidade do comando dum outro objecto). sem a necessidade do comando dum outro objecto).

– Os Os objectos passivosobjectos passivos não tomam qualquer iniciativa de não tomam qualquer iniciativa de iniciar comunicação e só actuam a pedido de outros iniciar comunicação e só actuam a pedido de outros objectos. objectos.

– Os objectos activos servem de base para o controlo de Os objectos activos servem de base para o controlo de todo o sistema, enquanto que os objectos passivos, todo o sistema, enquanto que os objectos passivos, sempre que solicitados, fornecem serviços àqueles. sempre que solicitados, fornecem serviços àqueles.

– Tipicamente os objectos-função são activos e os objectos-Tipicamente os objectos-função são activos e os objectos-informação são passivos.informação são passivos.

– Em UML, um objecto activo ou uma classe activa são Em UML, um objecto activo ou uma classe activa são representados pelos seus símbolos habituais (um representados pelos seus símbolos habituais (um rectângulo), mas com o bordo mais carregado.rectângulo), mas com o bordo mais carregado.