OOP
Infelizmente, em nosso contexto atual (Brasil), as empresas não possuem profissionais [Ô]Capacitados[Ô] a exercer a profissão de Análise, nem os profissionais que se formam como [Ô]Analista de sistemas[Ô] sabem o que fazer com o que lhes foi ensinado.
A princÃpio, um bom profissional (Analista), deve entender do negócio, de como funciona o processo administrativo de uma empresa (de tudo, desde a parte fiscal ao financeiro, e produção se existir), o mesmo já deve ter vivenciado isto (experiencia), pois caso contrário, não conseguirá abstrair o que o cliente deseja, por mais simples que seja, e principalmente, não vai conseguir passar isto para o desenvolvimento.
O desenvolvimento em contra partida (minha visão), deve compreender o que foi passado, e fazer isto da melhor forma possÃvel. Se o analista pede para o desenvolvedor adicionar uma janela de vidro em um carro, o mesmo já deve pensar em colocar algo para abrir esta janela, caso necessário, mais para isto, ele deve entender o que e para que ele está desenvolvendo. Não adianta ele colocar uma janela no porta malas que deverá abrir, não terá utilidade, sendo que o porta malas já se abre por completo.
Estas, são caracterÃsticas que o desenvolvedor deverá ter, ele deve entender além do negócio proposto, para aplicar isto ao sistema, e não somente o que lhes foi passado.
O que ocorre muito, é que as empresas não possuem analistas para entender o negócio do cliente, e simplesmente quem faz todo o trabalho é o desenvolvedor, que tem que entender o negócio proposto, analisar, criar fluxograma, modelagem de dados, tudo isto em um prazo extremamente apertado, complicado né. E partindo deste princÃpio, temos o que o professor disse, uma falta de [Ô]Entendimento[Ô] por ambas as partes, por falta de comunicação e entendimento sobre o problema proposto.
Sou bacharel e Ciências da Computação, estudei bastante modelagem, porém muito do que aprendi foi com a experiência de trabalho.
Só destacando, nem todas as empresas possuem profissionais qualificados, mais algumas sim, com uma grande gama de conhecimento.
Primeiramente, me permita procurar aditivar uma colocação sua:
Citação:A princÃpio, um bom profissional (Analista), deve entender do negócio, de como funciona o processo administrativo de uma empresa (de tudo, desde a parte fiscal ao financeiro, e produção se existir), o mesmo já deve ter vivenciado isto (experiencia), pois caso contrário, não conseguirá abstrair o que o cliente deseja, por mais simples que seja, e principalmente, não vai conseguir passar isto para o desenvolvimento.
Eu substituiria a expressão [Ô]a princÃpio[Ô] por [Ô]obrigatoriamente[Ô]. Analista de Sistemas que for planejar e mapear um sistema sem entender o cenário em que ele é ator, não poderá ser considerado, de fato, um Analista de Sistemas. Seria ele o [Ô]informatizador de problemas[Ô] (expressão que usei no post anterior, mas creio caber, mais uma vez, no exemplo).
Me permita discordar de um ponto, no seu pensar. Para facilitar minha expressão vou citar o ponto da discordância:
Citação:Se o analista pede para o desenvolvedor adicionar uma janela de vidro em um carro, o mesmo já deve pensar em colocar algo para abrir esta janela, caso necessário, mais para isto, ele deve entender o que e para que ele está desenvolvendo.
Segundo a Análise de Sistemas e Organização e Métodos, não cabe ao programador aplicar mudanças no projeto diagramático. O esquema do projeto é uma ciência à parte da programação e equivale à Arquitetura. Dar-se-ia o mesmo se o engenheiro resolvesse mudar os lados para os quais ficam as churrasqueiras dos apartamentos do edifÃcio que constrói, mudando o projeto por conta própria, sem respaldo e sem conhecimento do porque lhe foi passado o projeto no estado que se apresentou ao mesmo.
Quanto à s formações, tenho apenas um curso de bacharelado.
Aqui na região, na época que eu prestaria vestibular, tinha apenas Ciências da Computação. Como eu queria era especificamente Análise de Sistemas, precisei estudar em outro estado.
Conheci Ciências da Computação apenas quando voltei para cá. São mundos completamente diferentes.
Depois passei a observar o comportamento acadêmico de Análise de Sistemas, as mudanças na estrutura do curso. Atualmente os Analistas de Sistemas são preparados para desenvolvimento, sobretudo modelar banco de dados e dominar linguagem SQL. Sempre me perguntei como ficaria o domÃnio de bancos de dados não SQL, como o InterSystems Caché (ótimo e, como diferencial, extrema velocidade).
Com o passar dos anos, Análise de Sistemas fundiu-se (ou quse) ao conceito de DBA, fato que se tornou o nascedouro dos sistemas mal planejados, visto serem os profissionais Analistas de Sistemas de formação, mas não de fato e operação.
Tudo de bom.
Citação:
Segundo a Análise de Sistemas e Organização e Métodos, não cabe ao programador aplicar mudanças no projeto diagramático. O esquema do projeto é uma ciência à parte da programação e equivale à Arquitetura. Dar-se-ia o mesmo se o engenheiro resolvesse mudar os lados para os quais ficam as churrasqueiras dos apartamentos do edifÃcio que constrói, mudando o projeto por conta própria, sem respaldo e sem conhecimento do porque lhe foi passado o projeto no estado que se apresentou ao mesmo.
Tenho que concordar com o que foi dito, são visões diferentes, até estamos aqui para entender isto. Obrigado!
Praticamente, no Brasil, a sala do profissional de desenvolvimento (se é que tem uma) deve ter espelhos, para que ele possa perguntar a si mesmo se isto está correto (é claro, no teor de brincadeira).
é como disse, hoje o profissional da análise de sistemas, está sendo formado para um profissional desenvolvedor, pois este é o foco do mercado, que exigem produção e menos entendimento sobre o assunto.
Citação:
Eu substituiria a expressão [Ô]a princÃpio[Ô] por [Ô]obrigatoriamente[Ô]. Analista de Sistemas que for planejar e mapear um sistema sem entender o cenário em que ele é ator, não poderá ser considerado, de fato, um Analista de Sistemas. Seria ele o [Ô]informatizador de problemas[Ô] (expressão que usei no post anterior, mas creio caber, mais uma vez, no exemplo).
Exato, porem não é a realidade que temos , por que? Má formação? Incapacidade? Falta de Conhecimento?
Citação:Exato, porem não é a realidade que temos , por que? Má formação? Incapacidade? Falta de Conhecimento?
Penso eu que seja por exigências do mercado. Tudo está focado em resultados rápidos. A velocidade esta supervalorizada.
No quesito desenvolvimento, por exemplo, uma ótima ferramenta é o Genexus. Cria aplicações Java, C#, VB, Asp, uma infinidade de coisas. Desenvolver é rapidÃssimo! Mas a qualidade do pós-desenvolvimento... ai é outra história. A ferramenta cria uma barra de botões super completa, mas se o programador quiser simplificar vai dar trabalho, entender o código fonte que foi criado através de uma equipe de programadores (programadores do Genexus) que por sua vez criou um código fonte de entendimento próprio. Velocidade nas alturas! Vale a pena se a manutenção for baixa e customizações raras.
Eu, particularmente, prefiro sempre saber onde piso. Vou com cuidado e sem muita sede ao pote. Um colega programador do MS, em questão de 4 anos atingiu 1000 clientes, com um sistema todo costurado. Houve uma mudança na legislação estadual e o coitado está penando para [Ô]costurar a costura[Ô] e depois recolocar 1000 clientes a rodar novamente.
Faltou Análise de Sistemas no software dele. Sobrou muita velocidade.
O ideal, creio, seriam os softwares terem qualidade de análise e qualidade de código fonte.
Um colega nosso, o DS2T disse o seguinte para MKING (http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=458262&pagina=1):
Citação:Pense nesse projeto como seu portfólio. Mas não apenas a aparência, tenha orgulho do seu código também...
e eu respondi
Citação:Assino em baixo o que o colega DS2T escreveu
Basta vermos quantos entram no VBMania, fazem uma pergunta e somem, deixando até o tópico abandonado. é a qualidade destes profissionais (pseudos?) que fazem o mercado acreditar em velocidade com detrimento da qualidade. Software [Ô]made in china[Ô].
Tudo de bom.
Nesta primeira parte, na minha opinião pessoal, ficou claro que há a necessidade de uma boa formação de base, algum grau de especialização, alguma divisão de tarefas e de trabalho em grupo, um ambiente estruturado e harmonioso e tempo adequado o bom andamento das atividades ligadas ao desenvolvimento de software e a boa qualidade dos produtos finais.
Vou agora usar um extremo, mas que é ao mesmo tempo a realidade de muitas empresas de desenvolvimento aqui no Brasil.
E atenção: Estou falando sobre empresas que hoje prestam serviços a governos municipais, autarquias e diversas organizações e entidades ligadas direta ou indiretamente a gestão pública. Essas empresas estão espalhadas por todo o paÃs, de São Paulo ao Amazonas na escala da densidade demográfica. Invariavelmente possuem em seu quadro funcional fixo uma equipe jurÃdica forte e especializada, uma ou mais empresas parceiras para as funções financeira e contábil e muitas se apresentam como Consultoria, ainda que possuam outras atividades em seus registros.
Nessas empresas, o Consultor de TI, o Analista de Negócio, o Analista de Sistemas, o Arquiteto de Software, o Programador, o Administrador de Dados e o Analista de Testes, todos eles são a mesma pessoa. Quando muito, serão no máximo três os envolvidos, e todos terão vários projetos simultâneos. Por serem todos prestadores de serviço, sua receita é vinculada ao cumprimento de metas, ou seja, se os resultados forem apresentados no prazo combinado, recebem quando o cliente homologar.
é esse o ambiente de trabalho do qual dependemos todos no Brasil para que um dia haja um sistema unificado de informações para viabilizar as mirÃades de aplicações das quais o mercado brasileiro está carente há décadas: Desde os atualmente decantados ECF/TEF/S@T até aqueles dos quais quase não ouvimos falar, como bases informacionais nacionais voltadas a criminalidade, a saúde, a educação e chegando obviamente aos voltados a transparência pública, a cidadania e ao desenvolvimento social.
Com isso posto, e observando que, como foi colocado até este momento neste tópico, uma estrutura bem diferente seria a mÃnima necessária ao profissional de TI em suas mais variadas funções e atribuições, o hiato que se formou me parece um verdadeiro abismo.
Se eu estou certo nessas deduções, não seria o caso de um conjunto de normas/regras para as atividades citadas, procurando justamente estabelecer a harmonia necessária ao ambiente de trabalho, inclusive competências?
Não estou falando sobre legislação nem sobre sindicato, associação ou agremiação: Estou falando apenas hipoteticamente, e sobre nossas empresas e nós mesmos enquanto profissionais.
Meu objetivo é aproveitar todo o conjunto deste tópico para tentar aprimorar a forma como eu mesmo trabalho, e criar um [Ô]manualzinho[Ô] comportamental pessoal, que ficarei feliz em compartilhar depois com quem mais se interesse.
E é nesse sentido que passo à parte final do tópico:
O quê você gostaria que constasse nas regras da empresa onde desenvolve suas atividades, para que a qualidade dos seus resultados pudesse ser a melhor possÃvel?
O manual de normas e comportamento, em outras profissões, podemos dizer que são os Conselhos Estaduais e o Conselho Federal.
Se você, colega, exercer a medicina, será preso por exercÃcio ilegal da profissão. Mas médicos que se aventuram em programação só porque são fãs de Star Trek é uma loucura. Aqui na cidade conheço 4. E até uma Assistente Social (citei em post anterior) se aventurou nos mundo dos bits.
O que precisamos, creio, é de uma correta regulamentação. Não apenas regulamentar, mas regulamentar de forma correta.
Compartilhando...
http://homepages.dcc.ufmg.br/~bigonha/Sbc/plsbc.html
Tudo de bom!
Eu não citei os Conselhos Regionais porquê há alguns anos atrás, quando o fiz, fui quase que execrado aqui mesmo no fórum.
Mas sim, é isso mesmo o que eu imagino. E sobre seu link, boa dica, agradeço sinceramente.
Só para ficar como anunciado a quem talvez não tenha entendido o enunciado da regulamentação, talvez quem tenha tentado/pensado em te execrar, o texto sugerido na PL 607/2007 dizia que quem, comprovadamente, já tivesse 5 anos de trabalho como Analista de Sistemas, poderia prosseguir com o registro, mesmo não tendo curso superior. Talvez o texto precisasse de algumas mudanças, algumas adaptações, retirar, modificar ou inserir algo, mas certamente o registro profissional elevaria o status e, por conseguinte, a valorização da classe, além de fazer com que a médio prazo a qualidade dos softwares ficasse melhor. E a livre concorrência retiraria do mercado os aventureiros que tivessem o registro.
Foi o que se fez com a profissão de protético dentário, se não me engano em 1978. A quantidade de pessoas com desvio de mandÃbula, dores no rosto e faltas ao trabalho diminuiu consideravelmente e, se algum dentista atualmente quiser sobressair-se, precisa melhorar como profissional. Um conhecido dentista aqui da cidade fez curso a pouco tempo, agora é cirurgião dentista e referência em câncer bucal. Estudou e preparou-se.
Com os jornalistas foi retirada a exigência de diploma para exercÃcio da profissão. Concordo que para postar vÃdeos no youtube ou manter um blog seria um horror exigir a diplomação. Mas veja os estagiários do Terra, do Uol, e até repórter que tentou entrevistar um mudo... se o repórter fosse um desenvolvedor de sistemas, imagine como seria o funcionamento.
Tudo de bom.
Então uma educação fraquÃssima é a primeira peça do problema, a segunda, a abundância de [Ô]tutoriais[Ô] que não explicam nada, simplesmente mostram o que fazer e na verdade prestam um enorme desserviço, mesmo na melhor das intenções. Essa abundância de código pronto, cria uma falsa idéia de que programar é a coisa mais fácil do mundo e com duas ou três consultas no google achamos com facilidade a solução para o [Ô]problema[Ô]. [Ô]Como limpar uma combobox[Ô], [Ô]use o método clear[Ô], [Ô]pode me dar um exemplo disso?[Ô], é esse o diálogo padrão em muitos e muitos posts aqui mesmo no fórum, e não só aqui no VBMania, no MSDN também e praticamente qualquer fórum que eu tenha visto sobre programação em lÃngua portuguesa. A primeira vista isso pode parecer que são alguns casos isolados, mas a coisa não é bem assim. Já trabalhei em várias empresas, conheci centenas de [Ô]profissionais[Ô] nessas empresas e o nÃvel dos profissionais é mais ou menos esse. Muito, mas muito ruim. Tenho feito diversos vÃdeos no youtube para tentar ajudar, fazer melhorar isso de pouco em pouco, mas os vÃdeos que mais tenho visualização, são os que tem código fonte disponÃvel. Este código fonte está no GitHub, que permite ver a quantidade de downloads feitos. Essa quantidade de downloads é praticamente o mesmo número de visualizações. As pessoas não querem saber de aprender de verdade, não querem criar nada, não querem melhorar como profissionais, só querem [Ô]uma dica[Ô], [Ô]um inÃcio para continuar o trabalho deles[Ô]. Então eles pegam o código semi pronto e fazem uma bagunça dizendo estarem adaptando, mas não aprenderam nada, continuam profissionais medÃocres mas com um código de certa qualidade. é frustrante. Com isso, tive uma idéia. Vou fazer também tutoriais mais ou menos no mesmo nÃvel, mas em lÃngua inglesa. Para o público internacional. Isso vai fornecer dados para comparar uma teoria que tenho. Eu também participo de fora internacionais, onde francamente, o nÃvel das perguntas é muito, mas muito superior. Assim que tiver os resultados, eu vou postar aqui e fazermos um comparativo...
Citação:A coisa é simples: a nossa profissão não tem e dificilmente terá uma regulamentação formal e espero que nunca tenha
Eu, particularmente, espero que tenha. E em breve. Para profissionais não terem que competir com qualquer desletrado que faz preços absurdos e denigre todo o mercado. Se não houvesse CRM para os médicos, estes teriam que concorrer com curandeiros instalados em hospitais.
Citação:Qualquer pessoa pode simplesmente baixar um Visual Studio de graça pegar alguns tutoriais e sair fazendo. E na verdade isso faz parte do problema
E deve continuar podendo baixar e estudar. Só não pode aplicar comercialmente estando despreparado para trabalhar com os comportamentos que a ciência exige. Usando ainda o exemplo da medicina, eu posso baixar a fórmula do AZT, mas dai a receitá-lo... é outra história.
Citação:Então uma educação fraquÃssima é a primeira peça do problema, a segunda, a abundância de [Ô]tutoriais[Ô] que não explicam nada, simplesmente mostram o que fazer e na verdade prestam um enorme desserviço, mesmo na melhor das intenções. Essa abundância de código pronto, cria uma falsa idéia de que programar é a coisa mais fácil do mundo e com duas ou três consultas no google achamos com facilidade a solução para o [Ô]problema[Ô]. [Ô]Como limpar uma combobox[Ô], [Ô]use o método clear[Ô], [Ô]pode me dar um exemplo disso?[Ô],
Acredito que seja exatamente por isto que deva existir a regulamentação. O cidadão que faz este tipo de pergunta para aplicar em um cliente que será lesado e falará mal da classe profissional como um todo, será extirpado do mercado.
Citação:Então eles pegam o código semi pronto e fazem uma bagunça dizendo estarem adaptando, mas não aprenderam nada, continuam profissionais medÃocres mas com um código de certa qualidade
Este é outro motivo pelo qual sou a favor da regulamentação de nossa profissão. Evitaria que um médico receitasse usando o carimbo de outro.
Tudo de bom.