Os requisitos não funcionais mudaram muito nos últimos anos. Até pouco tempo atrás, aplicações rodavam em dezenas de servidores, o tempo de resposta era na casa de alguns segundos, algumas horas de tolerância offline e dados na casa dos gigabytes. Atualmente, em compasso com a evolução tecnológica, esses mesmos requisitos não funcionais desenvolveram-se para aplicações…
Category: Engenharia de Software
Modelagem ágil com AMDD
A revista Engenharia de Software magazine deste mês traz um artigo meu sobre agilidade na modelagem arquitetural. A AMDD pode desempenhar um papel fundamental para melhorar o cenário atual de produtividade no desenvolvimento e na manutenção do software. Esse artigo é útil, uma vez que a AMDD possibilita, durante a implementação do software, além de…
Conformação arquitetural: sincronizando o código e a arquitetura do projeto
A edição de abril de 2015 da Revista Java Magazine trás um artigo meu sobre Conformação Arquitetural. Ao longo do tempo a arquitetura planejada para um software tende a se distanciar do que foi inicialmente projetado. A representação do projeto por meio de diagramas UML em documentos de arquitetura de software perdem total conexão com o código fonte…
Arquitetura de software com tempo de expiração e modularidade
Provavelmente você já deve ter ouvido muitas vezes que a solução para algum sistema, cuja manutenção tenha se tornado um grande problema, é jogar toda a base de código no lixo e reescrever tudo de novo, repensando e reformulando sua arquitetura. Martin Fowler escreveu recentemente sobre isso em seu blog, num post intitulado “Sacrificial Architecture”…
DevOps: Estudo de caso sobre erros de build no Google
O build do código é uma fase muito importante no desenvolvimento de software, sem o build não há executável, ou seja, o processo de build é primordial para obter um software funcional. O processo de build (ou compilação dos fontes), parece uma tarefa trivial, mas é, na verdade, um processo bastante complexo. Esse processo consiste…
Sonar Java: avaliando o código por meio de métricas
A edição de setembro de 2014 da Java Magazine trás um artigo meu sobre métricas de qualidade de software e como o a ferramenta Sonar auxilia no gerenciamento e controle do código de um projeto. O artigo apresenta o Sonar e os conceitos utilizados pelo mesmo para o monitoramento da qualidade de código. Acompanhar a…
Escolhendo a próxima linguagem da JVM
Em seu artigo da série Java.next, intitulado “Choosing your next JVM language”, Neal Ford – arquiteto de software na ThoughtWorks – comenta sobre a JVM como plataforma para outras linguagens e apresenta comparações entre Groovy, Scala e Clojure. Neal diz que entramos em um mundo poliglota de linguagens de programação e que os números estão…
Qualidade de código: encapsular estruturas condicionais
Recentemente escrevi sobre qualidade de código apresentando uma ferramenta de análise de código chamada Sonar. Esta ferramenta verifica vários aspectos do código fonte, entre eles a complexidade do código. Códigos complexos possuem muitos caminhos de execução e, além de ter uma chance maior de serem origens de bugs, são mais difíceis de ler. O ideal…