Engenharia de Software › 41492

código no paco
41492
área científica
Informática / Sistemas de Informação
créditos
6
escolaridade
ensino teórico (T) - 2 horas/semana
ensino prático e laboratorial (PL) - 2 horas/semana
idioma(s) de lecionação
Português, Inglês
objectivos

O principal objectivo deste curso é implementar uma aplicação de nível empresarial (J2EE) que FUNCIONE desenvolvido no seio de uma equipa seguindo metodologia de desenvolvimento baseada em testes. Ao longo cursos os conceitos principais relacionados com testes e qualidade de software serão apresentados e aplicados nos projectos.

competências

After completing the course students will:

 

Understand:

  • that methodological approaches in software development  process help producing good software but are NOT the only factor
  • the basic concepts of testing in focus on TDD
    • From unit to system testing: test design, Unit testing, Refactoring
    • Continuous integration
  • the fundamentals of Software architecture
    • Focus on Service Oriented Architectures
    • J2EE basic concepts (e.g. EJB 3.x , JPA )
    • The impact of software architecture in the software quality factors

 

Be able to:

  • To apply the acquired knowledge to implement a WORKING medium size system
    • Following a TDD approach to software development
    • Involving SOA architecture based on J2EE
  • Work in a team within an agile iterative framework
    • Make intelligent design decisions and to deal with diverse opinions
    • Deliver results on time according to specification
  • Produce good code that works
conteúdos

Module 1 – concepts

1- J2EE framework

  • Business layer: webservices and EJB
  • Presentation layer: servlets and JSF
  • Persistence layer: Java Persistence API

2- Quality of software and Testing

  • Concepts and scope
  • Behaviour and test Driven Development
  • Continuous integration
  • Testing in practice: junit, jmock,Hudson, …

 

Module 2 - Project development

avaliação

O curso adopta a avaliação contínua. A avaliação será suportada no projecto do curso baseda a em duas componentes:

- equipa (40%)

            Baseada na avaliação do resultado final mas também na evolução do projecto ao longo de várias iterações e apresentações. Os clientes do projecto e um juri externo serão responsáveis por 10% desta componente.

- pessoal (60%)

            Baseada nos resultados dos testes e  no desempenho nas apresentações pessoais e na avaliação da participação pessoal no âmbito do projecto e da equipa.

 

requisitos

Desejável possuir alguma experiência em programação orientada por objectos (e.g. Java, C++, C#) e na modelação de sistemas baseada em UML (e.g. modelação de casos de uso, modelaçao de classes, ...)

metodologia

O principal objectivo deste curso é implementar uma aplicação de nível empresarial que FUNCIONE desenvolvido no seio de uma equipa seguindo metodologia de desenvolvimento baseada em testes. Ao longo cursos os conceitos principais relacionados com testes e qualidade de software serão apresentados e aplicados nos projectos.

O curso é dividido em dois módulos.

O Módulo 1 irá abordar os tópicos de engenharia e arquitectura de software usandos framework J2EE como a arquitectura de referência para a implementação dos projectos. A plataforma J2EE será apresentada conjuntamente com a melhores práctica de desenvolvimento de software nomeadamente com recurso ao desenvolvimento baseado em testes suportado na OpenUP. Nas aulas téoricas os conceitos serão apresentados (suportados em leituras recomendadas ) e consolidados nas aulas laboratoriais através de exercícios simples com grau de dificuldade incremental.

O modulo 2 terá o projecto como resultado principal e será onde os alunos irão aplicar os conhecimentos adquiridos nas aulas. As aulas serão usadas para suportar o projecto e para abordar matérias idenficadas como relavantes durante o decorrer dos projectos. Os projectos terão equipas de 4 a 6 elements e deverão seguir metodologia de desenvolvimento baseada em testes no seu desenvolvimento. Os alunos são responsáveis por gerir e estruturar o seu trabalho sobre uma supervisão passiva dos docentes. Durante o projecto as equipas terão de fazer apresentações e relatórios períodicamente onde terão oportunidade de explicar, suportar as suas decisões e receber feedback.

bibliografia recomendada

There is no course textbook given the wide spectrum of ES. Here are some useful books on software engineering, some of them are already available in the BUA. Some relevant material will also be referred as “recommended” or “mandatory” readings of specific lectures.

 

Some useful references include:

 

Karl Wiegers, Joy Beatty, Software Requirements (3rd Edition) (Developer Best Practices) 3rd Edition, Publisher: Microsoft Press; 3 edition (August 25, 2013) ISBN-10: 0735679665, ISBN-13: 978-0735679665

 

var Jacobson, Ian Spence, Kurt Bittner, USE-CASE 2.0 EBOOK,  Online: http://www.ivarjacobson.com/Use_Case2.0_ebook/

 

Peter Farrell-Vinay, Manage Software Testing, Auerbach Publications (2008) - ISBN-10: 0849393833

 

Scott L. Bain, Emergent Design: The Evolutionary Nature of Professional Software Development , Addison-Wesley Professional; 1 edition (March 8, 2008) - ISBN-10: 0321509366

 

Peter Eeles and Peter Cripps, The Process of Software Architecting , Addison-Wesley Professional; 1 edition (July 24, 2009) - ISBN-10: 0321357485

Este sítio web utiliza cookies sem recolher informação pessoal que permita a identificação dos utilizadores. Ao navegar neste sítio está a consentir a sua utilização.saber mais
Para que esta página funcione corretamente deve ativar a execução de Javascript. Se tal não for possível, algumas funcionalidades poderão estar limitadas.