Buscar

Aulas - Especificação de Sistemas

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

10/03/2015
1
Faculdade de Tecnologia de Alagoas - FAT
Análise e Desenvolvimento de Sistemas
Especificação de Sistemas
2º Módulo
4º Semestre
Docente: Victor Augusto Fragoso Florentin
Victor Augusto Fragoso Florentin
Mestrando em Informática – UFAL
Especialista em Gestão de Projetos em TI – CESMAC
Tecnólogo em Análise e Desenvolvimento de Sistemas – UNOPAR
victor.fragoso@live.com
10/03/2015
2
Apresentação de Discentes
Nome
Falar um pouco de você
Falar um pouco de sua expectativa do curso
Especificação de Sistemas
APRESENTAÇÃO DA DISCIPLINA
10/03/2015
3
Objetivos
Ementas
Metodologia
Bibliografia
 Utilizar metodologia de desenvolvimento de software;
 Documentar sistemas desenvolvidos;
 Utilizar técnicas de modelagem com a linguagem UML;
 Projetar softwares de pequeno e médio porte.
Objetivos
Ementas
Metodologia
Bibliografia
 Ciclo de vida de software;
 Metodologias de desenvolvimento de software:
• Cascata;
• Espiral;
• Prototipação;
• RUP;
• Extremming Programming.
 Modelando sistemas com UML – Linguagem de Modelagem Unificada;
 Modelagem de Negócio;
 Engenharia de requisitos de software;
 Técnicas de modelagem aplicadas ao paradigma da orientação a objeto;
 Introdução à Padrões de Projeto (Design Patterns).
10/03/2015
4
Objetivos
Ementas
Metodologia
Bibliografia
 Aulas expositivas com slides;
 Exercícios;
 Trabalhos individuais;
 Trabalhos em equipe;
 Aulas práticas em laboratório.
Objetivos
Ementas
Metodologia
Bibliografia
 Bibliografia Básica:
 UTILIZANDO UML E PADRÕES – UMA INTRODUÇÃO À ANÁLISE E AO PROJETO 
ORIENTADOS A OBJETOS E AO DESENVOLVIMENTO ITERATIVO
 Autor: LARMAN, CRAIG
 Edição: 2ª
 Editora: BOOKMAN – PORTO ALEGRE
 Ano: 2004
 UML: UMA ABORDAGEM PRÁTICA
 Autor: GILLEANES T. A. GUEDES
 Edição: 1ª
 Editora: NOVATEC – SÃO PAULO
 Ano: 2004
 Bibliografia Auxiliar:
 ENGENHARIA DE SOFTWARE
 Autor: SOMMERVILLE, IAN
 Edição: 6ª
 Editora: PRENTICE-HALL – SÃO PAULO
 Ano: 2003
 PRINCÍPIOS DE ANÁLISE E PROJETO DE SISTEMAS UML – UM GUIA PRÁTICO PARA 
MODELAGEM DE SISTEMAS
 Autor: BEZERRA, EDUARDO
 Edição: 
 Editora: ELSEVIER
 Ano: 2006
10/03/2015
5
Especificação de Sistemas
INTRODUÇÃO
Especificação de Sistemas
Introdução
10/03/2015
6
Especificação de Sistemas
Conceitos
O que é Especificação?
 Definição das características de um objeto,
sistema, instalação, construção, material,
confecção, produto, etc.
Especificação de Sistemas
Conceitos
O que é Sistema?
 Conjunto de elementos e componentes, dinamicamente
relacionados, organizados em função de um objetivo.
 Todo sistema é composto de subsistemas e todo sistema
é parte integrante de um sistema maior.
10/03/2015
7
Especificação de Sistemas
Conceitos
Atividade de sala:
O corpo humano pode ser considerado um Sistema?
 Sim.
 Conjunto de subsistemas: Sistemas respiratório,
nervoso, circulatório, digestivo, reprodutor, etc.
Especificação de Sistemas
Conceitos
O que é Especificação de Sistemas?
 Descrição funcional do sistema.
Características de Especificação de Sistemas:
 Baseado no escopo;
 Utilização de técnicas da UML (Unified Modeling Language);
 Documentação de comportamentos, estruturas e a arquitetura do sistema.
10/03/2015
8
Especificação de Sistemas
CICLO DE VIDA DE SOFTWARE
Especificação de Sistemas
Ciclo de Vida de Software
O que é um Ciclo de Vida?
 É considerado o intervalo de tempo decorrido desde
o momento de sua concepção até a sua conclusão
ou seu fim.
10/03/2015
9
Especificação de Sistemas
Ciclo de Vida de Software
Atividade de sala:
Como seriam as fases do Ciclo de Vida de um homem?
 Concepção;
 Crescimento;
 Maturidade;
 Declínio/Morte.
Especificação de Sistemas
Ciclo de Vida de Software
O que é Software?
 Subsistema de um sistema computacional;
 São os programas de computador e documentação associada;
 Produtos de Software podem ser desenvolvidos para um cliente específico ou para o mercado em geral.
O que é Engenharia de Software?
 Disciplina de engenharia que se preocupa com todos os aspectos de produção de software.
10/03/2015
10
Especificação de Sistemas
Ciclo de Vida de Software
O que é um Ciclo de Vida de Software?
 É considerado o intervalo de tempo
decorrido desde o momento da concepção
do software até a sua conclusão ou sua
descontinuidade;
 O ciclo de vida define as fases que
conectam o início de um projeto a seu fim.
A organização em fases é um mecanismo
que permite um controle gerenciável;
 A transição entre as fases normalmente é
marcada por alguma entrega e/ou revisão;
 Também conhecido como processo de
software. Assim como um projeto, um
processo demanda um ciclo de vida para
organizar suas atividades.
Especificação de Sistemas
Ciclo de Vida de Software
O que é Processo de Software?
 Conjunto de atividades relacionadas para o desenvolvimento (produção) de um produto de software;
10/03/2015
11
Especificação de Sistemas
Ciclo de Vida de Software
Atividades Fundamentais de Processos de Software
 Especificações de Software:
 Define o software a ser produzido e as restrições de sua operação, de acordo com as
necessidades (requisitos) solicitadas pelo cliente;
 Desenvolvimento de Software:
 Atividade em que o software é projetado e programado, de acordo as
especificações de software;
 Validação de Software:
 Atividade em que o software é analisado e verificado para garantir se os requisitos
(necessidades ) solicitados pelo cliente estão contemplados e funcionais como o
cliente queria;
 Evolução de Software:
 Atividade em que o software é modificado como consequência de mudança de
requisitos do cliente e/ou do mercado;
Especificação
DesenvolvimentoValidação
Evolução
Especificação de Sistemas
Ciclo de Vida de Software
Atividades Fundamentais de Processos de Software
 Especificações de Software:
 Engenharia de Sistema:
 Sugestão de uma solução para o problema, relacionando questões extra
software.
 Análise de Requisitos:
 Levantamento das necessidades do cliente do software a ser desenvolvido.
Tendo como o finalidade produzir a especificação de requisitos.
 Especificação de Sistema:
 Descrição funcional do sistema. Pode-se incluir um plano de testes para
verificar adequadamente às funcionalidades.
Especificação
DesenvolvimentoValidação
Evolução
10/03/2015
12
Especificação de Sistemas
Ciclo de Vida de Software
Atividades Fundamentais de Processos de Software
 Desenvolvimento de Software:
 Projeto Arquitetural:
 Desenvolvimento de um modelo conceitual para o sistema, composto de
módulos relacionados.
 Projeto de Interface:
 Cada módulo tem sua interface de comunicação avaliada e definida.
 Projeto Detalhado:
 Módulos são definidos internamente, podendo ser traduzidos para
pseudocódigos.
 Codificação:
 Desenvolvimento do sistema em uma linguagem de desenvolvimento de
computador.
Especificação
DesenvolvimentoValidação
Evolução
Especificação de Sistemas
Ciclo de Vida de Software
Atividades Fundamentais de Processos de Software
 Validação de Software:
 Teste de Unidade e Módulo:
 Realização de testes para verificação de presença de erros e de comportamento
adequado de funcionalidades e módulos do sistema.
 Integração:
 Agrupamento dos diversos módulos em um produto de software homogêneo e a
verificação dos relacionamentos entre estes módulos quando operando em
conjunto.
 Validação:
 Aceite do cliente do software, de acordo com as especificações, testes, módulos,
integrações e funcionalidades estabelecidas.
Especificação
DesenvolvimentoValidação
Evolução
10/03/2015
13
Especificação de Sistemas
Ciclo de Vida de Software
Atividades Fundamentais de Processos de Software
 Evolução de Software :
 Manutenção e Evolução:
 Nesta atividade, o software entra em um ciclo iterativo que abrange as demais
atividades (atualizações de software).
Especificação
DesenvolvimentoValidação
Evolução
Especificação de Sistemas
Ciclo de Vida de Software
O que é Modelos de Processos de Softwares?
 Uma representação abstrata e simplificada do processo de desenvolvimento de software, tipicamente 
mostrando as principais atividades e dados usados na produção e manutenção de software;
O que é Metodologia?
 Conjunto de métodos e processos.
Modelos de Processos de Softwares:
 Cascata;
 Espiral;
 Prototipação;
 RUP;
 Extremming Programming.
10/03/2015
14
Especificação de Sistemas
Ciclo de Vida de Software
Atividade de Grupo:
 Forme grupos e defina, exemplifique e defenda um dos Modelos
de Processos de Softwares:
 Cascata;
 Espiral;
 Prototipação;
 RUP;
 Extremming Programming.
Especificação de Sistemas
METODOLOGIAS DE DESENVOLVIMENTO DE SOFTWARE
10/03/2015
15
Especificação de Sistemas
Metodologias de desenvolvimento de software
Objetivo:
 O software deve ser desenvolvido conforme os requisitos de sistema, no prazo estabelecido e com a
qualidade esperada
Modelos de Processos de Software:
 É uma estratégia para o desenvolvimento de softwares, com o foco na qualidade;
 Define a ordem de execução das atividades durante as fases de Engenharia de Software;
 São a continuidade dos projetos, desenvolvimento, manutenção e substituição do software;
 Descrições abstratas do processo de desenvolvimento de software;
 Representação simplificada de um processo .
Atividades Básicas dos Modelos de Processos:
 Comunicação;
 Planejamento;
 Modelagem;
 Desenvolvimento;
 Implantação.
Especificação de Sistemas
Metodologias de desenvolvimento de software
10/03/2015
16
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo em Cascata – Modelo Linear Sequencial
 Metodologia Tradicional;
 Conhecido também como Ciclo de Vida Clássico;
 Sugere uma abordagem sistemática e sequencial;
 A entrega de uma fase constitui na entrada de outra fase e esta apenas pode ser iniciada após o término
da anterior;
 Facilita a gestão, uma vez que, possui pontos de controle bem definidos;
 Baixa visibilidade para o cliente;
 Clientes raramente são capazes de relacionar todos os requisitos em um único momento no início do
projeto;
 Dificuldade de introduzir mudanças quando o processo encontra-se em estágio avançado;
 Podem ser encontradas diversas variações deste modelo, como: Modelo em Cascata com
Realimentação.
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo em Cascata:
10/03/2015
17
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo de Prototipagem
 Apropriado quando o cliente não tem os requisitos de entrada e saída devidamente definidos;
 Utilizado como um mecanismo para identificar requisitos de software;
 Concepção um modelo bem próximo do software a ser desenvolvido;
 O cliente participa ativamente da construção e validação do protótipo do software;
 Permite a antecipação do treinamento aos usuários;
 Partes do protótipo podem ser reaproveitadas (reuso) durante o desenvolvimento do software;
 O custo em grande parte dos casos é considerado alto;
 O cliente tende a confundir o protótipo do software.
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo de Prototipagem:
10/03/2015
18
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo Espiral
 Baseado a riscos;
 Modelo Evolutivo que possibilita uma maior integração entre as fases e facilita a depuração e a
manutenção do sistema;
 O produto é desenvolvido em uma série de iterações;
 Cada iteração corresponde à uma volta na espiral;
 Avaliação de riscos exige muita experiência;
 Cada volta do espiral é dividida em quatro setores:
 Definição de Objetivos: Restrições ao processo e ao produto são identificadas, e um plano de gerenciamento é elaborado; os riscos
do projeto são identificados;
 Avaliação e redução de risco: Para cada risco identificado medidas para redução deste risco são adotadas;
 Desenvolvimento e validação: Selecionado um modelo de desenvolvimento de software;
 Planejamento: O projeto é revisado e a decisão de sua continuidade é tomada para uma nova volta no espiral.
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo Espiral:
10/03/2015
19
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo RUP (Rational Unified Process)
 Processo iterativo e incremental;
 Organização baseada no conteúdo:
 Disciplina, papeis, artefatos, atividades;
 Processo de configuração e evolutivo;
 Elementos chave do RUP: Funções, Tarefas e Produtos de Trabalhos (Artefatos);
 Uma iteração pode incluir múltiplas disciplinas;
 Separação de fases e workflows;
 Reconhecimento de que a implantação de software em um ambiente do usuário é parte do processo.
Especificação de Sistemas
Metodologias de desenvolvimento de software
Modelo RUP (Rational Unified Process):
10/03/2015
20
Especificação de Sistemas
Metodologias de desenvolvimento de software
Metodologias Ágeis
 Movimento iniciado por desenvolvedores e consultores experientes em desenvolvimento de software;
 Opõem-se a uma série de práticas adotadas em abordagens tradicionais de Engenharia de Software e
Gerência de Projetos;
 Manifesto Ágil:
 Assinado por 17 desenvolvedores em Utah (Estados Unidos) em fevereiro de 2001.
Metodologia Ágil X Metodologia Tradicional
Indivíduos e interações mais importantes do que Processos e ferramentas
Software funcionando mais importante do que Documentação completa e
detalhada
Colaboração com o cliente mais importante do que Negociação de contratos
Adaptação a mudanças mais importante do que Seguir o plano inicial
Especificação de Sistemas
Metodologias de desenvolvimento de software
Extreme Programming (XP)
 Mais conhecido e utilizado dos métodos ágeis;
 Requisitos expressos como cenários;
 Práticas do XP:
 Desenvolvimento incremental por meio de pequenos e frequentes releases do sistema.
 Requisitos baseados em cenários, usadas como base para decidir a funcionalidade que deve ser incluída em um incremento do
sistema;
 Engajamento contínuo do cliente com a equipe de desenvolvimento. O cliente é responsável por definir os testes de aceitação do
sistema;
 Programação em pares, propriedade coletiva do código do sistema;
 Mudanças são aceitas com a utilização de releases contínuos para os clientes;
 Manutenção baseada em refatoração ao ser encontrado melhorias no código.
 Clientes envolvidos ativamente na especificação e priorização de requisitos.
10/03/2015
21
Especificação de Sistemas
Metodologias de desenvolvimento de software
Extreme Programming (XP):
Dividir os cenários em tarefas 
Planejar releases
Desenvolver 
Integrar
Testar
Liberar software
Avaliar sistema
Cenários de Requisitos
Especificação de Sistemas
MODELANDO SISTEMAS COM UML – LINGUAGEM DE MODELAGEM 
UNIFICADA
10/03/2015
22
Especificação de Sistemas
Modelando sistemas com UML
O que é Modelagem de Sistemas?
 Consiste na utilização de notações gráficas e textuais com o objetivo de construir modelos que
representam partes do sistema em diferentes perspectivas;
 Notações gráficas e textuais constituem a documentação de um modelo;
 Foco: clientes, requisitos e funcionalidades;
 Documentar a estrutura e o comportamento
do sistema;
 Os modelos são desenvolvidos para:
 Controlar a complexidade do sistema;
 Delimitar o escopo do sistema;
 Ajudar a planejar as soluções.
 Dimensões modeladas: dados, funcionalidades e comportamentos.
Paradigma?
 Forma de abordar um problema.
Especificação de Sistemas
Modelando sistemas com UML
O que é UML?
 É uma linguagem visual utilizada para modelar softwares com o objetivo de especificar, visualizar,
construir e documentar os produtos de software;
 Através de elementos gráficos definidos na linguagem podem-se construir diagramas para representar
diferentes perspectivas de um sistema;
 Facilita entender melhor funcionalidades e requisitos de um sistema;
 Cada elemento gráfico possui:
 Sintaxe: forma predeterminada de desenhar o elemento;
 Semântica: Significado do elemento e com que objetivo deve ser usado.
 www.uml.org
10/03/2015
23
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Tipos:
 Itens: Abstrações;
 Relacionamentos: Entre os Itens;
 Diagramas: Agrupam coleções de itens.
 Itens:
 Estruturais;
 Comportamentais;
 Agrupamento;
 Notacionais.
 Relacionamentos:
 Dependência;
 Associação;
 Generalização;
 Realização.
 Diagramas:
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Itens Estruturais:
 São os substantivos dos modelos;
 Partes estática, representando elementos conceituais ou físicos.
10/03/2015
24
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Itens Comportamentais:
 São os verbos dos modelos;
 Partes dinâmicas, representando comportamentos no tempo e espaço.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Itens de Agrupamento:
 Partes organizacionais, representando os blocos em que os modelos podem ser decompostos (pacotes).
10/03/2015
25
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Itens Notacionais:
 Partes explicativas, representando comentários, incluídos para descrever, esclarecer e fazer alguma observação importante sobre
qualquer elemento do modelo.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Dependência:
 Relacionamento entre dois itens, nos quais a alteração de um pode afetar a semântica do outro.
10/03/2015
26
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Associação:
 Relacionamento que descreve um conjunto de ligações, que fazem conexões entre objetos.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Generalização:
 Relacionamentos nos quais os objetos dos elementos filhos são substituídos por objetos do elemento pai.
10/03/2015
27
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Realização:
 Relacionamentos entre classificadores, em que um classificador especifica um conjunto que outro classificador garante executar.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagramas:
 Representações gráficas de um conjunto de elementos, geralmente representando itens e relacionamentos.
10/03/2015
28
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Caso de Uso:
 Modelam a funcionalidade do sistema através do uso de atores e casos de uso.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Caso de Uso:
 <<include>>: Relacionamento com outro caso de uso que sempre será executado.
 <<extend>>: Relacionamento com outro caso de uso que pode ou não ser executado.
10/03/2015
29
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Classes:
 Descrevem a estrutura estática do sistema: entidades e relacionamentos.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Sequência:
 Descrevem as interações entre as classes através das trocas de mensagens ao longo de um tempo.
10/03/2015
30
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Colaboração:
 Descrevem as interações entre os objetos em termos de mensagens em sequência.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Estados:
 Descrevem o comportamento dinâmico do sistema em resposta a estímulos externos.
10/03/2015
31
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Atividade:
 Descrevem o fluxo de trabalho ou processos de negócio e o funcionamento interno.
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Componentes:
 Descrevem a organização dos componentes do software.
10/03/2015
32
Especificação de Sistemas
Modelando sistemas com UML
Blocos de Construção:
 Diagrama de Implantação:
 Descrevem os recursos físicos em um sistema, incluindo nós, componentes e conexões.
Especificação de Sistemas
Modelando sistemas com UML
Atividade de Sala em Equipe:
Exercício 1:
 Forme grupos (com no máximo dois componentes) e desenvolva de acordo com o cenário sugerido um
diagrama comportamental, um diagrama estrutural e o diagrama de sequência (interação):
Cenário sugerido:
Seja um sistema de submissão de trabalhos para eventos científicos. Há funcionalidades que estarão
disponíveis apenas para os coordenadores dos eventos (registro do evento, definição do comitê de
avaliação, convite aos avaliadores), outras que serão voltadas para avaliadores (resposta a convite, acesso
aos trabalhos e registro de suas avaliações) e um terceiro conjunto de funcionalidades voltado para os
autores dos trabalhos (submissão de artigos e consulta às avaliações). O sistema deve rodar na Web e
poderá ser acessado pelos três tipos de usuários anteriormente descritos, os quais terão de se cadastrar
previamente.
10/03/2015
33
Especificação de Sistemas
Modelando sistemas com UML
Atividade de Sala em Equipe:
Exercício 2:
 Forme grupos (com no máximo dois componentes) e desenvolva de acordo com o cenário sugerido um
diagrama comportamental, um diagrama estrutural e o diagrama de sequência (interação):
Cenário sugerido:
Sendo um sistema de um caixa rápido de um banco, analise apenas duas funcionalidades e desenvolva os
diagramas UML solicitados.
Especificação de Sistemas
Modelando sistemas com UML
Atividade de Sala em Equipe:
Exercício 3:
 Forme grupos (com no máximo dois componentes) e de acordo com o cenário sugerido apresente a
solução utilizando um diagrama de caso de uso (fluxo principal e alternativos) e diagrama de classe:
Cenário sugerido:
Considere o exemplo de relacionamento de extensão entre casos de uso apresentado a seguir , que
descreve o relacionamento de extensão entre os casos de uso Editar Documento e o extensor Corrigir
Ortografia. Complemente o diagrama de casos de uso para incluir dois novos requisitos, a saber:
 Permitir que o editor de textos possibilite a criação de um índice remissivo sobre um documento sendo
editado;
 Permitir que o editor de textos possibilite a substituição de Texto.
10/03/2015
34
Especificação de Sistemas
Modelando sistemas com UML
Atividade de Sala em Equipe:
Exercício 4:
 Forme grupos (com no máximo dois componentes) e de acordo com o cenário sugerido apresente a
solução utilizando um diagrama de caso de uso, classe e sequência:
Cenário sugerido:
As informações a seguir se referem à planilha em Excel de Gabriel, que controla os gastos mensais de sua
conta de luz.
Para cada conta de luz cadastra-se: data em que a leitura do relógio de luz foi realizada, número
da
leitura, quantidade de Kw gastos no mês, valor a pagar pela conta, data do pagamento e média de
consumo.
Mensalmente, são realizadas as seguintes pesquisas:
 Verificação do mês de menor consumo;
 Verificação do mês de maior consumo.
Especificação de Sistemas
Modelando sistemas com UML
Atividade de Sala em Equipe:
Exercício 4:
Imagem da Planilha:
Data Leitura Nº Leitura Kw consumo Valor a pagar Data de Pagamento Média de Consumo
04/07/2005 4166 460 R$ 206,43 15/07/2005 15,33
02/08/2005 4201 350 R$ 157,07 15/08/2005 12,06
10/03/2015
35
Especificação de Sistemas
MODELAGEM DE NEGÓCIO
Especificação de Sistemas
Modelagem de Negócio
Processo de Inovação:
 
10/03/2015
36
Especificação de Sistemas
Modelagem de Negócio
Processo de Inovação:
 
Especificação de Sistemas
Modelagem de Negócio
Plano de negócio:
 Conceitos:
 Um plano de negócio é um documento que descreve por escrito os objetivos de um negócio e quais passos devem ser dados para
que esses objetivos sejam alcançados, diminuindo os riscos e as incertezas;
 Um plano de negócio permite identificar e restringir seus erros no papel, ao invés de cometê-los no mercado;
 Prevê posições futuras de lucro, custo e investimento;
 Detalha exaustivamente cada aspecto do negócio.
 Modelo de um documento de plano de negócios (Sugestão SEBRAE):
1. Sumário executivo;
2. Análise de mercado;
3. Plano de marketing;
4. Plano operacional;
5. Plano financeiro;
6. Construção de cenários;
7. Avaliação estratégica;
8. Avaliação do plano de negócio.
10/03/2015
37
Especificação de Sistemas
Modelagem de Negócio
Plano de negócio X Modelo de negócio:
 Business Plan:
 “A document investors make you write that they don’t read.”
 Business Model:
 “A single diagram that describes your business.”
Especificação de Sistemas
Modelagem de Negócio
Modelo de negócios:
 Conceitos:
 Representação enxuta do plano de negócio;
 Não é um documento “oficial”;
 O modelo de negócios tende a ser uma solução melhor para as situações em que tudo que se tem são hipóteses e a maior parte
delas ainda não foram validadas;
 O modelo de negócio mostra quem são os participantes do negócio, as atividades, as pessoas e suas funções, que sistemas
estas pessoas seguem e como é seguido o fluxo dos processos por estas pessoas dentro da organização;
 Um modelo de negócios descreve a lógica de como uma organização cria, entrega e captura valor por parte de uma organização
para o cliente.
[Alexander Osterwalder and Yves Pigneur, 2009].
 Valor (qualidade):
 É a percepção do cliente sobre o grau de atendimento de suas necessidades.
10/03/2015
38
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas¹:
 É uma ferramenta que permite descrever, visualizar, avaliar e alterar o modelo de negócios.
 Blocos:
1. Segmento de clientes;
2. Proposta de valor;
3. Canais;
4. Relacionamento com clientes;
5. Fontes de receita;
6. Recursos principais;
7. Atividades chave;
8. Parcerias principais;
9. Estrutura de custo.
¹[Alexander Osterwalder and Yves Pigneur, 2009]. http://www.businessmodelgeneration.com/book
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
1. Segmento de clientes:
 Definição:
 Descreve os diferentes grupos de pessoas ou organizações que uma empresa pretende alcançar e servir.
 Perguntas de orientação:
 Para quem estamos criando valor?
 Quem são nossos clientes mais importantes?
10/03/2015
39
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
2. Proposta de valor:
 Definição:
 Descreve o pacote de produtos e serviços que criam valor para um segmento de consumidor específico.
 Perguntas de orientação:
 Que valor entregamos ao consumidor?
 Qual problema resolvemos para nosso consumidor?
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
3. Canais:
 Definição:
 Descreve como a empresa comunica com e alcança seus segmentos de cliente para entregar suas proposições de
valor.
 Perguntas de orientação:
 Através de quais canais nosso segmento de cliente quer ser alcançado?
 Como estamos alcançando nossos clientes atualmente?
10/03/2015
40
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
4. Relacionamento com clientes:
 Definição:
 Descreve o tipo de relacionamento que a empresa estabelece com um segmento de cliente específico.
 Perguntas de orientação:
 Que tipo de relacionamento cada segmento de clientes espera que seja estabelecido e mantido com eles?
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
5. Fontes de receita:
 Definição:
 Representa o dinheiro que a empresa gera de cada segmento de cliente.
 Perguntas de orientação:
 Por qual valor nossos clientes estão realmente dispostos a pagar?
 Pelo que eles pagam atualmente? Como eles pagam atualmente?
10/03/2015
41
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
6. Recursos principais:
 Definição:
 Descreve os ativos mais importantes necessários para fazer modelo de negócio funcionar.
 Tipos de recursos principais:
 Físico;
 Financeiro;
 Intelectual;
 Humano.
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
7. Atividades chave:
 Definição:
 Descreve as coisas mais importantes que a empresa deve fazer para seu modelo de negócios funcionar.
 Perguntas de orientação:
 Quais atividades chave nossas proposições de valor necessitam?
 E nossos canais de distribuição, relacionamento com o cliente, fontes de receita?
10/03/2015
42
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
8. Parcerias principais:
 Definição:
 Descreve a rede de fornecedores e parceiros que fazem seu modelo de negócios funcionar.
 Tipos básicos de parcerias chave:
 Alianças estratégicas entre não competidores;
 Parcerias estratégias entre competidores;
 Join Ventures (parcerias) para o desenvolvimento de novos negócios;
 Relações de compra e venda para garantias seguras.
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
9. Estrutura de custo:
 Definição:
 Descreve todos os custos decorrentes da operação do modelo de negócio.
 Perguntas de orientação:
 Quais são os custos mais importantes em nosso modelo de negócios?
 Quais recursos ou atividades chaves são os mais caros?
10/03/2015
43
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
 Experimentar:
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
 Experimentar:
10/03/2015
44
Especificação de Sistemas
Modelagem de Negócio
Business Model Canvas:
 Experimentar:
 DANONE.
Especificação de Sistemas
Modelagem de Negócio
Modelagem de negócio:
 Papeis:
 Analista do Processo do Negócio:
 Avaliar a situação da organização-alvo;
 Entender as necessidades do cliente e do usuário;
 Facilitar a modelagem da organização-alvo;
 Discutir e facilitar um esforço da engenharia de negócios;
 Realizar uma análise de custo/benefício e mudanças sugeridas na organização-alvo;
 Analisar e auxiliar aqueles que comercializam e vendem o produto final do projeto.
 Designer de Negócios:
 Entender as necessidades do cliente e do usuário, suas estratégias e metas;
 Facilitar a modelagem da organização-alvo;
 Discutir e facilitar um esforço para engenharia de negócios, se necessário;
 Tomar parte na definição dos requisitos do produto final do projeto.
 Revisor do Modelo de Negócios:
 Uma pessoa que atua como revisor do modelo de negócios deve ter considerável conhecimento do domínio do negócio ou da
tecnologia
planejada para automatizá-lo. Uma outra habilidade que os revisores do modelo de negócios devem ter é o
conhecimento minucioso da técnica de engenharia de negócios aplicada.
10/03/2015
45
Especificação de Sistemas
Modelagem de Negócio
Modelagem de negócio:
 Principais Artefatos:
 Visão do Negócio:
 Responsável: Analista do Processo de Negócios;
 O documento Visão do Negócio é criado no início da fase de Iniciação;
 É usado como base para o Caso de Negócio;
 Primeiro rascunho do documento de Visão (projeto);
 Ele comunica os principais questionamentos relacionados ao projeto e funciona como um regulador com base no qual
todas as decisões futuras deverão ser validadas.
 Regras de Negócios:
 Responsável: Analista do Processo de Negócios;
 Este documento define as Regras de Negócios aplicáveis ao negócio;
 Se for o caso, podem ser divididas em grupos de assuntos;
 As Regras de Negócios são desenvolvidas primeiramente na fase de Iniciação.
Especificação de Sistemas
Modelagem de Negócio
Modelagem de negócio:
 Principais Artefatos:
 Documento de Arquitetura de Negócios:
 Responsável: Analista do Processo de Negócios;
 O Documento de Arquitetura de Negócios fornece uma visão geral abrangente da estrutura e da finalidade do
negócio. Ele funciona como um meio de comunicação entre o analista de processo do negócio e outros membros
da equipe do projeto e contém as definições das principais capacidades e mecanismos do negócio.
 Caso de Uso de Negócios:
 Responsável: Designer de Negócios;
 Esse documento é usado com uma ferramenta de gerenciamento de requisitos, como o Rational Requisite Pro,
para especificar e marcar os requisitos nas propriedades de caso de uso.
 Os casos de uso de negócios são identificados e possivelmente resumidos no início da fase de iniciação, para
ajudar a definir o escopo do projeto.
10/03/2015
46
Especificação de Sistemas
Modelagem de Negócio
Modelagem de negócio:
 Notação Caso de Uso de Negócio:
Especificação de Sistemas
Modelagem de Negócio
Atividade em Equipe:
 Forme grupos de até 3 integrantes:
1. https://sites.google.com/a/ic.ufal.br/vaff/fat/ads/especificacao-de-sistemas
2. Business Model Canvas.docx (118k)
3. Plano de Negócio - F2.pdf (301k)
4. Com base nestes arquivos:
 Equipe será uma Startup;
 Crie um plano de negócio e um modelo de negócio (Business Model Canvas) para sua Startup.
 Enviar para o e-mail: victor.fragoso@live.com
10/03/2015
47
Especificação de Sistemas
ENGENHARIA DE REQUISITOS DE SOFTWARE
Especificação de Sistemas
Engenharia de Requisitos de Software
 “O início é a parte mais importante do trabalho”.
[Platão]
10/03/2015
48
Especificação de Sistemas
Engenharia de Requisitos de Software
Especificação de Sistemas
Engenharia de Requisitos de Software
Definição:
 Conjunto de atividades sistemáticas e estruturadas para a especificação e gerenciamento de requisitos;
 Ciência que tem como objetivo elicitar, modelar, documentar e validar com os stakeholders as
funcionalidades de um sistema;
 Especificar as necessidade que um cliente deseja de um sistema, suas restrições do ambiente em que
deve funcionar e ser desenvolvido.
Objetivos:
 Entender o que o cliente deseja;
 Analisar as necessidades do cliente;
 Avaliar exequibilidade;
 Negociar uma solução razoável;
 Especificar uma solução;
 Validar uma especificação;
 Gerenciar requisitos.
10/03/2015
49
Especificação de Sistemas
Engenharia de Requisitos de Software
Requisitos de Software:
 Definições de Requisitos:
 Descreve as funcionalidades e restrições que são geradas durante o processo de engenharia de requisitos;
 Propriedade que deve ser implementada para resolver um problema do mundo real;
 Sentenças que expressam as necessidades dos clientes e que condicionam a qualidade do software;
 Todo requisito de software deve ser passível de verificação.
 Análise de Requisitos:
 Atores (Cliente e Desenvolvedor - Stakeholders):
 Cliente: reformula um conceito de função e desempenho (às vezes nebuloso);
 Desenvolvedor: indagador e solucionador de problemas.
 Problema:
 Grande propensão a mal entendidos;
 Atividade aparentemente simples torna-se complexa.
Especificação de Sistemas
Engenharia de Requisitos de Software
Requisitos de Software:
 Domínios de Requisitos:
10/03/2015
50
Especificação de Sistemas
Engenharia de Requisitos de Software
Requisitos de Software:
 Tipos de Requisitos:
Especificação de Sistemas
Engenharia de Requisitos de Software
Requisitos de Software:
 Tipos de Requisitos (Exemplos):
 O sistema deve prover um formulário para entrada dos resultados dos testes clínicos de um paciente.
[Requisito Funcional];
 O sistema deve emitir um recibo para o cliente, com tempo máximo de 8 (oito) segundos após a transação.
[Requisito Não Funcional];
 O sistema não pode apagar informações sobre o cliente.
[Requisito Não Funcional];
 O sistema de condomínios deverá permitir que um condômino emita a segunda via de sua conta condominial.
[Requisito Funcional];
 O sistema deve funcionar em microcomputadores da linha INTEL que possuam microprocessador I3 ou superior.
[Requisito Não Funcional];
10/03/2015
51
Especificação de Sistemas
Engenharia de Requisitos de Software
Requisitos de Software:
 Classificação de Requisitos:
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
10/03/2015
52
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Estudos de viabilidade:
 Avaliação para conferir se as necessidades dos usuários identificadas podem ser satisfeitas por meio das
tecnologias atuais de hardware e software;
 Também utilizado para ajudar na escolha de tecnologias a serem adotadas no projeto.
10/03/2015
53
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos:
 Necessidades dos usuários do sistema;
 Necessidades do domínio da aplicação;
 Legislação, padrões, normas, regras e restrições;
 Identificar as funcionalidades e necessidades que compõem os requisitos do sistema, de forma a prover uma
especificação clara para os Stakeholders (usuários, patrocinadores e desenvolvedores);
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Dificuldades:
 Usuários podem não ter uma ideia clara e precisa do sistema requerido;
 Usuários podem ter dificuldades para descrever o seu conhecimento sobre o domínio do problema;
 Usuários e analistas tem diferentes pontos de vista do problema.
10/03/2015
54
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Fases:
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Técnicas:
1. Requisitos de Sistema (Domínio):
A. Entrevistas:
 Discussão dos requisitos com os Stakeholders (pequena quantidade);
 Cuidado com informações omitidas.
B. Questionários:
 Grande quantidade de Stakeholders;
 Permite dados estatísticos;
 Informação limitada às perguntas.
0
5
10
15
20
25
30
35
40
45
50
55
60
Num
. de
 Re
spo
stas
5. A XXX mantém dados estatísticos sobre o processo de 
desenvolvimento de software?
SIMNÃO
10/03/2015
55
Especificação
de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Técnicas:
1. Requisitos de Sistema (Domínio):
C. Cenários (casos de uso):
 Descrição das funcionalidades (atividades executadas) do sistema;
 Casos de Uso:
 Pré-condições do sistema;
 Pós-condições do sistema;
 Fluxo de eventos principal;
 Fluxo(s) de evento(s) alternativos ou de exceção/erro.
 Notação UML.
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Técnicas:
1. Requisitos de Sistema (Domínio):
C. Cenários (casos de uso):
 Casos de Uso – Exemplo:
10/03/2015
56
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Técnicas:
2. Requisitos de Usuário (Interação):
A. Observação (etnografia):
 Utilizada para compreender os requisitos sociais;
 Analista se insere no contexto de uso e anota as atividades e as necessidades do usuário;
 Descobrir requisitos omissos e que refletem os processos reais.
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Técnicas:
3. Requisitos de Interface e Uso:
A. Estudo de Experiência do Usuário:
 Criação de protótipos não-funcionais e/ou funcionais para identificar necessidades do usuário e
funcionalidades que poderiam ser removidas.
10/03/2015
57
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Técnicas:
3. Requisitos de Interface e Uso:
B. Testes de usabilidade:
 Testes de uso no protótipo funcional para validar os requisitos;
 Usuário executa um conjunto de tarefas com o protótipo;
 Analista verifica como o usuário executa as tarefas e o que está dificultando a execução;
 O resultado são sugestões de modificações nos requisitos baseadas no uso do protótipo pelos usuários
finais.
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Elicitação de Requisitos – Modelo Prático:
 Planejamento da Elicitação de Requisitos:
 Identificação dos Stakeholders;
 Pesquisa e definição das técnicas utilizadas;
 Preparar material para cada uma das técnicas;
 Justificar o uso das técnicas e os objetivos pretendidos.
 Apresentação do planejamento da Elicitação de Requisitos.
10/03/2015
58
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Documentação de Requisitos:
 Os documentos de requisitos são utilizados para comunicar as necessidades do sistema aos Stakeholders
envolvidos no processo de desenvolvimento do software;
 Deve incluir tanto a definição de usuário quanto a especificação de requisitos de sistema:
 Marketing Requirements Document:
 Requisitos de alto nível, que representam as necessidades do cliente;
 Product Requirements Document:
 Descrevem os cenários de uso do sistema;
 System Requirements Document (Tecnical Requirements Document):
 Descrevem o funcionamento do sistema;
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Documentação de Requisitos:
 Estrutura de um documento de requisitos (Sommerville):
1. Introdução;
2. Glossário;
3. Definição dos requisitos do usuário;
4. Arquitetura do sistema;
5. Especificação dos requisitos do sistema;
6. Modelos do sistema;
7. Evolução do sistema;
8. Apêndices;
9. Índice.
10/03/2015
59
Especificação de Sistemas
Engenharia de Requisitos de Software
Processos de Engenharia de Requisitos de Software:
 Validação de Requisitos:
 Certificar que o documento de requisitos é uma descrição aceitável do sistema a ser implementado;
 Checar as seguintes propriedades do documento de requisitos:
 Completude e consistência;
 Conformidade com padrões adotados;
 Conflitos de requisitos;
 Erros técnicos;
 Requisitos ambíguos;
 Testabilidade dos requisitos.
 Formas de validação:
 Revisão do documento de requisitos;
 Prototipagem e testes de usabilidade;
 Testes de requisitos.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais