terça-feira, 30 de dezembro de 2014

Saber o ciente deseja é fácil! Será?

Assista e compartilhe a nossa segunda vídeo-aula:


Que o ano que começa seja de muito sucesso, paz e saúde!

domingo, 28 de dezembro de 2014

Para que estudar Requisitos?


Acompanhe nossos vídeos no YouTube e recomende aos seus amigos. Vamos entender cada vez mais sobre Engenharia de Requisitos de Software. Boa aula!

quinta-feira, 18 de dezembro de 2014

A busca pela qualidade...




Visão de Qualidade

A Qualidade vai depender do ponto de vista!

Qualidade



O que é qualidade para você?
 

Qualidade - Alberto



Qualidade de processo vs qualidade de produto.
RASTREABILIDADE

Na Engenharia de Requisitos, rastreabilidade é a habilidade de descrever e seguir a vida dos elementos de software, segundo Leal Júnior (2011). Em outras palavras, rastreabilidade é a capacidade de rastrear um elemento do projeto a outros elementos correlatos, especialmente aqueles relacionados a requisitos.

No processo de desenvolvimento de software, o uso da Rastreabilidade está diretamente ligado ao conceito de qualidade, pois um requisito é rastreável quando é possível definir sua origem (a fonte), a razão de sua existência e quais outros requisitos estão ligados a eles, estabelecendo uma dependência entre os requisitos.

A utilização de matrizes de rastreabilidade é essencial no processo de Engenharia de Software, pois este processo envolve muito tempo e está sujeito a erros quando não têm o suporte de uma ferramenta. Além disso, e grande contribuinte na Análise de Risco, Análise de Impácto, entre outros elementos do projeto.

Para a construção dessas matrizes, é comum a utilização de planilhas eletrônicas e editores de textos para documentar as relações de dependências e cria alguma gerência de requisitos. É aqui onde reside um fenômeno preocupante. Este tipo de processo é basicamente manual e não automatizado.

Em contraponto aos problemas elencados  acima, o uso de ferramentas automatizadas para  a rastreabilidade de requisitos, tais como TraceM, CaliberRM,  RequisitePro  e iRON Explorer é fundamental para bom gerenciamento de requisitos, propiciando um bom software.

R A S T R E A B I L I D A D E



"A rastreabilidade de requisitos tem seu início desde a elicitação avançando através do desenvolvimento do sistema até a manutenção e constitui a principal  atividade do gerenciamento de requisitos".

 (NUSEIBEH; EASTERBROOK, 2000)

Link para artigo sobre rastreabilidade

Rastreabilidade

A rastreabilidade é a habilidade de descrever e seguir a vida dos elementos de software. No método iRON informações sobre a rastreabilidade são inseridas no DDR (Documento de Definição de Requisitos). Nesse artefato inserem-se as matrizes de relacionamento, onde se mantém a rastreabilidade entre requisitos funcionais vs objetivos específicos, requisitos funcionais vs regras de negócio, requisitos funcionais vs requisitos de dados, requisitos funcionais vs prioridade etc.

A excelente ferramenta iRON Explorer tem como objetivo automatizar os processos de produção de requisitos e de gerência de requisitos. A ferramenta segue a proposta do método iRON e possibilita a gestão de todos os problemas, suas causas, objetivos específicos e funcionalidades do sistema. Além disso, proporciona uma melhor administração e controle dos requisitos e o gerenciamento de suas mudanças, garantindo a rastreabilidade entre os artefatos.


Mais informações em http://www.metodoiron.com.br/iron/

A Literatura 

A IEEE Standard Glossary of Software Engineering Terminology (IEEE, 1990), define a Rastreabilidade como: 
  • O grau em que cada relacionamento pode ser estabelecido entre dois ou mais produtos do processo de desenvolvimento, especialmente a relação predecessor/sucessor ou mestre/subordinado. [...]
  • O grau em que cada elemento do produto do desenvolvimento de software estabelece sua razão de existir. 
Para Leal Junior (2013), a rastreabilidade é a habilidade de descrever e seguir a vida dos elementos de software. Ela foi concebida como solução de um dos problemas fundamentais do processo de desenvolvimento de software, pois garante a conformidade do software com os seus requisitos.

Já Toranzo et al (2013) com uma visão mais ampla de rastreabilidade, propõem a seguinte classificação das informações rastreáveis no contexto de um projeto de software, apresentada na abaixo. 
Para esses autores, as informações do ambiente externo englobam todas as informações relacionadas ao contexto político, legal e econômico que podem afetar os sistemas de informação. Já as informações estratégicas são os objetivos, estratégias, metas organizacionais e processos organizacionais. Esses fatores também podem influenciar os sistemas de informação.

O contexto da Administração do projeto envolve a relação entre as tarefas de administração dos projetos e os requisitos do projeto. Essas relações vão ajudar aos gerentes a melhorar e controlar as diferentes etapas do processo de construção de software. O nível de operação engloba a identificação dos artefatos que serão rastreáveis, o que será rastreável, quais as necessidades de rastreabilidade, qual a estratégia será utilizada em relação à atividade de rastreabilidade (manual, automática, semiautomática) etc. 

Segundo esses autores, essa classificação visa responder perguntas tais como:
  • Quem são os atores de rastreabilidade de um projeto? 
  • Quais artefatos podem ser rastreados? 
  • Quais são as relações de rastreabilidade (matrizes) de interesse para cada uma das partes interessadas?

Rastreabilidade de Requisitos

Rastreabilidade de Requisitos:

A rastreabilidade é a capacidade de rastrear um elemento do projeto a outros elementos correlatos, especialmente aqueles relacionados a requisitos.  Os elementos do projeto envolvidos em rastreabilidade são chamados de itens de rastreabilidade.  Os itens típicos de rastreabilidade incluem diferentes tipos de requisitos, elementos de modelo de design e de análise, artefatos de testes (conjuntos de testescasos de teste, etc.) e material de treinamento e documentação de suporte a usuário final, como é mostrado na figura abaixo.



A hierarquia da rastreabilidade.
Cada item de rastreabilidade possui seu próprio conjunto exclusivo de atributos associados, que é útil para rastrear o status, benefício ou risco associado a cada item.
A finalidade de estabelecer rastreabilidade é ajudar a:
·         Compreender a origem dos requisitos
·         Gerenciar o escopo do projeto
·         Gerenciar mudanças nos requisitos
·         Avaliar o impacto no projeto da mudança em um requisito
·         Avaliar o impacto da falha de um teste nos requisitos (isto é, se o teste falhar, talvez o requisito não seja atendido)
·         Verificar se todos os requisitos do sistema são desempenhados pela implementação
·         Verificar se o aplicativo faz apenas o que era esperado que ele fizesse.
A rastreabilidade o ajuda a compreender e gerenciar como as informações fornecidas sobre os requisitos, como Regras de Negócios e Solicitações dos Principais Envolvidos, são convertidas em um conjunto de necessidades-chave dos envolvidos/usuários e características do sistema, conforme especificado no documento de visão. O modelo de Casos de Uso, por sua vez, descreve como essas características são convertidas na funcionalidade do sistema. Os detalhes de como o sistema interage com o mundo externo são capturados nos Casos de Uso, com outros requisitos importantes (como requisitos não funcionais, restrições de design, etc.) nas Especificações Suplementares. A rastreabilidade também lhe permite acompanhar como essas especificações detalhadas são traduzidas em um design, como elas são testadas e como elas são documentadas para o usuário. No caso de um sistema grande, os casos de uso e as Especificações Suplementares podem ser reunidos para definir uma Especificação de Requisitos de Software (SRS) para uma "característica" particular ou outros agrupamentos de subsistemas.
Um conceito-chave para ajudar a gerenciar mudanças nos requisitos é o de um vínculo de rastreabilidade "suspeito". Quando um requisito (ou outro item de rastreabilidade) muda em qualquer extremidade do vínculo de rastreabilidade, todos os vínculos associados àquele requisito são marcados como "suspeitos". Isso é uma marca para que o papel responsável analise a mudança e determine se os itens associados precisarão mudar também. Esse conceito também ajuda a analisar o impacto de mudanças potenciais.
As rastreabilidades podem ser configuradas para ajudar a responder o seguinte conjunto de questões de exemplo:
·         Mostre-me as necessidades dos usuários que não foram vinculadas a características do produto.
·         Mostre-me o status dos testes em todos os casos de uso na interação #n.
·         Mostre-me todos os requisitos suplementares vinculados a testes que possuem status não testado.
·         Mostre-me os resultados de todos os testes que falharam, em ordem de importância.
·         Mostre-me as características programadas para este lançamento, quais necessidades de usuários elas satisfazem e o status delas.
Exemplo:
Para o sistema de uma Máquina de Reciclagem, o documento de visão especifica a seguinte característica:
·         CARACT10: A máquina de reciclagem permitirá a adição de novos tipos de recipientes.
Essa característica é rastreada para um caso de uso "Adicionar Novo Tipo de Recipiente":
·         O caso de uso Adicionar Novo Tipo de Recipiente permite que o Operador ensine à Máquina de Reciclagem reconhecer novos modelos de recipientes.
Essa rastreabilidade nos ajuda a verificar se todas as características foram contempladas nos casos de uso e nas especificações suplementares.

Rastreabilidade Típica

Os itens de rastreabilidade mais importantes são:
Necessidades dos Usuários/Envolvidos (da Visão, podem ser rastreados para Solicitações dos Principais Envolvidos individuais)
Característica do Produto (da Visão
Requisitos Suplementares (das Especificações Suplementares
Seção de Caso de Uso (seções de um caso de uso detalhado)
Elemento de Design (do modelo de design)
Conjunto de Testes (ou potencialmente Caso de Teste)

Também pode ser útil rastrear outros elementos, como Regras de Negócios e Problemas.
Uma rastreabilidade típica é mostrada no diagrama abaixo:

Esse diagrama só mostra a rastreabilidade para requisitos.  Podem existir também outras rastreabilidades, mas elas não são mostradas nesse diagrama: elementos de design rastreiam para componentes da implementação, existem casos de teste para design e implementação, etc.

Fonte: http://www.wthreex.com/rup/portugues/process/workflow/requirem/co_trace.htm 


Integração de Requisitos, Rastreabilidade

        O artigo "Integração de requisitos orientados ao negócio: apresentação de Método e Ferramenta" teve como enfoque: a definição de um método para produzir e gerenciar requisitos com processo e atividades definidos, buscando o alinhamento ao processo de negócio do cliente. Para conseguir fazer esta integração foi utilizado a metodologia iRON e a ferramenta iRON explorer.



        O método iRON foi elaborado com o objetivo de estruturar e alinhar a visão de negócio com o processo de produção e gerenciamento de requisitos e a ferramenta iRON Explorer tem como objetivo automatizar os processos de produção de requisitos e de gerência de requisitos. A ferramenta segue a proposta do método iRON e possibilita a gestão de todos os problemas, suas causas, objetivos específicos e funcionalidades do sistema. Além disso, proporciona uma melhor administração e controle dos requisitos rastreabilidade entre os artefatos.

        No artigo, O processo de identificação dos requisitos funcionais para uma ferramenta de
rastreabilidade de requisitos de software, foi exposto como objetivo geral identificar e analisar os requisitos necessários para uma ferramenta de rastreabilidade de requisitos que atenderá os profissionais de TI de uma empresa nacional de grande porte na área de distribuição de cartas e encomendas.

        Para Leal Junior (2013), a rastreabilidade é a habilidade de descrever e seguir a vida dos elementos de software. Ela foi concebida como solução de um dos problemas fundamentais do processo de desenvolvimento de software, pois garante a conformidade do software com os seus requisitos.

        Já Toranzo et al (2013) com uma visão mais ampla de rastreabilidade, propõem a seguinte classificação das informações rastreáveis no contexto de um projeto de software, apresentada na Figura 1. Segundo esses autores, essa classificação visa responder perguntas tais como:
Quem são os atores de rastreabilidade de um projeto? Quais artefatos podem ser rastreados? Quais são as relações rastreabilidade (matrizes) de interesse para cada uma das partes interessadas?



        Gerar matrizes de rastreabilidades é sem sombra de dúvidas importante para as atividades da engenharia, de software. e possui diversos desafios, como quais certificações são mais importantes, como gerir o desenvolvimento de relação entre os artefatos, relações existentes entre a organização e os requisitos.

        O conceito de qualidade já esta relacionado ao uso da rastreabilidade de requisitos no processo de desenvolvimento de softwares, e conforme Sommerville (2007), um requisito é rastreável se é possível descobrir de onde ele sugeriu (a fonte), por que o requisito existe (razão), quais outros requisitos estão relacionados a ele (dependência entre requisitos) e como o requisito se relaciona com outras informações, tais como desenho do sistema, implementação e documentação do usuário.

        Gerenciar requisitos é importante para o sucesso de uma gestão de software, pois garante a conformidade do produto com as necessidades existentes do cliente.

        A ferramenta Iron Explorer, que foi foco do primeiro artigo, consegue amenizar as necessidades do mercado em garantir os requisitos e seus impactos, tornando-os rastreáveis  e reutilizáveis para o desenvolvimento de artefatos consistentes e maduros.


REFERÊNCIAS:
CALAZANS, Angelica Toffano Seidel, et al. Brasília, 2014. O processo de identificação dos requisitos funcionais para uma ferramenta de rastreabilidade de requisitos de software. 25 mar. 2014;
CASTROL, Eduardo Jose Ribeiro, et al. Brasília, 2014. Integração de requisitos orientados ao negócio:
apresentação de Método e Ferramenta. set. 2014.
SOMMERVILLE, Ian. Engenharia de software. 8 ed. São Paulo: Pearson Addison-Wesley, 2007.
TORANZO, Marco; CYSNEIROS, Gilberto; TIRADO, Felipe. Proceso y herramienta para la rastreabilidad de requisitos. Ingeniare: Revista chilena de ingeniería, Santiago, v. 21, n. 2, p. 218-231, 2013.

Rastreabilidade - Alberto

Software faz parte do dia a dia das organizações. Na maior parte delas exerce importante papel nos processos de negócio. Tento em vista quer o ambiente organizacional sobre a influência de fatores internos e externos, mudanças nos requisitos são comuns. Assim, a fim de que a análise do impacto de uma mudança possa ser realizada, é fundamental que seja possível identificar todos os artefatos e processos afetados pela mudança em cada um dos requisitos. Assim, a propriedade conhecida por rastreabilidade exerce grande importância.

Rastreabilidade é a propriedade de uma especificação de requisitos que refl ete a facilidade de encontrar os requisitos relacionados (SOMMERVILLE, 2007, p. 108). Segundo Sommerville (2007), um requisito é rastreável se é possível descobrir de onde ele sugeriu (a fonte), por que o requisito existe (razão), quais outros requisitos estão relacionados a ele dependência entre requisitos) e como o requisito se relaciona com outras informações, tais como desenho do sistema, implementação e documentação do usuário.

A geração de rastreabilidade ou de matrizes de rastreabilidade é vital para as atividades na Engenharia de Soft ware. Essas atividades envolvem muito tempo e estão sujeitas a erros quando não têm o suporte de uma ferramenta. Além disso, a escolha  de uma ferramenta com características adequadas é fundamental para que a rastreabilidade bidirecional seja alcançada.

Dentre as características, as seguintes exercem importante papel:

  • Registrar funcionalidades
  • Registrar requisitos funcionais
  • Registrar regras de negócio
  • Registrar atributos
  • Vincular requisitos funcionais às funcionalidades; 
  • Vincular funcionalidades aos atributos;
  • Vincular funcionalidades às regras de negócio.


















terça-feira, 16 de dezembro de 2014

Gerenciamento de Mudanças




Gerenciamento de documentos

"O interessante é verificar o impacto e saber onde será feita 
as mudanças antes de entregar para o cliente"


Gerenciamento de Mudanças


Experimente o impacto que pequenas mudanças podem provocar!


"O mundo detesta mudanças e, no entanto, é a única coisa que traz progresso."
(Charles F. Kettering -  Texto extraído de http://pensador.uol.com.br/)

Gerencia de mudança - Alberto



As mudanças imputam riscos aos processos de negócio das organizações, assim, precisam ser adequadamente gerenciados.

Gerência de mudança é o processo formal de submissão, avaliação e aprovação de mudanças em projetos de software (ou em processos de negócios). A etapa de submissão prevê a forma com que mudanças serão submetidas a um comitê responsável por avaliar a viabilidade e a conveniência da implantação de cada mudança. A etapa de avaliação envolve verificar os riscos inerentes à implantação da mudança são compensados pelos benefícios esperados dela. Por fim, a etapa de aprovação consiste na formalização da aceitação ou rejeição da proposta de mudança.

Esse grupo é denominado "Comitê de Mudanças".


segunda-feira, 15 de dezembro de 2014

Classificação de Requisitos


Fonte das informações: DevMedia - Introdução a Requisitos de Software

Gerência de Requisitos


A Engenharia de Software é a  disciplina da Tecnologia da Informação  voltada  à especificação, desenvolvimento e manutenção de softwares  para automatização de processos que auxiliam na tomada  de decisão.  No campo  da especificação encontramos um segmento conhecido como Engenharia de Requisitos,  que se divide em dois outros temas: Produção de Requisitos e Gerencia de Requisitos. É neste último tema que convergimos nossa atenção: Gerencia de Requisitos.

As principais preocupações de gerenciamento de requisitos são:
  • Gerenciar mudanças nos requisitos acordados;
  • Gerenciar os relacionamentos entre os requisitos;
  • Gerenciar as dependências entre o documento de requisitos e outros documentos produzidos ao longo do sistema e do processo de engenharia de software.

Como em todo projeto, as  mudanças devem  ser  monitoradas  e acompanhadas. Este é o foco da   Gerencia de Requisitos dentro de processo de construção e manutenção de um software após a identificação e classificação dos requisitos. A  Gerencia de Requisitos é o processo de compreender e controlar mudanças  nos requisitos de sistema e,  basicamente,   se divide em quatro segmentos: Controle de Mudança, Gerência de Configuração, Rastreabilidade e Qualidade  de Requisitos.


CONTROLE  DE MUDANÇAS



Os requisitos do sistema são o reflexo da necessidade  do cliente e é  aqui onde reside o principal motivador de mudanças ao londo do processo desenvolvimento e manutenção de sistemas, pois o cliente muda constantemente o que quer. Isto nos permite  concluir  que não importa o quão cuidadoso você seja sobre a definição dos seus requisitos, sempre haverá mudanças.

O Controle de Mudança é o processo formal de registrar  a evolução dos requisitos  para serem tratadas de modo consistente e  controladas,  em três  estágios:  Análise do problema e especificação da mudança;  Análise e Custo da Mudança e Implementação da Mudanças.


Os  requisitos podem ser alterados,  incluídos  ou excluídos,  mas deve ser realizado um gerenciamento de versões, mantendo o histórico de cada atualização,  com  dados como data, projeto, usuário solicitante  e motivo.

RASTREABILIDADE



A Rastreabilidade apoia a gerência de mudanças.  Quando são propostas modificações é preciso verificar o impacto dessas mudanças sobre outros requisitos e o projeto do sistema.

As informações sobre a facilidade de  rastreamento são, frequentemente  representadas  com  o uso de matrizes  de facilidade de rastreamento.



PLANEJAMENTO DA GERÊNCIA DE REQUISITOS