<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Bom senso minha gente&#8230;bom senso.</title>
	<atom:link href="http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/</link>
	<description>5 minutos de software</description>
	<lastBuildDate>Sun, 16 May 2010 04:40:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Marcelo C. Araujo</title>
		<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/comment-page-1/#comment-75</link>
		<dc:creator>Marcelo C. Araujo</dc:creator>
		<pubDate>Thu, 16 Jul 2009 01:41:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.timebox.com.br/?p=75#comment-75</guid>
		<description>Já utilizei UCs para mapear requisitos e guiar a modelagem. Ainda tenho que fazer isso em alguns projetos. Não discordo do fato que UCs te ajudam a &quot;pensar a solução&quot;. Assim como você também não deve discordar de que essa não é a única abordagem comprovadamente eficiente. Podemos chegar a um resultado equivalente utilizando histórias/testes de aceitação. Ainda mais quando o requisito se mostra bem simples em termos de interação ator/sistema, como foi o caso descrito aqui. 

Uma simples comunicação com a API de um gerenciador de conteúdo.</description>
		<content:encoded><![CDATA[<p>Já utilizei UCs para mapear requisitos e guiar a modelagem. Ainda tenho que fazer isso em alguns projetos. Não discordo do fato que UCs te ajudam a &#8220;pensar a solução&#8221;. Assim como você também não deve discordar de que essa não é a única abordagem comprovadamente eficiente. Podemos chegar a um resultado equivalente utilizando histórias/testes de aceitação. Ainda mais quando o requisito se mostra bem simples em termos de interação ator/sistema, como foi o caso descrito aqui. </p>
<p>Uma simples comunicação com a API de um gerenciador de conteúdo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benhur</title>
		<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/comment-page-1/#comment-74</link>
		<dc:creator>Benhur</dc:creator>
		<pubDate>Thu, 16 Jul 2009 00:59:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.timebox.com.br/?p=75#comment-74</guid>
		<description>Realmente, não é O padrão. Nenhuma técnica eh perfeita. Mais é fato que UC é uma abordagem muito útil para APIs, assim como DbC, melhor ainda em conjunto. No entanto, é necessário saber o retorno e como funciona para não usar como documentação, o Scott Ambler sabe bem disso. Se você não sabe onde o método pode ajudar, melhor não usar mesmo. []´s</description>
		<content:encoded><![CDATA[<p>Realmente, não é O padrão. Nenhuma técnica eh perfeita. Mais é fato que UC é uma abordagem muito útil para APIs, assim como DbC, melhor ainda em conjunto. No entanto, é necessário saber o retorno e como funciona para não usar como documentação, o Scott Ambler sabe bem disso. Se você não sabe onde o método pode ajudar, melhor não usar mesmo. []´s</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo C. Araujo</title>
		<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/comment-page-1/#comment-73</link>
		<dc:creator>Marcelo C. Araujo</dc:creator>
		<pubDate>Wed, 15 Jul 2009 23:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.timebox.com.br/?p=75#comment-73</guid>
		<description>Joshua Bloch: Notas sobre Design de APIs

&quot;Estruture os requisitos como casos de uso: eles são o padrão com o qual você vai comparar sua API&quot;.

Eu diria que é Um padrão, não O padrão :)

&quot;Documentação importa. Não importa o quão boa é uma API, ela não será usada sem boa documentação. Documente todo elemento exportável da API: toda classe, metódo, campo e parâmetro.&quot;

O tal contrato de serviço que utilizamos cumpri exatamente isso.</description>
		<content:encoded><![CDATA[<p>Joshua Bloch: Notas sobre Design de APIs</p>
<p>&#8220;Estruture os requisitos como casos de uso: eles são o padrão com o qual você vai comparar sua API&#8221;.</p>
<p>Eu diria que é Um padrão, não O padrão <img src='http://www.timebox.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8220;Documentação importa. Não importa o quão boa é uma API, ela não será usada sem boa documentação. Documente todo elemento exportável da API: toda classe, metódo, campo e parâmetro.&#8221;</p>
<p>O tal contrato de serviço que utilizamos cumpri exatamente isso.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benhur</title>
		<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/comment-page-1/#comment-72</link>
		<dc:creator>Benhur</dc:creator>
		<pubDate>Wed, 15 Jul 2009 23:08:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.timebox.com.br/?p=75#comment-72</guid>
		<description>http://www.infoq.com/br/articles/API-Design-Joshua-Bloch</description>
		<content:encoded><![CDATA[<p><a href="http://www.infoq.com/br/articles/API-Design-Joshua-Bloch" rel="nofollow">http://www.infoq.com/br/articles/API-Design-Joshua-Bloch</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo C. Araujo</title>
		<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/comment-page-1/#comment-71</link>
		<dc:creator>Marcelo C. Araujo</dc:creator>
		<pubDate>Wed, 15 Jul 2009 22:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.timebox.com.br/?p=75#comment-71</guid>
		<description>O que eu não concordo é com um processo prescritivo que engesse o seu trabalho de modelagem (seja de documentos ou código). Cada projeto, cada requisito, tem suas características próprias. Acredito que artefatos são como ferramentas. Você utiliza aquelas que se mostram mais úteis para cada questão que se está tentando resolver.

O Scott Ambler, autor do livro “Modelagem Ágil” e defensor do “Processo Unificado”, o qual se baseia em UC, já dizia que é simplesmente uma questão de se perguntar: Por que estou criando esse artefato e pra quem o estou criando.

No caso descrito nesse post, optamos por escrever uma breve história definindo o requisito em questão e seus critérios de aceitação e posteriormente um contrato de serviço contendo suas capacidades, pré e pos condições. A história (um mero post-it numa parede) foi suficiente para focar a modelagem da solução e o contrato somado ao uso do JUnit foram suficientes para que pessoas não envolvidas com a criação desse serviço tivessem total entendimento sobre o seu propósito e pudessem avaliá-lo e cadastrá-lo no software de governança SOA que utilizam.

Descrever um caso de uso PARA o requisito que foi passado, não pareceu ser algo que agregaria valor a modelagem da solução e também não foi necessário para “passar adiante” o propósito do serviço.</description>
		<content:encoded><![CDATA[<p>O que eu não concordo é com um processo prescritivo que engesse o seu trabalho de modelagem (seja de documentos ou código). Cada projeto, cada requisito, tem suas características próprias. Acredito que artefatos são como ferramentas. Você utiliza aquelas que se mostram mais úteis para cada questão que se está tentando resolver.</p>
<p>O Scott Ambler, autor do livro “Modelagem Ágil” e defensor do “Processo Unificado”, o qual se baseia em UC, já dizia que é simplesmente uma questão de se perguntar: Por que estou criando esse artefato e pra quem o estou criando.</p>
<p>No caso descrito nesse post, optamos por escrever uma breve história definindo o requisito em questão e seus critérios de aceitação e posteriormente um contrato de serviço contendo suas capacidades, pré e pos condições. A história (um mero post-it numa parede) foi suficiente para focar a modelagem da solução e o contrato somado ao uso do JUnit foram suficientes para que pessoas não envolvidas com a criação desse serviço tivessem total entendimento sobre o seu propósito e pudessem avaliá-lo e cadastrá-lo no software de governança SOA que utilizam.</p>
<p>Descrever um caso de uso PARA o requisito que foi passado, não pareceu ser algo que agregaria valor a modelagem da solução e também não foi necessário para “passar adiante” o propósito do serviço.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benhur</title>
		<link>http://www.timebox.com.br/2009/07/13/bom-senso-minha-gentebom-senso/comment-page-1/#comment-70</link>
		<dc:creator>benhur</dc:creator>
		<pubDate>Wed, 15 Jul 2009 17:05:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.timebox.com.br/?p=75#comment-70</guid>
		<description>Burocracia sempre é problema, e pode desgastar um trabalho bem feito. No entanto, se você é obrigado usar UC, ele pode ser útil como ferramenta para projetar sua API, ajuda pensar, não como documentação. Afinal, como você disse o UC representa: “interação entre o ator e o sistema”. Como neste caso o domínio não é de negócio,  interface java com um content management, o domínio também não será de negócio, mas ainda sim é muito útil esse método.

O Arquiteto Chefe de Java no Google e autor de Effective Java, Segunda Edição (Addison-Wesley, 2008), Joshua Bloch, disse: “Estruture os requisitos como casos de uso: eles são o padrão com o qual você vai comparar sua API.”</description>
		<content:encoded><![CDATA[<p>Burocracia sempre é problema, e pode desgastar um trabalho bem feito. No entanto, se você é obrigado usar UC, ele pode ser útil como ferramenta para projetar sua API, ajuda pensar, não como documentação. Afinal, como você disse o UC representa: “interação entre o ator e o sistema”. Como neste caso o domínio não é de negócio,  interface java com um content management, o domínio também não será de negócio, mas ainda sim é muito útil esse método.</p>
<p>O Arquiteto Chefe de Java no Google e autor de Effective Java, Segunda Edição (Addison-Wesley, 2008), Joshua Bloch, disse: “Estruture os requisitos como casos de uso: eles são o padrão com o qual você vai comparar sua API.”</p>
]]></content:encoded>
	</item>
</channel>
</rss>
