<?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/"
	>

<channel>
	<title>Sylverio &#187; RUP</title>
	<atom:link href="http://sylverio.com.br/blog/tag/rup/feed/" rel="self" type="application/rss+xml" />
	<link>http://sylverio.com.br/blog</link>
	<description>Análise, Arquitetura, Orientação a Objetos, UML, Tecnologias e Programação</description>
	<lastBuildDate>Mon, 06 Feb 2012 11:01:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Modelo de Domínio</title>
		<link>http://sylverio.com.br/blog/2009/06/modelo-de-dominio/</link>
		<comments>http://sylverio.com.br/blog/2009/06/modelo-de-dominio/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 02:20:36 +0000</pubDate>
		<dc:creator>Carlos Fernando Sylverio</dc:creator>
				<category><![CDATA[Análise]]></category>
		<category><![CDATA[Requisitos]]></category>
		<category><![CDATA[RUP]]></category>

		<guid isPermaLink="false">http://sylverio.com.br/blog/?p=152</guid>
		<description><![CDATA[O modelo de domínio é um dos passos mais importantes na análise OO, por decompor um domínio em conceitos. Podemos definir o modelo de domínio em uma ilustração de classes conceituais (ou objetos de domínio). Em outras palavras, ele é &#8230;<p class="read-more"><a href="http://sylverio.com.br/blog/2009/06/modelo-de-dominio/">Saiba mais &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>O modelo de domínio é um dos passos mais importantes na análise OO, por decompor um domínio em conceitos.<br />
Podemos definir o modelo de domínio em uma ilustração de classes conceituais (ou objetos de domínio).<br />
Em outras palavras, ele é uma perspectiva conceitual de objetos em uma situação real do mundo. Ele nos auxilia na compreenção dos termos e conceitos, bem como seus relacionamentos.<br />
O escopo do modelo de domínio é limitado pelos cenários descritos no caso de uso.</p>
<p>Um modelo de domínio não mostra artefatos ou classes de software. Note que modelo de domínio é diferente de camada de domínio, esta segunda representa uma camada de software com regras de negócio abaixo da camada de UI (UserInterface ou Apresentação).<br />
O modelo de domínio não é um modelo de dados. Pode existir classes no modelo que não tenham atributos.</p>
<p><strong>O que é Classe Conceitual</strong><br />
De modo informal, é uma idéia, coisa ou objeto. Mas formalmente uma classe conceitual pode ser considerada em termos do seu símbolo, da sua intensão e da sua extensão.</p>
<ul>
<li><em>Símbolo</em> &#8211; palavra ou imagem que representa uma classe conceitual.</li>
<li><em>Intensão</em> &#8211; a definição de uma classe conceitual.</li>
<li><em>Extensão </em>- conjunto de exemplos aos quais a classe conceitual se aplica.</li>
</ul>
<p><strong>Exemplo:</strong><br />
Em um evento de transação de Emitir Nota Fiscal, podemos denomina-la como símbolo &#8220;Emitir NF&#8221;. A intensão de Emitir NF é &#8220;registrar de uma transferência de propriedade sobre um bem ou uma atividade comercial&#8221;. E a sua extensão são todas as &#8220;Notas Fiscais Emitidas&#8221; existentes no universo.</p>
<p><strong>Referências</strong></p>
<p>LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao Processo Unificado. Bookman, 2007.</p>
]]></content:encoded>
			<wfw:commentRss>http://sylverio.com.br/blog/2009/06/modelo-de-dominio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como escrever um Caso de Uso</title>
		<link>http://sylverio.com.br/blog/2009/05/como-escrever-um-caso-de-uso/</link>
		<comments>http://sylverio.com.br/blog/2009/05/como-escrever-um-caso-de-uso/#comments</comments>
		<pubDate>Sat, 16 May 2009 17:29:43 +0000</pubDate>
		<dc:creator>Carlos Fernando Sylverio</dc:creator>
				<category><![CDATA[Análise]]></category>
		<category><![CDATA[Caso de Uso]]></category>
		<category><![CDATA[Requisitos]]></category>
		<category><![CDATA[RUP]]></category>

		<guid isPermaLink="false">http://sylverio.com.br/blog/?p=147</guid>
		<description><![CDATA[Por não existir um padrão de como escrever um caso de uso e incentivado pelo PU (Processo Unificado) que possibilita utilizarmos somente o que for necessário. O Caso de Uso acabou tendo diversos formatos do que deve constar em seu &#8230;<p class="read-more"><a href="http://sylverio.com.br/blog/2009/05/como-escrever-um-caso-de-uso/">Saiba mais &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Por não existir um padrão de como escrever um caso de uso e incentivado pelo PU (Processo Unificado) que possibilita utilizarmos somente o que for necessário. O Caso de Uso acabou tendo diversos formatos do que deve constar em seu conteúdo. </p>
<p>Para se aprofundar mais sobre esse assunto recomendo a leitura do livro <em>&#8220;Writing Effective Use Case &#8211; Cockburn, Alistair&#8221;</em>.</p>
<p>Dentro os diversos modelos de Caso de Uso, podemos dizer que os principais tópicos que temos que escrever são:</p>
<p><strong>Fluxo principal:</strong></p>
<ul>
<li>Não contém nenhuma condição ou desvio;</li>
<li>Típico caminho que satisfaz os objetivos dos interessados.</li>
</ul>
<p><strong>Pré-condição:</strong></p>
<ul>
<li> Condições que antecedem o caso de uso e devem ser informados ao leitor;</li>
<li>São sempre assumidas como verdadeiras;</li>
<li>Descreve um estado do sistema.</li>
</ul>
<p><strong>Pós-condição:</strong></p>
<ul>
<li> O que deve ser verdade ao termino do caso de uso bem sucedido ou estado final do caso de uso.</li>
</ul>
<p><strong>Fluxo alternativo ou extensões:</strong></p>
<ul>
<li>Descreve as condições e exceções que o fluxo principal podem tomar;</li>
<li>Relação de 1 pra N com o fluxo principal;</li>
<li>Descreve condições como algo que poder ser detectado pelo sistema ou pelo autor;</li>
<li>Quando o fluxo for grande, pode ser expressado como outro caso de uso.</li>
</ul>
<p><strong>Diretrizes:</strong></p>
<ul>
<li> Utilizar estilo essencial de redação, onde é expresso a intenção do usuário e as responsabilidades do sistema;</li>
<li>Deixe de fora a interface do usuário;</li>
<li>Focar nos objetivos dos atores, pois os casos de uso devem descreve-los.</li>
</ul>
<p><em>Exemplo</em>: O cliente (ator) tem a intenção de adicionar produtos ao carrinho e depois compra-los.<br />
<em>Caso de Uso</em>: Adicionar ao carrinho, Comprar o produto.</p>
<ul>
<li> Iniciar os nomes de caso de uso sempre com um verbo;</li>
<li>Operações do tipo CRUD (Create, Restore, Update, Delete), crie um único caso de uso denominado gerenciar .</li>
</ul>
<p><em>Exemplo</em>: Gerenciar usuários</p>
<ul>
<li> Observações: Alguns autores utilizam o verbo manter ao invés de gerenciar para operações CRUD.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sylverio.com.br/blog/2009/05/como-escrever-um-caso-de-uso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O que é requisitos de Software</title>
		<link>http://sylverio.com.br/blog/2009/05/requisitos-de-software/</link>
		<comments>http://sylverio.com.br/blog/2009/05/requisitos-de-software/#comments</comments>
		<pubDate>Tue, 05 May 2009 03:36:36 +0000</pubDate>
		<dc:creator>Carlos Fernando Sylverio</dc:creator>
				<category><![CDATA[Análise]]></category>
		<category><![CDATA[Requisitos]]></category>
		<category><![CDATA[RUP]]></category>

		<guid isPermaLink="false">http://sylverio.com.br/blog/?p=100</guid>
		<description><![CDATA[O que são Requisitos? É o mapeamento das propriedades que um software deve ter para atender um problema em especial. Ele deve descrever os entendimento dos objetivos dos usuários e traduzir esses objetivos em funcionalidades do sistema. Definições: Condição ou &#8230;<p class="read-more"><a href="http://sylverio.com.br/blog/2009/05/requisitos-de-software/">Saiba mais &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>O que são Requisitos?</strong></p>
<p>É o mapeamento das propriedades que um software deve ter para atender um problema em especial.</p>
<p>Ele deve descrever os entendimento dos objetivos dos usuários e traduzir esses objetivos em funcionalidades do sistema.</p>
<p><strong>Definições:</strong></p>
<ul>
<li>Condição ou capacidade necessária para o usuário resolver um problema ou atingir um objetivo.</li>
<li>Condições ou capacidade que deve ser atingida ou possuída por um sistema ou componente de sistema para satisfazer um contrato, padrão, especificação, ou outro documento de formalidade.</li>
<li>Representação documentada de uma condição ou capacidade.</li>
</ul>
<p><strong>Objetivos dos Requisitos:</strong></p>
<ul>
<li>Estabelecer e manter concordância com os clientes e outros envolvidos sobre o que o sistema deve fazer.</li>
<li>Oferecer aos desenvolvedores do sistema uma compreensão melhor dos requisitos do sistema.</li>
<li>Definir fronteiras do sistema (ou delimitar o sistema).</li>
<li>Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema.</li>
<li>Definir uma interface de usuário para o sistema, focando nas necessidades e metas dos usuários.</li>
</ul>
<p><strong>Tipos de Requisitos:</strong></p>
<p><strong><em>Funcionais:</em></strong> Definem a funcionalidade do software, função que o sistema deve realizar para tender os objetivos do usuário.<br />
<em>Definem <strong>O QUE</strong> o sistema deve fazer, sem a preocupação de <strong>COMO</strong> fazer</em>.</p>
<p><strong><em>Não funcionais:</em></strong> Definem as qualidades do software.</p>
<p><strong>Classificação dos requisitos FURPS+</strong></p>
<p>É um sistema para a classificação de requisitos, que auxilia o analista a identificar a qual propósito as informações obtidas (objetivos do usuário e caracteristica do software) se destinam.</p>
<p><em>Funcionalidade (Functionality):</em></p>
<ul>
<li>Representa todo o aspecto funcional do sistema.</li>
</ul>
<p><em>Usabilidade (Usability):</em></p>
<ul>
<li>Tempo de treinamento para um usuário se tornar produtivo.</li>
<li>Tempo de duração desejado para determinada operação no sistema.</li>
<li>Ajuda on-line, documentação do usuário e material de treinamento.</li>
</ul>
<p><em>Confiabilidade (Reliability):</em></p>
<ul>
<li>Disponibilidade.</li>
<li>Tempo de correção &#8211; tempo permitido para indisponibilidade quando ocorre uma falha.</li>
<li>Precisão.</li>
<li>Número máximo de defeitos (bugs/KLOC &#8211; mil linhas de código).</li>
<li>Categorias de bugs &#8211; bugs devem ser categorizados por nível de impacto.</li>
</ul>
<p><em>Performace ou Desempenho (Performance):</em></p>
<ul>
<li>Tempo de resposta para uma transação.</li>
<li>Troughput (ex: transações por segundos).</li>
<li>Capacidade (ex: transações concorrentes).</li>
<li>Operação Parcial (Situação do sistema aceitável quando estiver prejudicado de alguma forma).</li>
<li>Uso de rescursos: memória, espaço em disco, comunicação, etc.</li>
</ul>
<p><em>Suportabilidade (Supportability):</em></p>
<ul>
<li>Padrão de codificação.</li>
<li>Convesão de nomenclatura.</li>
<li>Bibliotecas de classes.</li>
<li>Utilitários de manutenção.</li>
</ul>
<p><em>+ (Plus): </em></p>
<ul>
<li>Outros(Design, implementação, interface, físicos).</li>
</ul>
<p><strong>Prorização de Requisitos:</strong></p>
<p><em>Essencial:</em> sistema não entra em funcionamento.</p>
<p><em>Importante:</em> não impedem o funcionamento do sistema.</p>
<p><em>Desejável:</em> não impedem a entrada em funcioanemto do sistema sem a sua implementação.</p>
<p><strong>Como escrever os requisitos:</strong></p>
<p>O PU (Processo Unificado) define alguns modelos de documentos e processos que auxiliam o analista (e todo a equipe de desenvolvimento) a identificar e escrever requsitos.</p>
<p>Dentre os diversos tipos de documentos a serem escritos, podemos citar:</p>
<ul>
<li>Documento de Visão</li>
<li>Documento de <a href="http://sylverio.com.br/blog/?p=94">Caso de Uso</a></li>
<li>Especificação Suplementar</li>
<li>Glossário</li>
</ul>
<p>Até mais <img src='http://sylverio.com.br/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sylverio.com.br/blog/2009/05/requisitos-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caso de Uso</title>
		<link>http://sylverio.com.br/blog/2009/04/caso-de-uso/</link>
		<comments>http://sylverio.com.br/blog/2009/04/caso-de-uso/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 03:48:36 +0000</pubDate>
		<dc:creator>Carlos Fernando Sylverio</dc:creator>
				<category><![CDATA[Análise]]></category>
		<category><![CDATA[Caso de Uso]]></category>
		<category><![CDATA[RUP]]></category>

		<guid isPermaLink="false">http://sylverio.com.br/blog/?p=94</guid>
		<description><![CDATA[O que é um Caso de Uso? Caso de uso é &#8220;uma seqüência de ações executadas por um sistema que gera um resultado de valor observável para um determinado agente&#8221; (RUP &#8211; Rational Unified Process). Em outras palavras caso de &#8230;<p class="read-more"><a href="http://sylverio.com.br/blog/2009/04/caso-de-uso/">Saiba mais &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>O que é um Caso de Uso?</strong></p>
<p>Caso de uso é &#8220;<em>uma seqüência de ações executadas por um sistema que gera um resultado de valor observável para um determinado agente</em>&#8221; (RUP &#8211; Rational Unified Process).</p>
<p>Em outras palavras caso de uso é uma narrativa em texto, utilizada para descobrir e registrar requisitos. É uma coleção de cenários relacionados de sucesso e fracasso, que descreve um ator utilizando o sistema para atingir um objetivo.</p>
<p><em>&#8220;Note que <strong>casos de uso não são diagramas, são textos.</strong> Enfocar os diagramas de caso de uso UML, de valor secundário, em vez do importante texto do caso de uso, é um erro comum para novatos&#8221;</em>. Craig Larman.</p>
<p>Casos de uso são requisitos funcionais (descrevendo funções do sistema e seu ambiente), sendo um dos principais meios para obtenção de captura de comportamentos do sistema. Ele serve como um contrato estabelecido entre o cliente e os desenvolvedores. É uma das principais fontes de informações atividades de análise, design e teste.</p>
<p>Por <em>enfatizar nos objetivos e perspectivas do usuário</em>, o Caso de Uso possibilita uma redução (ou extinção) das listas de detalhes de características usadas antigamente, e foca nas funcionalidades que aplicam estas características, tornando mais fácil sua leitura e entendimento.</p>
<p>Um dos pontos mais difíceis é aprender como determinar em que nível de detalhe os casos de uso devem &#8220;começar e terminar&#8221;. Onde as características terminam e os casos de uso começam, e onde os casos de uso terminam e o design começa? Os casos de uso ou os requisitos do software devem estabelecer &#8220;o que&#8221; o sistema executa, mas não &#8220;como&#8221; ele executa.</p>
<p><strong>Definições</strong></p>
<p><strong><em>Ator</em></strong>: é qualquer coisa que apresente algum comportamento, pode ser por exemplo uma pessoa, um caixa, um computador, outro sistema.</p>
<p><strong><em>Tipos de ator</em></strong>: </p>
<ul>
<li><em>Principal</em>: satisfaz os objetivos do usuário por meio de serviços no sistema.</li>
<li><em>Suporte</em>: fornece um serviço para o sistema.</li>
<li><em>Bastidor</em>: tem interesse no caso de uso, mas não como um ator principal ou bastidor. Por exemplo, um orgão governamental responsável por impostos.</li>
</ul>
<p><strong><em>Cenários</em></strong>: é uma sequência específica de ações e interações entre atores e o sistema.</p>
<p>Segue um link para o blog de <a href="http://www.antoniopassos.pro.br/blog/?tag=caso-de-uso" target="_blanck">Antonio Passos</a>, onde ele em alguns posts aborda conceitos de casos de usos e suas realizações sendo um ótimo complemento para o assunto abordado.</p>
<p><strong>Referências</strong></p>
<p>LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao Processo Unificado. Bookman, 2007.</p>
<p>RUP 2002.05.00 (Portugues)</p>
<p>Até o próximo <img src='http://sylverio.com.br/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sylverio.com.br/blog/2009/04/caso-de-uso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vídeo interessante</title>
		<link>http://sylverio.com.br/blog/2009/03/video-interessante/</link>
		<comments>http://sylverio.com.br/blog/2009/03/video-interessante/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 03:04:22 +0000</pubDate>
		<dc:creator>Carlos Fernando Sylverio</dc:creator>
				<category><![CDATA[Orientação a Objetos]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[RUP]]></category>

		<guid isPermaLink="false">http://sylverio.com.br/blog/?p=81</guid>
		<description><![CDATA[Pessoal, encontrei um vídeo com uma palestra sobre Domain Driven Design, no Blog da Localweb. Achei bem legal pois ele completa um pouco o post anterior. Enjoy!]]></description>
			<content:encoded><![CDATA[<p>Pessoal, encontrei um vídeo com uma palestra sobre <a href="http://agilblog.locaweb.com.br/2009/03/10/video-sobre-domain-driven-design/" target="_blanck">Domain Driven Design</a>, no Blog da Localweb.</p>
<p>Achei bem legal pois ele completa um pouco o post anterior.
<p>
</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://sylverio.com.br/blog/2009/03/video-interessante/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

