Como chegar
|
Contactos

Engenharia de Software 2017/2018

  • 7 ECTS
  • Lecionada em Português
  • Avaliação Contínua

Objetivos

Depois de concluída a unidade curricular, o aluno deverá ser capaz de compreender o papel do desenho no processo de desenvolvimento de sistemas informáticos (software): os princípios que possibilitam o desenho de sistemas informáticos com qualidade, a modelação de componentes de sistemas informáticos usando UML.
Concretamente, no final do semestre, espera-se que os estudantes sejam capazes de:
• desenvolver software com bons padrões de qualidade,
• usar ferramentas de gestão de versões
• elaborar planos de teste e executar esses testes
• Construir especificações de desenho usando ferramentas e técnicas de UML.
• Utilizar ferramentas automáticas de modelação de sistemas informáticos.

Pré-Requisitos Recomendados

Disciplinas: Programação, Desenvolvimento de SI
Conceitos de análise orientada a objetos usando UML; programação em Java

Método de Ensino

As aulas são de dois tipos: teórico-práticas com exposição, demonstração e discussão dos temas abordados, e práticas para realização de trabalhos práticos para treino das técnicas ensinadas.

Conteúdos Programáticos

Sistemas de controlo de versões. Utilização de GIT.
Tipos de testes. Desenho de casos de teste. Utilização das ferramentas JUnit e FitNesse.
Qualidade de software. Planeamento e documentação de testes.
Gestão da Qualidade: introdução à norma ISO 9001, na ótica do desenvolvimento de software.
Engenharia de software; a fase de desenho do processo de DSI
Desenho orientado a objectos usando UML
Utilização de ferramentas automáticas de modelação

Bibliografia e Webgrafia Recomendada

Nunes, M. e O’Neill, H., Fundamental de UML, FCA, 2ª ed., 2004
Barnes, D. e Kolling, M., Objects first with Java: a practical introduction using BlueJ, Pearson/Prentice Hall, 4ª Ed., 2008
Liang, Y. Daniel, Introduction to Java Programming, Pearson, 6ª Ed, 2007
Bernd Bruegge e Allen Dutoit, Object Oriented Software Engineering Using UML, Patterns, and Java ", 3ª Ed, Pearson, 2010
http://www-01.ibm.com/software/rational/
http://ocw.mit.edu/OcwWeb/web/home/home/index.htm
http://www.devx.com/
Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, 2008, ISBN-13: 978-0521880381
http://www.git-scm.com/book
http://fit.c2.com/
http://www.fitnesse.org/

Bibliografia Complementar

Ian Sommerville; Software Engineering (9th edition), Addison-Wesley, 2011. ISBN: 9780137035151
Cem Kaner, Jack Falk, Hung Quoc Nguyen; Testing Computer Software, Wiley, 1999.
ISBN:0-471-35846-0
Deitel e Deitel, Java How to Program, 7ª Edição, 2007, Prentice Hall
Roger S Pressman , Web Engineering: A Practioner's Approach, McGraw-Hill ,2008
Eric e Elisabeth Freeman, Head First Design Patterns, O’Reilly, 2004
Lopes. F., Morais, P., Carvalho, A., Desenvolvimento de Sistemas de Informação: métodos e técnicas, FCA, 2ª Ed, 2009
Gamma, E., et al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
Ilene Burnstein, Practical Software Testing: A Process-Oriented Approach, Springer Professional Computing, 2003, ISBN-13: 978-1441928856

Planificação Semanal

Semana 1: GIT
Semana 2: Tipos de testes. Trabalho de JUnit.
Semana 3: Desenho de casos de teste. Continuação do trabalho de JUnit.
Semana 4: FIT. Trabalho de FIT.
Semana 5: Qualidade de software. Continuação do trabalho de FIT.
Semana 6: Planeamento e documentação dos testes. Trabalho de elaboração de um plano de testes.
Semana 7: Qualidade – introdução à norma ISO 9001, na ótica do desenvolvimento de software. Mini-teste. Continuação do trabalho.
Semana 8: Engenharia de software; a fase de desenho do processo de DS; Falhas de sw
Semana 9 e 10: Desenho orientado a objectos usando UML, Diagramas de pacotes, de implementação e de atividades
Semana 11:Desenhar BD e UML: exercicios práticos
Semana 12: Casos praticos
Semana 13: Ferramentas de modelação
Semana 14: Mini-teste. Apresentação dos trabalhos.

Coerência do programa para com os objetivos

Em relação às ferramentas de gestão de versões, foi selecionado o GIT, que é a ferramenta com maior utilização.
As ferramentas JUnit para testes unitários e FIT (na versão Fitnesse) para testes de integração são gratuitas e de grande difusão, sendo bons exemplos de ferramentas deste tipo.
Na elaboração de planos de teste foi selecionado o modelo IEEE, que é a norma de mercado. A elaboração de planos de teste num formato normalizado é fundamental para um controlo sobre o processo de realização de testes, sem o qual não é possível garantir a qualidade do software desenvolvido.
Para que os estudantes saibam construir especificações de desenho usando ferramentas e técnicas de UML, será enquadrada a fase de desenho do processo de DSI,e serão estudados os modelos de UML a usar nesta fase. Serão estudadas ferramentas automaticas de modelação para suporte ao desenho destes modelos.

Coerência dos métodos de ensino para com os objetivos

As aulas teórico-práticas permitem transmitir rapidamente os conceitos fundamentais sobre as diversas matérias. As aulas práticas destinam-se a que os alunos resolvam problemas e realizem projetos onde aplicam esses conhecimentos, apercebendo-se das dificuldades práticas da sua aplicação, e cimentando os conceitos teóricos.

competência genérica relevantedesenvolvida?avaliada?
Análise e sínteseSimSim
Aptidão para aplicação na prática dos conhecimentos teóricosSimSim
Capacidade crítica e de avaliaçãoSimSim
Capacidade de investigaçãoSimSim
Competência em informática e uso de novas tecnologiasSimSim
Competência em língua estrangeiraSim 
Comportamento ético e responsável  
CriatividadeSimSim
Preocupação com a eficáciaSimSim
Preocupação com a qualidadeSimSim
Relacionamento interpessoal  
Resolução de problemasSimSim
Trabalho em equipaSimSim
Este website usa cookies para funcionar melhor e medir a performance (Diretiva da União Europeia 2009/136/EC)
Por favor dispense alguns minutos para responder a umas perguntas rápidas sobre o nosso website.