arquitetura de software 28 Feb 2009 03:23 pm

Pangea – a rede social de arquitetos de software

A algum tempo procuro algum grupo na web em que o tema central seja arquitetura de software. Quando já tinha desistido eis que Adriano Tavares me convida para o pangeanet.org .

Por enquanto estou como o convidado recém chegado que não conhece ninguém, ouvindo mais do que falando. Estou gostando muito do que “ouço” . Já li bons artigos de Marco Mendes e Alcebíades Júnior.

especificação de requisitos 27 Feb 2009 09:57 pm

Casos de Uso: o “como” e o “Por quê?”

No corpo principal de um caso de uso ao definirmos um passo ele pode ser mais genérico ou mais especifico do que o nível de objetivo desejado. Podemos adequar o “passo” perguntando “por quê?” para tornar o passo mais genérico ou perguntar “como” para torna-lo mais especifico.

Por exemplo, digamos que escrevemos: “O usuário clica no botão” . Este passo é demasiado especifico ao perguntarmos “por quê?” , por exemplo, podemos obter como resposta: “para imprimir o relatório” . Nós obtemos um passo mais genérico: “O usuário imprime o relatório” ao perguntar o “por quê”. Podemos fazer o caminho inverso perguntando: Como o usuário imprime o relatório.

Esta é uma técnica apresentada no livro Escrevendo Casos de Uso Eficazes, um guia prático para desenvolvedores de software de Alistair Cockburn .

definição 16 Feb 2009 09:41 pm

Software enferrujado

Recentemente li alguém dizer que o software não se desgasta.

O software não existe no éter ele é o amálgama das interações sociais com as plataformas computacionais. Ambos os elementos se desgastam quanto mais esta cola que chamamos de software.

Logo ,como todo componente feito pelo homem, o software sofre a ação do tempo. Portanto, ele se desgasta.

NOSQL 15 Feb 2009 06:49 am

O Rei está morto? Viva ao Rei!

Se existe um Rei no desenvolvimento de software este é o Banco de Dados Relacional, SGBDR. Até recentemente era incontestável como solução para armazenamento de dados e como principal componente da arquitetura dos sistemas de informação. As necessidades do desenvolvimento WEB, como computação nas nuvens, e o surgimento de novas soluções, leva a se reavaliar o status dos SGBDR.

Em geral vemos o SGBDR como principal componente de um sistema de informação com o advento dos sistemas web este posto cada vez mais é do servidor web. Pensando desta forma o “Rei está morto. Viva ao Rei!” . No entanto qual a sua relevância por trás do servidor web?

Cada vez mais surgem soluções concorrentes aos SGBDR: o simpleDB da Amazon, o BigTable da Google, o couchDB, MongoDB, entre outras. Com o surgimento de aplicações de sucesso usando estas tecnologias talvez tenhamos cada vez mais a sua adoção. Neste caso o Rei está deposto mas quem será o novo Rei? Podemos pensar que efetivamente não existirá quem ocupe o posto. Entretanto vale salientar que se o SGBDR vai ser deposto o mesmo não acontece com o SQL.

Afinal eu apenas espero que não tenha mais que implementar, a contragosto, soluções onde algum analista achou melhor colocar o documento da planilha ou o a foto dos funcionários dentro de um campo blob no SGBDR, ou tenha que explicar a um desenvolvedor que o banco de dados não é o único lugar que podemos armazenar uma informação.

Referências:

arquitetura de software 12 Feb 2009 08:09 am

Quando precisa-se de um Arquiteto?

Como eu disse em outro post a arquitetura é algo que é feito no início do projeto . Isso leva a alguns pensarem que o arquiteto é necessário apenas no início do projeto. Entretanto durante toda a vida do projeto são feitas alterações da arquitetura.

Estas alterações podem ser intencionais ou acidentais[1]. As alterações acidentais ocorrem das várias decisões individuais de design que ocorrem durante o desenvolvimento que depois são identificadas com o nome de arquitetura. Ao contrário as mudanças arquiteturais intencionais são efetuadas por meio de decisões de design que tem como fim um arquitetura definida.

As decisões de design quando tomadas sem o acompanhamento de um Arquiteto pode levar a um comprometimento da arquitetura do sistema. Todavia nem sempre é possível contar com o Arquiteto para estes casos é importante que se tenha um documentação adequada da arquitetura que possas guiar os desenvolvedores.

Por fim , precisa-se de um arquiteto durante toda a vida do projeto embora no início sua atividade seja mais visível é importante a sua participação durante a evolução do sistema.

Referências:

  • [1] – The Accidental Architecture, Grady Booch

« Previous PageNext Page »