You are here

EA975 - Laboratório de Engenharia de Software

Programação das Aulas do Curso

Notas

Vetor da Disciplina segundo a DAC

OF:S-1 T:000 P:000 L:002 O:000 D:000 HS:002 SL:002 C:002 AV:N EX:S FM:75%
Pré-Req.: EA976/ MC436

Ementa

Projeto e desenvolvimento de sistemas complexos de software.

Planejamento do Curso:

Os alunos definirão equipes para o desenvolvimento de projetos de software. Os projetos serão desenvolvidos em 1 ciclo de quatro etapas:

(i) especificação dos requisitos do sistema,
(ii) análise de requisitos,
(iii) projeto, e
(iv) implementação e testes.

Ao final de cada etapa, cada equipe apresentará um novo release do relatório contendo a documentação completa do projeto em desenvolvimento. Ao final do curso cada equipe apresentará a documentação completa do sistema desenvolvido e um protótipo funcional do mesmo.

Paralelamente ao desenvolvimento dos projetos, os seguintes tópicos serão abordados, dependendo dos projetos desenvolvidos:

1. Introdução ao ambiente de desenvolvimento. Ferramenta CASE para desenvolvimento de sistemas.

2. Fundamentos de programação orientada a objetos. Linguagens de modelagem e metodologias de desenvolvimento de sistemas orientadas a objeto.

3. A Linguagem UML. Diagramas de Use-Case. Diagramas de Classe. Diagramas de Sequência. Diagramas de Colaboração/Comunicação. Diagramas de Estado. Diagramas de Atividade. Diagramas de Componentes. Diagramas de Deployment.

4. Construção de interfaces com usuários. Ferramentas de auxílio à construção de interfaces. A linguagem Java.

5. Noções de banco de dados. A linguagem SQL. O pacote Java-JDBC para acesso a bancos de dados SQL.

6. Ambientes integrados de desenvolvimento. Editores sensitivos a contexto. Controle de versões de software. Testes e depuração.

7. Documentação de programas e projetos.

Critério de Avaliação

O desenvolvimento se dará na forma de 1 ciclo iterativo, abrangendo as seguintes atividades:

ER: Especificação dos Requisitos
A: Análise
D: Design
I: Implementação

Ao final de cada etapa, cada equipe deverá apresentar um release do relatório com a documentação parcial desenvolvida até aquela etapa, enviado por e-mail ao professor. Após a apresentação do release, cada equipe deverá agendar com o professor um horário para a discussão do release, onde os erros na elaboração serão ressaltados e os pontos para aperfeiçoamento serão apontados. As sugestões e erros nos releases do relatório devem ser incorporados e corrigidos nos releases consecutivos. Somente o release final sofrerá avaliação com nota. Essa nota será emitida considerando-se os seguintes quesitos:

- Pontualidade na Entrega dos Releases
- Participação do Aluno na Elaboração do Relatório
- Grau de dificuldade da aplicação escolhida
- Verificação da Corretude da Documentação
- Verificação da Funcionalidade do Pacote de Software desenvolvido

A cada grupo será atribuída um logotipo NNN. Os releases devem ser enviados ao professor na forma de um arquivo zipado com o nome NNNU.zip, onde:

NNN - é o logotipo do grupo
U é a versão do release, onde:
U - é a atividade desenvolvida (ER=1, A=2, D=3, I=4)

(Exemplo: GRPA1.zip, GRPA2.zip, GRPA3.zip, GRPA4.zip)

Esse arquivo zip deve conter a documentação em formato PDF e, durante a fase de implementação, os fontes dos arquivos .java desenvolvidos e um arquivo .jar com o executável do programa desenvolvido

Para efeito da avaliação no curso, teremos, além do relatório final RF, uma nota de arguição A, atribuída individualmente a cada aluno durante um processo de arguição coletiva a ser agendado após a entrega do release final e (eventualmente) um exame - E. Para efeito da atribuição da nota A, o grupo deve agendar um período de 2 horas após a entrega do release final onde toda a equipe deve estar presente. Caso algum aluno do grupo não possa estar presente na arguição coletiva, será arguido individualmente nos mesmos moldes da arguição coletiva, em outra data, a ser agendada previamente junto ao professor. Durante a arguição, os alunos serão arguidos com relação à capacidade de desenvolver e ler os diagramas utilizados durante o projeto, podendo ou não se referir a diagramas desenvolvidos durante o projeto a que o aluno participou. Por este motivo, é extremamente importante que os alunos participem do desenvolvimento de todos os diagramas, e não somente de alguns deles, pois o conhecimento da leitura e desenvolvimento de diagramas para todas as fases será cobrado do aluno.

N = (RF + A) / 2

Se N < 5,
Nota Final = (N + E) / 2
Caso contrário
Nota Final = N

Bibliografia Básica

  • Ricardo R. Gudwin - Engenharia de Software - Uma Visão Prática - 2a. edição 2015 (versão eletrônica)
  • OMG Unified Modeling Language Specification - Version 2.5, March 2015 (versão eletrônica)
  • Mary Campione, Kathy Walrath - The Java Tutorial : Object-Oriented Programming for the Internet (Java Series) Addison-Wesley Pub Co, 2nd ed. 1998 (versão eletrônica)

Bibliografia de Apoio

  • Craig Larman - Applying UML and Patterns - An Introduction to Object Oriented Analysis and Design - Prentice Hall Inc., New Jersey 1998.
  • Modelagem de Objetos através da UML - Análise e Desenho Orientados a Objeto - José Davi Furlan - Makron Books, 1998
  • Ivar Jacobson, Grady Booch, James Rumbaugh - The Unified Software Development Process - Addison Wesley, 1999.
  • Grady Booch, James Rumbaugh, Ivar Jacobson - The Unified Modeling Language User Guide - Addison Wesley, 1999
  • James Rumbaugh, Ivar Jacobson, Grady Booch - The Unified Modeling Language Reference Manual - Addison Wesley, 1999

 

 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer