Pular para o conteúdo principal

Postagens

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 do
Postagens recentes

Contribuição. No que fui útil ?

Olá, o post de hoje é para falar no que eu fui útil no trabalho e como isso o impactou. Só para contextualizar… No início do período foi proposto um trabalho, se tratando de um sistema de informação, para ser realizado integrando quatro das cinco disciplinas do quinto período. Ficamos de fazer um sistema de controle para um escola de surfe. O grupo é composto por quatro pessoas, cada dupla cuidando de um subsistema. Ficou um único trabalho, no qual tem visões diferentes. Um é controle de lojas da escola e a outra parte é de controle de alunos e aulas. Bom, mas vamos ao que interessa. O que exatamente eu fiz ? Eu fiquei com a parte mais de gestão, no caso, abrir e fechar sprints(incluindo: movimentar a galera para fazer o plane poker, escolher os grupos de entrega e  selecionar as histórias, colocar as atividades do sprint no waffle.io, gerar o burndown e etc.), medição, deploy, escrita de justificativa de uso de tecnologia e controle de versionamento, além de codificaçã

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

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

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

Parece mas não é ?

O assunto de hoje é para tirar um o grilo de quem acha que o que está aprendendo na faculdade ou algum curso formal não é o que será usado no mercado de verdade. Essa semana estive pensando nessa distância, do que é ensinado na faculdade e do que é feito no mercado, e concluí que tem sim uma distância considerável (dá uma olhadinha na postagem anterior bem aqui  sobre modelo anêmico e rico, só de exemplo). Isso me deixou um pouco chateada. Se não é isso que usamos no mercado, porque estamos aprendendo? Você deve ter respondido que devemos aprender o correto. Mas, mais importante que isso, não é só saber qual é o certo, é FAZER o certo.  Nesse período da faculdade, em paralelo ao projetar também preciso desenvolver. Esse foi um dos pontos que me deixaram com uma pulga na orelha. Se eu ainda estou projetando o sistema, planejando a melhor maneira de fazê-lo, por que eu já tenho que desenvolver? Numa dessas, perguntei ao meu professor por que a gente não faz da maneira com que é e

Modelo de Domínio Rico e Anêmico

E aí, pessoal ? Voltamos com mais uma postagem sobre projeto de sistemas. Dessa vez, o assunto é sobre modelo anêmico e modelo rico. O que será isso, hein ? Para ficar por dentro da discussão sugiro ouvir o Podcast 11: Modelo Anêmico e Rico no qual foi baseado esse post. No podcast, de acordo com o Alexandre Valente, modelo anêmico é basicamente aquele modelo que tem as regras de negócio um pouco isoladas das entidades de domínio.  Já no modelo rico, as regras estão um pouco melhor distribuídas entre as entidades. E por que será que dá tanto pano para a manga falar desse assunto ? Porque, como a maioria das decisões de projeto, cada modelo há seu pró e contra. Vamos discutir um pouco sobre isso. No podcast, o Alexandre Valente defendeu bastante o modelo anêmico, por ter tido boas experiências com ele e não tão boas assim com o outro. Para ele, a principal vantagem desse modelo é a produtividade. No entanto, para o Giovanni Bassi, esse modelo é um prob