Conhecendo o Professor NOME : Paulo Cesar Cirillo Empresas : Grupo Pão de Açúcar 1980 - 1990 Área de Custos (1980 - 1984) Sistemas (1985 – 1990) Conhecendo o Professor NOME : Paulo Cesar Cirillo Grupo Pão de Açúcar 1980 - 1990 Sistemas (1985 – 1990) Trabalhando com Micro (SID 3000) Projetos: Faturamento, Custos, RH, Contabilidade Consórcio de Eletrodomésticos Automação das Lojas (Código de Barras) Conhecendo o Professor NOME : Paulo Cesar Cirillo Schaeffler Brasil - 1990 Sistemas Projetos: Desenvolvimentos de Sistemas (Mainframe) Implantação SAP/R3 módulos FI / CO (Finanças e Custos) EDI (Eletronic Data Interchange) Integrante do Time Global (FI/CO) O que vocês entendem por Ficaria melhor..... Um Sistema é um grupo de componentes interrelacionados que trabalham juntos rumo a uma meta comum, recebendo insumos e produzindo resultados em um processo organizado de transformação (dinâmico): ENTRADA; •PROCESSAMENTO; •SAÍDA. •FEEDBACK •CONTROLE Componentes de um Sistema de Informação São cinco os recursos básicos dos sistemas de informação: • Recursos Humanos; • Recursos de Hardware; • Recursos de Software; • Recursos de Dados; • Recursos de Rede. Tipos de Sistemas de Informação Sistemas de Informação Sistemas de Apoio às Operações Sistemas de Apoio Gerencial Sistemas de Controle de Processos Sistemas de Informação Gerencial Contagem de peças produzidas Peças Produzidas X Peças Refugadas O Conceito de Sistema de Computador Um sistema de computadores é uma combinação de componentes inter-relacionados que executam funções básicas especializadas para fornecer aos usuários finais uma ferramenta poderosa de processamento de informação. As principais funções incluem: •Entrada; •Processamento; •Saída; •Armazenamento; •Controle. O Conceito de Sistema de Computador •Entrada; •Processamento; •Saída; •Armazenamento; •Controle. Teclados, telas sensíveis ao toque, canetas, “mouses” eletrônicos, scanneres óticos e outros componentes periféricos de hardware que convertem dados em forma eletrônica, legível por máquinas. A entrada pode ser direta (pelo usuário final) ou por meio de conexões de telecomunicações. A unidade central de processamento (CPU) é o componente principal de processamento de um sistema de computadores. Um componente fundamental da CPU é a unidade lógicoaritmética (ULA), que realiza as funções aritméticas e lógicas exigidas no processamento da computação. O Conceito de Sistema de Computador •Entrada; •Processamento; •Saída; •Armazenamento; •Controle. Convertem as informações eletrônicas produzidas pelo sistema de computadores em forma inteligível pelo homem. Incluem monitores de vídeo, impressoras, unidades de resposta de áudio e outros componentes periféricos de hardware especializados nesta função. Armazenam dados e programas necessários ao processamento. O armazenamento primário ou memória de um computador, é utilizado para guardar informações fundamentais necessárias para executar o programa, ao passo que o armazenamento secundário (como unidades de disco e fita magnéticos) guardam partes maiores de programas utilizados menos freqüentemente e os arquivos de conteúdo criados por usuários finais. O Conceito de Sistema de Computador •Entrada; •Processamento; •Saída; •Armazenamento; •Controle. A unidade de controle da CPU interpreta instruções de programas para o computador e transmite ordens para os outros componentes do sistema do computador. O Conceito de Sistema de Computador Unidade Central de Processamento(CPU) Dispositivos de Entrada Teclado Mouse Tela de Contato Scanner ótico Reconheciment o de voz Unidade de Controle Interpreta Instruções e Dirige o Processamento Processadores com finalidades especiais ULA Unidade LógicoAritmética Realiza operações Aritméticas e faz comparações Cache de Memória Unidade de Armazenamento Primário Armazena Programa e dados Dispositivos de Armazenamento Secundário Unidades de disco e fita magnéticos Dispositivos de Saída Monitor Impressora Áudio ANOS 80 / 90 INFORMÁTICA Sistemas Criação de Arquivos Codificação O&M Levantamento junto ao usuário Atualmente INFORMÁTICA Sistemas Levantamento junto ao usuário Criação de Arquivos Codificação O&M TÉCNICAS DE LEVANTAMENTO JUNTO AO USUÁRIO ANÁLISE DE SISTEMAS MODELAGEM DE SISTEMAS DFD (Diagrama de Fluxo de Dados) TÉCNICAS DE LEVANTAMENTO JUNTO AO USUÁRIO NÃO EXISTE UMA ÚNICA METODOLOGIA Cada empresa procura adotar aquela que melhor atenda as suas necessidades PRINCIPAIS METODOLOGIAS • Tradicional ou em Cascata • Análise Estruturada • Engenharia de Software • Engenharia da Informação PRINCIPAIS METODOLOGIAS Tradicional ou em Cascata FASES : • Levantamento • Análise • Projeto • Codificação • Documentação • Testes • Implementação • Manutenção PRINCIPAIS METODOLOGIAS Tradicional ou em Cascata Nas fases de levantamento e análise, o usuário tenta passar tudo que sabe ao analista sobre o problema e o que ele deseja para solucioná-lo. Após a definição do problema, é criado um documento contendo os requisitos do futuro sistema. Este documento é utilizado praticamente sem alteração durante todas as demais fases de desenvolvimento. Pergunta do analista : Será que estou falando com a pessoa certa????? PRINCIPAIS METODOLOGIAS Tradicional ou em Cascata Outras características: - Não é criado nem um tipo de modelo - Não são utilizadas técnicas de estruturação - Não existem, praticamente, oportunidades para usuário alterações nos requisitos - As atividades são realizadas em seqüência - Não existem retornos entre as atividades - A documentação é produzida após o término do projeto • PRINCIPAIS METODOLOGIAS Tradicional ou em Cascata Resultados • Alta incidência de manutenção • Alto investimento • Excessivas dificuldades e incertezas • Grande insatisfação do usuário PRINCIPAIS METODOLOGIAS FASES : Análise Estruturada • Levantamento • Análise • Projeto • Implementação • Planejamento dos testes • Controle da qualidade • Descrição dos procedimentos • Conversão do banco de dados • Implantação • Teste de aceitação (Validação do usuário) PRINCIPAIS METODOLOGIAS Análise Estruturada Características: • Muitas das atividades são realizadas em paraleto • A documentação é produzida nos vários estágios do desenvolvimento • Revisões periódicas para sanar cedo os problemas • Envolvimento dos usuários do sistema com o pessoal de desenvolvimento é bastante significativo. PRINCIPAIS METODOLOGIAS Engenharia de Software FASES : • Viabalidade • Análise • Projeto • Implementação(codificação e testes intermediários) • Teste do Sistema • Teste do usuário • Produção PRINCIPAIS METODOLOGIAS Engenharia de Software • Quando algum problema ocorre em uma das fases, retorna-se à fase anterior para rever os passos identificando as causas e solução dos problemas PRINCIPAIS METODOLOGIAS Engenharia de Software Características : • Forte orientação por processos • Determinação acentuada das fases de desenvolvimento • Ênfase na reutilização de código de programas (utilizar uma mesma rotina em vários processos do sistema) • Revisões e pontos de checagem bem caracterizados PRINCIPAIS METODOLOGIAS Engenharia da Informação A engenharia da informação é um conjunto integrado de técnicas que organiizam os dados de um determinado negócio e determina em acesso fácil, por parte do usuário final, a estes dados. Esta metodologia é baseada na técnica de modelagem de dados e seus relacionamentos. BANCO DE DADOS RELACIONAL PRINCIPAIS METODOLOGIAS Engenharia da Informação Fases : • Planejamento Estratégico da Informação • Análise da Informação • Modelagem dos dados • Formação dos Procedimentos • Análise de Uso dos Dados • Análise da Distribuição dos Dados • Projeto Físico da Base de Dados • Especificãção dos Programas PRINCIPAIS METODOLOGIAS Engenharia da Informação Características • Visão estratégica das informações • Utilização da modelagem de dados e seus relacionamentos • Acesso fácil dos dados pelos usuários. PRINCIPAIS METODOLOGIAS MAINFRAME (DL1, VSAM, COBOL, EASYTRIEVE) • Tradicional ou em Cascata • Análise Estruturada SERVIDORES(Oracle,SQL,VB,C,Visual Studio) • Engenharia de Software • Engenharia da Informação Abordagem Estrutura x Abordagem Orientada ao Objeto Estruturada : • Visão Baseada no modelo de Entrada – Processamento Saída • Dados são tratados separadamente das funções Orientada ao Objeto : • O mundo é composto de objetos • Objeto é uma entidade que combina estrutura de dados e comportamento funcional Abordagem Estruturada Entrada Processamento Saída Abordagem Estruturada Estruturada : Processo Entrada Manual Decisão Conector de páginas Documento Cartão Vários Documentos Classificar campos Fita Magnética Arquivos Abordagem Estruturada COBOL • DATA DIVISION (ARQUIVOS) • ENVIRONMENT DIVISION (DEFINIÇÃO DAS SAÍDAS – PRINTER) • PROCEDURE DIVISION (DESCREVER OS PROCESSOS) Abordagem Estruturada Cadastro de Clientes Entrada Código Nome CNPJ Processamento Ler o arquivo E Imprimir Saída Relatório Abordagem Estruturada COBOL • DATA DIVISION (ARQUIVOS) Cadastro de Cliente • ENVIRONMENT DIVISION (DEFINIÇÃO DAS SAÍDAS – PRINTER) Relatório • PROCEDURE DIVISION (DESCREVER OS PROCESSOS) Ler o arquivo Imprimir Abordagem Estruturada DIÁRIO DE FREQUÊNCIA E NOTAS Usuário : Professor Abordagem Estruturada ELEMENTOS DO CENÁRIO Professores Disciplinas Datas das Aulas Alunos Frequência Notas Abordagem Estruturada Arquivos de Entrada Professores Datas das Aulas Alunos Disciplinas Abordagem Estruturada Processamento • Portal pede o código do usuário (professor) • Com base no código do usuário do professor • Ler o Cadastro de Professores (pega código da Disciplina) • Com base no código da disciplina • Ler o Cadastro de Disciplina (descrição completa da disciplina) • Ler o Cadastro de Datas (dias do mês que será dada a aula da disciplina) • Com base no código da disciplina • Ler o Cadastro de Alunos (inseridos na disciplina) Abordagem Estruturada Processamento • Professor atualiza frequência • Professor atualiza notas Abordagem Estruturada SAÍDA • Arquivo de frequência/notas atualizado Abordagem Estruturada Entrada Processamento Saída Professor Aluno Datas Disciplinas Frequência Notas Abordagem Estruturada Estruturada : Abordagem Estruturada • Definir uma rotina • Realizar o Fluxo : Entrada Processamento Saída Abordagem Estruturada Estruturada : Abordagem Estruturada Técnicas de Levantamento ou Requisitos do Sistema AMOSTRAGEM INVESTIGAÇÃO ENTREVISTA QUESTIONÁRIOS OBSERVAÇÃO PROTOTIPAÇÃO Abordagem Estruturada AMOSTRAGEM Processo de seleção sistemática de elementos representativos de uma população Abordagem Estruturada AMOSTRAGEM Por que usar a amostragem????? • Diminuir custos • Acelerar o processo de levantamento • Eficiência Abordagem Estruturada Técnicas de Levantamento ou Requisitos do Sistema AMOSTRAGEM INVESTIGAÇÃO ENTREVISTA QUESTIONÁRIOS OBSERVAÇÃO PROTOTIPAÇÃO Abordagem Estruturada Investigação Algumas vezes, as informações são difíceis de serem obtidas através de entrevistas ou observação, devendo ser investigadas pelo próprio analista Abordagem Estruturada Investigação Levantamento , utilizando a técnica de investigação Caso real Abordagem Estruturada Investigação Cenário : Empresa do ramo varejista necessitava reduzir / racionalizar o número de relatórios de Vendas da Empresa . Abordagem Estruturada Investigação 1 – Inventário dos Relatórios • Quantos eram • Para quais usuários • Quais informações continham • Existiam redundâncias nas informações • Vários relatórios poderiam conter as mesmas informações Abordagem Estruturada Investigação 2 – Resultado do Inventário • Quantos eram ( aproximadamente 100 relatórios) • Diários • Semanais • Mensais • Para quais usuários Existiam mais de um usuário por departamento • Existiam redundâncias nas informações ?? Sim. Vários relatórios continham (vendas mensais /var. s/ a.anterior Abordagem Estruturada Investigação 3 – Medidas adotadas • Corte significativos de usuários que recebiam os relatórios • Criação de uma base única de dados para geração de todos os relatórios de vendas Abordagem Estruturada Investigação 4 – Resultado alcançado • Redução de 70% dos relatórios emitidos Abordagem Estruturada Técnicas de Levantamento ou Requisitos do Sistema AMOSTRAGEM INVESTIGAÇÃO ENTREVISTA QUESTIONÁRIOS OBSERVAÇÃO PROTOTIPAÇÃO Abordagem Estruturada Entrevista Conversa direcionada com um propósito específico, utilizando um formato ¨Pergunta e Resposta¨ Abordagem Estruturada Entrevista Objetivos de uma entrevista: • Obter opiniões dos entrevistados, descobrindo problemas-chave • Conhecer o sentimento do entrevistado • Levantar procedimentos informais Abordagem Estruturada Entrevista O Processo de uma entrevista Em uma entrevista, o analista de sistemas está provavelmente estabelecendo um relacionamento com uma pessoa estranha a ele Abordagem Estruturada Entrevista O Processo de uma entrevista • Construa rapidamente uma base de confiança e entendimento • mantenha o controle da entrevista • venda a ídéia do sistema, provendo ao entrevistado as informações necessárias Abordagem Estruturada Entrevista Etapas de uma Entrevista • PLANEJAMENTO • CONDUÇÃO • ELABORAÇÃO DE UM RELATÓRIO DA ENTREVISTA Abordagem Estruturada Entrevista • PLANEJAMENTO • Estudar material existente sobre o entrevistado ( o que faz na empresa, vocabulário utilizado, expressões utilizadas na função que exerce) • Elaborar perguntas sobre o processo a ser desenvolvido • Preparar a entrevista (marcar com antecedência), preferencialmente não no local de trabalho do entrevistado • Tempo médio de cada entrevista 45 minutos a uma hora (pesquisas revelam que após este período existe perda do foco, concentração) Abordagem Estruturada Entrevista • PLANEJAMENTO • Decidir quais questões deverão ser abordadas para cada tipo de usuário (gerencial ou operacional) • Decidir com registrar a entrevista • Anotações • Uso de gravador Abordagem Estruturada • PLANEJAMENTO • Tipos de questões a serem abordadas Entrevista Abordagem Estruturada Entrevista • PLANEJAMENTO • Questões Subjetivas : • Permitem respostas ¨abertas¨ • Exemplo : O que você acha... Explique como você Abordagem Estruturada Entrevista • PLANEJAMENTO • Questões Subjetivas - Vantagens : • Provêem riqueza de detalhes • Revelam novos questionamentos • Colocam o entrevistado a vontade • Permitem maior espontaneidade Abordagem Estruturada Entrevista • PLANEJAMENTO • Questões Subjetivas - Desvantagens • Detalhes irrelevantes • Perda do controle da entrevista • Respostas longas para obter pouca informação útil • Dar a impressão que o entrevistador está perdido , sem objetivo Abordagem Estruturada Questões Subjetivas x Objetivas - Entrevista Rendimento Subjetivas Objetivas Confiabilidade das informações Baixa Alta Uso eficiente do tempo Baixo Alto Precisão das informações Baixa Alto Amplitude e Profundidade Alta Baixa Habilidade Requerida do Entrevistador Alta Baixa Facilidade de Análise Baixa Alta Abordagem Estruturada Entrevista Problemas na Elaboração de Questões Questões Capciosas – Tendem a levar o entrevistado a responder de uma forma específica, isto é, são tendenciosas Exemplo : Sobre este assunto, você está de acordo com os outros diretores, não está????? Opção mais adequada : O que você pensa sobre este assunto???? Abordagem Estruturada Entrevista Problemas na Elaboração de Questões Duas questões em uma : O entrevistado pode responder a apenas uma delas, ou pode se confundir em relação à pergunta que está respondendo Exemplo : O que você faz nesta situação e como 1 2 Abordagem Estruturada Entrevista Estrutura da Entrevista Organização das questões em uma sequência lógica • Estrutura de Pirâmide (Abordagem Indutiva) Inicia com questões bastante detalhadas e à medida que a conversa progride, questões mais gerais, subjetivas são colocadas Começa com uma questão Termina com uma questão geral Abordagem Estruturada Entrevista Estrutura da Entrevista • Estrutura de Funil (Abordagem Dedutiva) Inicia com questões gerais, subjetivas e à medida que a conversa progride, questões mais detalhadas, objetivas são colocadas Começa com questões genéricas Termina com questões objetivas Abordagem Estruturada Entrevista Estrutura da Entrevista • Estrutura de Diamante • Combinação de perguntas objetivas e subjetivas Inicia com questões específicas Questões gerais Fecha com questões específicas Abordagem Estruturada Não Estruturada • Não há definição da sequência das questões Entrevista Abordagem Estruturada Entrevista Situações onde o entrevistado parece relutante em abordar um assunto determinado Meio fácil e não ameaçador para iniciar a entrevista Melhor forma de encaminhar uma entrevista, pois mantém o interesse do entrevistado em uma variedade de questões Requer mais tempo e mais habilidade do entrevistador Abordagem Estruturada Entrevista Não Estruturada Estruturada Avaliação Difícil Fácil Tempo requerido Alto Baixo Treinamento Requerido Muito Limitado Espontaneidade Alta Baixa Insight do entrevistado Muitos Poucos Flexibilidade Alta Baixa Controle Baixo Alto Precisão Baixa Alta Confiabilidade Baixa Alta Abordagem Estruturada Entrevista Registro da Entrevista Gravador Vantagens : • Registro completo da Entrevista • Rapidez e melhor desenvolvimento • Reprodução para outros membros da equipe Abordagem Estruturada Entrevista Registro da Entrevista Gravador Desvantagens: • Pode deixar o entrevistado pouco a vontade • Pode deixar o entrevistador distraído Abordagem Estruturada Entrevista Registro da Entrevista Anotações Vantagens : • Mantém o entrevistador alerta • Mostra interesse e preparação do entrevistador • Pode ser usado para fornecer um roteiro para o entrevistador Abordagem Estruturada Entrevista Registro da Entrevista Anotações Desvantagens : • Perda do andamento da conversa • Excessiva atenção a fatos e pouca para sentimentos e opiniões Abordagem Estruturada Entrevista Condução da Entrevista • Agende a entrevista , entre em contato com o usuário um dia antes • Chegue um pouco antes do horário • Apresente-se e esboce brevemente o objetivo da entrevista • Se for usar gravador, coloque-o em lugar visível • A entrevista deve durar de 45 minutos a uma hora • Quando estiver incerto sobre uma questão, peça para o entrevistado outros esclarecimentos Abordagem Estruturada Entrevista Relatório da Entrevista • Capturar a essência da Entrevista • Escrever o relatório tão rápido quanto possível • Registre : o entrevistado, entrevistador, data, assunto e objetivos • Registre sua opinião a respeito Abordagem Estruturada Técnicas de Levantamento ou Requisitos do Sistema AMOSTRAGEM INVESTIGAÇÃO ENTREVISTA QUESTIONÁRIOS OBSERVAÇÃO PROTOTIPAÇÃO Abordagem Estruturada Questionário Quando Usar ????? • As pessoas estão espalhadas por toda a organização • Grande número de usuários envolvidos no processo Abordagem Estruturada Etapas de um questionário : • Planejamento • Levar em consideração • Redação • Formato • Sequência das questões Questionário Abordagem Estruturada Questionário Um questionário deve conter : • Questões claras • Fluxo bem definido • Levantar antecipadamente dúvidas de pessoas que irão respondê-lo Abordagem Estruturada As questões podem ser : • Subjetivas • Objetivas Questionário Abordagem Estruturada Questionário Subjetivas Objetivas Tempo gasto para responder Alto Baixo Natureza exploratória Alta Baixa Amplitude e Profundidade Alta Baixa Facilidade de Preparação Alta Baixa Facilidade de análise Baixa Alta Abordagem Estruturada Questionário LINGUAGEM UTILIZADA : • Use vocabulário das pessoas que irão responder • Perguntas simples e curtas • Evitar redação tendenciosa Abordagem Estruturada Questionário Utilização de escala em questionários, permite medição ou julgamento As escalas podem ser : • Nominal • Que tipo de software você mais usa? 1. Editor de Texto 2. Planilha 3. Gráfico 4. Outros Abordagem Estruturada As escalas podem ser : • Ordinárias (permite realizar um Rank) • O Suporte técnico de IT é : 1. Extremamente útil 2. Muito útil 3. Útil 4. Pouco útil 5. Nada útil Questionário Abordagem Estruturada Questionário As escalas podem ser : • Intervalo • O Suporte técnico de IT é : 1 Nada Útil 2 3 4 5 Extremamente útil Abordagem Estruturada Questionário As escalas podem ser : • Razão ídem ao intervalo, só que possui zero absoluto • Quantas horas, você depende diariamente de um computador: 0 2 4 6 8 Abordagem Estruturada Questionário ESTILO • Deixe amplos espaços em branco para atrair as pessoas (não poluir) • Deixe espaço suficiente para as respostas das questões subjetivas • Em questões de escala, peça para fazer um círculo na respsota Abordagem Estruturada Questionário ORDENS DAS QUESTÕES • Agrupe itens de conteúdo similar • Coloque os itens de menor controvérsia primeiro Abordagem Estruturada Questionário Aplicação do questionário • Reunir todos os respondedores em um mesmo local para a aplicação do questionário Vantagens • 100% de retorno • Instruções uniformes • Resultado rápido Problemas • Pode ser difícil reunir todas as pessoas Abordagem Estruturada Questionário Aplicação do questionário • Analista entrega e recolhe cada questionário individualmente Vantagens • Boa taxa de resposta Problemas : • Desperdício do tempo do analista • O respondedor pode ser identificado Abordagem Estruturada Questionário Aplicação do questionário • Respondedor administra o questionário Vantagens • Anonimato garantido • Respostas mais reais Problemas : • Taxa menor de resposta Abordagem Estruturada Técnicas de Levantamento ou Requisitos do Sistema AMOSTRAGEM INVESTIGAÇÃO ENTREVISTA QUESTIONÁRIOS OBSERVAÇÃO PROTOTIPAÇÃO Abordagem Estruturada Observação Através da Observação é possível capturar: • O que realmente é feito e não apenas o que é documentado ou explicado • Confirmar ou negar informações de entrevistas e/ou questionários Abordagem Estruturada Observação O Analista deverá saber : • O que observar ( quais atividades) • Quem observar ( operacional ou gerencial) • Quando observar (quais horários ocorrem os fatos) • Onde observar (local onde os processos são gerados) • Como observar (registrando todos os fatos inerentes ao processo) Abordagem Estruturada Técnicas de Levantamento ou Requisitos do Sistema AMOSTRAGEM INVESTIGAÇÃO ENTREVISTA QUESTIONÁRIOS OBSERVAÇÃO PROTOTIPAÇÃO Abordagem Estruturada Prototipação Técnica valiosa para se obter rapidamente informações específicas sobre requisitos de informações de usuários Abordagem Estruturada Prototipação Permite capturar os seguintes tipos de informações : • Reações iniciais do usuário • Sugestões do usuário • Inovações • Informações para revisão de planos Abordagem Estruturada Prototipação Abordagem da Prototipação 1. Protótipo não Operacional 2. Protótipo “arranjado às pressas” 3. Protótipo primeiro de uma série 4. Protótipo de características selecionadas Abordagem Estruturada Prototipação Abordagem da Prototipação 1. Protótipo não Operacional • Apenas as interfaces de entrada e a saída são demonstradas • O processamento não é demonstrado Útil para validar certos aspectos do sistema, quando a codificação Requerida pela aplicação é custosa e a noção básica do sistema pode ser Demonstrada através das interfaces de entrada/saída Abordagem Estruturada ABC COMPANY Prototipação Relação de títulos a Pagar OU De: dd/mm/aaaa Até : dd/mm/aaaa Fornecedor Código Enter Apelido Abordagem Estruturada ABC COMPANY Prototipação Relação de títulos a Pagar De: 20/02/2008 26/02/2008 Até Fornecedor Data ATLAS 20/02/2008 5.500,00 x CORALINA 22/02/2008 10.000,00 x Total Valor Itaú Bradesco 15.500,00 Gerar Borderô Abordagem Estruturada ABC COMPANY Relação de títulos a Pagar Fornecedor : ATLAS Data 20/02/2008 Total Prototipação Valor 5.500,00 Gerar Borderô Itaú Bradesco x Abordagem Estruturada Prototipação Abordagem da Prototipação 2. Protótipo “arranjado às pressas” Protótipo possui toda a funcionalidade do sistema final, mas não foi construído com o devido cuidado e , portanto, sua qualidade e desempenho são deficientes Abordagem Estruturada Prototipação Abordagem da Prototipação 3. Protótipo “primeiro de uma série” Um sistema piloto é desenvolvido para ser avaliado antes de ser distribuído. Útil quando o sistema será implantado em vários locais diferentes Abordagem Estruturada Prototipação Abordagem da Prototipação 4. Protótipo de características selecionadas Apenas parte das características do sistema final são implementadas. O sistema vai sendo construído em partes: cada protótipo aprovado passa a ser um módulo do sistema Abordagem Estruturada Prototipação Vantagens da Prototipação • Permite alterar o sistema mais cedo no desenvolvimento, adequando-o mais perto às necessidades do usuário • Possibilidade de desenvolver um sistema que atenda mais de perto as necessidades e expectativas dos usuários. Permite uma interação com o usuário ao longo de todo o ciclo de vida do desenvolvimento Abordagem Estruturada Prototipação Desvantagens da Prototipação • Quando parar o protótipo??? . Se esta questão não for tratada com cuidado, a prototipação pode se estender indefinidamente • Considerar o protótipo como sendo o sistema final, a qualidade pode não ter sido apropriadamente considerada Modelagem de Casos de Uso Como caracterizar os requisitos do sistema de um modo adequado para a Engenharia de Software e usuários ??? Modelagem de Casos de Uso Necessário Identificar : • Objetos • Entidades • Como se relacionam Modelagem de Casos de Uso O Desenvolvimento de Sistemas é um processo de construção de modelos : • Modelo de requisitos • Modelo de implementação do código(programação) • Modelo de objetos (diagramas de classe) • Modelos estruturados • Diagrama de entidades e realcionamentos • Diagrama de Fluxo de Dados (DFD) Modelagem de Casos de Uso O primeiro modelo do sistema a ser construído deve ser passível de compreensão : • analistas, projetistas, programadores • Comunidade usuária/clientes Modelagem de Casos de Uso Modelos Estruturados e de Objetos são muito complexos nesta primeira visão do sistema Modelagem de Casos de Uso O modelo Inicial deve descrever : • O Sistema • Seu Ambiente • Como sistema e ambiente estão relacionados Modelagem de Casos de Uso Modelos de caso de uso (use cases) é o modelo adotado para se obter a primeira visão do sistema. Um caso de uso é uma maneira de como usar o sistema Modelagem de Casos de Uso Usuários interagem com o sistema, interagindo com os casos de uso. Tomados em conjunto, os casos de uso representam tudo o que o usuário poderá fazer com o sistema. Casos de uso , são os itens do sistema que o desenvolvedor mostrará aos usuários. Modelagem de Casos de Uso O processo de desenvolvimento do software começa pelo entendimento de como o sistema será usado. Definido as maneiras de uso do sistema a modelagem pode ser iniciada Modelagem de Casos de Uso Um caso de uso especifica um comportamento de um sistema É uma descrição de um conjunto de sequências de ações realizadas pelo sistema para produção de um resultado Modelagem de Casos de Uso Um caso de uso é uma interação típica entre um ator e um sistema O ator pode ser: • Usuário • Outro sistema • Dispositivo Modelagem de Casos de Uso O caso de uso fornece uma maneira para os desenvolvedores chegarem a uma compreensão comum com os usuários finais do sistema Servem para validar testes inciais Modelagem de Casos de Uso Os objetivos do usuário podem ser o ponto de partida para a elaboração dos casos de uso. Proponha um caso de uso para satisfazer cada um dos objetivos do usuário Diagramas de Casos de Uso Especificam as funcionalidades que um sistema tem de oferecer, segundo as diferentes perspectivas do usuário Diagramas de Casos de Uso Elementos do Diagrama : • Ator • Casos de Uso Diagramas de Casos de Uso ATOR : É um papel que um usuário, outro sistema ou dispositivo desempenha com respeito ao sistema (Pode enviar/receber informações) Casos de Uso : Representam as funcionalidades requeridas Diagramas de Casos de Uso A associação entre um ator e um caso de uso indica que o ator e o caso de uso se comunicam entre si, cada um com a possibilidade de enviar e receber mensagens Diagramas de Casos de Uso Notação básica de UML (Linguagem de Modelagem Unificada) Caso de Uso 1 Caso de Uso 2 ATOR Descrição de Casos de Uso • Um Caso de Uso deve descrever o que um sistema faz • Diagrama de casos de uso é insuficiente para este propósito • Utilizar a descrição textual de seu fluxo de eventos • Como e Quando o caso de uso inicia e termina • Quando o caso de uso interage com o ator • Quais informações transferidas • Fluxo básico • Fluxos alternativos Diagramas de Casos de Uso Caixa Automático de Bancos Efetuar Saque Emitir Extrato Cliente Informar Saldo Sistema Bancário Diagramas de Casos de Uso Fluxo do Evento Principal Efetuar Saque A)O cliente informa a senha. Se a senha estiver correta, o caixa solicita que o cliente informe o tipo de transação e fica aguardando B)O cliente insere o cartão magnético no caixa automático, que lê o código da tarja magnética e checa se ele é aceitável C) O cliente seleciona a opção de saque. O caixa mostra uma tela para que seja informada a quantia. D) Uma mensagem de saudação está sendo mostrada na tela E) Se o cartão é aceitável, o caixa pede ao cliente para informar a senha e fica aguardando até que seja informada F) O cartão magnético é ejetado G) Um recibo é emitido H) O caixa envia uma requisição para o sistema bancário para que seja efetuado um saque na quantia especificada I) O cliente informa a quantia a ser sacada J) As notas são liberadas ao cliente K) Se o saque é autorizado, as notas são preparadas para serem entregues Diagramas de Casos de Uso Efetuar Saque Fluxo dos Eventos Alternativos 1. O cartão magnético não é aceitável •Se o cartão não é aceitável porque sua tarja magnética não é passível de leitura ou é de um tipo incompatível • O cartão é ejetado com um bip Quais são os outros eventos alternativos???? Diagramas de Casos de Uso 1. Descrever o fluxo de eventos principais • Emitir Extrato • Informar Saldo 2. Descrever o fluxo de eventos alternativos • Emitir Extrato • Informar Saldo Diagramas de Casos de Uso Efetuar Saque Fluxo do Evento Principal 1. Uma mensagem de saudação está sendo mostrada na tela 2. O cliente insere o cartão magnético no caixa automático, que lê o código da tarja magnética e checa se ele é aceitável 3. Se o cartão é aceitável, o caixa pede ao cliente para informar a senha e fica aguardando até que seja informada 4. O cliente informa a senha. Se a senha estiver correta, o caixa solicita que o cliente informe o tipo de transação e fica aguardando 5. O cliente seleciona a opção de saque. O caixa mostra uma tela para que seja informada a quantia. Diagramas de Casos de Uso Efetuar Saque Fluxo do Evento Principal 6. O cliente informa a quantia a ser sacada 7. O caixa envia uma requisição para o sistema bancário para que seja efetuado um saque na quantia especificada 8. Se o saque é autorizado, as notas são preparadas para serem entregues 9. O cartão magnético é ejetado 10. Um recibo é emitido 11. As notas são liberadas ao cliente Diagramas de Casos de Uso Efetuar Saque Fluxo dos Eventos Alternativos • O cartão magnético não é aceitável • Senha incorreta • Saque não autorizado • Cancelamento da transação pelo cliente Diagramas de Casos de Uso Efetuar Saque Fluxo dos Eventos Alternativos O cartão não é aceitável • Se o cartão não é aceitável porque sua tarja magnética não é passível de leitura ou é de um tipo incompatível • O cartão é ejetado com um bip Diagramas de Casos de Uso Efetuar Saque Fluxo dos Eventos Alternativos Senha Incorreta • Se a senha informada é incorreta, uma mensagem deve ser mostrada para o cliente que poderá entrar com a senha correta. • Caso o cliente informe três vezes a senha incorreta, o cartão deverá ser confiscado Diagramas de Casos de Uso Efetuar Saque Fluxo dos Eventos Alternativos Saque não autorizado • Se o saque não for aceito pelo Sistema Bancário, uma mensagem informando o cliente é mostrada por 10 segundos • O cartão é ejetado Diagramas de Casos de Uso Efetuar Saque Fluxo dos Eventos Alternativos Cancelamento • O cliente pode sempre cancelar a transação em qualquer momento que lhe seja perguntada alguma informação. • Isto resultará na ejeção do cartão e no término da transação Diagramas de Casos de Uso Emitir Extrato Fluxo do Evento Principal 1. Uma mensagem de saudação está sendo mostrada na tela 2. O cliente insere o cartão magnético no caixa automático, que lê o código da tarja magnética e checa se ele é aceitável 3. Se o cartão é aceitável, o caixa pede ao cliente para informar a senha e fica aguardando até que seja informada 4. O cliente informa a senha. Se a senha estiver correta, o caixa solicita que o cliente informe o tipo de transação e fica aguardando 5. O cliente seleciona a opção de emitir extrato. O caixa mostra uma tela para que seja informada o período do extrato Diagramas de Casos de Uso Emitir Extrato Fluxo do Evento Principal 6. O cliente informa as datas (de / até) 7. O caixa envia uma requisição para o sistema bancário para que seja efetuado a emissão do extrato 8. Dispositivo é acionado para impressão do extrato 9. O extrato é liberado para retirada do cliente 10. O cartão magnético é ejetado Diagramas de Casos de Uso Emitir Extrato Fluxo dos Eventos Alternativos • O cartão magnético não é aceitável • Senha incorreta • Período inválido • Cancelamento da transação pelo cliente Diagramas de Casos de Uso Emitir Extrato Fluxo dos Eventos Alternativos O cartão não é aceitável • Se o cartão não é aceitável porque sua tarja magnética não é passível de leitura ou é de um tipo incompatível • O cartão é ejetado com um bip Diagramas de Casos de Uso Emitir Extrato Fluxo dos Eventos Alternativos Senha Incorreta • Se a senha informada é incorreta, uma mensagem deve ser mostrada para o cliente que poderá entrar com a senha correta. • Caso o cliente informe três vezes a senha incorreta, o cartão deverá ser confiscado Diagramas de Casos de Uso Emitir Extrato Fluxo dos Eventos Alternativos Período Inválido • Se a data digitada pelo cliente não for válida pelo Sistema Bancário, uma mensagem informando o cliente é mostrada por 10 segundos • O cartão é ejetado Diagramas de Casos de Uso Emitir Extrato Fluxo dos Eventos Alternativos Cancelamento • O cliente pode sempre cancelar a transação em qualquer momento que lhe seja perguntada alguma informação. • Isto resultará na ejeção do cartão e no término da transação Diagramas de Casos de Uso Mostrar Saldo Fluxo do Evento Principal 1. Uma mensagem de saudação está sendo mostrada na tela 2. O cliente insere o cartão magnético no caixa automático, que lê o código da tarja magnética e checa se ele é aceitável 3. Se o cartão é aceitável, o caixa pede ao cliente para informar a senha e fica aguardando até que seja informada 4. O cliente informa a senha. Se a senha estiver correta, o caixa solicita que o cliente informe o tipo de transação e fica aguardando 5. O cliente seleciona a opção de mostrar saldo. O caixa mostra uma tela para que seja informada o tipo de saldo Diagramas de Casos de Uso Mostrar Saldo Fluxo do Evento Principal 6. Conta Corrente,Poupança, Investimentos 7. O caixa envia uma requisição para o sistema bancário para que seja mostrado o saldo 8. O cartão magnético é ejetado Diagramas de Casos de Uso Mostrar Saldo Fluxo dos Eventos Alternativos • O cartão magnético não é aceitável • Senha incorreta • Tipo de conta inexistente para o cliente • Cancelamento da transação pelo cliente Diagramas de Casos de Uso Mostrar Saldo Fluxo dos Eventos Alternativos O cartão não é aceitável • Se o cartão não é aceitável porque sua tarja magnética não é passível de leitura ou é de um tipo incompatível • O cartão é ejetado com um bip Diagramas de Casos de Uso Mostrar Saldo Fluxo dos Eventos Alternativos Senha Incorreta • Se a senha informada é incorreta, uma mensagem deve ser mostrada para o cliente que poderá entrar com a senha correta. • Caso o cliente informe três vezes a senha incorreta, o cartão deverá ser confiscado Diagramas de Casos de Uso Mostrar Saldo Fluxo dos Eventos Alternativos Tipo de Conta Inexistente para o cliente • O cliente escolhe um tipo de conta, onde não tem saldo, uma mensagem informando o cliente é mostrada por 10 segundos • O cartão é ejetado Diagramas de Casos de Uso Emitir Extrato Fluxo dos Eventos Alternativos Cancelamento • O cliente pode sempre cancelar a transação em qualquer momento que lhe seja perguntada alguma informação. • Isto resultará na ejeção do cartão e no término da transação Associações entre Casos de Uso Tipos de Associações • Inclusão • Extensão • Generalização Associações entre Casos de Uso Inclusão : O caso de uso Base incorpora o comportamento de outro caso de uso O local em que esse comportamento é incluído deve ser indicado no diagrama de casos de uso Associações entre Casos de Uso Inclusão : Um relacionamento de inclusão é empregado quando há uma porção de comportamentos que sâo similares ao longo de um ou mais casos de uso e não se deseja repetir a sua descrição Associações entre Casos de Uso Inclusão : Para evitar redundâncias e assegurar o seu reuso, extrai-se essa descrição e compartilha-se a mesma entre diferentes casos de uso Um relacionamento de inclusão é representado por uma dependência como INCLUI (INCLUDE) Diagramas de Casos de Uso Caixa Automático de Bancos Validar Cliente <<INCLUI>> <<INCLUI>> Efetuar Saque Emitir Extrato <<INCLUI>> Informar Saldo Associações entre Casos de Uso O caso de uso <<Validar Cliente>>, tem o seguinte Curso Normal : 1. Uma mensagem de saudação está sendo mostrada na tela 2. O cliente insere o cartão magnético no caixa automático, que lê o código da tarja magnética e checa se ele é aceitável 3. Se o cartão é aceitável, o caixa pede ao cliente para informar a senha e fica aguardando até que seja informada 4. O cliente informa a senha. Se a senha estiver correta, o caixa solicita que o cliente informe o tipo de transação e fica aguardando Associações entre Casos de Uso O caso de uso <<Validar Cliente>>, tem o seguinte Curso Alternativo : 1. O cartão não é aceitável 2. Senha Incorreta 3. Cancelamento Diagramas de Casos de Uso Efetuar Saque após o Inclui(Include) Fluxo do Evento Principal 1. O cliente realiza o caso de uso Validar Cliente 2. O cliente seleciona a opção de saque. O caixa mostra uma tela para que seja informada a quantia. 3. O cliente informa a quantia a ser sacada 4 O caixa envia uma requisição para o sistema bancário para que seja efetuado um saque na quantia especificada 5. Se o saque é autorizado, as notas são preparadas para serem entregues 6. O cartão magnético é ejetado 7. Um recibo é emitido 8. As notas são liberadas ao cliente Diagramas de Casos de Uso Efetuar Saque após o Inclui(Include) Fluxo do Evento Alternativo 1. Saque não autorizado 2. Cancelamento Diagramas de Casos de Uso Efetuar Saque após o Inclui(Include) Exemplo de Programação utilizando o conceito de INCLUI Criação e movimentação das variáveis (Perform) Variável A = número da agência Variável B = número da conta corrente Variável C = senha Variável Leitura = ´´ Diagramas de Casos de Uso Efetuar Saque após o Inclui(Include) Exemplo de Programação utilizando o conceito de INCLUI Leitura do arquivo de cadastro de correntistas Open Cadastro de Correntista Read variáveis A,B,C If OK Leitura = ´OK´ Else Leitura = ´Não OK´ Mostra a mensagem “Agência, Conta Corrente, Senha inválidos” End-if Associações entre Casos de Uso Codificação do caso de uso – Efetuar Saque Perform <<Validar Cliente>> If Leitura = ‘OK’ Procedimento 1 Procedimento 2 Procedimento 3 FIM END-IF Associações entre Casos de Uso Codificação do caso de uso – Efetuar Saque Perform <<Validar Cliente>> If Leitura = ‘Não OK’ FIM END-IF Associações entre Casos de Uso Codificação do caso de uso – Emitir Extrato Perform <<Validar Cliente>> If Leitura = ‘OK’ Procedimento 1 Procedimento 2 Procedimento 3 FIM END-IF Associações entre Casos de Uso Codificação do caso de uso – Emitir Extrato Perform <<Validar Cliente>> If Leitura = ‘Não OK’ FIM END-IF Associações entre Casos de Uso Codificação do caso de uso – Mostrar Saldo Perform <<Validar Cliente>> If Leitura = ‘OK’ Procedimento 1 Procedimento 2 Procedimento 3 FIM END-IF Associações entre Casos de Uso Codificação do caso de uso – Mostrar Saldo Perform <<Validar Cliente>> If Leitura = ‘Não OK’ FIM END-IF Associações entre Casos de Uso Tipos de Associações • Inclusão • Generalização • Extensão Associações entre Casos de Uso Generalização O caso de uso filho herda o comportamento e o significado do caso de uso do pai O caso de uso filho, deverá acrescentar ou sobrescrever o comportamento de seu pai Associações entre Casos de Uso Generalização PAI Verificar Senha FILHO Validar Cliente Analisar Retina FILHO Associações entre Casos de Uso Tipos de Associações • Inclusão • Generalização • Extensão Associações entre Casos de Uso EXTENSÃO<<Extend>> Um relacionamento de extensão é utilizado para modelar uma parte de um caso de uso que o usuário considera opcional. Separa-se o comportamento opcional do comportamento obrigatório Associações entre Casos de Uso EXTENSÃO<<Extend>> Um relacionamento de extensão também poderá ser empregado para modelar um subfluxo separado, que é executado somente sob determinada circunstância Associações entre Casos de Uso EXTENSÃO<<Extend>> No exemplo do caixa automático, deseja-se coletar dados estatísticos sobre o uso da transação de SAQUE para alimentar o caixa eletrônico com as notas mais adequadas para saque Associações entre Casos de Uso EXTENSÃO<<Extend>> Poderíamos estender o caso de uso EFETUAR SAQUE, de modo que, quando necessário, um outro caso de uso denominado COLETAR INFORMAÇÕES ESTATÍSTICAS DE SAQUE, contasse e acumulasse o tipo das notas entregues em um saque Associações entre Casos de Uso EXTENSÃO<<Extend>> Efetuar Saque <<Extend>> Coletar Informações Estatísticas Associações entre Casos de Uso Para utilização dos relacionamentos de INCLUSÃO e EXTENSÃO, aplicar as regras: • Utilize o relacionamento Extensão quando estiver descrevendo uma variação de um curso normal • Utilize o relacionamento Inclui quando houver repetição em dois ou mais casos de uso separados e for desejado a sua repetiçao EXERCÍCIO DE CASO DE USO LOCADORA DE VÍDEO O proprietário da locadora de vídeo, necessita automatizar : • Reserva da Fita do Cliente • Entrega da Fita do Cliente EXERCÍCIO DE CASO DE USO LOCADORA DE VÍDEO •Definir os atores e os casos de uso • Desenhar o diagrama de caso de uso • Descrever o Fluxo do Evento Principal • Descrever o Fluxo do Evento Alternativo • Utilizar uma das Associações de caso de uso • Inclusão • Generalização • Extensão