Вы находитесь на странице: 1из 103

Engenharia de Software

Introduo
Vinicius Castro e Silva

Apresentao
Sobre o Professor Conhecer os alunos

O Modelo Cascata
Modelo de desenvolvimento de software sequencial no qual o desenvolvimento visto como um fluir constante para frente atravs de fases. Para seguir um modelo em cascata, o progresso de uma fase para a prxima se d de uma forma puramente sequencial.

O Modelo Cascata

O Modelo Cascata
Requerimento Projeto Implementao Verificao Manutena

O Modelo Cascata
Vantagens Minimiza o tempo de planejamento. Funciona bem para equipes tecnicamente mais fracas.

O Modelo Cascata
Desvantagens: Inflexvel. Torna-se difcil voltar atrs para corrigir erros.

O Modelo Cascata
Dvidas?

O Modelo Espiral
Foi o primeiro modelo a explicar o porque do modo iterativo. Engloba as melhores caractersticas do ciclo de vida Clssico e da Prototipao, adicionando um novo elemento: a Anlise de Risco;

O Modelo Espiral
Segue a abordagem de passos sistemticos do Ciclo de Vida Clssico incorporando-os numa estrutura iterativa que reflete mais realisticamente o mundo real; Usa a Prototipao, em qualquer etapa da evoluo do produto, como mecanismo de reduo de riscos;

O Modelo Espiral

O Modelo Espiral

O Modelo Espiral
As regies: Comunicao com o cliente; Planejamento; Anlise de risco; Engenharia; Construo e liberao; Avaliao do cliente.

O Modelo Espiral
Vantagens: As interaes inicias do projeto so as mais baratas, permitindo que as tarefas de maior risco sejam levadas com o mnimo de custos. Cada iterao da espiral pode ser customizada para as necessidades especficas de cada projeto.

O Modelo Espiral
Desvantagens: complexo e requer ateno e conhecimento especiais para o desenvolvimento.

O Modelo Espiral
Duvidas?

Processos geis
Caracterizadas por princpios comuns, mais baseados no trabalho cooperativo do que no formalismo e na documentao escrita;

Processos geis
Indivduos e interaes entre eles mais que processos e ferramentas; Software em funcionamento mais que documentao abrangente; Colaborao com o cliente mais que negociao de contratos; Responder a mudanas mais que seguir um plano.

Processos geis XP
eXtremeProgramming XP; uma metodologia gil para equipes pequenas e mdias e que iro desenvolver software com requisitos vagos e em constante mudana. Para isso, adota a estratgia de constante acompanhamento e realizao de vrios pequenos ajustes durante o desenvolvimento de software.

Processos geis - XP
Os valores fundamentais da metodologia XP: Comunicao; Coragem; Feedback; Respeito; Simplicidade;

Processos geis - Scrum


Inicialmente, o Scrum foi concebido como um estilo de gerenciamento de projetos em empresas de fabricao de automveis e produtos de consumo; Utilizado para o gerenciamento de projetos de desenvolvimento de software; Cada sprint uma iterao; Entrega um incremento de software pronto.

Requisitos
Introduo; Princpios; O modelo do problema; Qualidade dos requisitos;

Requisitos - Introduo
Objetivos da disciplina de Anlise:
modelar conceitos relevantes;
do domnio do problema; de forma precisa;

verificar qualidade dos requisitos;


obtidos por meio das atividades da disciplina de Requisitos;

Requisitos - Introduo
Objetivos da disciplina de Anlise:
detalhar requisitos;
em nvel adequado aos desenvolvedores.

Resultado principal: um modelo abstrato do problema;

Requisitos - Princpios
Definies de requisitos:
Condio ou potencialidade necessria: para resolver um problema ou atingir um objetivo.

Condio ou potencialidade para que um sistema, componente ou produto seja aceito:


satisfaa a um contrato, padro, especificao ou outro documento formal.

Requisitos - Princpios
Quem levanta os requisitos:
equipe do projeto; representantes do cliente; usurios; especialistas da rea de aplicao.

Requisitos - Princpios
Engenharia de requisitos:
conjunto de tcnicas para levantar, detalhar, documentar e validar os requisitos;

Nome abreviado: Requisitos.

Requisitos - Princpios
requisitos tcnicos:
representam caractersticas tcnicas do produto;

requisitos primrios-levantados diretamente a partir das necessidades das partes interessadas; requisitos derivados-derivam, direta ou indiretamente, dos requisitos primrios;

Requisitos - O Modelo do problema


Artefato que descreve as caractersticas esperadas.
Funcionalidade: o que o produto dever fazer? Interfaces externas: como o produto interage com:
as pessoas; o hardware do sistema; outros produtos

Requisitos - O Modelo do problema


Desempenho: quais os requisitos de:
velocidade de processamento; tempo de resposta; outros parmetros de desempenho

Requisitos - O Modelo do problema


Equipe de modelagem do problema:
equipe de desenvolvimento do projeto; usurios chaves:
indicados pelo cliente para definir requisitos; com conhecimento e autoridade suficientes;

Requisitos - O Modelo do problema


Equipe de modelagem do problema:
equipe de desenvolvimento do projeto; usurios chaves:
indicados pelo cliente para definir requisitos; com conhecimento e autoridade suficientes; escolhidos entre profissionais experientes das reas usurias; informados e treinados sobre as tcnicas e notaes utilizadas .

Requisitos - O Modelo do problema


Equipe de modelagem do problema:
equipe de desenvolvimento do projeto; usurios chaves:
indicados pelo cliente para definir requisitos; com conhecimento e autoridade suficientes; escolhidos entre profissionais experientes das reas usurias; informados e treinados sobre as tcnicas e notaes utilizadas .

Requisitos - O Modelo do problema


Nem desenvolvedores nem clientes ou usurios so qualificados:
para escreverem por si ss o Modelo do problema; clientes e usurios: nem sempre entendem de software o suficiente para especificarem requisitos de implementao vivel;

Requisitos - O Modelo do problema


Nem desenvolvedores nem clientes ou usurios so qualificados:
desenvolvedores:
nem sempre entendem a rea de aplicao o suficiente para especificarem requisitos que cubram as reais necessidades.

Requisitos - O Modelo do problema


Outras atividades com participao dos usurios chaves:
desenho das interfaces de usurio; revises; avaliaes do produto; testes de aceitao; procedimentos de implantao.

Requisitos - O Modelo do problema


Requisitos podem se alterar ao longo do desenvolvimento:
descoberta de defeitos e inadequaes nos requisitos originais; falta de detalhes suficientes nos requisitos originais; alteraes incontornveis no contexto do projeto; por exemplo, mudanas de legislao.

Requisitos - O Modelo do problema


Requisitos podem se alterar ao longo do desenvolvimento:
descoberta de defeitos e inadequaes nos requisitos originais; falta de detalhes suficientes nos requisitos originais; alteraes incontornveis no contexto do projeto; por exemplo, mudanas de legislao.

Requisitos - O Modelo do problema


Segundo o CMMI, uma organizao madura na gesto de requisitos deve:
identificar inconsistncias com demais produtos de trabalho; obter entendimento correto do significado dos requisitos; obter comprometimento com requisitos aceitos;

Requisitos - O Modelo do problema


Segundo o CMMI, uma organizao madura na gesto de requisitos deve:
gerir alteraes nos requisitos: analisar impactos, registrar e acompanhar; rastrear dependncias entre requisitos e produtos de trabalho; identificar e corrigir inconsistncias entre requisitos e artefatos derivados.

Requisitos - Qualidade dos requisitos


Um enunciado dos requisitos deve ser:
CorretoTodo requisito realmente um requisito. PrecisoTodo requisito possui interpretao nica. CompletoReflete todas as decises tomadas. ConsistenteNo h conflitos entre requisitos.

Requisitos - Qualidade dos requisitos


Um enunciado dos requisitos deve ser:
PriorizadoCada requisito classificado. VerificvelTodos os requisitos so verificveis. ModificvelFacilita alterao de qualquer requisito. RastrevelFacilita determinao dos antecedentes e das consequncias.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos correto.
Todo requisito presente nela realmente um requisito do produto a ser construdo.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos correto.
Para verific-la:
checar a coerncia dos requisitos com outros documentos da aplicao. solicitar a aprovao formal da especificao de requisitos por parte do cliente.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos preciso.
Todo requisito presente possui apenas uma nica interpretao:
aceita tanto pelos desenvolvedores quanto pelos usurios; suficiente para o desenho dos testes de aceitao.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos preciso.
Para melhorar a preciso:
revises e inspees; notaes formais, como a UML; ferramentas de modelagem com recursos de verificao e validao.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos completo.
Contm todos os requisitos significativos:
funcionalidade, desempenho, restries de desenho, atributos e interfaces externas.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos completo.
Contm todos os requisitos significativos:
funcionalidade, desempenho, restries de desenho, atributos e interfaces externas.

Requisitos - Qualidade dos requisitos


Um bom enunciado dos requisitos completo.
Define entradas vlidas e invlidas:
define respostas do software para todas as entradas vlidas. Contm glossrio de todos os termos tcnicos e unidades de medida: referncias completas a todos os diagramas, figuras e tabelas.

Requisitos - Prototipagem
Tipos de prottipos:
prottipo descartvel:
demonstra aos usurios o que se captou quanto aos requisitos; deve ser produzido em poucas horas; no mximo em poucos dias;

Requisitos - Prototipagem
Tipos de prottipos:
prottipo evolucionrio:
no existe propriamente em processos iterativos; Liberao: implementa subconjunto dos requisitos do produto;

padres de engenharia de software no so afrouxados em sua construo.

Requisitos - Prototipagem
Objetivos do prottipo:
explorar aspectos crticos dos requisitos de um produto; decidir sobre questes vitais para o sucesso:
Alternativas de interface de usurio; Problemas de comunicao com outros produtos;

viabilidade de nova tecnologia; viabilidade de requisitos de desempenho; funcionar como um pequeno experimento.

Requisitos - Prototipagem
Problemas tratveis por prototipagem.
Relatrios textuais:
processador de textos; ferramenta de gerao de relatrios.

Relatrios grficos:
ferramenta de desenho; ambiente de programao rpida com biblioteca grfica.

Requisitos - Prototipagem
Problemas tratveis por prototipagem.
Organizao e desempenho de bancos de dados:
linguagem de quarta gerao; integrada ao sistema de gerncia de bancos de dados.

Requisitos - Prototipagem
Problemas tratveis por prototipagem.
Funes e interfaces de usurio:
prottipo visual;
fachada de Hollywood;

escrito:
no ambiente definitivo; em ambiente de programao rpida; com ferramentas de desenho;

Requisitos - Prototipagem
Problemas tratveis por prototipagem.
Funes e interfaces de usurio:
permite visualizar:
interfaces, em determinado nvel de abstrao; navegao entre elas;

sem realmente efetuar processamento.

Requisitos - Prototipagem
Problemas tratveis por prototipagem.
Clculos complexos:
planilha ou ferramenta matemtica.

Viabilidade de partes de tempo de resposta crtico:


pequeno programa de teste no ambiente-alvo.

Viabilidade de tecnologia:
pequeno programa de teste; no ambiente mais adequado.

Requisitos - Prototipagem
Riscos da prototipagem.
O principal risco no descartar o prottipo! Argumentos de custo dos prottipos nunca so vlidos:
quando se decide us-los, porque o custo compensado pela reduo dos riscos.

Requisitos - Prototipagem
Riscos da prototipagem.
Antes que se decida usar prottipos descartveis, o cliente e os usurios devem:
ser plenamente esclarecidos quanto a seus objetivos; comprometer-se com seu descarte.

Requisitos - Prototipagem
Controle dos riscos da prototipagem.
O prazo de construo e uso dos prottipos descartveis obrigatoriamente curto:
deve ter objetivo simples e muito bem definido; geralmente consiste em confirmar ou refutar uma hiptese.

Requisitos - Prototipagem
Controle dos riscos da prototipagem.
Deve haver prazo mximo;
curto em relao durao esperada para o projeto: ao final deste prazo, os prottipos devem ser cancelados se no estiverem prontos.

Requisitos - Prototipagem
Fatores do sucesso:
escolha do ambiente de prototipagem; entendimento dos objetivos do prottipo;
por parte de todos os interessados no projeto;

Requisitos - Prototipagem dos requisitos


Fatores do sucesso:
focalizao em reas menos compreendidas; tratamento da prototipagem como experimento cientfico:
sujeito a monitorao e controle.

Requisitos - Prototipagem
Prottipo dos requisitos:
prottipo visual de baixa fidelidade; explora aspectos crticos dos requisitos;
simula de forma rpida um pequeno subconjunto da funcionalidade;

Requisitos - Prototipagem
Prottipo dos requisitos:
no representa fielmente interfaces do produto real;
basta que sejam funcionalmente equivalentes; podem variar: nmero e nomes de telas, painis e outros agrupamentos, campos e comandos;

usabilidade no tratada, apenas funcionalidade.

Requisitos - Prototipagem
Mtodos de prototipagem dos requisitos da tecnologia mais baixa para a mais alta:
desenhos a mo livre, em papel, possivelmente capturados on-line; leiautes alfanumricos grosseiros, feitos com editor de texto; leiautes feitos com planilhas e editores de hipertexto; desenhos feitos com ferramenta de desenho tcnico;

Requisitos - Prototipagem
Mtodos de prototipagem dos requisitos da tecnologia mais baixa para a mais alta:
telas desenhadas em ambiente de desenvolvimento rpido; telas desenhadas no ambiente definitivo de implementao.

Requisitos - Prototipagem
Mtodos de prototipagem dos requisitos da tecnologia mais baixa para a mais alta:
telas desenhadas em ambiente de desenvolvimento rpido; telas desenhadas no ambiente definitivo de implementao.

Requisitos - Prototipagem

Requisitos - Prototipagem

Requisitos - Prototipagem

Requisitos - Prototipagem
Regras para prottipos dos requisitos:
leiautes de telas e janelas:
nvel de detalhe suficiente para que o usurio possa aprov-los; no entrar em consideraes de desenho para a usabilidade; mesmo aspecto pode ser requisito ou desenho, dependendo do produto (exemplo: forma de destaque de determinado item);

Requisitos - Prototipagem
Regras para prottipos dos requisitos:
campos e comandos:
apenas representam requisitos de captura e exibio de informao;

no Desenho, substitudos por solues equivalentes:


boto substitudo por hiperligao, em interface Web; campo de texto livre substitudo por uma lista de seleo, para reduzir erros do usurio;

Requisitos - UML
Objetos e Classes Introduo a Casos de uso

Requisitos - UML
Objeto:
entidade discreta;
fronteira bem-definida; identidade prpria; encapsula estado e comportamento;

estado representado por atributos;


descries de espaos com nome e tipo; objeto mantm valores;

Requisitos - UML
Objeto:
comportamento representado por operaes;
especificaes de transformaes ou consultas que o objeto pode executar;

objetos interagem trocando mensagens;


transportam informao de um objeto a outro;

caso mais comum: mensagens so invocaes de operaes;


chamadas das operaes.

Requisitos - UML
Objeto:
comportamento representado por operaes;
especificaes de transformaes ou consultas que o objeto pode executar;

objetos interagem trocando mensagens;


transportam informao de um objeto a outro;

caso mais comum: mensagens so invocaes de operaes;


chamadas das operaes.

Requisitos - UML
Classe:
descritores de um conjunto de objetos que partilham os mesmos atributos, operaes, relacionamentos e comportamento; relacionamento: conexo semntica reificada entre elementos de um modelo; Comportamento: especificao de como o estado de um classificador varia ao longo do tempo;

Requisitos - UML
Classe:
classificador: elemento de modelagem que descreve aspectos de estrutura e comportamento;
classes: classificadores mais importantes; outros classificadores: atores, associaes, casos de uso, colaboraes, componentes, interfaces e nodos.

Requisitos - UML
Classe:
representada por retngulo dividido em compartimentos; compartimentos mais usados:
nome da classe; atributos; operaes;

Requisitos - UML
Classe:
opes:
suprimir compartimentos de atributos e operaes; deixar de mostrar determinados atributos ou operaes; indicar visibilidade por caracteres ou cones; assinatura das operaes; tipo, multiplicidade e valor padro dos atributos .

Requisitos - UML

Requisitos - UML
Caso de uso:
unidade coerente de funcionalidade;
oferecida por um classificador;

comumente usados para descrever funes completas;


de sistema, aplicao ou produto; realiza um aspecto maior da funcionalidade; gera benefcios para cliente, usurios ou outros sistemas; conjunto dos casos de uso cobre toda a funcionalidade;

Requisitos - UML
Caso de uso:
podem ser usados no nvel de subsistemas e de classes;
servios representados devem oferecer valor para objetos que interagem com caso de uso.

Requisitos - UML
Ator:
classificador que representa os objetos externos que interagem com um caso de uso;
modela papis dos usurios de um produto;

ator genrico: representa caractersticas comuns a grupos de usurios de comportamento semelhante;


atores genricos e especficos ligados por relacionamentos de generalizao;

Requisitos - UML
Ator:
classificador que representa os objetos externos que interagem com um caso de uso;
modela papis dos usurios de um produto;

ator genrico: representa caractersticas comuns a grupos de usurios de comportamento semelhante;


atores genricos e especficos ligados por relacionamentos de generalizao;

Requisitos - UML
Ator:
representados por figuras humanas estilizadas;
mesmo quando modelam sistemas externos; representaes: esttica e tradicional.

Requisitos - UML
Ator:

Requisitos - UML
Caso de Uso

Requisitos - UML
Casos de uso com Atores

Requisitos - UML
Casos de uso com Atores

Requisitos - UML
Relacionamento entre atore caso de uso:
associao indica comunicao entre ator e caso de uso; caso de uso pode estar associado a mais de um ator;
quando execuo requer a participao de diferentes atores;

para modelar aspectos avanadas do relacionamento:


pontas de associao, direes de navegao e multiplicidades;

Requisitos - UML
Relacionamento entre atore caso de uso:
para modelar aspectos avanadas do relacionamento:
utilizao no usual; deve ser reservada para modelos mais complexos.

Requisitos - UML
Relacionamentos entre casos de uso:
generalizao:
caso de uso mais especializado herda comportamentos de caso de uso genrico; acrescentando ou redefinindo detalhes; caso de uso abstrato: apenas representa aspectos de comportamento comuns a casos de uso concretos.

Requisitos - UML
Generalizao

Requisitos - UML
Relacionamentos entre casos de uso:
extenso de B para A:
B representa comportamento adicional;

que normalmente no ocorre durante a execuo de A;


comportamento adicional inserido em um ponto de extenso;

Requisitos - UML
Relacionamentos entre casos de uso:
extenso de B para A:
B representa comportamento adicional;

que normalmente no ocorre durante a execuo de A;


comportamento adicional inserido em um ponto de extenso;

Requisitos - UML
Relacionamentos entre casos de uso:
incluso de A para B:
B representa atividade complexa, invocada dentro do fluxo de comportamento de A; atividade pode ser comum a vrios casos de uso; caso de uso includo referenciado explicitamente no comportamento do caso de uso base; funciona como expanso de macro.

Requisitos - UML
Relacionamento entre Casos de Usos:

Requisitos - UML
Fluxos de casos de uso:
forma da descrio do comportamento dos casos de uso; modalidades:
atividades; interaes; mquinas de estado; texto sem formato; texto formatado; cdigo.

Requisitos - UML
Fluxos de casos de uso:
Fluxos de eventos:
fluxo principal: sequncia mais habitual de execuo;

fluxos alternativos: fragmentos de comportamento aplicveis em condies menos comuns, opcionais ou de exceo; subfluxos: fragmentos invocados dentro de outros fluxos.

Requisitos - UML
Fluxos de casos de uso:
Restries:
precondies: condies necessrias para que a execuo de um caso de uso possa ser iniciada; ps-condies: condies que devem ser atingidas aps essa execuo.

Fim
Obrigado a todos.

Вам также может понравиться