0% acharam este documento útil (0 voto)
1 visualizações3 páginas

PDSII

A disciplina de Programação e Desenvolvimento de Software II da UFMG visa ensinar técnicas básicas de desenvolvimento, teste e análise de programas, com foco em resolução de problemas de forma eficaz. Os alunos aprenderão sobre programação defensiva, boas práticas de desenvolvimento e introdução à orientação a objetos, além de desenvolver programas de tamanho moderado. A bibliografia inclui obras renomadas sobre refatoração, programação e testes de software.

Enviado por

Vojao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
1 visualizações3 páginas

PDSII

A disciplina de Programação e Desenvolvimento de Software II da UFMG visa ensinar técnicas básicas de desenvolvimento, teste e análise de programas, com foco em resolução de problemas de forma eficaz. Os alunos aprenderão sobre programação defensiva, boas práticas de desenvolvimento e introdução à orientação a objetos, além de desenvolver programas de tamanho moderado. A bibliografia inclui obras renomadas sobre refatoração, programação e testes de software.

Enviado por

Vojao
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Universidade Federal de Minas Gerais

Instituto de Ciências Exatas


Departamento de Ciência da Computação

PROGRAMA DE DISCIPLINA

ANO: 2018/2o

DISCIPLINA: PROGRAMAÇÃO E DESENVOLVIMENTO DE SOFTWARE II


Professor:

CÓDIGO: DCC204
CLASSIFICAÇÃO: OP
CRÉDITOS: 04
CARGA HORÁRIA: TEÓRICA: 060 horas
PRÁTICA: 000 horas
TOTAL: 060 horas
PRÉ-REQUISITO: DCC 203 - Programação e Desenvolvimento de
Software I
PERÍODO: OP

EMENTA: Programação estruturada e linguagem de programação modular.


Metodologias de desenvolvimento de software. Compreensão, corretude e
depuração de programas. Resolução de problemas de forma modular e
eficiente.

A – OBJETIVO

O objetivo da disciplina é apresentar técnicas básicas de desenvolvimento, teste e análise


de programas de computador, para a resolução de problemas de forma eficaz. É esperado
que nesta disciplina os alunos desenvolvam seus primeiros programas de tamanho
moderado, motivando a necessidade de uso de boas práticas de desenvolvimento, fixando
os conteúdos abordados através de atividades práticas. Concluindo o curso, os alunos
deverão dominar as técnicas mais básicas utilizadas no processo de desenvolvimento de
software

B – PROGRAMA

Desenvolvimento de software
Desenvolvimento de programas corretos
1. Tipos de erros (sintáticos, lógicos e de execução)
2. Conceito de especificação de software
3. Revisão de código
4. Testes, geração de casos de teste e teste de unidade
5. Estratégias de depuração
6. Revisão de código
Programação defensiva
1. Fundamentos de conceitos de segurança
2. Validação de entrada e de parâmetros de funções
3. Tratamento de exceções e implicações para segurança
4. Estratégias de prevenção de erros que levem a programas inseguros, como estouros
de pilha, vazamento de memória e códigos maliciosos
Boas práticas de desenvolvimento
1. Introdução ao controle de versão
2. Desenvolvimento e uso de bibliotecas e APIs
3. Documentação e estilos de programação
4. Refatoração
5. Abstração
6. Fundamentos de projeto de software
7. Encapsulamento de ocultação de informação
8. Separação de comportamento e implementação
Armazenamento de dados em memória
1. Revisão de ponteiros e alocação dinâmica
2. Ponteiros, listas encadeadas e duplamente encadeadas
3. Árvores binárias
4. Memória principal, secundária e virtual no desenvolvimento de software
5. Localidade de referência
Uso de tipos abstratos de dados:
1. Conjuntos
2. Dicionários
3. Listas
4. Vetores auto redimensionáveis
Introdução à orientação a objetos
1. Classes e objetos
2. Atributos e métodos
3. Encapsulamento
4. Herança e Polimorfismo

C – BIBLIOGRAFIA

Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts. Refactoring: Improving the
Design of Existing Code. Addison-Wesley Professional, 1999.

Brian W. Kernighan e Rob Pike. The Practice of Programming. Addison-Wesley, 1999.


Stanley B. Lippman, Josée Lajoie, Barbara E. Moo. C++ Primer (5th Edition). Addison-Wesley
Professional, 2012.

Robert C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008.
Steve McConnell. Code Complete: A Practical Handbook of Software Construction. Microsoft
Press; 2nd edition, 2004.

Scott Meyers. Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd
Edition). Addison-Wesley, 2005.

Glenford J. Myers. The Art of Software Testing, Second Edition. Wiley, 2004.
Nívio Ziviani. Projeto de Algoritmos com implementações em Pascal e C. Cengage Learning,
2011.

Você também pode gostar