um metodo ideal. As possibilidades e os ambientes de desenvolvimento sao tao complexos, que dependendo de cada situacao e momento, existe um metodo que possa explorar mais alguns topicos, mas deixara outros em aberto.Outro ponto a ressaltar e que existem varios metodos na Engenharia de Software, mas poucas Metodologias. Podemos entender Metodologia tanto pelas palavras de Maddison, como sendo um conjunto recomendado de filosofias, fases, procedimentos, tecnicas, regras, ferramentas, documentacao, gerenciamento e treinamento para o desenvolvimento de um sistema de informacao, como tambem o estudo de um ou mais metodos.No inicio da computacao poucos programadores seguiam algum tipo de metodologia baseando-se, em sua maioria, na propria experiencia. Na Engenharia de Software existem basicamente duas grandes metodologias. Uma originaria da decada de 70, chamada de Metodologia Estruturada, e a mais recente intitulada de Metodologia Orientada a Objetos.Diferencas das MetodologiasTanto a abordagem estruturada quanto a orientada a objetos promovem solucoes praticas. A diferenca entre as duas metodologias e a vida util e facilidade de manutencao de projetos. A possivel reutilizacao de um codigo estruturado nao e comum, enquanto que um codigo orientado a objetos por possuir embutido em sua propria filosofia as facilidades de reutilizacao e de descricao, utilizando UML (Unified Modeling Language), aumenta naturalmente a vida util dos codigos.Abordando o software sob um ponto de vista puramente estruturado, define-se os dados do sistema em uma posterior sequencia de eventos que acarretara na transformacao do estado do sistema.Por outro lado, numa abordagem focada em orientacao a objetos, definem-se estruturas abstratas, denominadas classes, que serao responsaveis por partes da solucao do problema.Cada classe incorporara dados (forma) e metodos (comportamentos). Projetos orientados a objetos utilizam da linguagem de modelagem UML (Unified Modeling Language). Esta linguagem e fruto dos esforcos, em conjunto, dos autores Booch, Rumbaugh e Jacobson.Teoria e Interdependencia de SistemasUm Sistema e uma colecao significativa de componentes inter-relacionados, que trabalham em conjunto para atingir alguns objetivos (Sommerville). E organizado para executar certo metodo, procedimento ou controle ao processar informacoes. Automatiza ou apoia a realizacao de atividades humanas atraves do processamento de informacoes.As complexas relacoes entre os componentes de um sistema significam que o sistema em si e maior do que simplesmente a soma de suas partes.As Arquiteturas de Sistema sao normalmente descritas com o uso de Diagramas de Blocos, mostrando os subsistemas principais e suas relacoes. Veja a figura abaixo como um exemplo desse conceito:Nos encontramos, nessa imagem, os elementos de ENTRADA e de SAIDA do SISTEMA. E na parte interna do SISTEMA a composicao da inter-relacao de varias ENTIDADES. Na parte inferior do SISTEMA temos um importante conceito de feedback chamado de CONTROLE do SISTEMA.Inicia-se esse controle com um PADRAO de comparacao. Atraves de um SENSOR que mensura periodicamente as alteracoes do SISTEMA, compara-se com o PADRAO. Uma vez o SISTEMA sofrendo alteracoes em relacao ao PADRAO, o ATIVADOR ira passar parametros para o SISTEMA se autocorrigir.Um bom exemplo pratico deste conceito e imaginarmos o ar condicionado. Parte-se inicialmente da base de uma temperatura estabelecida por nos (PADRAO). O sensor mensura as variacoes de temperatura. E o ATIVADOR ira deixar o ar condicionado ativado