Category Archives: Reflex�£o

A Evolu�§�£o da Engenharia de Software

Introdução

Nos últimos anos tem se observado uma crescente movimentação no mercado em torno do modelo de desenvolvimento denominado Fábrica de Software. Esse modelo tem uma grande característica que é o uso de técnicas utilizadas na engenharia industrial de produção em série, para a criação de um ambiente produtivo de desenvolvimento de software com qualidade e baixo custo.
Esse modelo de desenvolvimento não é novo, surgiu na década de 60, mas só agora começa a ser intensivamente utilizado pelas empresas de desenvolvimento de software.
Os avanços da engenharia de software nos últimos anos e as mudanças ocorridas nos processos de desenvolvimento de sistemas, como o software livre e o surgimento de padrões abertos para desenvolvimento corporativo, fizeram surgir um novo modelo de fábrica de software no mercado. As novas facilidades tornaram possíveis que empresas de médio e até de pequeno porte, pudessem montar suas fábricas de software para prestar serviços de desenvolvimento de sistemas Ã?  crescente terceirização do mercado, resultando numa proliferação deste novo modelo de fábrica pelo mundo.

Evolução

Empresas em todo mundo estão percebendo que o desenvolvimento de software é uma atividade bastante especializada para ser absorvida e custeada internamente. Desta forma é crescente o número de terceirização na área de informática, especialmente na área de desenvolvimento de software.
Juntamente com esta crescente demanda por terceirização, cresce também o nível de exigência do mercado em termos de qualidade e custo do software. Como resultado, empresas estão investindo em ferramentas de automação, enquanto trabalhos de pesquisas em novos paradigmas de implementação, como orientação a aspectos, estão obtendo resultados significativos.
Algumas destas pesquisas já possuem resultados práticos, como o AspectJ, uma extensão da linguagem Java para o paradigma orientado a aspectos desenvolvida pelos Institutos de Pesquisa da Xerox. Com a evolução e amadurecimento da orientação a aspectos, será possível desenvolver software de forma mais consistente, abordando de uma única vez importantes aspectos não-funcionais do sistema, que poderão ser reutilizados em várias demandas da fábrica, eliminando desta forma o retrabalho e a replicação de código.
Segundo Jack Greenfield, importante arquiteto de software da Microsoft, “os métodos e práticas de desenvolvimento de software terão que mudar radicalmente… A solução deve envolver a modificação dos nossos métodos e práticas. Devemos encontrar formas de tornar os desenvolvedores muito mais produtivos”.
A Microsoft está desenvolvendo uma nova arquitetura de desenvolvimento de sistemas denominada “Software Facotories” (Fábricas de Software).
Segunda a própria Microsoft será uma arquitetura revolucionária, que elevará bastante os níveis de reutilização de software, através de conceitos como o de linhas de produção de software, onde componentes poderão ser montados, configurados e empacotados, resultando num produto final completo. O desenvolvedor se preocupará apenas em customizar os aspectos altamente especializados e específicos do projeto.
Um outro tópico que será um diferencial no futuro são os significativos avanços das ferramentas case nos últimos anos, que permitirá a visualização e controle de todas as fases de desenvolvimento do sistema em uma única ferramenta. Atualmente o nível de integração entre todos os artefatos das várias fases do projeto é alto, mas não permite uma automação e rastreabilidade de todos os pontos do sistema. Porém num futuro próximo, com a evolução dos processos de software e das tecnologias de construção de ferramentas case, se espera abranger todo o sistema, desde a geração do código Ã?  partir dos artefatos de análise e projeto até a automação na realização dos testes.
Com a constante evolução da engenharia de software e das tecnologias envolvidas no desenvolvimento de sistemas, as fábricas de software poderão vir a ser uma realidade cada vez mais presente no mercado e se tornando cada vez mais efetivas dentro de seu objetivo de produzir software de qualidade em pouco tempo e com baixo custo. Como resultado, espera-se em todo mercado mundial um crescimento ainda maior na adoção do modelo de fábricas de software para o desenvolvimento de sistemas.

Conclusão

Como pode-se observar a engenharia de software está sempre evoluindo. Novos paradigmas, linguagens, ambientes surgem a cada dia, buscando aumentar a produtividade e qualidade no desenvolvimento de software. Sistemas que levavam dois anos para serem codificados hoje em dia podem ser feitos em meses.
O profissional ligado a área de desenvolvimento de software deve ficar atento a esses novos paradigmas, pois se não o fizer, correrá o risco de tornar-se obsoleto.

A barra de navega�§�£o j�¡ era

Nos últimos meses tenho observado que as aplicações web estão cada vez mais ricas, atualizando a sua interface instântaneamente entre outras coisas. A tendência é que a barra de navegação dos browsers, com suas opções de voltar, avançar, atualizar etc. deixem de ser utilizadas. Pense nisso quando for escrever o seu próximo aplicativo web.

Tag: Objetivos para 2007

O meu camarada, Marco Gomes me convidou para participar desse meme que está agitando a blogosfera. Voce estabelece 5 metas para 2007 e convida 5 amigos para participar da brincadeira.

Eis minhas metas para 2007:

  • Desenvolver um software revolucionário
  • Praticar mais exercícios físicos
  • Programar menos na madrugada
  • Parar de gastar meu dinheiro com gadgets
  • Estudar mais

Convido essas 5 pessoas:

Tornando reais suas aplica�§�µes para a Web

Nosso amigo Marco Gomes publicou o seguinte artigo no seu blog:

Todos já notamos que vender aplicações em caixas bonitas é coisa do passado. Mesmo que este tipo de distribuição de software se mantenha por um bom tempo, mesmo que sistemas operacionais precisem ser entregues em caixas bonitas daqui a 30 anos, ainda assim é passado.

O novo modelo de distribuição coloca os softwares para serem utilizados na Web, dentro do navegador(por enquanto), com conexões banda-larga e CPUs ultra poderosas fica fácil.

Este texto está sendo escrito em uma aplicação chamada Writely que roda na web e, para meu uso, tem muitas vantagens sobre um processador de texto que rode localmente, como Microsoft Word ou BrOffice.org Writer. Para citar três destas vantagens: eu posso acessar o texto de qualquer lugar, posso escrever o texto em conjunto com outras pessoas simultaneamente, não precisei instalar uma suite de aplicativos que custa quase R$:1000,00 e iria consumir processamento e memória RAM do meu computador pra sempre.

O objetivo deste texto é traçar algumas dicas para pessoas envolvidas no desenvolvimento de aplicações para esta Nova Web (perdão pelo jargão, mas não consigo achar nada mais adequado). Não é focado apenas em programadores, designers, gerentes de projeto ou qualquer outro perfil profissional, pode ser usado inclusive para projetos não-Web e não-programação.

Bits e Bytes

Se pararmos para pensar em como a internet ou até mesmo esse simples blog funciona, veremos que tudo isso são grandes obras do intelecto humano. Grandes redes de transístores trabalham conduzindo ou cortando a corrente elétrica que passa através deles, produzindo assim, isso que chamamos de computador. Claro que há vários outros componentes envolvidos, mas quem realmente faz esse trabalho pesado é o transístor que pode, justamente, ser chamado de “unidade atÃ?´mica” do computador.

No futuro próximo, o computador se tornará uma máquina tão poderosa, que irá desaparecer, talvez engolindo ele próprio, em um processo evolutivo contínuo.

No momento, o poder de processamento está no browser, mas no futuro, o poder de processamento será o que menos importa.

Webware

Os programas desktops estão em fase terminal.

Essa frase de impacto mostra, que as aplicações web (webware), dominarão a nova era da informática. Será uma revolução tão grande quanto a que ocorreu, quando Steve Jobs montou o seu Macintosh, absorvendo as tecnologias de interface com usuário que os engenheiros do instituto de pesquisa de Palo Alto, da Xerox estavam desenvolvendo. Mal sabiam os executivos da Xerox, o erro que eles estavam cometendo ao ignorar e zombar de algo chamado mouse.

Agora, iremos viver uma nova era, onde a computação será mundialmente distribuída, com softwares rodando a partir de qualquer lugar do planeta. As novas aplicações web 2.0 já começaram a mostrar isso. Só falta agora, a consolidação dos padrões e o suporte aos dispositivos móveis.

Todo e qualquer software estará conectado Ã?  internet. O seu computador será composto de apenas um software: O browser.

Macintosh
O Macintosh da Apple