Baixe o app para aproveitar ainda mais
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.
Compartilhar