Visão Geral e Dicas

Ementa

  1. Fundamentos e princípios de projeto de software orientado a objetos;
  2. Conceitos gerais sobre sistemas web e seu desenvolvimento;
  3. Elicitação e modelagem de requisitos de software e soluções de projeto;
  4. Noções de arquitetura de software;
  5. Padrões de projeto e refatoramento de software.

Objetivos

Capacitar o aluno em técnicas de projeto de software para o desenvolvimento de sistemas orientados a objetos. Especificamente, espera-se capacitar o aluno para:

  • Entender os princípios da atividade de projeto de software orientado a objetos;
  • Modelar e elicitar requisitos e soluções de software para o processo de desenvolvimento;
  • Avaliar o uso de diferentes arquiteturas e padrões no projeto de software;
  • Aplicar técnicas de projeto de software no desenvolvimento de sistemas orientados a objetos;
  • Conhecer as principais tendências em projeto de software utilizadas na indústria e em software de código aberto.

Metodologia

Avaliação

** ⚠️ OBS: Avaliação do período 2022.1, talvez mude no futuro** A avaliação da disciplina é composta por questionários (peso 20%),laboratórios (peso 40%) e um projeto da disciplina (peso 40%).

  • Os questionários são semanais e abordam o conteúdo apresentado naquela semana.
  • Os laboratórios tem prazo de aproximadamente uma semana, e são a atualização do lab anterior (ou seja, problemas no lab de número x precisam ser corrigidos no lab x+1 e seguintes. Do contrário continuarão sendo descontados da nota).
  • O projeto da disciplina tem o prazo de aproximadamente um mês e é passado no final do período. Ele é feito em grupos de 5.

Bibliografia recomendada

  • Engenharia de Software Moderna
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Code Complete (Developer Best Practices)
  • Program Development in Java: Abstraction, Specification, and Object-Oriented Design
  • Utilizando UML e Padrões. Uma Introdução à Análise e ao Projeto Orientados a Objetos e ao Desenvolvimento Iterativo
  • Use a Cabeça! Padrões de Projetos
  • Pattern-Oriented Software Architecture, A System of Patterns: Volume 1
  • Design Patterns com Java: Projeto orientado a objetos guiado por padrões
  • Refatoração: Aperfeiçoando o Projeto de Código Existente
  • A Philosophy of Software Design

Dicas

Os laboratórios da disciplina (que compõem 40% da nota total) são cumulativos. Ou seja, é necessário corrigir os erros de um laboratório no próximo ou então a nota continuará sendo descontada em cada entrega. É importante estar tento a correção dos monitores e buscar a ajuda deles (caso sinta necessidade) para tais correções assim que possível. Os labs não são tão complexos, mas as vezes algum detalhe pode te pegar desprevinido e tomar bastante tempo. O ideal é começar o quão antes e ir tirando as dúvidas com os monitores antes do prazo de entrega "apertar".

Quanto ao projeto da disciplina. É importante que haja uma boa divisão de tarefas entre o grupo e que se planeje bem a implementação antes de começá-la defato. Desse jeito, na hora de programar vai ser muito mais tranquilo.

Edite esta página