UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC
CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ – CEAVI
PLANO DE ENSINO
DEPARTAMENTO: Sistemas de Informação
DISCIPLINA: Engenharia de Software Aplicada
PROFESSOR: Pablo Schoeffel
CARGA HORÁRIA TOTAL: 72 h/a
SIGLA: ESA
E-MAIL: [email protected]
TEORIA:
PRÁTICA: 72 h/a
CURSO(S): Bacharelado em Sistemas de Informação
SEMESTRE/ANO: 2013/2
PRÉ-REQUISITOS:
OBJETIVO GERAL DO CURSO:
O curso de Bacharelado em Sistemas de Informação objetiva formar profissionais críticos, criativos,
investigativos, éticos e empreendedores. Além disso, deverão ser capazes de atuar em ambientes gerais de
informática, como no desenvolvimento, análise, implementação, gerenciamento, gestão de contratos,
modelagem e gestão de projetos. Inclusive, os profissionais deverão ter a capacidade de desenvolver
soluções apoiadas em tecnologias de informação (computação e comunicação), dados e sistemas que
abordem processos administrativos e de negócios das organizações.
EMENTA:
Modelagem de sistemas: a especificação da arquitetura do sistema, componentes de software.
Modelagem UML (diagramação, dicionário de dados e modelagem de dados). Projeto físico de Software:
estudo de hardware. Ferramentas Case. Reengenharia. Especificação/ Implementação de um projeto de
software. Técnicas de teste de software.
OBJETIVO GERAL DA DISCIPLINA:
Permitir ao aluno concretizar seu conhecimento em análise e projeto de sistemas partindo da
definição do problema, definindo os requisitos, elaborando um projeto lógico a fim de implementar um
software a partir da documentação resultante.
OBJETIVOS ESPECÍFICOS/DISCIPLINA:
i) Relembrar e reforçar os principais conceitos de Engenharia de Software
ii) Levantar os requisitos de sistema;
iii) Gerar documentação de projeto de software (diagramação UML);
iv) Aplicar ferramentas CASE;
v) Realizar engenharia reversa;
vi) Conhecer e aplicar técnicas de testes;
vii) Avaliar a qualidade do software desenvolvido.
viii) Conhecer as práticas dos métodos ágeis
CRONOGRAMA DAS ATIVIDADES:
Nro. Data Horário
Conteúdo
1
2
29/07
31/07
18:50 – 20:30
20:40 – 22:20
3
05/08
18:50 – 20:30
4
5
07/08
12/08
20:40 – 22:20
18:50 – 20:30
6
14/08
20:40 – 22:20
7
19/08
18:50 – 20:30
8
21/08
20:40 – 22:20
9
10
11
12
13
14
26/08
28/08
02/09
04/09
09/09
11/09
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
15
16
17
18
16/09
18/09
23/09
25/09
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
19
30/09
18:50 – 20:30
20
21
22
22
23
24
25
26
27
28
29
02/10
07/10
09/10
14/10
16/10
21/10
23/10
30/10
04/11
06/11
11/11
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
18:50 – 20:30
18:50 – 20:30
30
31
32
13/11
18/11
20/11
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
33
25/11
18:50 – 20:30
34
35
36
27/11
02/12
04/12
20:40 – 22:20
18:50 – 20:30
20:40 – 22:20
37
09/12
11/12
18:50 – 20:30
20:40 – 22:20
Apresentação da Disciplina / Motivação para Modelagem de Sistemas
Modelagem de sistemas: modelagem no contexto dos ciclos de vida de
desenvolvimento (Cascata, Iterativo Incremental, Ágil)
Modelagem de sistemas: processo de projeto de software
Modelagem de sistemas: projeto lógico x projeto físico
Modelagem de sistemas: Técnicas de elicitação de requisitos
Modelagem de sistemas: Conceitos e Visão Geral da UML
Ferramentas CASE: conceito, introdução e demonstração do EA
Projeto Lógico: Especificação de requisitos (Diagrama de Requisitos,
Histórias)
Projeto Lógico: Diagrama de Casos de Uso (atores, estrutura do diagrama,
conectores, pacotes, boundary)
Projeto Lógico: Diagrama de Casos de Uso (cenários, pré e pós
condições, rastreabilidade com requisitos)
Projeto Lógico: Diagrama de Casos de Uso (exercícios)
Projeto Lógico: Diagrama de Casos de Uso (exercícios)
Projeto Lógico: Diagrama de Casos de Uso (exercícios)
Projeto Lógico: Prototipação (conceitos e ferramentas)
Projeto Lógico: Prototipação (exercícios)
Projeto Lógico: Diagrama de Atividades (negócio, cenários)
Projeto Lógico: Diagrama de Estados
Projeto Lógico: Diagrama de Classes (domínio)
Projeto Lógico: Diagrama de Classes (Exercícios)
Projeto Lógico: Diagrama de Objetos
Projeto Lógico: Modelo de dados (mapeamento oo/relacional)
Projeto Lógico: Modelo de dados (exercício)
Trabalho 1 (parte 1): Especificação de um projeto de software: Entrega e
Apresentação do Trabalho
Prova 1 (P1)
Projeto Físico: Diagrama de Sequencia (geração dos cenários)
Projeto Físico: Diagrama de Sequencia (MVC)
Projeto Físico: Diagrama de Sequencia (Exercícios)
Projeto Físico: Diagrama de Componentes
Projeto Físico: Diagrama de Implantação
Projeto Físico: Realização de UC / Diagrama Geral de Interação
Ferramentas CASE: Gerando artefatos
Modelagem de sistemas: engenharia reversa e reegenharia
Prova 2 (P2)
Técnicas de Testes de Software: conceitos, tipos, fases e processos de
teste. Trabalho 1 (parte 2): Entrega
Técnicas de Testes de Software: Testes caixa-branca (unitários)
Técnicas de Testes de Software: TDD (conceito e exercícios)
Técnicas de Testes de Software: Testes caixa-preta (funcionais, casos de
teste)
Técnicas de Testes de Software: Automação de testes (conceitos e
ferramentas)
Técnicas de Testes de Software: Automação de testes (exercício)
Prova 3 (P3)
Trabalho 1: Revisão e avaliação do trabalho. Revisão e entrega da Prova
3.
Fechamento da disciplina e divulgação das médias
Exame Final
METODOLOGIA PROPOSTA:
A disciplina visa revisar rapidamente alguns conceitos de Engenharia de Software, através da
exposição de slides e exercícios. Após isso, o foco principal está na aplicação dos conceitos e técnicas
aprendidos, através da utilização prática de uma ferramenta CASE (Enterprise Architect) para modelagem de
software. Nesse estágio, as aulas serão expositivas, sendo que os alunos aplicarão em seguida os conceitos na
ferramenta utilizando um estudo de caso, além de desenvolverem um trabalho completo interdisciplinar, cuja
especificação será utilizada para o desenvolvimento em outra disciplina. Para as atividades de testes, serão
demonstradas ferramentas e realizados aplicações práticas também. Para o assunto de métodos ágeis, serão
realizadas algumas dinâmicas para facilitar o aprendizado e um trabalho prático para exemplificar o
funcionamento dos métodos.
AVALIAÇÃO:
A disciplina será avaliada por diversos instrumentos, conforme a seguir:
Trabalho 1 (T1): trabalho em grupo de projeto e especificação de um software, com objetivo de
aplicar as práticas de Engenharia de Software. O T1 será composto de 2 entregas, sendo que a nota será
composta da seguinte forma: 50% - Entrega1; 50% - Entrega2. Para alunos matriculados nas disciplinas de
PAI e INA será um projeto interdisciplinar, para os demais um outro projeto a ser desenvolvido.
Trabalhos de aula (T2): exercícios e trabalhos realizados em sala de aula durante todo o semestre e
que deverão ser entregues para compor a nota de T2. A nota final de T2 será igual à quantidade de trabalhos
entregues / quantidade total de trabalhos realizados.
Prova 1 (P1): prova objetiva e, eventualmente, com questões subjetivas, referente ao conteúdo
explanado até o momento da avaliação. Poderá ser utilizada ferramenta CASE para resolução da avaliação
Prova 2 (P2): prova objetiva e, eventualmente, com questões subjetivas, referente ao conteúdo
explanado até o momento da avaliação. Poderá ser utilizada ferramenta CASE para resolução da avaliação
Prova 3 (P3): prova objetiva e, eventualmente, com questões subjetivas, referente ao conteúdo
explanado até o momento da avaliação. Poderá ser utilizada ferramenta CASE para resolução da avaliação
FÓRMULA: ((T2 * 15) + (P1 * 15) + (P2 * 15) + (P3 * 15) + (T1 * 4))/100
BIBLIOGRAFIA BÁSICA:
1.
CONALLEN, Jim. Desenvolvendo aplicações WEB com UML. Rio de Janeiro:
Campus, 2003. 476 p.
2.
GUEDES, Gilleanes T. A. UML 2: uma abordagem prática. São Paulo: Novatec,
2009. 485 p.
3.
LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto
orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre: Bookman, 2007. 695 p.
4.
PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos, métodos e
padrões. 3.ed. Rio de Janeiro: LTC, c2009. 1248 p.
5.
PRESSMAN, Roger S. Engenharia de software. 6. ed. São Paulo: McGraw-Hill,
2006. 720 p.
6.
SOMMERVILLE, Ian; MELNIKOFF, Selma Shin Shimizu; ARAKAKI, Reginaldo;
BARBOSA, Edilson de Andrade. Engenharia de software. 8. ed. São Paulo: Pearson, c2007. 552 p.
BIBLIOGRAFIA COMPLEMENTAR:
7.
CARNEGIE MELLON UNIVERSITY. CMMI for development, version 1.2.
Pittsburgh, 2006. 573 p.
8.
MAGELA, Rogério. Engenharia de software aplicada: fundamentos. Rio de Janeiro:
Alta Books, 2006. 418 p.
9.
MAGELA, Rogério. Engenharia de software aplicada: princípios. Rio de Janeiro:
Alta Books, 2006. 337 p.
10.
PFLEEGER, Shari Lawrence; FRANKLIN, Dino. Engenharia de software: teoria e
prática. 2. ed. São Paulo: Prentice Hall, 2004. 537 p.
11.
SWEBOK. Guide to the Software Engineering Body of Knowlegment, IEEE, 2004.
12.
SOFTEX. MPS.BR - Melhoria de processo do software brasileiro: guia geral. [S.l],
2009. 56 p.
Download

PLANO DE ENSINO DEPARTAMENTO: Sistemas de Informação