Engenharia de Software - 2020.1

Esta página é destinada aos alunos da disciplina Engenharia de Software do curso de Bacharelado em Sistemas de Informação do Instituto Federal de Educação, Ciência e Tecnologia da Bahia (IFBA) campus Vitória da Conquista e será mantida pelo professor Crescencio Rodrigues Lima Neto.
Aqui se encontra informações sobre a disciplina, incluindo: identificação do professor, horários, objetivos, plano de aulas, material das aulas, bibliografia, recursos usados nas aulas e avisos importantes.

Informações gerais

Horário: Sexta 18:20-22:00h
Local: Lab H403
Horário de adentimento: 16:00-18:00h.
Email: crescencio [at] gmail [dot] com
Plano de Ensino: Link
Calendário da disciplina: clique aqui

Objetivos Gerais

O objetivo principal da disciplina é apresentar e discutir, de forma prática, as principais fases do ciclo de vida de desenvolvimento de software. A disciplina proporciona ao acadêmico o estudo e compreensão dos conceitos básicos de Engenharia de Software. Possibilitar ao aluno o embasamento necessário para que o mesmo compreenda a importância e os desafios da engenharia de software e possa fazer uso desse conhecimento durante o curso e em sua vida profissional.

Objetivos Específicos

• Compreender os princípios que regem um bom projeto de software;
• Compreender conceitos de arquitetura de um software e reconhecer desafios relacionados ao projeto arquitetural de um software;
• Fazer o projeto detalhado de um software, seguindo princípios de projeto;
• Aplicar padrões de projeto e padrões arquiteturais no projeto de software;
• Usar métricas de para medir e avaliar projeto.

Competências

• Elicitar, especificar, rastrear e gerenciar requisitos de software, bem como projetar, especificar, implementar, implantar, verificar, validar e manter (evoluir ou corrigir) sistemas de software de maneira apropriada;
• Dominar tecnologias de engenharia de software;
• Capaz de criar, implantar, refinar e avaliar processos organizacionais, relacionados à construção de software, que visão garantir maior produtividade, qualidade, alinhamento da produção aos objetivos das organizações e conformidade com a legislação vigente nas esferas local, regional, nacional e mundial.

Habilidades

• Possibilitar ao aluno a compreensão dos conceitos de Engenharia de Software;
• Habilidade para interpretação, elaboração e execução de projetos;
• Capacidade de trabalho em equipes multidisciplinares;
• Habilidade para resolver problemas com flexibilidade e criatividade face aos diferentes contextos organizacionais e sociais;
• Habilidade para trabalhar em projetos de pesquisa e no desenvolvimento e aplicação de novas tecnologias;
• Capacidade de adaptação à evolução tecnológica e dos métodos e técnicas de computação.

Metodologia

Esta proposta de trabalho se desenvolverá por meio de aulas expositivas, discussão dos conceitos e dos problemas referentes aos assuntos abordados, trabalhos individuais e em grupo e produção de textos. Para tanto, será necessário o uso dos seguintes recursos:
• Data-show;
• Quadro branco;
• Vídeos;
Como atividade prática, os alunos irão desenvolver um projeto, aonde será utilizado a metodologia ágil Scrum. A cada 15 dias serão entregues partes funcionais do projeto. Ao final da disciplina, os alunos apresentarão o projeto final.

Ementa

Histórico da produção de software e a origem e os objetivos da Engenharia de Software. O processo de desenvolvimento de software e o produto de software. Ciclo de vida de sistemas e seus paradigmas. Uso de modelos, metodologias, técnicas e ferramentas de análise e projeto de sistemas. Paradigma estruturado e paradigma orientado a objetos. Padrões de desenvolvimento. Reuso, engenharia reversa e reengenharia. Sistemas de informação de suporte ao processo decisório tático e estratégico (SAD, SIG, EIS). Tecnologias de informação aplicadas a sistemas de informação de suporte ao processo decisório estratégico e tático. Processo de desenvolvimento de sistemas de informação para suporte ao processo decisório e estratégico. Características e funcionalidades de sistemas de informação de nível tático e estratégico nas organizações.

Conteúdo Programático

1. Introdução à Engenharia de Software
2. Processos de Software
3. Gerência de Projetos
4. Engenharia de Requisitos
5. UML
6. Verificação & Validação
7. Gerência de Configuração
8. Arquitetura de Software
9. Teste de Software
10. Reuseo de Software
11. Linha de Produto de Software.

Sistema de Avaliação

A avaliação será realizada de forma contínua, levando em consideração a participação nas discussões em sala de aula, com o objetivo de diagnosticar a situação da aprendizagem de cada aluno, em relação a proposta de trabalho. Assim, o processo avaliativo será constituído por:
• 1ª Avaliação: Avaliação em grupo (Valor 8,0) e individual escrita (Valor 2,0);
• 2ª Avaliação: Avaliação em grupo (Valor 8,0) e individual escrita (Valor 2,0)
• 3ª Avaliação:
• As notas de Participação, assiduidade e envolvimento com os conteúdos serão somadas as notas das avaliações acima. Além disso, o instrumento de avaliação (vide Anexo no Plano de Ensino: Link) será utilizado inicialmente com 6 quesitos de avaliação, podendo ser alterado e adaptado até 10 quesitos.

Avaliação 1 = X pontos
Avaliação 2 = Y pontos
Avaliação 3 = Z pontos
Média = (ΣPontos)÷3
Se Média ≥ 7,0 ⇒ Aprovação
Se Média < 7,0 ⇒ Avaliação Final
Nota Final = ((2*Média) + Avaliação Final)÷3
Se Nota Final ≥ 5,0 ⇒ Aprovação
Se Nota Final < 5,0 ⇒ Reprovação

Bibliografia Básica

SOMMERVILLE I. Engenharia de Software. Editora Pearson. 8a Edição, 2007
PFLEEGER S. Engenharia de Software: Teoria e Prática. Ed. Campus, 2004.
PRESSMAN R. Engenharia de Software. Ed. McGraw-Hill, 2002.


Bibliografia Complementar

WAZLAWICK R. Análise e Projeto de Sistemas de Informação Orientados A Objetos. Ed. Campus, 2004.
BEZERRA E. Princípios de Análise e Projeto de Sistemas com UML. Ed. Campus, 2003.

Programação de Aulas

Disponível no google classroom da turma.
Acesse: classroom.google.com
Join class e digite o código:

3a536bj