You are on page 1of 50

Levantamento, Anlise e Gesto

Requisitos
Aula 01
Apresentao
Fernando Anselmo
fernando.anselmo@x25.com.br

24 anos na rea de Desenvolvimento e Coordenao


Empresas como Tecnisys, Politec, CF/OAB, FTI, FIA/USP...
13 Livros e artigos publicados
Instrutor e palestrante
Coordenador do DFJUG
Cargo Atual: Coordenador Tcnico da X25 Informtica

Pgina Oficial: http://fernandoans.site50.net


Agenda

Viso Geral

Contexto de "requisitos" dentro da engenharia
de software

Perfil do analista e do gestor de requisitos

Importncia e histrico sobre requisitos de
software

Atividades envolvidas

Dificuldades e Negociaes
Viso Geral
Viso Geral
A descrio do problema (acordada com o cliente)
As vrias partes interessadas (ou stakeholders) - perfis
Os utilizadores (perfis) e sistemas na qual a soluo interage (atores)
As restries do sistema (restries ao sistema impostas
externamente equipe de desenvolvimento do projeto)
Processo Iterativo

Corresponde ideia de Melhorar (ou refinar) pouco a pouco o


sistema (iteraes). Em cada iterao a equipe de
desenvolvimento identifica e especifica os requisitos relevantes,
cria um projeto utilizando a arquitetura escolhida como guia,
implementa o projeto em componentes e verifica se esses
componentes satisfazem os requisitos. Se uma iterao atinge
os seus objetivos, o desenvolvimento prossegue com a prxima
iterao, caso contrrio a equipa deve rever as suas decises e
tentar uma nova abordagem.
Processo Incremental

Corresponde ideia de aumentar (alargar) pouco a pouco o


mbito do sistema. Uma boa imagem para este atributo a de
uma manso que foi construda por sucessivos incrementos a
partir de uma primeira casa com apenas duas divises.
Diferenas do Processo Iterativo e Incremental

Iterativo

Incremental
Perfil do Analista e do Gestor de Requisitos
Perfil do Analista e do Gestor de Requisitos
Conhecimentos:
Conhecimentos Engenharia de software; Anlise orientada a objetos;
Elicitao e gerenciamento de requisitos; Gesto de mudanas; Modelagem
UML e de dados; mtricas de software, desejvel certificao em anlise de
pontos por funo; Lgica de programao, desejvel experincia com
desenvolvimento de aplicaes Client/Server, Windows Services, Webservices
e Web; Banco de Dados.
Atitudes:
Atitudes organizao e disciplina, excelncia no atendimento a clientes,
qualidade de trabalho, responsabilidade social, tica e integridade, iniciativa e
comprometimento, comunicao, autodesenvolvimento.
Habilidades:
Habilidades relacionamento interpessoal, trabalho em equipe, capacidade de
investigao anlise e sntese, liderana, negociao, gesto de pessoas,
planejamento, viso sistmica.
Atividades a Serem Desenvolvidas:
Desenvolvidas elicitao de requisitos; concepo,
especificao, modelagem e teste de software, verificao de qualidade de
artefatos e produtos de software, elaborao de diagnstico e
parecer tcnico sobre sistemas, gesto do relacionamento entre
fbrica de software e o cliente.
Objetivos da Anlise de Requisitos

Listar os sintomas dos problemas encontrados


no Desenvolvimento de Software.
Definir as Melhores Prticas.
Descrever as Atividades para resolver
problemas da Engenharia de Software para
melhor prtica.
Descrever o Rational Unified Process (RUP)
dentro do contexto das melhores prticas.
Sintomas dos Problemas do Desenvolvimento

Necessidades de Negcio e Usurio no se encontram


Muitas mudanas de requisitos
Mdulos no integram
Difcil de manter
Descoberta tardia das falhas
Baixa qualidade e iteratividade com o usurio
Baixa performance sob condies normais
Esforo no coordenado da equipe
Problemas de build-and-release
O que Requisitos de Software especificam?

Entradas Sistema Sadas

Restries de Design

Funes
Requisitos no
funcionais
(Ex.: Performance)

(Ex.: Ambientes)
Quando usar os Requisitos de Software?
Mapeamento dos Sintomas para causas raiz

Sintomas Causas Raiz


Requisitos insuficientes
Necessidades erradas
Comunicao Ambgua
Requisitos Mutantes
Arquiteturas fragmentadas
Mdulos isolados
Complexidade desnecessria
Difcil manter
Inconsistncias
Tarde demais
Testes insuficientes
Baixa qualidade
Avaliao subjetiva
Baixa performance
Desenvolvimento em cascata
Equipe descoordenada
Mudanas no controladas
Problemas de Build-e-release
Automao Insuficiente
Melhor Prtica 1: Desenvolver Iterativamente

Melhores Prticas
Processo Prtico

Desenvolver Iterativamente
Gerenciar Requisitos
Arquitetura de Componentes
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanas
Caractersticas do Desenvolvimento em Cascata
Demora na confirmao e
resoluo de Riscos Crticos.
Mensura progresso por produto-
entregue que so indicadores
ruins para avaliaar progresso.
Demora nas integraes e testes.
Implantaes no final.
A maioria dos resultados ocorre
em iteraes no planejadas.

Processo Cascata
Caractersticas do Desenvolvimento Iterativo

Resolve os maiores riscos antes que haja custos


Facilita maior interao e feedback do usurio
Faz teste e integrao contnua
Foca em marcos de projeto curtos e objetivos
Torna possvel a entrega parcial de executveis
Requisitos existem em Vrios Nveis

Necessidades do
O que Stakeholder
Como
Caractersticas do Produto ou
Sistema
O que
Como
Requisitos de Software
O que
Como
Especificao de Design
Procedimentos de Teste
Planos de Documentao
Desenvolvimento Iterativo produz um Executvel

Cada iterao produz


um executvel
(release).
Comportamento dos Riscos

Risco no Processo Cascata


Risco

Reduo de Risco

Risco no Processo Iterativo

Tempo
Melhor Prtica 2: Gerenciar Requisitos

Melhores Prticas
Processo Prtico
Desenvolver Iterativamente
Gerenciar Requisitos
Arquitetura de Componentes
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanas
Gerenciamento de Requisitos

Tenha certeza que est resolvendo o problema certo


e entregando o sistema certo.
Para ter uma ao completa:
Entenda o Problema.
Detalhe, organize, e documente os requisitos.
Gerencie as mudanas de requisitos do sistema.
Alto Custo de Requisitos Errados

A regra do 1-10-100

Em tempo de Requisitos
.5 - 1 All together, the
2.5 Design results show as much
Codificao as a 200:1 cost ratio
5
between finding
10 Teste Unitrio errors in the
25 Teste de Aceitao requirements and
maintenance stages
100 Manuteno
of the software
Custo relativo para reparar erros:
lifecycle.
Quando Introduzidos X Quando reparados.

Boehm 1988
Resultado pior quando a Qualidade Baixa

?
? ?
Melhor Prtica 3: Arquitetura de Componentes

Melhores Prticas
Processo Prtico

Desenvolver Iterativamente
Gerenciar Requisitos
Arquitetura de Componentes
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanas
Arquitetura Robusta Baseada em Componentes

Flexvel
Atende aos requisitos atuais e futuros
Melhora a extensibilidade
Permite reuso
Encapsula as dependncias do sistema
Baseado em componentes
Reuso ou customizao de componentes
Escolha de componentes comerciais disponveis
Integra o sistema existente incrementalmente
Purpose of a Component-Based Architecture

Base para Reuso Arquitetura baseada em


Componente componentes com
camadas
Arquitetura
Base para Gerncia de Projetos
Planejamento
Apoio Escopo de Aplicao
Entregas
Controle Intelectual Escopo de Negcio
Gerencia Complexidade Middleware
Mantm integridade
Software
Melhor Prtica 4: Modelar Visualmente (UML)

Melhores Prticas
Processo Prtico

Desenvolver Iterativamente
Gerenciar Requisitos
Arquitetura de Componentes
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanas
Por que Modelar Visualmente?

Captura estrutura e comportamento


Apresenta a colaborao entre os elementos
Mantm design e implementao consistentes
Esconde ou expe detalhes conforme o caso
Promove a comunicao no ambgua
Diagramas
Diagramas de
Diagramas de
Casos de Uso
de Classes
Diagramas de UML, uma
Sequncia Objetos
linguagem acessvel
a todos os
Diagramas de
Diagramas de
Colaborao
Modelos Componente praticantes.
Diagramas de
Diagramas Diagramas de Deployment
de Estado Atividade Diagramas
Diagramas Estticos
Dinmicos
Melhor Prtica 5: Verificar Qualidade

Melhores Prticas
Processo Prtico
Desenvolver Iterativamente
Gerenciar Requisitos
Arquitetura de Componentes
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanas
Dimenses de Teste de Qualidade

Usabilidade
Teste a aplicao sob a
perspectiva de
convenincia de uso
Funcionalidade pelo usurio. Confiabilidade
Teste o funcionamento Teste a aplicao em sua
exato de cada cenrio de consistncia e
uso. comportamento esperado.

Suportabilidade
Performance
Teste a habilidade para
manter e suportar a Teste o tempo de
aplicao em produo. resposta da aplicao
on-line e com picos
elevados de uso.
Verificao Contnua da Qualidade do Software

Problemas de Software so de
100 a 1000 vezes mais caro
se encontrados e consertados depois de instalados

Custo Custo para consertar Software


Custo com a perda de
oportunidades
Custo com a perda de clientes

Concepo Elaborao Construo Transio


Teste cada Iterao
Melhor Prtica 6: Gerenciar Mudanas

Melhores Prticas
Processo Prtico

Desenvolver Iterativamente
Gerenciar Requisitos
Arquitetura de Componentes
Modelar Visualmente (UML)
Verificar Qualidade
Gerenciar Mudanas
Gerenciamento das Requisies de Mudanas

Requisies de Mudanas vem de vrias


fontes durante o ciclo de vida do sistema.

Entradas dos
Usurios e Clientes
Canal nico de Nova
Aprovao Caracterstica |Reqt
Marketing
Design
Novo Requisito
Entradas dos
Desenvolvedores e
Cdigo Testadores
Processo de Bug
Aprovao
das Requisies Teste
de Mudana Requisio de Entradas do Help
Comit de Controle Mudana (RM) Desk
(CCM)
Maint
Weinberg, 95
Melhores Prticas Reforam umas as outras

Melhores Prticas
Envolvimento dos usurios no
Desenvolver Iterativamente desenvolvimento dos requisitos

Gerenciar Requisitos Validao antecipada das


decises arquiteturais
Arquitetura de Componentes Ataca complexidade de
Design / Implementao
Modelar Visualmente (UML) incrementalmente

Verificar Qualidade Mensura qualidade


frequentemente
Gerenciar Mudanas Desenvolvimento incremental de
baselines
Rational Unified Process

Melhores Prticas
Processo Prtico
Desenvolver Iterativamente
Gerenciar Requisitos
Utilizar Arquitetura de
Componentes
Modelar Visualmente (UML)
Verificao Contnua da
Qualidade
Gerenciar Mudanas
Gerenciamento de Requisito Efetivo

Manter um claro estabelecimento dos requisitos


requer:
Boa qualidade dos requisitos
Atributos aplicveis para cada tipo de requisito
Rastreamento para outros requisitos e outros artefatos
do projeto

O OBJETIVO entregar produtos de qualidade


No tempo e no oramento que atendam
As reais necessidades do usurio
Um Processo de Definio Baseado em Equipe

O processo define QUEM faz O QUE, QUANDO e COMO


para atingir um determinado objetivo

Novo ou alterado Processo de Novo ou alterado


Requisitos Requisitos
Sistema
Estrutura do Processo Fases do Ciclo de Vida

Iniciao Elaborao Construo Transio

Lidar com os Lidar com Lidar com os Lidar com os


riscos os riscos riscos riscos
relacionados relacionado relacionados relacionados
ao processo s aos riscos a ter a a logstica de
de negcio. tcnicos do massa de implantao
(parte projeto. trabalho da aplicao
financeira do pronta. para sua
projeto) base de
usurios.

Tempo
Fronteiras das Fases marcam os Maiores Milestones

Concepo Elaborao Construo Transio

Marco dos Marco da Marco de Release


Objetivos do Arquitetura do Recurso do
Ciclo de Vida Ciclo de Vida Operacional Produto
(LCO) (LCA) Inicial
(IOC)
Iteraes e Fases

Concepo Elaborao Construo Transio

Iterao Preliminar Iterao Iterao Iterao de Iterao Iterao de Iterao


Arquitetural Arquitetural Construo de Const. Transio de Trans.

Milestones Menores
(LCO, LCA, IOC):
Releases
Uma iterao uma sequncia distinta de atividades
baseadas em um plano existente e critrios de avaliao,
resultando na liberao de um executvel (interno ou externo).
Artefatos completos do Ciclo de Vida do Projeto

Artefatos do Projeto so produzidos iterativamente


On Time and On Budget

Quanto de trabalho
podemos fazer?

Recursos

Oramento
Escopo
Tempo
Colocando tudo junto: Uma abordagem Iterativa

Em uma
iterao,
voc passa
por todas as
disciplinas.

Disciplinas
agrupam
atividades
logicamente
Disciplinas produzem modelos

Disciplinas Modelagem Requisitos Anlise & Implementao


de Negcio Design

Implementado
Modelos Realizado por
Modelo de por
Caso de Uso
Modelo de
de Negcio Caso de Uso
Realizado
por

Automatizado
por Modelo de Modelo de
Modelo de Design Implementao
Objetos de Negcio
Viso Geral dos conceitos do RUP
Reviso

As melhores prticas so guias da Engenharia de


Software para atacar as causas dos problemas do
Desenvolvimento de Software.
As melhores prticas reforam umas as outras.
O Processo guia a equipe de quem, o que, quando
e como fazer as atividades
Rational Unified Process uma forma de colocar em
ao as Melhores Prticas.
Dvidas? Agradecimentos

Home Page
http://fernandoans.site50.net

Blog
http://fernandoanselmo.blogspot.com

X25 Home Page


http://www.x25.com.br

Fernando Anselmo
fernando.anselmo@x25.com.br

You might also like