Translations of this page:

ENGENHARIA DE SOFTWARE :: INICIAL

Introdução

Esta disciplina tem como objetivo preparar o aluno para atuar no “Processo de Desenvolvimento de Software” (sistemas de computação). Para isso, o aluno será treinado no uso dos principais conceitos e das melhores práticas envolvidas nesse processo. O foco dessa disciplina não está no desenvolvimento de estruturas de dados ou de algoritmos eficiente. O foco é dado ao desenvolvimento de projetos de software como um todo, desde a sua concepção e projeto, passando pela integração com sistemas gerenciadores de banco de dados, pelo desenvolvimento de aplicações multi-tarefa e multi-usuários, até desenvolvimento de interfaces gráficas.

Assim o aluno será treinado no uso das Application Programming Interfaces (APIs) de bibliotecas ou frameworks destinado ao desenvolvimento de sistemas de computação que são amplamente utilizadas no mercado de desenvolvimento de software.

Objetivo

  • Apresentar as técnicas básicas envolvidas na concepção e projeto de sistemas de computação .
  • Treinar o aluno no uso em APIs para o desenvolvimento de:
    • Interface gráficas avançadas
    • Aplicações integradas a bancos de dados
    • Aplicações multitarefa
    • Apliacações em rede (multi-usuários).
  • Treinar o aluno no uso Padrões de Projeto de Software.
  • Treinar o aluno em técnicas de programação avançadas, como: programação baseada em componentes e programação genérica.
  • Treinar o aluno para a instrumentação de programas reais de código aberto

Método de Avaliação

  • somente serão aprovados os alunos que atingirem 60% de aproveitamento;
  • 15 % dos pontos serão distribuídos através de listas de exercícios que deverão ser feitas pelos alunos e entregues na data estipulada pelo professor. Aqueles alunos que NÃO entregarem as listas de exercícios nas datas corretas serão penalizados;
  • 25 % avalições teóricas sobre Arquitetura de Software, Processo de Desenvolvimento de Software, Padrões de Projeto de Software e Programação Genérica; e
  • 60% dos pontos serão distribuídos através de 1 trabalho prático, contituido de quatro partes intregaveis, que deverão ser feitos pelos alunos e entregues na data estipulada pelo professor. Aqueles alunos que NÃO realizarem as entregas nas datas corretas serão penalizados;
  • para aqueles alunos que não atingirem 60% de aproveitamento (somando-se os pontos distribuídos nas listas de exercícios e trabalhos práticos) e que tiverem 75% ou mais da frequência durante o período letivo, será concedido um único exame especial cuja nota deverá ser somada aos pontos obtidos pelo aluno em todas atividades acadêmicas realizadas durante o período e a soma deverá ser dividida por 2. O valor resultante deverá ser superior a 6.0 para que o aluno seja aprovado.Este exame constitui-se de uma prova escrita englobando toda a matéria lecionada durante o período letivo; e
  • forma de penalização: aqueles alunos que atrasarem a entrega dos trabalhos práticos ou listas de exercícios terão as notas desses trabalhos ou listas reduzidas em 20%.

Referências

  • Engenharia de Software - Sommerville, Ian, 9a edição, Addison-Wesley, 2010 - Versão em Português editada pela Pearson, 2011 .
  • Design Patterns: Elements of Reusable Object-oriented Software - Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides (0201633612)`
  • Advanced Qt Programming: Creating Great Software with C++ and Qt 4 - Mark Summerfield
  • Unified Modeling Language User Guide, 2nd Edition - rady Booch, James Rumbaugh, Ivar Jacobson, 2005, ISBN: 0321267974
  • UML Distilled: A Brief Guide to the Standard Object Modeling Language (Object Technology Series) - Martin Fowler, 2003, ISBN: 0321193687
  • Engenharia de Software - Roger Pressman, MacGraw Hill, 2006 (Leitura Complementar)

In Other Languages
Translations of this page: