UNIVERSIDADE FEDERAL DE UBERLÂNDIA
  

Timbre

Ficha de Componente Curricular

 

CÓDIGO:

 

COMPONENTE CURRICULAR:

ENGENHARIA DE SOFTWARE

UNIDADE ACADÊMICA OFERTANTE:

FACULDADE DE ENGENHARIA ELÉTRICA

SIGLA:

FEELT

CH TOTAL TEÓRICA:

30 horas

CH TOTAL PRÁTICA:

15 horas

CH TOTAL:

45 horas

 

OBJETIVOS

Objetivo principal desse curso é estudar, analisar, discutir, e aplicar os fundamentos de Engenharia de Software. Do ponto de vista prático, os conceitos estudados serão aplicados no desenvolvimento de um projeto de um sistema de informação SaaS simples.

Ao final da disciplina, os estudantes devem ser capazes de:

      i. Entender os novos desafios, oportunidades e problemas em aberto do novo cenário da indústria de software como serviço e as principais diferença sem relação ao software empacotado (SWS, shrink-wrapped software);

     ii. Definir estratégias de concepção de projetos de Software, notadamente, as relacionadas com aspectos de Engenharia de Sistemas, com noções de particionamento de problemas, análise e concepção de projeto;

    iii. Desenvolver um projeto de um sistema de informação - SaaS – simples desde a concepção através de planejamento, desenvolvimento, avaliação/teste, implantação e operação, enfrentando os desafios inerentes de cada fase e elaborando a documentação das fases e do sistema;

    iv. Compreender e utilizar ferramentas e metodologias de desenvolvimento de software, tais como as envolvidas com projetos orientados a objetos e ágeis;

    v. Desenvolver habilidades técnicas e de colaboração para trabalhar em times de desenvolvimento software;

    vi. Compreender e aplicar estruturas, padrões e técnicas fundamentais de elaboração de projetos de software e a respectiva programação, incluindo padrões de projeto para arquitetura de software, funções de ordem superior, metaprogramação, reflexão, entre outras, para melhorar a capacidade de manutenção, modularidade e reutilização de software;

       vii. Compreender e ser capaz de gerenciar projetos de Engenharia de Software, com uso de ferramentas de gestão de projetos.

 

Ementa

Princípios da Engenharia de Software, seus objetivos, atividades, papéis, recursos, como planejar um projeto, descobrir requisitos, abstrair uma proposta de construção de um produto de software e apresentar uma solução que será construída de forma iterativa, bem como a continuidade da vida útil deste produto.

 

PROGRAMA

1. Introdução à Engenharia de Software

      a. Crise do Software

      b. Mitos da Engenharia de Software

2. Paradigmas da Engenharia de Software

      a. Ciclo de Vida Clássico

      b. Prototipação

      c. Modelo Espiral

      d. Desenvolvimento Orientado a Objetos – Fases, Casos de Uso, Diagramas de Estado, Diagramas de Classe, Diagramas de Implementação

3. Engenharia de Sistemas

      a. Métodos Ágeis em Processos de Desenvolvimento de Software

            i.  Rational Unified Process

            ii. Extreme Programming

            iii. Feature Driven Development

            iv. Test Driven Developments

            v. Scurm

      b. Metodologias ágeis: trabalhando com o cliente

      c. Aplicação de metodologia ágil no desenvolvimento de projetos

      d. Habilidades do engenheiro de software

      e. Análise de Sistemas e Requisitos

      f. Testes de Software – verificação, validação

      g. Testes de Software automatizados

4. Manutenção de Software

      a. Manutenção: corretiva, adaptativa, perfectiva, preventiva

      b. Engenharia reversa

      c. Reengenharia

5. Gerência de Configuração e Mudança

      a. Controle de alterações e versões

      b. Baseline

6. SaaS e Arquitetura Orientada a Serviço; Computação em Nuvem; Código Legado; Qualidade; Produtividade

7. Ciclo de Vida: Dirigido a Plano vs Ágil

8. Arquitetura SaaS: 3 camadas, REST, templates

9. Devops

Obs.: Parte Prática: Desenvolvimento de uma solução de software, executável que, na entrega deve apresentar a documentação do sistema e seu funcionamento.

 

BIBLIOGRAFIA BÁSICA

1. MEDEIROS, Ernani. Desenvolvendo software com UML 2.0: definitivo. São Paulo: Pearson Makron Books, 2004.

2. PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional. Porto Alegre: McGraw-Hill, 2011.

3. SOMMERVILLE, Ian. Engenharia de software. São Paulo: Prentice Hall, 2011.

 

BIBLIOGRAFIA COMPLEMENTAR

1. BEZERRA, EDUARDO. Princípios de análise e projeto de sistemas com UML. 3. ed. rev. e atual. Rio de Janeiro: Elsevier, 2015.

2. BLAHA, Michael. Modelagem e projetos baseados em objetos com UML 2. 2. ed. rev. e atual. Rio de Janeiro: Campus, 2006.

3. BOOCH, Grady. UML: guia do usuário. Rio de Janeiro: Campus, 2012.

4. PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos, métodos e padrões. 3. ed. Rio de Janeiro: LTC, 2009.

5. PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática. São Paulo: Pearson Education do Brasil, 2004.

6. PRESSMAN, ROGER S. Engenharia de software. São Paulo: McGraw-Hill, 2006.

7. SURYN, Witold. Software quality engineering: a practitioner's approach. Hoboken: IEEE Computer Society: Wiley, 2014.

ebook: <http://ieeexplore.ieee.org/servlet/opac?bknumber=6798073>. Acesso em: 5 jun. 2018.

8. TONSIG, Sérgio Luiz. Engenharia de software: análise e projeto de sistemas. 2. ed. rev. e ampl. São Paulo: Ciência Moderna, 2008.

 

aprovação

 

Prof. Dr. Carlos Eduardo Tavares

Coordenador do Curso de Graduação em Eng. Elétrica

Prof. Dr. Sérgio Ferreira de Paula Silva

Diretor da Faculdade de Eng. Elétrica

 


logotipo

Documento assinado eletronicamente por Carlos Eduardo Tavares, Coordenador(a), em 04/06/2019, às 13:56, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


logotipo

Documento assinado eletronicamente por Sergio Ferreira de Paula Silva, Diretor(a), em 05/06/2019, às 15:59, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 1174264 e o código CRC AC597BB5.




Referência: Processo nº 23117.025407/2019-56 SEI nº 1174264