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?


5W2H


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?

3. 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á feita a entrada de dados?
  2. . Como será feita a saída de dados?
  3. . Como é o procedimento para a 1a. funcionalidade?
  4. . Como é o procedimento para a 2a. funcionalidade?
  5. . Como é 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?