Modelo Estruturado

  • Modelo Estruturado






  • Modelo Orientado a Objetos



  • Modelo Orientado a Serviços




Construindo uma casa x um software

  1. Identificar e analisar requisitos e gostos => Análise e definição dos requisitos
  2. Produzir e documentar todo o projeto => Projeto do sistema
  3. Detalhar as especificações => Especificação funcional
  4. Identificar e projetar os módulos/aposentos => Projeto do programa
  5. Construir cada aposento => Escrever os programas
  6. Testar toda as estruturas => Testes das unidades
  7. Ligar todos as conexões (energia, água, rede, ...) => Teste de integração
  8. Fazer as modificações finais => Teste do sistema
  9. Retirar material e entregar a casa => Entrega do sistema
  10. Reforma/Expansão => Manutençaõ


Desenvolvimento do software


  • O método de Análise Estruturada envolve a construção de um sistema de forma Top-Down (do geral para o particular) considerando-se refinamentos sucessivos.



  • Produz-se num primeiro momento, uma fotografia global do sistema através de DFDs (Diagrama de Fluxo de Dados) em um nível macro.



  • Com base neste primeiro diagrama, faz-se uma decomposição funcional criando-se outros fluxos que serão um detalhamento do fluxo macro.



  • Estes detalhamentos darão pistas sobre os dados requeridos, que posteriormente, serão objetos de estruturação do DER – Diagrama de Entidade-Relacionamento.



  • As etapas propostas pelo sistema estrurado:
    • Necessidade ou Demanda
    • Concepção do Software
    • Análise de Viabilidade
    • Projeto Lógico
    • Projeto Físico
    • Implantação
    • Manutenção/Expansão



Necessidade ou Demanda



  • Um software pode ser desenvolvido como consequência de:
    • Uma necessidade do mercado, da indústria, do hospital, ...
    • Um problema que precisa ser corrigido
    • Uma idéia que precisar ser posta em prática
    • Uma determinadação, lei, regulamento, norma, ...
    • Uma melhoria de algo que já existe.


Concepção do software


  • Quais são os problemas?



  • O que deve ser inovado ou resolvido?



Estudo de Viabilidade



  • Existe uma solução similar?



  • Por que é importante desenvolver esta aplicação?


Projeto Lógico


  • Como o sistema pode funcionar?
  • Como se pretende "entrar" com os dados?
  • Como se pretende "sair" com os dados?
  • Como deverá ser o armazenamento?
  • Quais as infraestruturas necessárias?



Projeto Físico



  • Especificamente, como o projeto pode ser implementado?
  • Qual linguagem deve ser usada?
  • Existe uma dispositivo específico para rodar esta aplicação? Qual?



Implantação



  • Existem requisitos específicos para a implantação da aplicação?



  • Quem fará uso dele?



Manutenção



  • Quais os documentos previstos para o sistema?



  • Quais os procedimentos de teste?



  • Já existe previsão de expandir alguma função?


5W2H

  • What?
  • Why?
  • Where?
  • When?
  • Who?
  • How Much?
  • How?


What

  1. Qual o nome do seu projeto?
  2. Qual o objetivo deste projeto?
  3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
  4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
  5. Quais soluções similares existem no mercado?


Why

  1. Porque é interessante desenvolver este projeto?
  2. Porque deve usar a tecnologia escolhida?


Who

  1. Quem pode se beneficiar deste projeto?
  2. Quem poderá operar o sistema?
  3. Quem deverá participar do desenvolvimento do sistema?


Where

  1. Onde os dados serão inseridos?
  2. Onde os dados serão externalizados, publicados?
  3. Onde esta aplicação poderá ser usada?
  4. Onde as informações serão armazenadas?
  5. Onde o software deverá ser hospedado?


When

  1. Em quanto tempo pretende desenvolver o sistema?
  2. Quais serão as fases e em quanto tempo cada uma?


How

  1. Como será dividido o desenvolvimento do sistema?
  2. Como será feita a entrada de dados?
  3. Como será feita a saída de dados?
  4. Como será o procedimento para a 1a. funcionalidade?
  5. Como será o procedimento para a 2a. funcionalidade?
  6. Como será o procedimento para a 3a. funcionalidade?


How much

  1. Quanto deverá custar o sistema?
  2. Quantas pessoas deverão ser usadas?
  3. Qual deverá ser o preço de aquisição do seu software para o usuário final?