<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>¦ M ! L Є S i • B Λ S Γ Ø S ¦</title>
	<atom:link href="http://milesibastos.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://milesibastos.com</link>
	<description>Learning and Coolness - Beyond Code</description>
	<lastBuildDate>Mon, 20 Dec 2010 18:03:34 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='milesibastos.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/892329e5564e4a4787230abfe6386a0f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>¦ M ! L Є S i • B Λ S Γ Ø S ¦</title>
		<link>http://milesibastos.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://milesibastos.com/osd.xml" title="¦ M ! L Є S i • B Λ S Γ Ø S ¦" />
	<atom:link rel='hub' href='http://milesibastos.com/?pushpress=hub'/>
		<item>
		<title>Refatoração</title>
		<link>http://milesibastos.com/2010/12/20/refatoracao/</link>
		<comments>http://milesibastos.com/2010/12/20/refatoracao/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 12:09:44 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Mantendo a capacidade evolutiva da Arquitetura]]></category>
		<category><![CDATA[Práticas]]></category>
		<category><![CDATA[Refatoração]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">https://milesibastos.wordpress.com/?p=135</guid>
		<description><![CDATA[(Astels, 2003), em seu livro, define refatoração como o processo de realizar alterações em um código já existente sem alterar o seu comportamento. Com o objetivo de melhor a estrutura interna do código, uma refatoração alterara a forma como o código produz algum comportamento sem alterar o que ele faz. Refatoração e TDD estão intimamente [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=135&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(Astels, 2003), em seu livro, define refatoração como o processo de realizar alterações em um código já existente sem alterar o seu comportamento. Com o objetivo de melhor a estrutura interna do código, uma refatoração alterara a forma como o código produz algum comportamento sem alterar o que ele faz.</p>
<p>Refatoração e TDD estão intimamente relacionados de duas maneiras:</p>
<ul>
<li>Depois de fazer a coisa mais simples para um teste passar, vamos refatorar para limpar o código e remover duplicidades.</li>
<li>Quando praticamos TDD temos um conjunto exaustivo de testes que nos dão confiança e coragem para refatorar.</li>
</ul>
<h3><strong><span style="color:#003366;">Quando refatorar</span></strong></h3>
<p>De um modo geral, nós refatorar sempre que necessário. No entanto, (Astels, 2003) define três situações em que precisamos refatorar:</p>
<ul>
<li>quando há duplicação;</li>
<li>quando percebemos que o código e / ou a sua intenção não é clara;</li>
<li>quando se detectar códigos cheiros, ou seja, sutis (ou não tão sutil) indícios de que há um problema.</li>
</ul>
<h4>Referências:</h4>
<hr />
<p>
<strong>Astels, David. 2003.</strong> <em>Test-Driven Development: A Practical Guide.</em> s.l. : Prentice Hall, 2003.</p>
<br />Filed under: <a href='http://milesibastos.com/category/mantendo-a-capacidade-evolutiva-da-arquitetura/'>Mantendo a capacidade evolutiva da Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/praticas/'>Práticas</a>, <a href='http://milesibastos.com/tag/refatoracao/'>Refatoração</a>, <a href='http://milesibastos.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/135/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=135&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/12/20/refatoracao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Orientação a Testes</title>
		<link>http://milesibastos.com/2010/11/30/orientacao-a-testes/</link>
		<comments>http://milesibastos.com/2010/11/30/orientacao-a-testes/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 12:09:21 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Mantendo a capacidade evolutiva da Arquitetura]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=124</guid>
		<description><![CDATA[Em seu trabalho, (Astels, 2003) define o Desenvolvimento Orientado a Teste (TDD) como um estilo de desenvolvimento onde: você mantenha um exaustivo conjunto de Testes Automatizados; nenhum código entra em produção a menos que tenha um teste associado; você escreve primeiro os testes; os testes determinam o código que você deve escrever. No estudo publicado [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=124&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Em seu trabalho, (Astels, 2003) define o Desenvolvimento Orientado a Teste (TDD) como um estilo de desenvolvimento onde:</p>
<ul>
<li>você mantenha um exaustivo conjunto de Testes Automatizados;</li>
<li>nenhum código entra em produção a menos que tenha um teste associado;</li>
<li>você escreve primeiro os testes;</li>
<li>os testes determinam o código que você deve escrever.</li>
</ul>
<p>No estudo publicado por (Aniche, 2010), baseado em experimentos na indústria e na academia. Ele mostra que TDD melhora o processo de desenvolvimento, aumenta a qualidades do código produzido, reduz o número de defeitos, diminui o tempo gasto com depuração e até aumenta a produtividade dos desenvolvedores.</p>
<h3><strong><span style="color:#003366;">Manter um exaustivo conjunto de Testes Automatizados</span></strong></h3>
<p>Os Testes Automatizados testam se suas classes produzem o comportamento esperado. Embora sejam semelhantes aos Testes Unitários, eles são escritos por um motivo diferente.  Os Testes Unitários são escritos para verificar se o código que foi escrito funciona. Testes Automatizados são escritos para definir o que esse código deve fazer.</p>
<p>Praticar TDD implica, em ter um exaustivo conjunto de testes. Isso porque para cada linha de código deve ter sido escrita como resposta a um teste. O que gera um conjunto exaustivo de testes.</p>
<h3><strong><span style="color:#003366;">Nenhum código entra em produção a menos que tenha alguns testes associados</span></strong></h3>
<p>Uma característica não existe até que haja um conjunto de testes para acompanha-la. Isso traz confiança e coragem para refatorar e integrar.</p>
<h3><strong><span style="color:#003366;">Escreva primeiro os testes</span></strong></h3>
<p>O teste define o que se espera do código produzido. Então, escreve-se um pequeno teste e apenas o código suficiente para fazê-lo passar, então um pouco mais de teste e um pouco mais de código, teste e código, etc.</p>
<h3><strong><span style="color:#003366;">Os testes determinam o código que você deve escrever</span></strong></h3>
<p>Escrever apenas o suficiente para passar no teste implica em fazer a coisa mais simples que possa funcionar, limitando o código que será produzido.</p>
<h4>Referências:</h4>
<hr />
<p>
<strong>Aniche, Mauricio. 2010.</strong> <a href="http://www.aniche.com.br/2010/04/tdd-realmente-ajuda/">TDD realmente ajuda?</a> <em><a href="http://www.aniche.com.br">www.aniche.com.br</a>.</em> [Online] 04 16, 2010. [Cited: 09 18, 2010.] http://www.aniche.com.br/2010/04/tdd-realmente-ajuda/.<br />
<strong>Astels, David. 2003.</strong> <em>Test-Driven Development: A Practical Guide.</em> s.l. : Prentice Hall, 2003.</p>
<br />Filed under: <a href='http://milesibastos.com/category/mantendo-a-capacidade-evolutiva-da-arquitetura/'>Mantendo a capacidade evolutiva da Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/arquitetura/'>Arquitetura</a>, <a href='http://milesibastos.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=124&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/11/30/orientacao-a-testes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Mantendo a capacidade evolutiva da Arquitetura</title>
		<link>http://milesibastos.com/2010/11/29/mantendo-a-capacidade-evolutiva-da-arquitetura/</link>
		<comments>http://milesibastos.com/2010/11/29/mantendo-a-capacidade-evolutiva-da-arquitetura/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 12:09:00 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Mantendo a capacidade evolutiva da Arquitetura]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[Itegração Contínua]]></category>
		<category><![CDATA[Refatoração]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=115</guid>
		<description><![CDATA[Manter a capacidade evolutiva da arquitetura de um sistema vai além de definir um modelo de arquitetura, um conjunto de padrões e adotar boas práticas beneficiando-se do avanço das tecnologias e ferramentas de desenvolvimento. A equipe de desenvolvimento deve adotar práticas que ajudem a manter a capacidade evolutiva do software. Tão rápido quanto o Movimento [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=115&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Manter a capacidade evolutiva da arquitetura de um sistema vai além de definir um modelo de arquitetura, um conjunto de padrões e adotar boas práticas beneficiando-se do avanço das tecnologias e ferramentas de desenvolvimento. A equipe de desenvolvimento deve adotar práticas que ajudem a manter a capacidade evolutiva do software.</p>
<p>Tão rápido quanto o Movimento Ágil tem crescido, essas práticas vieram evoluindo. Algumas, a partir de práticas ágeis, antes focados no desenvolvedor, que se expandiram para incluir outros interessados como a equipe de qualidade e os gerentes de projetos entre outros.</p>
<p>Baseado neste sucesso, essas práticas estão agora sendo aplicadas em projetos de todos os tipos, Ágeis e Não-Ágeis, igualmente.</p>
<h4>Os próximos posts serão sobre algumas dessas práticas, entre elas:</h4>
<hr />
<ul>
<li>Orientação a Testes</li>
<li>Refatoração</li>
<li>Integração Contínua.</li>
</ul>
<br />Filed under: <a href='http://milesibastos.com/category/mantendo-a-capacidade-evolutiva-da-arquitetura/'>Mantendo a capacidade evolutiva da Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/arquitetura/'>Arquitetura</a>, <a href='http://milesibastos.com/tag/itegracao-continua/'>Itegração Contínua</a>, <a href='http://milesibastos.com/tag/refatoracao/'>Refatoração</a>, <a href='http://milesibastos.com/tag/tdd/'>TDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=115&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/11/29/mantendo-a-capacidade-evolutiva-da-arquitetura/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Acoplamento e Coesão</title>
		<link>http://milesibastos.com/2010/11/22/acoplamento-e-coesao/</link>
		<comments>http://milesibastos.com/2010/11/22/acoplamento-e-coesao/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 12:09:47 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Planejando a Arquitetura]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[Qualidade]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=101</guid>
		<description><![CDATA[É preciso, inicialmente, observar que um dos primeiros indicadores de qualidade na arquitetura de software foi o baixo acoplamento. Aparecendo juntamente com a coesão no início do desenvolvimento estruturado e nunca mais deixando de ser considerado em arquitetura de software. Segundo (Fowler, 2001) em seu artigo, o acoplamento geralmente ocorre quando uma camada da aplicação [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=101&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É preciso, inicialmente, observar que um dos primeiros indicadores de qualidade na arquitetura de software foi o baixo acoplamento. Aparecendo juntamente com a coesão no início do desenvolvimento estruturado e nunca mais deixando de ser considerado em arquitetura de software.</p>
<p>Segundo (Fowler, 2001) em seu artigo, o acoplamento geralmente ocorre quando uma camada da aplicação precisa acessar outra camada, seja para executar métodos ou acessar algum dado. (Gamma, 2005) falou em sua entrevista sobre os dois principais pontos referentes a um baixo acoplamento: “programe para uma interface, não para uma implementação” e “prefira uma composição de objetos a uma herança”.</p>
<p>Além disso, entre os vários tipos de coesão. Dois dos mais utilizados são a coesão comunicacional e coesão funcional. A coesão comunicacional é quando partes do módulo operam os mesmos dados. Faz sentido agrupá-los, porque existe uma forte relação entre eles. A coesão funcional é quando todas as partes do módulo trabalham em conjunto para executar uma tarefa bem definida. Este é considerado o melhor tipo de coesão.</p>
<h4>Referências:</h4>
<hr />
<p>
Reducing Coupling. Fowler, Martin. 2001. Julho/Agosto 2001, IEEE Software, pp. 102-104.<br />
Gamma, Erich. 2005. Design Principles from Design Patterns. [interv.] Bill Venners. Junho 06, 2005.</p>
<br />Filed under: <a href='http://milesibastos.com/category/planejando-a-arquitetura/'>Planejando a Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/arquitetura/'>Arquitetura</a>, <a href='http://milesibastos.com/tag/qualidade/'>Qualidade</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=101&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/11/22/acoplamento-e-coesao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Arquitetura Orientada ao Modelo do Domínio</title>
		<link>http://milesibastos.com/2010/11/18/arquitetura-orientada-ao-modelo-do-dominio/</link>
		<comments>http://milesibastos.com/2010/11/18/arquitetura-orientada-ao-modelo-do-dominio/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 12:09:14 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Planejando a Arquitetura]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[DDD]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=104</guid>
		<description><![CDATA[Em seu trabalho, (Evans, 2003) observa que qualquer domínio pode ser expresso em vários modelos e qualquer modelo pode ser codificado de várias maneiras. Dentre essas maneiras, temos que considerar os princípios de arquitetura de software, como vamos abordar a transição do modelo para o código e como essa arquitetura poderá evoluir durante o processo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=104&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Em seu trabalho, (Evans, 2003) observa que qualquer domínio pode ser expresso em vários modelos e qualquer modelo pode ser codificado de várias maneiras. Dentre essas maneiras, temos que considerar os princípios de arquitetura de software, como vamos abordar a transição do modelo para o código e como essa arquitetura poderá evoluir durante o processo de desenvolvimento.</p>
<p>Também, (Avram, et al., 2006) destacam ainda que um modelo correto pode não ser expresso em código ou acabar quebrando algum princípio de arquitetura de software. Diante disso, é preciso definir um modelo que seja fácil e precisamente codificado. </p>
<blockquote><p>A questão fundamental aqui é: como vamos abordar a transição do modelo para o código?</p></blockquote>
<p>Vale ressaltar que um dos principais problemas das arquiteturas é que os arquitetos não conseguem prever todos os possíveis cenários e detalhes de um domínio. Detalhes muito importantes são descobertos durante a implementação e um modelo válido para o domínio poderá apresentar sérios problemas com a persistência ou mesmo um desempenho inaceitável entre outros.</p>
<p>Sendo assim, a arquitetura deve evoluir durante o processo ou os desenvolvedores serão obrigados a tomar algumas decisões por conta própria, fazendo alterações na arquitetura a fim de resolver problemas reais que não foram considerados quando o modelo foi criado.</p>
<p>Dessa forma, (Evans, 2003) sugere que para manter a consistência entre o modelo e sua implementação são necessárias ferramentas de desenvolvimento e linguagens que suportem o paradigma de modelagem que está sendo proposto. </p>
<p>Diante disso, a programação orienta a objetos é adequada para a implementação do modelo de domínio porque ambos são baseados no mesmo paradigma fornecendo classes de objetos, associações e troca de mensagens entre eles, mapeando diretamente os objetos do modelo.</p>
<h4>Referências:</h4>
<hr />
<p>
<strong>Evans, Eric</strong>. 2003. <em>Domain-Driven Design: Tackling Complexity in the Heart of Software</em>. Boston : Addison-Wesley Professional, 2003.<br />
<strong>Avram, Abel and Marinescu, Floyd</strong>. 2006. <em>Domain-Driven Design Quickly</em>. 2006.</p>
<br />Filed under: <a href='http://milesibastos.com/category/planejando-a-arquitetura/'>Planejando a Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/arquitetura/'>Arquitetura</a>, <a href='http://milesibastos.com/tag/ddd/'>DDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=104&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/11/18/arquitetura-orientada-ao-modelo-do-dominio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Planejando a Arquitetura</title>
		<link>http://milesibastos.com/2010/11/17/planejando-a-arquitetura/</link>
		<comments>http://milesibastos.com/2010/11/17/planejando-a-arquitetura/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 23:17:19 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Planejando a Arquitetura]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[DDD]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=95</guid>
		<description><![CDATA[Do design centrado nos dados a orientação a domínio Em seu trabalho, (Avram, et al., 2006) destaca que o desenvolvimento de software é, na maior parte dos casos, utilizado para automação de processos ou resolver problemas de negócio. Os processos de negócio ou problemas a serem resolvidos são o domínio do software. Nós temos que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=95&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3><strong><span style="color:#003366;">Do design centrado nos dados a orientação a domínio</span></strong></h3>
<p>Em seu trabalho, (Avram, et al., 2006) destaca que o desenvolvimento de software é, na maior parte dos casos, utilizado para automação de processos ou resolver problemas de negócio. Os processos de negócio ou problemas a serem resolvidos são o domínio do software. Nós temos que entender, desde o início, que o software é derivado deste domínio e está diretamente relacionado a ele.</p>
<p>Em suma, o software deve seguir o modelo do domínio. Essa é a melhor maneira de fazer o software refletir um domínio específico. Ele precisa incorporar os conceitos fundamentais e os elementos do domínio, percebendo as relações entre eles.</p>
<h3><strong><span style="color:#003366;">Arquitetura Centrada nos Dados</span></strong></h3>
<p>Podemos observar que devido à impedância entre os mundos objeto e relacional, é comum encontrarmos soluções de arquitetura onde o domínio da aplicação está fortemente acoplado a camada de acesso a dados. Essa é uma questão encontrada principalmente quando uma abordagem de arquitetura centrada nos dados é utilizada. </p>
<p>Nessa abordagem, a modelagem da estrutura dos dados é a peça central. O banco de dados é a parte mais importante dessa arquitetura e o Administrador de Dados desempenha um papel fundamental.</p>
<p>No entanto, uma abordagem centrada nos dados pode ser bem utilizada quando temos um cenário para aplicações de formulários sobre dados que não envolvam processos de negócio complexos.</p>
<h3><strong><span style="color:#003366;">Arquitetura Orientada a Domínio</span></strong></h3>
<p>Como (Avram, et al., 2006) definem, a Arquitetura Orientada a Domínio combina arquitetura e práticas de desenvolvimento. Dentre tantos fatores, eles destacam como a arquitetura e o desenvolvimento podem trabalhar juntos para criar uma solução melhor. </p>
<p>Dessa maneira, uma boa arquitetura vai acelerar o desenvolvimento, enquanto o feedback proveniente do processo de desenvolvimento irá melhorar a arquitetura.</p>
<h4>Referências:</h4>
<hr />
<p>
Avram, Abel and Marinescu, Floyd. 2006. <a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">Domain Driven Design Quickly</a>. 2006.</p>
<br />Filed under: <a href='http://milesibastos.com/category/planejando-a-arquitetura/'>Planejando a Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/arquitetura/'>Arquitetura</a>, <a href='http://milesibastos.com/tag/ddd/'>DDD</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=95&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/11/17/planejando-a-arquitetura/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Arquitetura de Software Planejada e Evolutiva</title>
		<link>http://milesibastos.com/2010/07/05/arquitetura-de-software-planejada-e-evolutiva/</link>
		<comments>http://milesibastos.com/2010/07/05/arquitetura-de-software-planejada-e-evolutiva/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 03:22:31 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[Planejando a Arquitetura]]></category>
		<category><![CDATA[Agilidade]]></category>
		<category><![CDATA[Arquitetura]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=24</guid>
		<description><![CDATA[É notório que a crescente adoção de metodologias ágeis de desenvolvimento exigiu novas abordagens de engenharia de software. Essas abordagens desafiam muitos conceitos comuns sobre o Desenvolvimento Planejado de Software. Dentre tantos fatores, um dos mais polêmicos é a rejeição ao grande esforço realizado na fase inicial do projeto sugerindo uma abordagem evolutiva. Nessa abordagem, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=24&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É notório que a crescente adoção de <big>metodologias ágeis de desenvolvimento</big> exigiu novas abordagens de engenharia de software. Essas abordagens desafiam muitos conceitos comuns sobre o <big>Desenvolvimento Planejado de Software</big>. Dentre tantos fatores, um dos mais polêmicos é a rejeição ao grande esforço realizado na fase inicial do projeto sugerindo uma <big>abordagem evolutiva</big>.</p>
<p>Nessa abordagem, a arquitetura de software deve <big>adotar práticas</big> que ajudem a definir uma <big>estratégia de arquitetura evolutiva</big>. Como <a href="http://twitter.com/KentBeck">@KentBeck</a> observa, a arquitetura existe para possibilitar a evolução do software, com facilidade, a longo prazo.</p>
<p>Uma arquitetura deteriorada prejudica a capacidade de implementar mudanças com segurança. Nesse estado de <big>entropia do software</big>, com o tempo a arquitetura piora ainda mais. O software fica difícil de manter e vulnerável a bugs cada vez piores de serem identificados e corrigidos. Nesse processo de &#8220;codifica-remenda&#8221;, com o passar do tempo, os bugs tornam-se <big>exponencialmente mais caros</big> de corrigir.</p>
<blockquote><p>Diante disso, como planejar uma estratégia de arquitetura capaz de evoluir junto com o código?</p></blockquote>
<p>Definir um modelo de <big>Arquitetura Orientada ao Domínio</big>, um conjunto de <big>padrões de arquitetura</big> para aplicações corporativas, adotar <big>boas práticas</big> e beneficiar-se do avanço das tecnologias e ferramentas de desenvolvimento irá nos guiar no planejamento de uma <big>estratégia de arquitetura evolutiva</big> capaz de suportar o processo de <big>desenvolvimento ágil</big>.</p>
<h3>Referências:</h3>
<hr />
<p>
<a href="http://martinfowler.com/articles/designDead.html">Is Design Dead?</a> por <a href="http://www.martinfowler.com/">Martin Fowler</a><br />
<a href="http://www.agilebrazil.com/2010/pt/detalhes.html">Agile Brazil</a> Keynotes por <a href="http://www.martinfowler.com/">Martin Fowler </a></p>
<br />Filed under: <a href='http://milesibastos.com/category/planejando-a-arquitetura/'>Planejando a Arquitetura</a> Tagged: <a href='http://milesibastos.com/tag/agilidade/'>Agilidade</a>, <a href='http://milesibastos.com/tag/arquitetura/'>Arquitetura</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=24&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/07/05/arquitetura-de-software-planejada-e-evolutiva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
		<item>
		<title>Pra começar!</title>
		<link>http://milesibastos.com/2010/07/01/pra-comecar/</link>
		<comments>http://milesibastos.com/2010/07/01/pra-comecar/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 03:00:04 +0000</pubDate>
		<dc:creator>Antônio Milesi Bastos</dc:creator>
				<category><![CDATA[off-topic]]></category>

		<guid isPermaLink="false">http://milesibastos.com/?p=89</guid>
		<description><![CDATA[Os posts publicados serão como reflexões sobre os temas que venho estudando e estão amadurecendo em minha mente.  Esses serão como rascunhos com revisões constantes até um formato considerado razoável. Não sou o dono da verdade mas tenho a minha maneira de fazer as coisas. Estou sempre aprendendo coisas novas e fazendo as coisas da [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=89&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Os posts publicados serão como reflexões sobre os temas que venho estudando e estão amadurecendo em minha mente.  Esses serão como rascunhos com revisões constantes até um formato considerado razoável.</p>
<p>Não sou o dono da verdade mas tenho a minha maneira de fazer as coisas. Estou sempre aprendendo coisas novas e fazendo as coisas da maneira que acho certa. Bem, nem sempre elas estarão certas mas será sempre o melhor que eu posso fazer. Então essa é a minha maneira de fazer as coisas!</p>
<br />Filed under: <a href='http://milesibastos.com/category/off-topic/'>off-topic</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/milesibastos.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/milesibastos.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/milesibastos.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/milesibastos.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/milesibastos.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/milesibastos.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/milesibastos.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/milesibastos.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=milesibastos.com&amp;blog=1088930&amp;post=89&amp;subd=milesibastos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://milesibastos.com/2010/07/01/pra-comecar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/adfab807bfa83f5663de4b4548b0ae17?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">milesibastos</media:title>
		</media:content>
	</item>
	</channel>
</rss>
