Engenharia de Sistemas e Informática

Engenharia de Software
 3.º ano / 1.º semestre - 2001/2002

 

voltar à página da disciplina 

 voltar à página do docente


Sumários


Aulas Teóricas

Obs. Incluem-se, desde o início, os sumários das aulas previstas, que irão sendo alteradas, conforme a execução realizada.

 

Nº de Lição

Data

Sumário

Bibliografia

1

2000-10-02

Apresentação dos conteúdos programáticos e objectivos da disciplina. Normas de avaliação, forma de funcionamento das aulas práticas e teórico - práticas. Bibliografia recomendada e sua relevância.

 
 

2000-10-03

Não foi leccionada aula por comum acordo. Diferida para final, se necessária para completar leccionação dos conteúdos programáticos.

 

2

2000-10-10

Conceitos básicos sobre eng. de software: custos altos, prazos não cumpridos e necessidade do seu controlo.

Introdução à eng. de software: crise do software dos anos 60 e 70: suas causas; necessidade para a eng. de software.

Definição de eng. de software e considerações respectivas; necessidade de planeamento e controlo no desenvolvimento de software.

Software Eng. 92;

Software Eng. 95;

Acetatos para apoio sumarial

 

2001-10-12

Não foi leccionada aula. Doença do docente.

 

3

2001-10-17

Caracterização do software: produto, processo, propriedades e princípios.

Tipos de produtos de software: específicos e genéricos – suas propriedades, características e análise comparativa.

Atributos e características do software: facilidade de manutenção, confiança e eficiência. Propriedades genéricas do software: maleabilidade, produção e vida. Outras propriedades: confiabilidade, robustez, desempenho e velocidade – definição e algumas considerações.

Outras propriedades do software: manutenção / evolução, compreensibilidade, reutilização, portabilidade e interoperabilidade – definição de cada uma e algumas considerações relativamente à sua importância. Caracterização do processo de desenvolvimento de software: produtividade, controlo e visibilidade. Princípios da eng. de software: rigor e formalidade, separação das preocupações, modularidade, abstracção, antecipação de alterações, generalidade e incrementalidade.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

4

2001-10-19

Estruturar o desenvolvimento de software: ciclo de vida e suas fases

Definição do problema / análise do sistema, análise de requisitos e planeamento;

Desenvolvimento – concepção, codificação e teste; Manutenção – correcção, adaptação e evolução; Visão detalhada do ciclo de vida de software (recomendada pelo IEEE).

Metodologias de desenvolvimento de software: definição e enumeração.

Metodologias:

  • codificar e reparar (avaliação crítica e falhas do modelo)
  • apresentação da metodologia em cascata e mostra de como constitui uma reacção à pseudo - metodologia de codificar e reparar.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial

5

2001-10-24

Estudo detalhados das diversas fases da metodologia em cascata.

  • Objectivos da sua introdução e vantagens mais relevantes. Estudo das suas fases: objectivos, conteúdo e produtos resultantes de cada fase.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial

6

2001-11-26

Metodologia de desenvolvimento evolutivo: incremental e prototipagem. Fundamentação da metodologia e análise crítica comparativa. Comparação com a metodologia em cascata. Avaliação crítica da metodologia de desenvolvimento evolutivo.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial

7

2001-11-31

Metodologia baseada em especificações formais: suas vantagens e limitações.

Desenvolvimento cíclico. Modelo em espiral de Bohem – suas fases (quadrantes), fundamentação e análise crítica. Introdução de análise de riscos, versatilidade e metamodelo. Alguns exemplos práticos com actividades em cada uma das fases. Avaliação crítica comparativa das diversas metodologias e situações em que cada uma será mais adequada.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

8

2001-11-02

Introdução à eng. de sistemas: objectivos, definição e interesse para a eng. de software. Definição de sistema.

Componentes de um sistema, suas propriedades genéricas e emergentes.

Os sistemas e sua interacção com o ambiente.

Modo de encontrar um sistema e utilização de sistemas COTS (sua conveniência).

Software Eng. 92;

Software Eng. 95;

Acetatos para apoio sumarial.

9

2001-11-07

Processo de Eng. de Sistemas e suas fases. Estudo detalhado de cada fase: definição de requisitos do sistema e objectivos do sistema; concepção do sistema, desenvolvimento dos subsistemas, integração e sua instalação. Operação, evolução e desmantelamento do sistema. Problemas colocados na conversão dos dados aquando da substituição dum sistema e modo de solução de acordo com situação específica.

Software Eng. 92;

Software Eng. 95;

Acetatos para apoio sumarial.

10

2001-11-09

Modelação da arquitectura do sistema: definição e modelação gráfica. Diagrama de blocos e componentes funcionais: sensores, actuadores, componentes computacionais, de comunicação, de coordenação e de interface.

Software Eng. 92;

Software Eng. 95;

Acetatos para apoio sumarial

11

2001-11-14

Factores humanos e sua inter-relação com os sistemas; exemplos de alguns factores humanos e algumas considerações acerca a forma de lidar com os eventuais riscos para o sucesso do sistema.

Engenharia para a fiabilidade do sistema. Problemas de interdependência entre os componentes do sistema e consequente propagação de falhas. Fiabilidade do hardware, do software e do operador e modos de a conseguir.

Resilência do sistema: definição e algumas questões colocadas.

Software Eng. 92;

Software Eng. 95;

Acetatos para apoio sumarial.

12

2001-11-16

Eng. de requisitos: definição e o que se entende por requisitos; requisitos funcionais e não funcionais (restrições). Importância da eng. de requisitos e problemas nos requisitos. FAQ’s sobre requisitos.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

13

2000-11-21

Definição detalhada de requisitos e exemplos. Definição e especificação de requisitos: definição e exemplos; quem utiliza os requisitos. Classes de requisitos – duráveis e voláteis – exemplos. Fases do processo de eng. de requisitos e seu estudo detalhado. Entradas e saídas do processo de eng. de requisitos; variabilidade do processo e seus problemas.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

14

2001/11/23

Documento de requisitos: conteúdo, propósito e seus utilizadores. Estrutura de documento de requisitos: standard ANSI 830-1993 e sua adaptação. Exemplo de um documento de requisitos para uma empresa de um dado ramo. Escrita de requisitos: pontos essenciais e boas práticas. Validação e teste de requisitos; evolução de requisitos.

Boas práticas genéricas pra documento de requisitos.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

15

2001/11/28

Análise de requisitos: definição e problemas. Processo de análise de requisitos e suas actividades, técnicas de análise.

Prototipagem, seus benefícios e tipos. Modelo do sistema e âmbito de cada modelo. Análise orientada a perspectivas e método VORD. Descrição e exemplificação do método.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

16

2001/11/30

Gestão de projectos de software: planear, organizar, definir recursos, monitorizar, controlar e liderar um projecto. Actividades de planeamento do projecto e porque é importante.

Projecto: definição de produto, de actividades, estimação de recursos e duração de projecto. Rede de actividades, diagrama de Pert e Gantt.

Estrutura do plano de projecto e importância das metas parciais e entregas para a monitorização do projecto.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

17

2001/12/05

Métodos e técnicas aplicadas ao planeamento do projecto. Organização de equipas: racional, burocrática, descentralizada e poder político – análise comparativa e adequação.

Modelos de estimação de recursos e duração de projecto: método de decomposição, COCOMO e Putnam. Métricas baseadas em linhas de código e pontos de função – sua análise comparativa. Cálculo de PF e exemplo prático.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

18

2001/12/07

Relação entre PF e LDC para várias linguagens de programação. Apresentação de método de decomposição e exemplo prático.

Método COCOMO básico, intermédio e avançado e modos de categorização em software orgânico, semi-destacado e embebido – sua categorização.

Fórmulas de cálculo de esforço, tempo de desenvolvimento e tabelas multiplicadoras de esforço; exemplo prático de utilização.

Método Putnam de relacionamento de linhas de código com esforço e tempo de desenvolvimento projecto de software. Relação entre a dimensão de equipa e produtividade não linear devido a custos de comunicação.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

19

2001/12/12

Método Putnam de relacionamento de linhas de código com esforço e tempo de desenvolvimento projecto de software. Relação entre a dimensão de equipa e produtividade não linear devido a custos de comunicação.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

20

2001/12/14

Concepção de software: definição, objectivos e modo de realizar a concepção. Como aprender a fazer a concepção e onde se encaixa a concepção no processo de eng. de software.

Importância da concepção e modo de definir uma boa concepção.

Processo e fases da concepção. Sua enumeração e definição resumida.

Estudo mais aprofundado da concepção arquitectural e de dados.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

21

2001/12/19

Breves notas acerca da concepção procedimental e linguagens de PDL e gráficas.

Qualidade de concepção. O que é e em que pode ser centrada; linhas gerais quanto à qualidade de concepção e conceitos a ela ligados: abstracção e modularidade. Considerações acerca destes dois conceitos e sua ligação à qualidade de concepção.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

22

2002/01/04

Atributos de concepção: coesão e acoplamento; compreensibilidade e adaptabilidade.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

23

2002/01/09

Especificação formal: definição e avaliação. Vantagens da especificação formal e seus pontos fracos. Razões para a sua não utilização em larga escala. Análise comparativa de custos de desenvolvimento com e sem especificação formal.

Tipos de abordagens em especificação formal e exemplos.

Software Eng. 92;

Software Eng. 95;

Fundamentals of Software Engineering;

Acetatos para apoio sumarial.

24

2002/01/11

   

25

2002/01/16

   

26

2002/01/18

   

27

2002/01/23

   

28

2002/01/25

   
       

 

 

Aulas Teórico - Práticas

 

Obs. Incluem-se, desde o início, os sumários das aulas previstas, que irão sendo alteradas, conforme a execução realizada.

 

 

Nº de Lição

Data

Sumário

Bibliografia

1

2001-10-10

Algumas indicações acerca da forma de funcionamento das aulas Teórico – práticas. Distribuição e execução das questões das ficha n.º 1. Objectivo: reflectir sobre as dificuldades de desenvolvimento de software e necessidade pra a eng. de software.

Colocaram-se os excertos de textos à discussão e teceram-se considerações prolongadas relativas a cada um, procurando responder às questões formuladas.

Ficha TP n.º 1; acetatos para apoio de conteúdos;

Software Eng. 95

2

2001-10-17

Início da reflexão sobre o tema tratado na ficha TP n.º 2: qualidades e natureza do software e princípios da engenharia de software. Reflectiu-se sobre algumas questões levantadas pelos excertos de texto alusivos aos termos em epígrafe.

Foi dado apoio aos alunos na resolução das questões, nomeadamente o esclarecimento de dúvidas quanto a alguns temas e ao contexto em que cada questão foi formulada.

Ficha TP n.º 1; ficha TP n.º 2;

Fundamentals of Software Engineering;

acetatos para apoio de conteúdos;

Software Eng. 95

3

2000-10-24

Continuação da execução da ficha TP n.º 2. Discussão de mais algumas questões com os alunos.

O aprofundamento e resposta às questões será objecto de laboração de pequeno relatório a entregar ao docente por cada grupo de 2 alunos, constituindo um dos elementos de avaliação, como foi definido aquando da estipulação das regras de avaliação da disciplina.

Ficha TP n.º 2; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

4

2000-10-31

Estudo do caso prático de desenvolvimento de software para central de comutação telefónica (ficha TP n.º 3). Resolução pelos alunos e resolução conjunta no final da aula.

Ficha TP n.º 3; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

5

2000-11-07

Finalização das questões relativas à ficha T.P. n.º 3: desenvolvimento de central telefónica.

Início do estudo do caso apresentado na ficha T.P. n.º 4, relativo a um exemplo de projecto em que foi utilizada uma metodologia evolucionária.

Ficha TP n.º 3; Ficha TP n.º 4; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

6

2000-11-14

Resolução e discussão conjunta das questões formuladas a propósito do caso descrito na ficha T.P. n.º 4: emprego de metodologia evolucionária na produção de software.

Ficha TP n.º 3; Ficha TP n.º 4; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

7

2000-11-21

Utilização dos conhecimentos em eng. de sistemas: enquadramento e objectivos dum sistema e definição da sua arquitectura.

Início da discussão e resolução das questões relativas á ficha de tralho nº. 5.

Ficha TP n.º 5; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

8

2000/11/28

Continuação da discussão e resolução das questões levantadas relativamente às perguntas formuladas na ficha de trabalho nº. 5, questões 2 e 3.

Apresentação e resolução conjunta de arquitecturas pra os sistemas propostos: desde soluções tradicionais, distribuídas, cliente/servidor e com replicação de dados.

Ficha TP n.º.5; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

9

2000/12/05

Finalização da resolução da ficha de trabalho nº. 5: pontos 4 e 5. Resolução conjunta e esclarecimento de dúvidas.

Ficha TP n.º 5; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

10

2000/12/12

Resolução da ficha de trabalho nº. 6. Planeamento e agendamento de um projecto de desenvolvimento de software.

Ficha TP n.º 6; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

11

2001/12/19

Início da resolução da ficha de trabalho nº. 7: cálcular e estimar os recursos e duração de um projecto de desenvolvimento de software. ponto 1.

Ficha TP n.º 7; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

12

2002/01/09

Finalizar a resolução da ficha de trabalho nº. 7: pontos 2, 3, 4 e 5. Cálculo do esforço e duração de um projecto de desenvolvimento de software, utilizando pontos de função, método COCOMO e Putnam.

Ficha TP n.º 7; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering;

13

2002/01/16

Apresentação dos trabalhos de investigação para seminário: trabalhos 1, 2, 3, e 4. Utilização de display de vídeo e acetatos pra exposição de cada um dos trabalhos por cada grupo de alunos.

Ficha TP n.º 8; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering e outros livros disponíveis na biblioteca. Inves-tigação de conteúdos disponíveis na Internet.

14

2002/01/23

Apresentação dos trabalhos de investigação para seminário: trabalhos 5, 6 , 9 e 10. Utilização de display de vídeo e acetatos pra exposição de cada um dos trabalhos por cada grupo de alunos.

Ficha TP n.º 8; acetatos para apoio de conteúdos;

Software Eng. 95;

Fundamentals of Software Engineering e outros livros disponíveis na biblioteca. Inves-tigação de conteúdos disponíveis na Internet.

 

última actualização: Outubro, 2001
página editada por: Jorge Loureiro