Projeto do Sistema (Primeiro no Papel Depois Codificação)
(2702) (2)
CategoriasAndroid, Design, Protótipo
AutorVinÃcius Thiengo
VÃdeo aulas186
Tempo15 horas
ExercÃciosSim
CertificadoSim
CategoriaDesenvolvimento Web
Autor(es)Robert C. Martin
EditoraAlta Books
Edição1ª
Ano2023
Páginas416
Como falei em posts anteriores: o objetivo do blog é apresentar conteúdo sobre desenvolvimento em formato de vídeo, porém como meu microfone novo ainda não chegou e também porque acho que o conteúdo desse post, tanto escrito (digitado) quanto em vídeo, será de grande utilidade, vou de digitado mesmo.
Você, como eu no passado, deve ter aquelas ideias malucas e já indo programar. Então passa-se vento, chuva, sol, ... tempo... e você termina a ideia maluca. O código está pronto sistema funcinando e você levou uns 5 mêses ou mais para terminá-lo (algo que poderia ter sido feito em 1 mês ou 2). Porque esse tempo todo? Bom vou compartilhar o que acontecia comigo.
Primeiro eu tinha a ideia, então fazia alguns rabiscos sem muito sentido no papel e já ia programar, mas nesse percurso de programar eu parava e pensava: "não, espera ai, acho que assim vai ficar melhor". E ia com essas paradas até o dia em que a aplicação ficasse completa, porém essas paradas consumiam muito do meu tempo e eu nem notava. Tenho formação na área de computação (Bacharel em Sistemas de Informação) e sempre ouvi que tinhamos que primeiro obter requisitos para depois ir para a análise do sistema e então projeto ai então a implementação (programação), porém eu via o pessoal falando, falando, falando, e codificação nada. Logo eu pensava: "esses camaradas ficam ai falando essas paradas e até agora nenhum aplicativo para nos mostrar, somente os aplicativos dos gringos já disponíveis na Web (ai não conta)". Um dia eu tive que fazer um trabalho em grupo em que nós tinhamos que implementar um sistema de peladas (futebol) online e um camarada do meu grupo ficou responsável pelo lado servidor, uma colega ficou com a parte de análise e projeto de sistemas e eu fiquei responsável pelo lado cliente do sistema. Tempo passando, agente analisando, projetando e programando, e... o trabalho saiu blz! Ele era dividido em duas apresentações, na primeira as funcionalidades básicas deveriam estar prontas (cadastros, área restrita e layout responsível). Na segunda parte as funcionalidades mais cores deveriam estar rodando já (envio de emails, mensagens entre participantes, histórico, convites, ...). E foi nessa segunda parte que vi a força do Projeto do Sistema. Como o sistema tinha sido projetado antes (as classes e requsitos estavam todos no projeto) a manutenção ou inclusão das funcionalidades pendentes foi muito tranquilo, nós terminamos o trabalho na segunda metade de maneira muito mais consistente e rápida. Desde então, quando vou fazer algum sistema, meu ou de cliente, eu primeiro pego duas ou três folhas e defino ali os requisitos, classes e funcionalidades do sistema, na verdade hoje eu utilizo mais umas 5 ou 6 folhas para projetar as telas mais ou menos (recomendo muito, pois o lado cliente é a parte mais chata e com mais detalhes). É isso mesmo, são poucas folhas, requisitos, classes, funcionalidades e telas, tudo escrito para que eu possa entender, deixa aqueles documentos de mais de 100 páginas para empresas que têm pessoal para isso, alias eles têm muitos programadores mexendo no mesmo código então uma coisa mais documentada tende a ser mais útil e rentável.
Esse blog que você está agora foi todo primeiro para o papel e então veio a programação (fiz ele em pouco mais de um mês, incluindo livros que leio em paralelo e outras coisas, ou seja, sem dedicação exclusiva), eu o fiz do zero (não utilizo CMSs, não porque sou contra, mas porque tem coisas que prefiro ter o completo controle). Não quero ser soberbo, apenas mostrar que a velocidade com que construo as coisas hoje é obtida com uma técnica que qualquer programador pode utilizar.
Então convecido? É o seguinte, eu preso muito pelo "Feito é melhor que perfeito", então se você tem uma ideia ou serviço para entregar, porém não sabe nada de requisitos ou orientação a objeto, vai e faz como você sabe, tudo em um arquivão e procedural... não importa como, no final das contas o que vale é o sistema rodando. Mas vai já aprendendo o que são requisitos, orientação a objetos e tals (são todos conceitos muito fáceis de se aprender, nada que uma semana dedicada já não te deixe fera o suficiente para utilizá-los).
Não esqueça de definir um marco zero, se você não definir uma data para terminar seus projetos eles nunca terão fim. Procrastinação está no sangue do ser humano.
Eu vou ver se convido um amigo meu que é fera em Análise e Projeto de sistemas para fazer alguns posts mostrando desde o zero como é que se realizam essas tarefas importantes e que aumentam nossa produção de forma monstruosa. Observe "aumentam nossa produção de forma monstruosa", isso é um baita de um diferencial para desenvolvedores.
Note que quando falei que utilizo algumas folhas não quis dizer que você deve utilizar papel, na verdade se você se sentir mais confortável com o astah, Word, ... utilize-os, o importante é você saber que isso (projeto do sistema) vai fazer você aumentar em muito a qualidade de seu código e produção.
É isso ai, pretendo começar logo com os projetos, mas por enquanto vou colocando posts que são essenciais antes mesmo que os projetos iniciem.
Se divirta, evolua.
Comentários Facebook