U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE...

39
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 2: Projecto e Modelos de Processo - - SESSÃO 2: Projecto e Modelos de Processo - 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

Transcript of U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000/01 D EP. I NFORMÁTICA DESENVOLVIMENTO DE...

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 2:

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 2: Projecto e Modelos de Processo -- SESSÃO 2: Projecto e Modelos de Processo -

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 2:

© 2

001

UM

/EE

/DI/

JMF

2

SumárioSumário

1. Enquadramento1. Enquadramento

2. Projecto 2. Projecto

3. Abordagem Sistémica3. Abordagem Sistémica

4. Engenharia de Sistemas4. Engenharia de Sistemas

5. Modelos de Processo5. Modelos de Processo

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 2:

© 2

001

UM

/EE

/DI/

JMF

3

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

Objectivos deste móduloObjectivos deste módulo– Definir projecto no âmbito do desenvolvimento de Definir projecto no âmbito do desenvolvimento de

sistemas.sistemas.

– Apresentar a engenharia de sistemas, em que a Apresentar a engenharia de sistemas, em que a qualidade do produto e do processo são factores qualidade do produto e do processo são factores cruciais. cruciais.

– Introduzir os modelos de processo mais comuns e Introduzir os modelos de processo mais comuns e indicar as suas características.indicar as suas características.

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 software.de 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 2:

© 2

001

UM

/EE

/DI/

JMF

4

1. Enquadramento 1. Enquadramento (3/5)(3/5)

Bibliografia recomendadaBibliografia recomendada– Stevens R., Brook P., Jackson K., Arnold S. (1998). Stevens R., Brook P., Jackson K., Arnold S. (1998).

““Systems Engineering: Coping with ComplexitySystems Engineering: Coping with Complexity”. Prentice-”. Prentice-Hall. Hall. ISBN 0-13-095085-8ISBN 0-13-095085-8..

– Thomé B., Arnold S. (1993). “Thomé B., Arnold S. (1993). “Systems Engineering: Systems Engineering: Principles of Computer-based Systems Engineering”. Principles of Computer-based Systems Engineering”. John John Wiley & Sons. Wiley & Sons. ISBN 0-471-93552-2ISBN 0-471-93552-2. .

– OskarssonOskarsson Ö. Ö.,, Glass R. (1996). “ Glass R. (1996). “An ISO 9000 Approach to An ISO 9000 Approach to Building Quality Software”. Building Quality Software”. Prentice-Hall. Prentice-Hall. 0-13-228925-30-13-228925-3. .

– Boehm B.W. (1988). “Boehm B.W. (1988). “A Spiral Model of Software A Spiral Model of Software Development and EnhancementDevelopment and Enhancement”.”. IEEE Computer, 21(5):61- IEEE Computer, 21(5):61-72.72.

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 2:

© 2

001

UM

/EE

/DI/

JMF

5

2. Projecto 2. Projecto (1/4)(1/4)

Definição de projectoDefinição de projecto– Conjunto de acções discretas e temporárias (actividades) Conjunto de acções discretas e temporárias (actividades)

desenvolvidas de acordo com determinados objectivos desenvolvidas de acordo com determinados objectivos únicos, para os quais adquirem, geralmente, grande únicos, para os quais adquirem, geralmente, grande importância os factores tempo, custo, desempenho e importância os factores tempo, custo, desempenho e qualidade.qualidade.

– Tal como qualquer das actividades que o constituem, Tal como qualquer das actividades que o constituem, também o projecto é desenvolvido por pessoas, de acordo também o projecto é desenvolvido por pessoas, de acordo com determinado planeamento, executado em com determinado planeamento, executado em conformidade com um dado programa e controlado conformidade com um dado programa e controlado segundo determinados critérios, procurando desenvolver-segundo determinados critérios, procurando desenvolver-se dentro das restrições a que se encontra sujeito.se dentro das restrições a que se encontra sujeito.

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 2:

© 2

001

UM

/EE

/DI/

JMF

6

2. Projecto 2. Projecto (2/4)(2/4)

Diferenças entre projecto e actividadesDiferenças entre projecto e actividades– Ao contrário das actividades, cada projecto tem a Ao contrário das actividades, cada projecto tem a

particularidade de “produzir” bens ou serviços que particularidade de “produzir” bens ou serviços que têm características únicas e que os distinguem de têm características únicas e que os distinguem de produtos ou serviços homólogos.produtos ou serviços homólogos.

– Todo o projecto é desenvolvido, apenas, entre um Todo o projecto é desenvolvido, apenas, entre um determinado instante inicial e final que, uma vez determinado instante inicial e final que, uma vez atingido, o conclui definitivamente, o que não é atingido, o conclui definitivamente, o que não é obrigatório ocorrer para as actividades.obrigatório ocorrer para as actividades.

– Os meios organizacionais e/ou estruturais, criados Os meios organizacionais e/ou estruturais, criados durante a evolução do projecto, normalmente durante a evolução do projecto, normalmente desaparecem ou são modificados, após a conclusão do desaparecem ou são modificados, após a conclusão do mesmo, ou ainda durante a sua evolução.mesmo, ou ainda durante a sua evolução.

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 2:

© 2

001

UM

/EE

/DI/

JMF

7

2. Projecto 2. Projecto (3/4)(3/4)

Gestão do projectoGestão do projecto

– Aplicação de metodologias, técnicas e ferramentas nas Aplicação de metodologias, técnicas e ferramentas nas várias fases do ciclo de vida do projecto, no sentido de várias fases do ciclo de vida do projecto, no sentido de planear, organizar, coordenar, verificar e controlar planear, organizar, coordenar, verificar e controlar todos os aspectos técnicos, humanos e financeiros, de todos os aspectos técnicos, humanos e financeiros, de forma sustentada, para que sejam atingidos os forma sustentada, para que sejam atingidos os objectivos temporais, económicos e de objectivos temporais, económicos e de qualidade/desempenho do projecto qualidade/desempenho do projecto

macro e microprocessomacro e microprocesso

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 2:

© 2

001

UM

/EE

/DI/

JMF

8

2. Projecto 2. Projecto (4/4)(4/4)

Ciclo de vidaCiclo de vida arranque

planeamento

conclusão

execuçãocontrolo

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 2:

© 2

001

UM

/EE

/DI/

JMF

9

3. Abordagem Sistémica 3. Abordagem Sistémica (1/8)(1/8)

Visão sistémica de engenhariaVisão sistémica de engenharia– A noção de sistema é normalmente utilizada referente a A noção de sistema é normalmente utilizada referente a

um bem ou serviço como produto resultante da um bem ou serviço como produto resultante da execução de um projecto (execução de um projecto (product levelproduct level).).

– Para além desta noção, a actividade de engenharia Para além desta noção, a actividade de engenharia necessita de lidar com uma outra noção de sistema; a necessita de lidar com uma outra noção de sistema; a que considera o próprio processo de engenharia como que considera o próprio processo de engenharia como um sistema (um sistema (process levelprocess level).).

– A engenharia não está somente preocupada com os A engenharia não está somente preocupada com os produtos que resultam das suas actividades, mas produtos que resultam das suas actividades, mas também com o próprio processo de engenharia.também com o próprio processo de engenharia.

– Os sistemas de certificação de qualidade (ISO 9001 e Os sistemas de certificação de qualidade (ISO 9001 e CMM) vêm mostrar a preocupação que se sente na área CMM) vêm mostrar a preocupação que se sente na área do software para garantir bons produtos, feitos com do software para garantir bons produtos, feitos com método.método.

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 2:

© 2

001

UM

/EE

/DI/

JMF

10

3. Abordagem Sistémica 3. Abordagem Sistémica (2/8)(2/8)

Definição de engenhariaDefinição de engenharia– Aplicação de uma abordagem sistemática, disciplinada e Aplicação de uma abordagem sistemática, disciplinada e

quantificável na análise, concepção e implementação de quantificável na análise, concepção e implementação de estruturas, máquinas, produtos, sistemas ou processos, estruturas, máquinas, produtos, sistemas ou processos, recorrendo a conhecimentos, princípios, técnicas e recorrendo a conhecimentos, princípios, técnicas e métodos decorrentes dos avanços empírico-científicos, métodos decorrentes dos avanços empírico-científicos, num contexto ético-deontológico de satisfação estrita num contexto ético-deontológico de satisfação estrita das necessidades do desenvolvimento sócio-humano.das necessidades do desenvolvimento sócio-humano.

– A A abordagem sistémicaabordagem sistémica, levando ao limite a , levando ao limite a aplicabilidade da noção de sistema (concebendo tudo aplicabilidade da noção de sistema (concebendo tudo como um sistema), é a grande “bandeira” da como um sistema), é a grande “bandeira” da engenharia moderna, uma vez que impõe uma nova engenharia moderna, uma vez que impõe uma nova forma de controlar o cumprimento de um determinado forma de controlar o cumprimento de um determinado modelo de processo na execução das diversas modelo de processo na execução das diversas actividades que lhe estão circunscritas.actividades que lhe estão circunscritas.

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 2:

© 2

001

UM

/EE

/DI/

JMF

11

3. Abordagem Sistémica 3. Abordagem Sistémica (3/8)(3/8)

Abordagem sistémica (complexidade) #1Abordagem sistémica (complexidade) #1

– A A complexidadecomplexidade de um sistema depende não só do de um sistema depende não só do número das suas partes, mas sobretudo da forma número das suas partes, mas sobretudo da forma como elas interagem entre si.como elas interagem entre si.

– Esta constatação sugere que o engenheiro controle Esta constatação sugere que o engenheiro controle declaradamente a sua dimensão e heterogeneidade, declaradamente a sua dimensão e heterogeneidade, uma vez que, assim, está a contribuir para que o uma vez que, assim, está a contribuir para que o sistema seja tratado efectivamente como um todo sistema seja tratado efectivamente como um todo multi-facetado, permitindo uma expressão natural às multi-facetado, permitindo uma expressão natural às suas propriedades emergentes.suas propriedades emergentes.

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 2:

© 2

001

UM

/EE

/DI/

JMF

12

3. Abordagem Sistémica 3. Abordagem Sistémica (4/8)(4/8)

Abordagem sistémica (complexidade) #2Abordagem sistémica (complexidade) #2

1 3 6 n.(n-1)/2

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 2:

© 2

001

UM

/EE

/DI/

JMF

13

3. Abordagem Sistémica 3. Abordagem Sistémica (5/8)(5/8)

Abordagem sistémica (abstracção) #1Abordagem sistémica (abstracção) #1

– A consciencialização do nível de abstracção em que o A consciencialização do nível de abstracção em que o

projecto se está a desenvolver é crucial para controlar a projecto se está a desenvolver é crucial para controlar a

complexidade.complexidade.

– Para controlar eficazmente a complexidade inerente ao Para controlar eficazmente a complexidade inerente ao

projecto de sistemas complexos é importante decidir qual o projecto de sistemas complexos é importante decidir qual o

nível de abstracção mais adequado em cada momento.nível de abstracção mais adequado em cada momento.

– Como regra, deve recorrer-se aos níveis de abstracção mais Como regra, deve recorrer-se aos níveis de abstracção mais

elevados possível, para que, ao esconder pormenores, se elevados possível, para que, ao esconder pormenores, se

compreenda melhor o sistema como um todo.compreenda melhor o sistema como um todo.

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 2:

© 2

001

UM

/EE

/DI/

JMF

14

3. Abordagem Sistémica 3. Abordagem Sistémica (6/8)(6/8)

Abordagem sistémica (abstracção) #2Abordagem sistémica (abstracção) #2

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 2:

© 2

001

UM

/EE

/DI/

JMF

15

3. Abordagem Sistémica 3. Abordagem Sistémica (7/8)(7/8)

Abordagem sistémica (reducionismo vs. holismo)Abordagem sistémica (reducionismo vs. holismo)– No âmbito dos dois pontos anteriores, devem ser sempre No âmbito dos dois pontos anteriores, devem ser sempre

pesadas as vantagens e as desvantagens aquando da pesadas as vantagens e as desvantagens aquando da escolha de uma das duas visões ortogonais possíveis:escolha de uma das duas visões ortogonais possíveis:

reducionistareducionista, quando, para controlar a complexidade, se , quando, para controlar a complexidade, se decompõe o sistema em partes menores, de forma a decompõe o sistema em partes menores, de forma a concentrar o esforço de projecto em múltiplos concentrar o esforço de projecto em múltiplos (sub-)sistemas, mas mais simples (esta visão não deve (sub-)sistemas, mas mais simples (esta visão não deve esquecer que ao desagregar podem “perder-se” as esquecer que ao desagregar podem “perder-se” as propriedades emergentes);propriedades emergentes);

holísticaholística, quando, para evitar tratar pormenores que , quando, para evitar tratar pormenores que dispersam a atenção sobre as propriedades emergentes, se dispersam a atenção sobre as propriedades emergentes, se considera o sistema como um todo (esta visão deve considera o sistema como um todo (esta visão deve conjugar-se com a redefinição das fronteiras do sistema que, conjugar-se com a redefinição das fronteiras do sistema que, na prática, contribuem para a relativização da dualidade na prática, contribuem para a relativização da dualidade sistema/sub-sistema).sistema/sub-sistema).

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 2:

© 2

001

UM

/EE

/DI/

JMF

16

3. Abordagem Sistémica 3. Abordagem Sistémica (8/8)(8/8)

Abordagem sistémica (flexibilidade)Abordagem sistémica (flexibilidade)– Deve existir flexibilidade na forma de encontrar o modelo Deve existir flexibilidade na forma de encontrar o modelo

do processo a adoptar, considerando-se várias do processo a adoptar, considerando-se várias alternativas de projecto e tendo em conta os diversos alternativas de projecto e tendo em conta os diversos cenários de actuação (de normalidade e de cenários de actuação (de normalidade e de contingencionalidade).contingencionalidade).

– Esta flexibilização deve resultar, nomeadamente, da Esta flexibilização deve resultar, nomeadamente, da aplicação dos princípios da realimentação e iteração ao aplicação dos princípios da realimentação e iteração ao próprio modelo do processo de projecto de sistemas.próprio modelo do processo de projecto de sistemas.

– Na avaliação das diversas alternativas devem utilizar-se Na avaliação das diversas alternativas devem utilizar-se modelos de redes de influência, em vez de simples modelos de redes de influência, em vez de simples cadeias lineares de acção/reacção.cadeias lineares de acção/reacção.

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 2:

© 2

001

UM

/EE

/DI/

JMF

17

4. Engenharia de Sistemas 4. Engenharia de Sistemas (1/4)(1/4)

Abordagem sistémicaAbordagem sistémica– Influenciou a postura metodológica da própria Influenciou a postura metodológica da própria

engenharia como um todo.engenharia como um todo.

– Fundamentou o aparecimento de uma nova disciplina Fundamentou o aparecimento de uma nova disciplina (eventualmente, já uma nova especialidade de (eventualmente, já uma nova especialidade de engenharia) designada de engenharia) designada de engenharia de sistemasengenharia de sistemas..

– O conceito de engenharia de sistemas ainda não está O conceito de engenharia de sistemas ainda não está perfeitamente uniformizado, existindo várias perfeitamente uniformizado, existindo várias interpretações distintas para o termo “engenharia de interpretações distintas para o termo “engenharia de sistemas”.sistemas”.

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 2:

© 2

001

UM

/EE

/DI/

JMF

18

4. Engenharia de Sistemas 4. Engenharia de Sistemas (2/4)(2/4)

Interpretação #1Interpretação #1

Engenharia dos SistemasEngenharia dos Sistemas

– Neste caso, entende-se a engenharia de sistemas Neste caso, entende-se a engenharia de sistemas como a engenharia dos sistemas cujas partes como a engenharia dos sistemas cujas partes envolvem mais do que uma tecnologia (tecnologia do envolvem mais do que uma tecnologia (tecnologia do softwaresoftware, do , do hardwarehardware, da mecânica, etc.), da mecânica, etc.)

– Segundo esta interpretação, qualquer engenharia de Segundo esta interpretação, qualquer engenharia de sistemas não homogéneos pode ser vista como uma sistemas não homogéneos pode ser vista como uma engenharia de sistemas.engenharia de sistemas.

– Esta definição de engenharia de sistemas é dirigida Esta definição de engenharia de sistemas é dirigida para o para o product levelproduct level..

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 2:

© 2

001

UM

/EE

/DI/

JMF

19

4. Engenharia de Sistemas 4. Engenharia de Sistemas (3/4)(3/4)

Interpretação #2Interpretação #2

Abordagem Sistémica à EngenhariaAbordagem Sistémica à Engenharia

– Neste caso, entende-se a engenharia de sistemas Neste caso, entende-se a engenharia de sistemas como a abordagem sistémica à engenharia, como a abordagem sistémica à engenharia, independentemente da tecnologia dos seus produtos.independentemente da tecnologia dos seus produtos.

– Assim, qualquer engenharia pode ser vista como uma Assim, qualquer engenharia pode ser vista como uma engenharia de sistemas, desde que siga os princípios engenharia de sistemas, desde que siga os princípios da abordagem sistémica.da abordagem sistémica.

– Esta definição de engenharia de sistemas é dirigida Esta definição de engenharia de sistemas é dirigida para o para o process level.process level.

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 2:

© 2

001

UM

/EE

/DI/

JMF

20

4. Engenharia de Sistemas 4. Engenharia de Sistemas (4/4)(4/4)

Interpretação #3Interpretação #3

Aplicação da Abordagem Sistémica à Engenharia dos SistemasAplicação da Abordagem Sistémica à Engenharia dos Sistemas

– De facto, a engenharia de sistemas, entendida como a De facto, a engenharia de sistemas, entendida como a eventual nova especialidade de engenharia a existir eventual nova especialidade de engenharia a existir como tal, deve ser vista como a conjugação das duas como tal, deve ser vista como a conjugação das duas interpretações ortogonais anteriores, ou seja, a interpretações ortogonais anteriores, ou seja, a engenharia de sistemas consiste na aplicação da engenharia de sistemas consiste na aplicação da abordagem sistémica à engenharia dos sistemas.abordagem sistémica à engenharia dos sistemas.

– O seu domínio de actuação é a engenharia de soluções O seu domínio de actuação é a engenharia de soluções para problemas de sistemas, independentemente da para problemas de sistemas, independentemente da tecnologia utilizada, para realizar as funções e tecnologia utilizada, para realizar as funções e propriedades desejáveis para os sistemas em projecto.propriedades desejáveis para os sistemas em projecto.

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 2:

© 2

001

UM

/EE

/DI/

JMF

21

5. Modelos de Processo 5. Modelos de Processo (1/19)(1/19)

Metodologias de desenvolvimento #1Metodologias de desenvolvimento #1

– Qualquer processo de desenvolvimento consiste em três Qualquer processo de desenvolvimento consiste em três tipos de actividades:tipos de actividades:

a identificação das necessidades;a identificação das necessidades; a concepção da solução;a concepção da solução; a implementação do sistema final.a implementação do sistema final.

– Estas actividades são executadas ao longo do tempo, Estas actividades são executadas ao longo do tempo, dando lugar umas às outras, mas com potenciais dando lugar umas às outras, mas com potenciais sobreposições e retrocessos.sobreposições e retrocessos.

– De qualquer das formas, a divisão nestes três tipos de De qualquer das formas, a divisão nestes três tipos de tarefas ajuda o projectista a separar os diferentes tarefas ajuda o projectista a separar os diferentes aspectos do desenvolvimento do sistema e proporciona aspectos do desenvolvimento do sistema e proporciona a base para uma metodologia de desenvolvimento a base para uma metodologia de desenvolvimento sistemática.sistemática.

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 2:

© 2

001

UM

/EE

/DI/

JMF

22

5. Modelos de Processo 5. Modelos de Processo (2/19)(2/19)

Metodologias de desenvolvimento #2Metodologias de desenvolvimento #2– A definição das fronteiras entre as várias fases costuma A definição das fronteiras entre as várias fases costuma

ser realizada através da indicação de quais os ser realizada através da indicação de quais os “documentos” que devem ser gerados.“documentos” que devem ser gerados.

– Estes “documentos” são avaliados segundo critérios Estes “documentos” são avaliados segundo critérios pré-definidos e a aceitação dos “documentos” permite a pré-definidos e a aceitação dos “documentos” permite a transição do processo para uma nova fase.transição do processo para uma nova fase.

– Cada fase envolve uma lista de tarefas a executar, uma Cada fase envolve uma lista de tarefas a executar, uma lista de “documentos” a ser produzida e a definição de lista de “documentos” a ser produzida e a definição de critérios para a avaliação e aceitação desses critérios para a avaliação e aceitação desses “documentos”.“documentos”.

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 2:

© 2

001

UM

/EE

/DI/

JMF

23

5. Modelos de Processo 5. Modelos de Processo (3/19)(3/19)

Ciclo de vida do sistema #1Ciclo de vida do sistema #1

ImplementaçãoConcepçãoAnálise

Utilização

Manutenção

Estudos deViabilidade

Teste

Desenvolvimento

ciclo de vida

projecto

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 2:

© 2

001

UM

/EE

/DI/

JMF

24

5. Modelos de Processo 5. Modelos de Processo (4/19)(4/19)

Ciclo de vida do sistema #2Ciclo de vida do sistema #2– Refere-se ao período de tempo durante o qual a sua Refere-se ao período de tempo durante o qual a sua

existência tem significado, desde o surgimento da ideia existência tem significado, desde o surgimento da ideia inicial para a sua realização até à sua retirada de utilização .inicial para a sua realização até à sua retirada de utilização .

– Inicia-se com a fase dos estudos de viabilidade, seguem-se Inicia-se com a fase dos estudos de viabilidade, seguem-se as fases de desenvolvimento do sistema e finalmente a sua as fases de desenvolvimento do sistema e finalmente a sua utilização.utilização.

– A fase de teste sobrepõe-se temporalmente com as fases de A fase de teste sobrepõe-se temporalmente com as fases de desenvolvimento, uma vez que tem como objectivos desenvolvimento, uma vez que tem como objectivos analisar os “documentos” gerados ao longo do analisar os “documentos” gerados ao longo do desenvolvimento e, eventualmente, validar a transição desenvolvimento e, eventualmente, validar a transição entre fases.entre fases.

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 2:

© 2

001

UM

/EE

/DI/

JMF

25

5. Modelos de Processo 5. Modelos de Processo (5/19)(5/19)

Ciclo de vida do sistema #3Ciclo de vida do sistema #3– A fase de manutenção tem como objectivos corrigir os A fase de manutenção tem como objectivos corrigir os

defeitos que, em funcionamento, surjam no sistema e defeitos que, em funcionamento, surjam no sistema e que não tenham sido detectados durante o teste, que não tenham sido detectados durante o teste, assim como realizar as adaptações necessárias para assim como realizar as adaptações necessárias para resolver as eventuais alterações de requisitos, como resolver as eventuais alterações de requisitos, como resposta ao real funcionamento observado.resposta ao real funcionamento observado.

– O projecto do sistema compreende a realização dos O projecto do sistema compreende a realização dos estudos de viabilidade e o desenvolvimento do estudos de viabilidade e o desenvolvimento do sistema, se dos estudos de viabilidade resultar a sistema, se dos estudos de viabilidade resultar a conclusão de que o sistema deve efectivamente ser conclusão de que o sistema deve efectivamente ser desenvolvido.desenvolvido.

– Os estudos de viabilidade podem incluir factores Os estudos de viabilidade podem incluir factores económicos, tecnológicos e mesmo comerciais.económicos, tecnológicos e mesmo comerciais.

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 2:

© 2

001

UM

/EE

/DI/

JMF

26

5. Modelos de Processo 5. Modelos de Processo (6/19)(6/19)

Ciclo de vida do sistema #4Ciclo de vida do sistema #4– o desenvolvimento do sistema refere-se, então, às três o desenvolvimento do sistema refere-se, então, às três

fases de projecto responsáveis pela construção do fases de projecto responsáveis pela construção do sistema:sistema:

análiseanálise em que se especifica a funcionalidade do sistema e em que se especifica a funcionalidade do sistema e o desempenho desejado, bem como todas as decisões que o desempenho desejado, bem como todas as decisões que podem restringir a liberdade de concepção e podem restringir a liberdade de concepção e implementaçãoimplementação

concepçãoconcepção em que se define a estrutura interna do em que se define a estrutura interna do sistema e se afecta a cada módulo do sistema a sistema e se afecta a cada módulo do sistema a funcionalidade a executar, de forma a cumprir as funcionalidade a executar, de forma a cumprir as especificações fornecidas pela fase de análise.especificações fornecidas pela fase de análise.

implementaçãoimplementação em que se realiza o sistema segundo as em que se realiza o sistema segundo as directivas e decisões de concepção fornecidas pela fase directivas e decisões de concepção fornecidas pela fase anterior.anterior.

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 2:

© 2

001

UM

/EE

/DI/

JMF

27

5. Modelos de Processo 5. Modelos de Processo (7/19)(7/19)

DefiniçãoDefinição

– O O modelo do processo de desenvolvimentomodelo do processo de desenvolvimento, também , também designado de fluxo do projecto, é um esquema que designado de fluxo do projecto, é um esquema que organiza e relaciona a forma como as várias fases organiza e relaciona a forma como as várias fases devem ser prosseguidas ao longo do desenvolvimento devem ser prosseguidas ao longo do desenvolvimento do sistema.do sistema.

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 2:

© 2

001

UM

/EE

/DI/

JMF

28

5. Modelos de Processo 5. Modelos de Processo (8/19)(8/19)

Tipos de modelos de processo (modelo em cascata) Tipos de modelos de processo (modelo em cascata) #1#1

– O O modelo emmodelo em cascatacascata organiza o processo de organiza o processo de desenvolvimento como uma sequência linear de fases.desenvolvimento como uma sequência linear de fases.

– Cada fase dá lugar à seguinte, após a verificação da Cada fase dá lugar à seguinte, após a verificação da conformidade dos resultados.conformidade dos resultados.

– Caso haja necessidade, existe a possibilidade de cada Caso haja necessidade, existe a possibilidade de cada fase dar lugar a uma fase anterior para proceder a fase dar lugar a uma fase anterior para proceder a correcções nas especificações a montante.correcções nas especificações a montante.

– Este modelo mostra que não é possível efectuar o Este modelo mostra que não é possível efectuar o desenvolvimento dum sistema somente através duma desenvolvimento dum sistema somente através duma abordagem descendente (abordagem descendente (top-downtop-down).).

– No entanto, este modelo é, de alguma forma, limitado e No entanto, este modelo é, de alguma forma, limitado e só considera parcialmente a real natureza iterativa do só considera parcialmente a real natureza iterativa do processo de desenvolvimento.processo de desenvolvimento.

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 2:

© 2

001

UM

/EE

/DI/

JMF

29

5. Modelos de Processo 5. Modelos de Processo (9/19)(9/19)

Tipos de modelos de processo (modelo em cascata) Tipos de modelos de processo (modelo em cascata) #2#2

Implementação

Teste

Concepção

Análise

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 2:

© 2

001

UM

/EE

/DI/

JMF

30

5. Modelos de Processo 5. Modelos de Processo (10/19)(10/19)

Tipos de modelos de processo (modelo em V) #1Tipos de modelos de processo (modelo em V) #1– O O modelo em Vmodelo em V sugere claramente que a análise e a sugere claramente que a análise e a

concepção devem seguir uma abordagem concepção devem seguir uma abordagem top-downtop-down, , enquanto que a implementação e o teste devem seguir enquanto que a implementação e o teste devem seguir uma abordagem uma abordagem bottom-upbottom-up (ascendente). (ascendente).

– Os processos de Os processos de top-downtop-down e de e de bottom-upbottom-up são são complementares, uma vez que, para avaliar a complementares, uma vez que, para avaliar a conformidade, existe sempre uma fase de teste, no conformidade, existe sempre uma fase de teste, no processo de processo de bottom-upbottom-up, associada à especificação e à , associada à especificação e à concepção, no processo de concepção, no processo de top-down.top-down.

– Este modelo favorece a gestão do projecto, mas é Este modelo favorece a gestão do projecto, mas é dificilmente generalizável para todos os tipos de dificilmente generalizável para todos os tipos de implementações.implementações.

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 2:

© 2

001

UM

/EE

/DI/

JMF

31

5. Modelos de Processo 5. Modelos de Processo (11/19)(11/19)

Tipos de modelos de processo (modelo em V) #2Tipos de modelos de processo (modelo em V) #2

Implementação

Teste deIntegraçãoConcepção

AnáliseTeste

Operacional

Validação

Validação

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 2:

© 2

001

UM

/EE

/DI/

JMF

32

5. Modelos de Processo 5. Modelos de Processo (12/19)(12/19)

Tipos de modelos de processo (modelo em espiral) Tipos de modelos de processo (modelo em espiral) #1#1– o o modelo em espiralmodelo em espiral organiza o desenvolvimento como organiza o desenvolvimento como

um processo iterativo em que vários conjuntos de um processo iterativo em que vários conjuntos de quatro fases se sucedem até se obter o sistema final.quatro fases se sucedem até se obter o sistema final.

– as quatro fases típicas são:as quatro fases típicas são: planeamentoplaneamento (determinação dos objectivos, alternativas e (determinação dos objectivos, alternativas e

restrições);restrições); análise de riscoanálise de risco (análise das alternativas e identificação e (análise das alternativas e identificação e

resolução dos riscos);resolução dos riscos); desenvolvimentodesenvolvimento (desenvolvimento do protótipo do nível (desenvolvimento do protótipo do nível

seguinte);seguinte); avaliaçãoavaliação (avaliação dos resultados da fase de (avaliação dos resultados da fase de

desenvolvimento).desenvolvimento).

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 2:

© 2

001

UM

/EE

/DI/

JMF

33

5. Modelos de Processo 5. Modelos de Processo (13/19)(13/19)

Tipos de modelos de processo (modelo em espiral) #2Tipos de modelos de processo (modelo em espiral) #2– Este modelo permite que ao longo de cada iteração se Este modelo permite que ao longo de cada iteração se

obtenham versões do sistema cada vez mais completas, obtenham versões do sistema cada vez mais completas, recorrendo à recorrendo à prototipagemprototipagem para reduzir os riscos. para reduzir os riscos.

– Este é um modelo que permite a abordagem do Este é um modelo que permite a abordagem do refinamento seguido pelo modelo em cascata, mas que refinamento seguido pelo modelo em cascata, mas que incorpora um enquadramento iterativo que reflecte, de incorpora um enquadramento iterativo que reflecte, de uma forma bastante realística, o processo de uma forma bastante realística, o processo de desenvolvimento.desenvolvimento.

– No entanto, exige uma considerável experiência na No entanto, exige uma considerável experiência na análise de riscos, caso contrário a não detecção destes análise de riscos, caso contrário a não detecção destes pode pôr em causa todo o processo de desenvolvimento.pode pôr em causa todo o processo de desenvolvimento.

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 2:

© 2

001

UM

/EE

/DI/

JMF

34

5. Modelos de Processo 5. Modelos de Processo (14/19)(14/19)

Tipos de modelos de processo (modelo em espiral) Tipos de modelos de processo (modelo em espiral) #3#3

Análise de RiscoPlaneamento

DesenvolvimentoAvaliação

análise de risco baseadanos requisitos iniciais

análise de risco baseada nosresultados da avaliação

protótipo inicial do sistema

protótipo do “nível seguinte”

sistema desenvolvido

análise inicial dos requisitos

planeamento baseado nosresultados da avaliação

avaliação dos resultados

em direcção do sistema final

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 2:

© 2

001

UM

/EE

/DI/

JMF

35

5. Modelos de Processo 5. Modelos de Processo (15/19)(15/19)

Tipos de modelos de processo (modelo em espiral) Tipos de modelos de processo (modelo em espiral) #4#4– O modelo em espiral proporciona uma abordagem O modelo em espiral proporciona uma abordagem

baseada na prototipagem do sistema, integrando a baseada na prototipagem do sistema, integrando a construção de construção de especificações executáveisespecificações executáveis no processo no processo de desenvolvimento do sistema.de desenvolvimento do sistema.

– O protótipo é avaliado segundo várias perspectivas para O protótipo é avaliado segundo várias perspectivas para validar a especificação.validar a especificação.

– No entanto, é importante ter em conta que podem No entanto, é importante ter em conta que podem existir duas grandes diferenças entre o protótipo e o existir duas grandes diferenças entre o protótipo e o sistema final: sistema final:

o protótipo pode não cumprir os requisitos de desempenho, o protótipo pode não cumprir os requisitos de desempenho, podendo lidar somente com a funcionalidade do sistema;podendo lidar somente com a funcionalidade do sistema;

o protótipo pode ser incompleto, podendo reflectir somente o protótipo pode ser incompleto, podendo reflectir somente algumas facetas do sistema a desenvolver.algumas facetas do sistema a desenvolver.

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 2:

© 2

001

UM

/EE

/DI/

JMF

36

5. Modelos de Processo 5. Modelos de Processo (16/19)(16/19)

Tipos de modelos de processo (modelo em espiral) Tipos de modelos de processo (modelo em espiral) #5#5– Para que a abordagem da prototipagem seja viável, é Para que a abordagem da prototipagem seja viável, é

necessário que o tempo e os custos do seu necessário que o tempo e os custos do seu desenvolvimento sejam controlados, caso contrário o desenvolvimento sejam controlados, caso contrário o próprio desenvolvimento do protótipo torna-se um próprio desenvolvimento do protótipo torna-se um projecto por si só, com todas as desvantagens projecto por si só, com todas as desvantagens inerentes a esse facto.inerentes a esse facto.

– A A prototipagem rápidaprototipagem rápida do sistema torna-se, assim, do sistema torna-se, assim, numa abordagem fundamental para conseguir numa abordagem fundamental para conseguir justificar a opção pelo modelo em espiral do processo justificar a opção pelo modelo em espiral do processo de desenvolvimento.de desenvolvimento.

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 2:

© 2

001

UM

/EE

/DI/

JMF

37

5. Modelos de Processo 5. Modelos de Processo (17/19)(17/19)

Tipos de modelos de processo (modelo em espiral) #6Tipos de modelos de processo (modelo em espiral) #6– O modelo em espiral suporta a O modelo em espiral suporta a abordagem operacionalabordagem operacional no no

desenvolvimento do sistema, uma vez que possibilita a desenvolvimento do sistema, uma vez que possibilita a reificação transformacional do sistema, a partir da reificação transformacional do sistema, a partir da especificação executável que consiste no primeiro especificação executável que consiste no primeiro protótipo do sistema.protótipo do sistema.

– Nesta abordagem, os sucessivos protótipos executáveis Nesta abordagem, os sucessivos protótipos executáveis são obtidos por refinamento e transformação a partir do são obtidos por refinamento e transformação a partir do protótipo anterior, garantindo o referencial semântico do protótipo anterior, garantindo o referencial semântico do primeiro protótipo ao longo de toda a fase de concepção, primeiro protótipo ao longo de toda a fase de concepção, até chegar à implementação do sistema, correspondendo até chegar à implementação do sistema, correspondendo esta ao protótipo executável do último nível.esta ao protótipo executável do último nível.

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 2:

© 2

001

UM

/EE

/DI/

JMF

38

5. Modelos de Processo 5. Modelos de Processo (18/19)(18/19)

Tipos de modelos de processo (modelo em espiral) Tipos de modelos de processo (modelo em espiral) #7#7

mapeamento entre a realidade e o sistema, por continuidade dos mapeamento entre a realidade e o sistema, por continuidade dos modelosmodelos

concepçãorealidade implementaçãoanálise

sistema

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 2:

© 2

001

UM

/EE

/DI/

JMF

39

5. Modelos de Processo 5. Modelos de Processo (19/19)(19/19)

Metodologias de desenvolvimento (síntese final)Metodologias de desenvolvimento (síntese final)– conjuntos de actividades que organizam a execução de conjuntos de actividades que organizam a execução de

determinadas fases do ciclo de vida do sistema.determinadas fases do ciclo de vida do sistema.

– cada metodologia de desenvolvimento define:cada metodologia de desenvolvimento define: o o modelo do processomodelo do processo de desenvolvimento (fases e relação de desenvolvimento (fases e relação

entre elas);entre elas); os os métodosmétodos a aplicar no âmbito da execução de cada fase; a aplicar no âmbito da execução de cada fase; a a notaçãonotação para representação semântica dos vários para representação semântica dos vários

modelos do sistema construídos e manipulados em cada modelos do sistema construídos e manipulados em cada fase.fase.