Pular para o conteúdo principal

Projetar pra quê??




Olá pessoas!!
Chegamos ao nosso último  post sobre projeto de sistemas ( Ahhhh.. Rs)
E agora, o que aprendemos sobre isso ?? Qual a parte mais chamou sua atenção ?? Deixe aí nos comentários :)

Bom, depois de todo esse tempo escrevendo sobre projeto e tal, o que continua me chamando atenção são as características e importância de um arquiteto de software, do cara que " manja das paradas ".

Quando estamos aprendendo a programar, as pessoas costumam usar várias analogias para nos ajudar a entender como pensar em um programa. Uma delas, bem famosa, é dizer que um algoritmo é como um receita de bolo; nele, se tem o passo a passo de como preparar a sua " refeição ", no caso, o seu programa.
Depois de um tempinho já programando, eu pude compreender melhor o que isso quer dizer (rs) e realmente, você tem um passo a passo a ser seguido e você transfere isso para uma linguagem de programação. Ok.

Agora, pense em um cenário complexo, no qual você não tem pleno domínio das coisas como elas acontecem, das regras do negócio. Como que você vai pensar em um passo a passo bem definido para depois  construir seu software ??  Ou melhor, construir um software para alguém ??
Aí fica mais complicado. É nessa hora que vemos a necessidade de um arquiteto de software. Alguém que possui experiência o suficiente para te apontar o possível melhor caminho. Ele sabe modelar o problema desde a forma mais abstrata para o cliente até a forma detalhada, que servirá para o programador. Não que seja ele que fará isso, temos aí vários personagens para nos ajudar, como o analista de sistemas.


Mas sabe, mesmo que o arquiteto não coloque a mão em nada ( no sentido de fazer documentação ou desenvolver alguma funcionalidade), ele está em tudo. Ele ajuda nas decisões; por isso, além de saber um pouco de questões técnicas ( análise, projeto, desenvolvimento), ainda precisa saber lidar com as pessoas, sua equipe e cliente; além disso, manter a confiança das pessoas para que suas decisões sejam levadas a sério.

Alguém precisa escrever a receita, né ? E como cada software é único, não existe uma receita universal (existem algumas diretrizes que podem ser seguidas), então, quanto mais experiência ele tiver, melhor será para tomar as decisões quando surgir um novo cenário.

Não se faz um novo bolo, sem uma receita nova.


Isso é tudo pessoal!
Tanran tam tam tam tam.. Rs

Comentários

Postagens mais visitadas deste blog

TDD e BDD

Olá pessoal, Hoje nós falaremos sobre TDD e BDD! Logo que eu ouvi sobre eles gerou um confusão enorme na minha cabeça. O que é TDD e BDD ? TDD – Test-Driven Development (Desenvolvimento Orientado a Testes) é o Desenvolvimento de Software orientado a Testes. O processo de desenvolvimento do TDD seria: Escrever um teste, sem mesmo ter escrito o código real a ser testado (Imagine o que deseja testar). Executar os testes e acompanhar a falha (Pode ser um código falso que retorne o  erro) Escrevemos a funcionalidade do sistema que iremos testar. Testar novamente, agora para passar (Se não passou algo saiu errado, faça novamente o passo 3) Refatore sua funcionalidade e a escreva por completo (o teste também) (Refactor) Passe para o próxima estória ou caso de uso e inicie novo teste. Confesso que isso é bem estranho, principalmente os passos 1 e 2 rs, até porque se funcionasse sem código seria mais estranho ainda kkk. BDD – Behavior Driven Dev

Padrões GRASP

Olá pessoal! Hoje nós vamos falar sobre os padrões GRASP. Engraçado né? Está no plural. Isso porque GRASP é um acrônomo para General Responsability Assignment Software Patterns ( Padrões Gerais para Atribuição de Responsabilidades). Bom, para esse post nós teremos como base esse minicurso do YouTube sobre   padrões GRASP . Vamos lá! Uma definição feita no minicurso sobre padrões GRASP é que: é um conjunto de princípios fundamentais para modelagem de objetos e atribuição de responsabilidades escrito na forma de padrões. Um padrão do GRASP é um par: problema e solução. Já que é um par problema solução, vamos falar primeiro o problema e depois o padrão mais adequado para a ocasião. 1) Qual princípio básico para se atribuir responsabilidade a objetos ? Ora, vamos atribuir a responsabilidade a quem tem a informação para realizá-la. Qual o padrão que estamos utilizando ? O information expert! Os benefícios ao usar são: Encapsulamento mantido  Comportamento é bem mais distribu

Medição de Software

Olá, hoje nós vamos falar sobre medição de software e da experiência em fazê-la no sistema para a escola de surfe que estou desenvolvendo na faculdade juntamente com outros colegas. Os conceitos aqui apresentados, se baseam na apostila de medição de software . Para começar, o que é medição de software ? Segundo Dumke, medição é o processo pelo qual números ou símbolos são atribuídos a propriedades de entidades do mundo real de forma a descrevê-las. Sendo assim, é possível perceber a importância da análise estatística do desenvolvimento do seu software, pois com ela consegue-se obter informações relevantes, tais como: tamanho do projeto, custos de desenvolvimento, quantidade de defeitos e etc. No contexto de projetos de software, a medição pode auxiliar a elaboração de planos realísticos e pode prover informações úteis ao acompanhamento do alcance dos objetivos, à identificação de problemas e à tomada de decisões informadas. No contexto organizacional, a medição pode auxiliar