\chapter[Requisitos do Sistema]{Requisitos do Sistema}

Este espaço deve ser usado para descrever a introdução e os objetivos deste capítulo. 

\section{Descrição geral do sistema}

<Descreva aqui, em linhas gerais, os objetivos do sistema, comunicando o propósito da aplicação e a importância do projeto para todas as pessoas envolvidas.
Se for necessário apresentar detalhes mais técnicos sobre o sistema, você também pode usar esta seção para descrever em linhas gerais a arquitetura do sistema, indicando seus módulos principais, o uso (se existir) da Internet ou outra rede de comunicação, componentes on-line e off-line, e a interação (se existir) com outros sistemas. Use um diagrama se achar conveniente.>


\subsection{Abrangência e sistemas relacionados}

<Nesta seção, descreva em linhas gerais o que o sistema irá fazer (suas principais funcionalidades) e o que ele não irá fazer (escopo negativo), deixando claro se o sistema irá interagir com outros sistemas relacionados ou se ele é independente e totalmente auto-contido.
As funcionalidades principais do sistema devem ser apenas citadas, para dar uma idéia geral ao leitor dos serviços que serão fornecidos pelo sistema. Os detalhes serão fornecidos posteriormente, na seção 3 deste documento. Funcionalidades que a princípio seriam da alçada do sistema e que não serão implementadas também devem ser listadas, registrando-se o motivo pela qual elas não serão contempladas (porque serão fornecidas por outros sistemas relacionados, por exemplo, ou porque serão implementadas apenas em projetos futuros).
Se o sistema for independente e totalmente auto-contido diga isso explicitamente, caso contrário, liste e descreva brevemente os outros sistemas com os quais este sistema deve interagir, explicando, de maneira geral, quais os papéis de cada um e o meio de comunicação entre eles.>


\subsection{Descrição dos usuários}

<Para efetivamente prover produtos e serviços que atendam às necessidades dos usuários, é necessário entender os desafios que eles enfrentam para executar suas funções. Esta seção deve descrever os futuros usuários do sistema e os principais problemas que limitam sua produtividade.
O grau de detalhamento necessário nas descrições depende do sistema que você está especificando. Em projetos onde a equipe já acumulou um bom conhecimento dos usuários, uma breve descrição de suas características gerais é suficiente. Em projetos onde não se tem muita informação sobre os usuários do sistema, deve-se descrever as características específicas de cada usuário nas subseções a seguir.
Descreva os aspectos gerais, relacionados a todos os usuários, aqui. Depois, se for necessário, descreva nas subseções abaixo as características específicas de cada usuário.>


\subsubsection{<Nome de um tipo específico de usuário>}

<Se for conveniente fornecer mais detalhes sobre um tipo específico de usuário, use esta subseção para descrevê-lo.>

\subsubsection{<Nome de outro tipo específico de usuário>}

<Prossiga no detalhamento das características dos usuários, descrevendo todos os tipos de usuário que for necessário, cada um em uma subseção.>

\subsubsection{...}

\section{Estudo de Viabilidade do Sistema}
<O estudo de Viabilidade deve fornece uma descrição da viabilidade do sistema definindo os principais benefícios e definições de custo e prazo para desenvolvimento do sistema.>

\subsection{Benefícios Esperados}
<Descreva aqui, em linhas gerais, os benefícios do sistema que poedm ser esperados pelos usuários.>

\subsection{Custos do Sistema}
<Esta seção deve conter um estudo de estimativas dos custos do sistema podendo ser utilziado Pontos de Função ou Pontos por Casos de Uso (Use case Points) para os RFs do sistema. Deverá ser apresentado no final as estimativas de orçamento para o projeto.>

\subsection{Cronograma de Desenvolvimento}
<Deve-se elaborar o cronograma detalhado do sistema, que contempla todas as tarefas descritas e os recursos alocados para cada tarefa, com datas para início e término de cada atividade. A seqüência das tarefas e a divisão entre os recursos devem ser realizadas de acordo com o processo de desenvolvimento de software escolhido para o desenvolvimento do sistema.>

\section{Requisitos funcionais - RF}

<Nesta seção, apresente todos os requisitos funcionais, ou casos de uso, do sistema. Em sistemas grandes é comum haver muitos casos de uso e, para facilitar a visualização deste documento, você pode agrupá-los em subseções de casos de uso correlacionados. Os nomes das subseções devem ser únicos e pequenos (3 palavras no máximo) e podem ser formados por palavras, números e/ou abreviações. 
Cada um dos casos de uso deve ser descrito em um bloco específico, seguindo o modelo descrito abaixo. O identificador do bloco deve conter o número do caso de uso (por exemplo, [RF001]) e o seu nome. Se os casos de uso forem agrupados em subseções específicas, a numeração deles deve ser reiniciada a cada subseção (dentro de uma mesma subseção, todo caso de uso deve ter um número de identificação único).
Quando a primeira versão deste documento for disponibilizada para a equipe de desenvolvimento, os nomes das subseções e os números dos casos de uso não devem ser modificados ou reaproveitados, para não invalidar referências externas feitas a eles.>


\subsection{Diagrama de Caso de Uso do sistema}

<Nesta seção, apresente a descrição do diagrama de caso de uso que foi levantado para o sistema>

\begin{figure}[!ht]
    \centering
	\includegraphics[width=1.0\linewidth]{figs/CasodeUso.png}
	\caption[Exemplo Diagrama de Caso de Uso do Sistema.]{Exemplo Diagrama de Caso de Uso do Sistema.}
	\label{fig:casodeuso}
\end{figure}

\subsection{Descrição dos Cenários dos Casos de Uso}

\subsubsection{[RF001] <Nome do caso de uso>}
\begin{itemize}
   \item \textbf{Descrição:} <forneça uma pequena explicação do propósito do caso de uso. >
   \item \textbf{Ator:} <informe o(s) ator(es) do caso de uso >
   \item \textbf{Prioridade:} <Defina se este caso de uso é - Essencial | Importante | Desejável>
   \item \textbf{Entradas e pré condições:} <Liste aqui todas as entradas e/ou pré condições do caso de uso. Pré condição de um caso de uso é o estado em que o sistema deve estar para realizar o caso de uso.>
   \item \textbf{Saídas e pós condições:} <Liste aqui todas as saídas e/ou pós condições do caso de uso. Pós condição de um caso de uso é a lista de possíveis estados em que o sistema pode estar imediatamente após o término da realização do caso de uso.>
   \item \textbf{Fluxo de eventos principal}
    <Descreva aqui o fluxo de eventos principal que ocorre durante a execução do caso de uso.>
    \begin{enumerate}
        \item O caso de uso inicia quando o ator fulano solicita o serviço
        \item Clicar em ...
        \item ....
    \end{enumerate}
   \item \textbf{Fluxos secundários} (alternativos e de exceção)
    \begin{enumerate}
        \item Caso ocorra isto 
        \item Fazer aquilo ...
        \item ....
    \end{enumerate}
 \end{itemize}

\subsubsection{[RF002] <Nome do caso de uso>}
\begin{itemize}
   \item \textbf{Descrição:} <forneça uma pequena explicação do propósito do caso de uso. >
   \item \textbf{Ator:} <informe o(s) ator(es) do caso de uso >
   \item \textbf{Prioridade:} <Defina se este caso de uso é - Essencial | Importante | Desejável>
   \item \textbf{Entradas e pré condições:} <Liste aqui todas as entradas e/ou pré condições do caso de uso. Pré condição de um caso de uso é o estado em que o sistema deve estar para realizar o caso de uso.>
   \item \textbf{Saídas e pós condições:} <Liste aqui todas as saídas e/ou pós condições do caso de uso. Pós condição de um caso de uso é a lista de possíveis estados em que o sistema pode estar imediatamente após o término da realização do caso de uso.>
   \item \textbf{Fluxo de eventos principal}
    <Descreva aqui o fluxo de eventos principal que ocorre durante a execução do caso de uso.>
    \begin{enumerate}
        \item O caso de uso inicia quando o ator fulano solicita o serviço
        \item Clicar em ...
        \item ....
    \end{enumerate}
   \item \textbf{Fluxos secundários} (alternativos e de exceção)
    \begin{enumerate}
        \item Caso ocorra isto 
        \item Fazer aquilo ...
        \item ....
    \end{enumerate}
 \end{itemize}

\subsubsection{[RF003] ...}

\section{Requisitos Não Funcionais - RNF}

<Esta seção deve conter os requisitos não funcionais do sistema. Para uma melhor organização deste documento, utilize as subseções abaixo para agrupar os requisitos não funcionais relacionados. Naturalmente, o número e tipo de subseções utilizadas depende do sistema que está sendo especificado e não é preciso utilizar todas elas. Simplesmente elimine as subseções para as quais não for encontrado nenhum requisito.
Os requisitos não funcionais devem ser identificados com um identificador único, da mesma maneira que os requisitos funcionais (casos de uso). Inicie a numeração com o identificador NF001 e prossiga incrementando os números a medida que forem surgindo novos requisitos não funcionais. Reinicie a numeração em cada subseção. Forneça também um nome para o requisito, como foi feito para os requisitos funcionais.
Descreva o requisito, assinale a sua prioridade e, em seguida, caso o requisito esteja relacionado a um caso de uso ou a um grupo de casos de uso específicos, utilize o campo “Caso(s) de uso associado(s):” para identificar o(s) caso(s) de uso correspondente(s). Se for um requisito não funcional do sistema como um todo, esse campo não precisa ser utilizado.>

\subsection{Usabilidade}

Esta seção descreve os requisitos não funcionais associados à facilidade de uso da interface com o usuário, material de treinamento e documentação do sistema.

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}

\subsubsection{[RNF002] ...}

\subsection{Confiabilidade}

Esta seção descreve os requisitos não funcionais associados à freqüência, severidade de falhas do sistema e habilidade de recuperação das mesmas, bem como à corretude do sistema. 

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}

\subsubsection{[RNF002] ...}

\subsection{Desempenho}

Esta seção descreve os requisitos não funcionais associados à eficiência, uso de recursos e tempo de resposta do sistema. 

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}

\subsubsection{[RNF002] ...}

\subsection{Segurança}

Esta seção descreve os requisitos não funcionais associados à integridade, privacidade e autenticidade dos dados do sistema.  

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}

\subsubsection{[RNF002] ...}

\subsection{Distribuição}

Esta seção descreve os requisitos não funcionais associados à distribuição da versão executável do sistema.  

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}

\subsubsection{[RNF002] ...}

\subsection{Padrões}
Esta seção descreve os requisitos não funcionais associados a padrões ou normas que devem ser seguidos pelo sistema ou pelo seu processo de desenvolvimento.   

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}

\subsubsection{[RNF002] ...}

\subsection{Hardware e software}
Esta seção descreve os requisitos não funcionais associados ao hardware e software usados para desenvolver ou para executar o sistema.   

\subsubsection{[RNF001] <Nome do requisito>}
 \begin{itemize}
        \item \textbf{Descrição:} <Descreva o requisito não funcional.> 
        \item \textbf{Prioridade:} <Defina se este RNF é - Essencial | Importante | Desejável>
        \item \textbf{Caso(s) de uso associado(s):} <use este campo para identificar a que caso(s) de uso o requisito de usabilidade está relacionado.>
    \end{itemize}
\subsubsection{[RNF002] ...}

\section{Protótipos das interfaces com usuários}


<Esta seção deve conter desenhos ou rascunhos das telas do sistema que forem necessários ou convenientes para esclarecer algum dos requisitos do sistema. Para sistemas que possuem protótipos ou versões já desenvolvidas é possível capturar as telas e apresentar figuras das mesmas.
Use nomes e/ou números para identificar cada interface e descreva-as em seções independentes.>

\subsection{Protótipo Interface - RF001 - Caso de Uso}
<Esta seção deve conter a descrição do protótipo da interface referente ao caso de uso em questão>

\begin{figure}[ht]
    \centering
	\includegraphics[width=0.8\linewidth]{figs/PrototipoRF001.png}
	\caption[Exemplo Protótipo Interface RF001 - Caso de Uso xxxxxxx.]{Exemplo Protótipo Interface RF001 - Caso de Uso xxxxxxx.}
	\label{fig:prototipoRF001}
\end{figure}

\subsection{Protótipo Interface - RF002 - Caso de Uso}
<Esta seção deve conter a descrição do protótipo da interface referente ao caso de uso em questão>

\subsection{Protótipo Interface - ....}
<Esta seção deve conter a descrição do protótipo da interface referente ao caso de uso em questão>

\section{Considerações Sobre o Capítulo}
<Neste item deve ser apresentado as considerações sobre o capítulo, incluindo uma avaliação do que fio apresentado.>