Projeto de Software

Conceito, Fases e Viabilidade

Disciplina: Engenharia / Desenvolvimento de Software

Objetivos da Aula

Ao final da aula o aluno será capaz de:

  • Compreender o conceito de Projeto de Software
  • Identificar as fases de um projeto
  • Entender viabilidade técnica e econômica
  • Reconhecer a importância da documentação técnica
  • Criar um esboço inicial de projeto

O que é Projeto de Software?

Projeto de software é o planejamento estruturado do desenvolvimento de um sistema.

Ele define:

  • objetivos
  • funcionalidades
  • tecnologias
  • recursos
  • cronograma

📌 Funciona como um mapa para o desenvolvimento do software.

Por que Projetar um Software?

Sem planejamento podem ocorrer:

  • Retrabalho
  • Falta de organização
  • Atrasos
  • Sistemas mal estruturados
  • Dificuldade de manutenção

✔ O projeto ajuda a reduzir riscos no desenvolvimento.

Exemplo Real

Sistema de Biblioteca

Antes de programar precisamos definir:

  • Quem usará o sistema
  • Quais funcionalidades existirão
  • Como os dados serão armazenados
  • Qual tecnologia será usada

Tudo isso faz parte do projeto do software.

Conceito de Projeto

Um projeto é um esforço temporário para criar um produto ou serviço único.

Características de um projeto:

  • Possui objetivo definido
  • Possui início e fim
  • Utiliza recursos limitados
  • Produz um resultado específico

Projeto vs Produto

Projeto Produto
Planejamento Resultado final
Temporário Permanente
Define o sistema Sistema pronto

Exemplo:

Projeto → Desenvolvimento do sistema
Produto → Sistema funcionando

Fases de um Projeto de Software

Normalmente um projeto passa pelas seguintes etapas:

  1. Iniciação
  2. Planejamento
  3. Desenvolvimento
  4. Testes
  5. Implantação
  6. Manutenção

Fase 1 — Iniciação

Define o problema e os objetivos.

Perguntas importantes:

  • Qual problema será resolvido?
  • Quem são os usuários?
  • Qual o objetivo do sistema?

Exemplo:

Sistema para gerenciar pedidos de uma pizzaria.

Fase 2 — Planejamento

Define como o projeto será executado.

Inclui:

  • funcionalidades do sistema
  • tecnologias utilizadas
  • equipe envolvida
  • cronograma

Exemplo de tecnologias:

  • React
  • Node.js
  • PostgreSQL

Fase 3 — Desenvolvimento

Momento de construção do software.

Atividades:

  • programação
  • criação do banco de dados
  • desenvolvimento das interfaces
  • integração entre componentes

Fase 4 — Testes

Objetivo: verificar se o sistema funciona corretamente.

Tipos de testes:

  • Testes funcionais
  • Testes de integração
  • Testes de usabilidade

✔ Identifica erros antes da implantação.

Fase 5 — Implantação

Sistema é colocado em uso real.

Exemplos:

  • publicação no servidor
  • configuração do banco de dados
  • treinamento de usuários

Fase 6 — Manutenção

Após o sistema estar em uso surgem:

  • correções de erros
  • melhorias
  • novas funcionalidades

📌 Grande parte do custo de software ocorre nesta fase.

Viabilidade de Projeto

Antes de iniciar um projeto é necessário avaliar se ele é viável.

Principais tipos:

  • Viabilidade técnica
  • Viabilidade econômica

Isso evita perda de tempo e recursos.

Viabilidade Técnica

Avalia se é tecnicamente possível desenvolver o sistema.

Perguntas:

  • A equipe possui conhecimento técnico?
  • Existem tecnologias adequadas?
  • O sistema é tecnicamente possível?

Exemplo:

Criar IA avançada sem equipe especializada.

Viabilidade Econômica

Analisa se os benefícios justificam o investimento.

Exemplo:

Custo do projeto: R$ 100.000
Economia anual: R$ 20.000

Retorno aproximado: 5 anos

Introdução à Documentação Técnica

Documentação registra informações importantes do sistema.

Ela permite:

  • compreensão do sistema
  • manutenção futura
  • evolução do software

Sem documentação o sistema se torna difícil de manter.

Tipos de Documentação

Documentos comuns em projetos:

  • Documento de Requisitos
  • Documento de Arquitetura
  • Documento de Banco de Dados
  • Manual do Usuário

Documento de Requisitos

Define o que o sistema deve fazer.

Exemplo:

O sistema deve permitir:

  • cadastro de usuários
  • login
  • geração de relatórios
  • controle de dados

Documento de Arquitetura

Define como o sistema será estruturado.

Exemplo de arquitetura em camadas:

  • Interface (Frontend)
  • Regras de Negócio
  • Banco de Dados

Exemplo de Projeto

Sistema: Sistema de Controle de Tarefas

Objetivo:

Organizar tarefas pessoais ou profissionais.

Funcionalidades:

  • cadastrar tarefas
  • definir prazo
  • marcar tarefa como concluída
  • listar tarefas

Atividade Prática

Criar um esboço inicial de projeto fictício.

Etapas:

  1. Escolher um problema
  2. Definir o sistema
  3. Identificar funcionalidades
  4. Avaliar viabilidade
  5. Criar documentação inicial

Estrutura da Atividade

Definir:

1️⃣ Nome do sistema
2️⃣ Problema que resolve
3️⃣ Usuários do sistema
4️⃣ Funcionalidades (mínimo 5)
5️⃣ Tecnologias possíveis

Exemplo

Sistema: SmartGym

Usuários:

  • alunos
  • funcionários

Funcionalidades:

  • cadastro de alunos
  • controle de mensalidades
  • registro de treinos
  • agenda de avaliações
  • relatórios

Discussão Final

Perguntas para reflexão:

  • Por que planejar um software antes de programar?
  • Quais problemas surgem sem projeto?
  • Qual fase do projeto é mais importante?

Conclusão

Projeto de software ajuda a:

✔ organizar o desenvolvimento
✔ reduzir riscos
✔ melhorar qualidade do sistema
✔ facilitar manutenção

📌 Um bom projeto é essencial para o sucesso do software.

Próxima Aula

Modelagem de Sistemas

  • Introdução à modelagem
  • Diagramas UML
  • Casos de uso

Explicar que esta aula introduz o processo de planejamento de software antes da programação

Fazer analogia com construção de uma casa: primeiro projeto arquitetônico depois construção

Explicar que dependendo da metodologia as fases podem variar