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...

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...

Qualidade de Software

Olá pessoal, O assunto de hoje é qualidade de software! :) A discussão foi baseada na apostila do Ricardo Falbo¹ e o podcast Qualidade de Software do dotnet Architecs Cast. Qualidade é algo bem subjetivo - concordando com a fala do Alexandre. O que tem qualidade para mim, pode não ter para você e vice-versa, ainda mais quando se trata de software, algo que costuma ser bem abstrato na sua construção. O que é, afinal, qualidade de software ? De acordo com a apostila do Ricardo Falbo¹, qualidade de software está fortemente relacionada à conformidade com os requisitos e o ponto principal, qualidade diz respeito à satisfação do cliente. Vamos ter como exemplo base para toda essa postagem o WhatsApp², um aplicativo de troca de mensagens instantâneas. Recentemente, o WhatsApp realizou uma atualização³ no qual, ao invés de escrever alguma mensagem no status, as pessoas postavam fotos. Isso gerou uma grande insatisfação entre a maioria dos usuários e fez com que ele voltasse at...