Pular para o conteúdo principal

Engenharia de Software - Uma história de amor e ódio

Palestra de Christian Reis na Feira de Informática 3.0 de 2003 na UFSCar. Eis alguns pontos:
- A profissão moderna mais difícil;
- Exige conhecimento técnico detalhado em uma área em constante ebulição;
- O que eu espero de vocês é que tenham paixão pelos seus produtos, e com estes produtos, que ajudem a construir o Brasil;
- Se não tiverem paixão pelos seus produtos me avisem para eu nem pensar em ser um consumidor;
- Esqueçam suas aulas: desenvolver software (de qualquer maneira) é Engenharia de Software;
- Não se enganem: escrever código, rodar e testar é um processo de software;
- O que nos falta é uma visão de escala: para que tipos de tarefas são adequados que tipos de processo;
- Obviamente, a preocupação com processo de software é menor quando é um projeto de 3 horas;
- Processo de Software é um nome chique para descrever quando sentamos juntos e planejamos construir ou consertar algo:

  • Descobrir o que tem para ser feito.
  • Descobrir como será feito.
  • Fazer. Fazer. Fazer. Fazer.
  • Descobrir se faz mesmo o que era para fazer.
    (enxague, repita)

- Para aprender como construir software, precisamos de bons exemplos;
- Nenhum processo bem projetado é burocrático, inútil ou sem resultado. Mas o processo tem que se encaixar na sua equipe;
- Engenharia de Software é para ser divertido e interessante (e seu amigo na hora que dá tudo errado);
- Engenharia de Software ensina ter amor pela equipe, amor pelo usuário, amor pelo produto;
- Engenharia de Software é uma passo em direção à evolução da profissão;
- "Pessoas que dizem que algo não pode ser feito não devem interromper quem está fazendo" (Provérbio Chinês)

Comentários

Anônimo disse…
O texto de Cristian Reis relata o amor que devemos ter pela profissão de engenharia de software, pois não podemos apenas desenvolver sistemas, precisamos planejar,construir e seguir um processo para o desenvolvimento do soft com qualidade.Somente com amor aos produtos a serem desenvolvidos que podemos nos tornar profissionais de engenharia qualificados e com capacidade de gerenciar e desenvolver processos de denvolvimento de software.
Anônimo disse…
Apesar de ser considerada uma das profissoes modernas mais dificies, por exigir um conhecimento técnico em area onde as inovações sao constantes,a engenharia de software tem que despertar em sem estudiosos paixão,paixao que possa motiva-los a desenvolver produtos(software)que atendam as necessidades e pretensãos dos consumidores.
Em sistese,para se ter bons resultados nesta profissão, e necessário que a construção de software seja uma atividade divertida, interessante e feita em equipe ( visto que duas cabeças,pensam melhor que uma!).
Portanto, a engenharia de software exige de seus operadores visao de escala, ou seja, visao do que futuramente o mercado consumidor necessitará, em qual medida devem ser avanços. E pois a engenharia de software um passo rumo a evolução de nossa profissão, o que por sua vez contribuirá para o desenvolvimento do país, pondo, quição este ultimo no patamar das outras nações desenvolvidas do mundo.
Anônimo disse…
O texto relata que para nós sermos um bom criador de software, temos que gostar muito do fazêmos ou seja ter amor a essa profissão e saber fazer e como fazer.Porém software requer muita atênção do seu criador, desde o seu planejamento até o mesmo ser concretizado...
Anônimo disse…
O texto fala da modernidade que a é a profissão do engenheiro de software, pórem está não é uma profissão fácil para se trabalhar. É necessário se utilizar de técnicas, a falta delas resulta no profisonal Jorginho, que não usa os principios da engenharia de software.Tornando software desenvolvido por ele ter pouca eficacia.É por ser uma profissão que necessita de processos para se obter grande eficacia perante aquele que contratou o serviço como o úsuario que utilizará.
Anônimo disse…
O texto relata sobre como a engenharia software está presente na vida do ser humano sem que ele perceba algumas vezes,mas é importante porque a engenharia de software veio justamente para sumprir as necessidades do usuário direto ou indiretamente,mas para desenvolver um software temos que ter muito amor e paixão pelo o que estamos fazendo desde o ponto de partida até a sua chegada ou seja desde a percepção do problema até o momento em que o sistema desenvolvido deixa de ser operacional.
Anônimo disse…
o texto fala que engenharia de software e uma profissão modernar mais difícil,pois temos que ter conhecimentos técnicos as áreas em constante mudanças,a cada ano que passa novas técnologias vão surgindo o profissional tem que ta preparado para essas mudanças.
Anônimo disse…
O titulo da palestra de Cristian reis esta relacionado nos bons e maus momentos de se construir um software,ou seja, o ódio em que se é referido acontece quando há mitas dificuldades para contruir o produto,isto é,quando ele usa suas tecnicas,perde bastante tempo,bate cabeça para achar a soução do programa e não consegue.
Por outro lado ele relatou que amor e quando gostamos
da profissão de engenharia de software e temos orgulho por sermos os contrutores do programa que podera favorecer os usuarios e que no futuro quem sabe poderá ajudar o pais.
outro ponto interessante é que o autor demontrou atraves de seus argumentos algumas exemplos para que sejamos bons desenvolvedores de software.
Anônimo disse…
Apesar de, a engenharia de software possuir aéra específica em informática, suas características estão presentes em praticamene todo o processo de "construção" do software em si. O que exige que a equipe que está o desenvolvendo tenha quase sempre, uma profunda dedicação, ou seja, amor pelo trabalho que está sendo deenvolvido.tudo isso para que o usuário final sinta-se satisfeito com seu produto que foi cuidadosamente bem elaborado e implementado.
Anônimo disse…
Bom eu discordo desse trecho do texto: "Esqueçam suas aulas: desenvolver software (de qualquer maneira) é Engenharia de Software"...pois, engenharia de software é todo um processo que deve seguir vários passos, desde a entrevista com o cliente até a finalização do software. Discordo também do termo usado "de qualquer maneira", pois o desenvolver tem o conhecimento bem profundo do sistema.
Anônimo disse…
Bom no texto é abordado sobre o termo processo de software, que por ele é rotulado como um nome chique para descrever quando pessoas sentam para contruirem algo, concordo em parte, para mim(e segundo pesquisas, por mim feitas) processo de software é um conjunto de atividades executadas por pessoas de uma certa forma organizadas para o desenvolvimento de um software usando ferramentas de engenharia de software.
Unknown disse…
Christian Reis.. retrata, a paixao pela profissão, e quer que todos aqueles que estejam na área, tenham mais dinamimos,pois, Engenharia de Software, requer muita precisão, força de vontade, e agilidade. Para que com isso possamos estar sempre evoluindo e nos destacando dentre os demais
Anônimo disse…
Cristian Reis fala que o profissional da informática precisa se dedicar ao máximo e ter amor ao que faz para poder fazer bem e ter o sucesso desejado. Devemos trabalhar com impolgação e inovação, não basta ser apenas mais um profissional devemos ser diferentes mas eficientes.
Anônimo disse…
Compomos um dos grupos de profissionais mais exigidos pela sua profissão, temos que conhecer de forma minuciosa uma profissão constante e rapidamente evolutiva. Temos que desenvolver produtos (programas, softwares) aos quais tenhamos uma relação praticamente afetiva. Mas temos urgentemente que parar de pecar pela preguiça, pois qualquer programa de meia hora é uma “miniatura” de um processo de software, o que nos falta então é uma visão de escala, de proporção. Devemos nos apaixonar pela nossa profissão, torná-la interessante e como forma de diversão. Sem desconsiderar os processos, os métodos, as metodologias e as ferramentas a nós apresentadas nas aulas de engenharia de software.
Anônimo disse…
Softwares de forma geral caracterizam a evolução em que estamos vivendo, aonde todos, ao pensar nela não a desvinculam da informatização, daí a dificuldade de nos mantermos atualizados nesta profissão altamente evolutiva. Atualmente precisamos ser bons desenvolvedores de softwares utilizando os métodos, metodologias e ferramentas neste processo, sem esquecer que para merecermos tal conceito precisamos ser apaixonados por nossa profissão fazendo dela nosso prazer e lazer. No entanto, não é função de um desenvolvedor criar softwares de prateleira e sim softwares que atendam as necessidades de usuários comuns.
Anônimo disse…
Muitas das Pessoas que se formam em sistemas de informação e TPD, apesar de serem otimos programadores dificilmente usam alguns metodos da engenharia de software, muitos usam o metodo da entrevista com a pessoa interessada em ter o sistema. Mais a Engenharia de Software é muito importante devido a grande demanda de analistas de sistemas.
Engenharia de Software ensina ter amor pela equipe, amor pelo usuário, amor pelo produto;
Essa questão tem q ter em uma equipe de desenvolvimento não necessariamente amor pela equipe mais a união e dedicação do grupo.
Anônimo disse…
“Para aprender como construir software, precisamos de bons exemplos” “Esqueçam suas aulas: desenvolver software (de qualquer maneira) é Engenharia de Software” é de cara um diálogo contraditório ao restante do discurso, não devemos esquecer que para uma boa evolução é necessário criar e não apenas copiar, basear-se em exemplos nos torna apenas replicadores de idéias é necessário que saibamos usar de forma correta determinados exemplos, A engenharia de software é algo mais do que simplesmente sentar, pensar e fazer.
Anônimo disse…
Assim como em qualquer área, e preciso se ter amor pelo que se faz, devemos está em perfeita sintonia com o projeto pois o projeto depende das nossas ideias idependentemente de onde queremos chegar, desenvolver um software por incrível que pareça e uma arte, arte essa que nos desenvolvedores adquirimos atraves de muitos estudos, erros e acertos. O que seria de um projeto sem um planejamento, o que seria de um planejamento sem nossas ideias? Para que aconteça tal feito e preciso um trabalho em equipe onde cada um tem o seu valor dentro do trabalho e é atravez do compartilhamento desses tais valores e que a equipe se comunica. Tendo uma equipe bem centralizada no objetivo do projeto, com ótimas idéias seja para implementar, corrigir ou modificar e que se realiza um novo e futuramente um projeto bem sucedido. Marília Sousa
Anônimo disse…
A engenharia de software é algo delicado e interessante de se
analizar, pelo simples fato desse processo estimular para a
inovação tecnologica e o Desenvolvimento. A quem diga que
engenharia de software é complexa, porém mesmo na sua complexibilidade
ela esta se tornando a profisão do momento.
Trabalhar em grupo é um grande desafio, pois a uma grande necessida
de compaheirismo e compreenção, tornado-se assim uma verdadeira historia
de amor e ódio.
Anônimo disse…
" o texto diz que para ser um bom engenheiro de software é preciso ter paixao pelos produtos e que tudo que aprendeu nas aulas nao servira pra nada se nao tiver conhecimento tecnico, ter uma visao para qualquer tipo de processo. A uniao da equipe é fator importante para a engenharia de software, coletar bons exemplos e nunca interromper o servico dos outros se um nao conseguir."
Anônimo disse…
Concordo quando ele diz:
"O que nos falta é uma visão de escala: para que tipos de tarefas são adequados que tipos de processo."...pois a Engenharia de Software é uma linha de pesquisa da Computação que mobiliza um conjunto de competências aplicados na sistematização da produção, manutenção, evolução e recuperação de produtos intensivos em software. O resultado almejado, por esta, são produtos de software que asseguram qualidade satisfatória e apoiam adequadamente os seus usuários na realização de suas tarefas. Devem atender aos requisitos de eficiência e eficácia; operar corretamente, de forma economica, em ambientes reais e melhorar continuamente, por meio de manutenções, adaptando-se ao "domínios de problema" em constante evolução.
Anônimo disse…
Engenharia de software é uma profissão moderna e dificil, pois ela envolve um conhecimento profundo de desenvolvimento e muita dedicação, espirito de equipe e paixão pelo q vc estar construindo, na expressão "Esqueçam suas aulas: desenvolver software (de qualquer maneira) é Engenharia de Software", o autor se refere de modo errado pois não se constroi de qualquer maneira vc passa por metodologias, métodos e ferramentas a ser utilizados, desde a percepção do problema até o momento em que o sistema desenvolvido deixa de ser operacional.Isso é um passo em direção à evolução da profissão;
BJosss

Postagens mais visitadas deste blog

Lazarus - Acessando banco de dados com SQLdb - Parte I

Para fazer nossa primeira aplicação usando banco de dados no Lazarus vamos usar o SQLite e o conjunto de componentes nativo SQLdb. Inicialmente vamos apresentar passo como essa aplicação foi criada. Essa foi a maneira que eu fiz, e eu agradeço sugestões e questionamentos que pessoas que já passaram por essa experiência. Depois irei fazer algumas considerações sobre o uso do SQLdb. SQLite SQLite é uma biblioteca que implementa um motor de banco de dados SQL. É livre para qualquer finalidade, seja uso particular ou comercial. Lê e escreve em um único arquivo que pode ter além de tabelas, índices, gatilhos e visões. Executa em várias plataformas e é indicado para aplicações embarcadas. Maiores detalhes podem ser encontrados no site oficial. Para usá-lo, baixe-o do site e faça a instalação adequada para o seu sistema operacional. No Windows isso é muito simples, apenas copie sqlite3.dll para o system32 da pasta do sistema operacional. Existe uma ferramenta de linha de comando chamada

Tipos de dados no SQLite

Em SQLite, diferente de outros motores de banco de dados, o tipo de dado de um valor está associado com o valor propriamente dito, e não com o seu contêiner. É um sistema de tipo dinâmico. Um campo de uma tabela em SQLite pode receber qualquer tipo de dado. Assim, o SQLite simplesmente ignora o tipo informado no comando CREATE TABLE. Então, dizemos que no SQLite existem classes de armazenamento. E essas classes são: NULL - como em qualquer outro banco de dados. INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor. REAL - valor de ponto flutuante armazenado em 8 bytes. TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE. BLOB - armazena um blob, como indica o nome. Uma coluna INTEGER PRIMARY é uma exceção. Só aceita números inteiros. Qualquer valor em um comando SQL tem uma classe de armazenamento implícita. Durante a execução do comando SQL, o SQLite pode converter valores entre classes numéricas (INTEGER e REAL)

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer