A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

O que é VIRTUALIZAÇÃO? Padrões Aplicados a Engenharia de Requisitos Profº Kleber R. Oliveira 2008.

Apresentações semelhantes


Apresentação em tema: "O que é VIRTUALIZAÇÃO? Padrões Aplicados a Engenharia de Requisitos Profº Kleber R. Oliveira 2008."— Transcrição da apresentação:

1 O que é VIRTUALIZAÇÃO? Padrões Aplicados a Engenharia de Requisitos Profº Kleber R. Oliveira 2008

2 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Padrões na Engenharia de Software Padrões de Arquitetura Padrões de implementação Padrões Organizacionais Padrões de Processos 2425

3 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Compreensão do Problema 2425

4 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Fator Crítico de Sucesso 2425

5 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Epistemologia Alexander Gamma PortlandCoplien 2425

6 O que é VIRTUALIZAÇÃO? 02030405060708091011121314151617181920212223 Padrões Para Solução de Problema 01 1979 – Christopher Alexander – Arquitetura Urbanista; 1993 – Erich Gamma et al. – Padrões de Projetos; 1996 – Richard Gabriel – Padrões de Arquitetura; 1997 – Suzanne & James Robertson – Padrões de Requisitos; 2001 – Will Wright – Jogos (SymCity); 2002 – Deutsches Elektronen-Synchrotron (DESY) – Padrões de Requisitos (repositórios); 2005 - Lasse Harjumaa - Improving the software inspection process with patterns 2007 – Stephen Withall - Introduction to Software Requirement Patterns 2425

7 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Mastering the Requirements Process: Suzanne, James Robertson -1999 Suzanne e James Robertson – Padrões de Requisitos 2425

8 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Lasse Harjumaa - Improving the software inspection process with patterns Harjumaa, Lasse, Improving the software inspection process with patterns Faculty of Science, Department of Information Processing Science, University of Oulu, Finland (2005) 2425

9 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Deutsches Elektronen-Synchrotron (DESY) – Padrões de Requisitos (repositórios) Deutsches Elektronen-Synchrotron (DESY). http://repare.desy.de Working Group on Requirements Engineering Patterns (WGREP) German Informatics Society (GI) 2002-2008 2425

10 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Stephen Withall - Introduction to Software Requirement Patterns Stephen Withall www.withallyourequire.com Introduction to Software Requirement Patterns -2007 2425

11 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Mineração dos Padrões 2425

12 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Construção de Padrões para Requisitos Alexander “Notes on the Synthesis of form” (1964 – Harvard Press). 2425

13 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Observação de Projetos Semelhantes 2425

14 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Dimensão de Conflitos: forças opostas (segundo Alexander (1979)) 2425

15 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Definição das Forças Contém o Requisito ou parte do problema [R] que precisa ser conduzido, as duas Forças contraditórias [F←] e [F→] que caracterizam o problema, a Ação ou método de eliciação [A] que pode contribuir com a Solução [S] resolver o problema ou atender ao requisito. A seguir, a fórmula simplificada da estrutura Padrão = (R, F←, F→, S, A) ou “se F← mas F→ então S por A para R” 2425

16 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Extraindo Padrões (Projeto A) Parte do Problema (A) “... os usuários deverão utilizar apenas partes do sistema que lhe são atribuídos de acordo com suas funções dentro da sua unidade, com objetivo de padronizar as formas de acessos. Deverá ser flexível aos usuários, pois um funcionário em determinadas ocasiões poderá substituir outro colaborador em horários diferentes...” (Ação) Técnica de Eliciação Aplicada Caso de Uso, Observação e Análise de Protocolo. Solução Criar um controle de acesso aos usuários com senhas com controle de prioridades de acessos aos usuários que se relacionem as unidades do software. Tipo de Requisito Funcional Descrições id = “usuários” R = “utilizar o sistema” F  = “padronizar as formas de acessos” F  = “deve ser flexível aos usuários” A = caso de uso; observação; análise de protocolo. S = criar um controle de acesso aos usuários com senhas Vetor (id, R, F ←, F →,S, A) (usuários, utilizar o sistema, padronizar as formas de acessos, dever ser flexível aos usuários, criar um controle de acesso aos usuários com senhas, [caso de uso, observação e análise de protocolo]) 2425

17 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Extraindo Padrões (Projeto B) Parte do Problema (B) “... os operadores deverão ter um controle rigoroso de acesso ao sistema, pois estes terão suas produtividades gerenciadas. Nenhum usuário poderá ter acesso à senha alheia, mas poderá utilizar terminais diferentes de acordo com a ordem de chegada na empresa...”. Técnica de Eliciação Aplicada Caso de Uso, Observação e Análise de Protocolo. Solução Criar um controle de acesso aos usuários com senhas Tipo de Requisito Funcional Descrições id = “operadores/usuário” R = “acesso ao sistema” F  = “nenhum usuário poderá ter acesso à senha alheia” F  = “poderá utilizar terminais diferentes” A = caso de uso; observação; análise de protocolo. S = criar um controle de acesso aos usuários com senhas Vetor (id, R, F ←, F →,S, A) (operadores/usuários, acesso ao sistema, nenhum usuário poderá ter acesso à senha alheia, poderá utilizar terminais diferentes, criar um controle de acesso aos usuários com senhas, [caso de uso, observação e análise de protocolo]) 2425

18 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Extraindo Padrões (Projeto C) Parte do Problema (C) “... cada usuário terá um perfil para utilização do sistema, onde o software terá que ser customizado de acordo com a função de cada funcionário. Será gerado um controle (log) de acesso, e este será independente do terminal utilizado pelo usuário. Haverá a flexibilidade de um usuário do mesmo nível utilizar os privilégios de outro usuário, quando este estiver ausente e o caso for urgente..” Técnica de Eliciação Aplicada Caso de Uso, Observação e Análise de Protocolo. Solução Criar um controle de acesso aos usuários com senhas individuais uma também genéricas (mantendo o mesmo usuário) que possam ser utilizadas em qualquer terminal. Tipo de Requisito Funcional Descrições id = “usuário” R = “utilização do sistema” F  = “customizado de acordo com a função de cada funcionário” F  = “flexibilidade de um usuário do mesmo nível utilizar os privilégios de outro usuário” A = caso de uso; observação; análise de protocolo. S = criar um controle de acesso aos usuários com senhas Vetor (id, R, F ←, F →,S, A) (operadores/usuários, acesso ao sistema, nenhum usuário poderá ter acesso à senha alheia, poderá utilizar terminais diferentes, criar um controle de acesso aos usuários com senhas, [caso de uso, observação e análise de protocolo]) 2425

19 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Extraindo Padrão (Candidato 1) A.1.1 – Extraindo Padrão Candidato I É feita a organização das observações comuns: A = (Id1,R1, F←1, F→1,S1,A1) B = (Id2,R2, F←2, F→2,S1,A1) C = (Id1,R2, F←3, F→3,S2,A1), onde, Id1 = “usuários”. Id2 = “operadores”. R1 = “utilizar o sistema”. R2 = “acesso ao sistema”. [F ← 1,2,3 ] = “padronizar as formas de acessos”; “nenhum usuário poderá ter acesso à senha alheia”; “customizado de acordo com a função de cada funcionário”. [F → 1,2,3 ] = “deve ser flexível aos usuários em geral” ; “poderá utilizar terminais diferentes”; “flexibilidade de um usuário do mesmo nível utilizar os privilégios de outro usuário”. S1 = “criar um controle de acesso aos usuários com senhas”. A1 = [caso de uso; observação; análise de protocolo]. Identificado os padrões descobertos em diferentes padrões pelo processo de eliciação, é feita a filtragem dos elementos comuns e a adição das forças que influenciam o padrão candidato. P1 = (R2, F ← 1,2,3, F → 1,2,3,S1,A1) 2425

20 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Leitura do Padrão Candidato 1 “É preciso padronizar os acessos dos usuários ao sistema, permitindo a customização de acordo com a função de cada usuários, MAS o controle deve ser flexível aos diversos níveis funcionais, podendo ser utilizado em diferentes pontos de acessos, ENTÃO é preciso criar um controle de acesso aos usuários através de senhas e privilégios, ELICIADO POR caso de uso; observação; análise de protocolo, PARA que possibilite o acesso ao sistema de forma segura e eficiente.”. “É preciso padronizar os acessos dos usuários ao sistema, permitindo a customização de acordo com a função de cada usuários, MAS o controle deve ser flexível aos diversos níveis funcionais, podendo ser utilizado em diferentes pontos de acessos, ENTÃO é preciso criar um controle de acesso aos usuários através de senhas e privilégios, ELICIADO POR caso de uso; observação; análise de protocolo, PARA que possibilite o acesso ao sistema de forma segura e eficiente.”. P1 = (R2, F← 1,2,3, F→ 1,2,3, S1, A1) 2425

21 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Organização dos Padrões 2425

22 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Descrição do Padrão Candidato 1 Nome: USER Contexto: Na identificação dos usuários que terão acesso ao Sistema da Informação. Problema: Acesso ao sistema. Forças: “padronizar o controle de acesso”; “nenhum usuário poderá ter acesso à senha alheia”; “customizado de acordo com a função de cada funcionário”; “deve ser flexível aos usuários em geral”; “poderá utilizar em pontos de acessos diferentes”; “flexibilidade à usuários do mesmo nível”. Método Eliciação: Caso de uso, observação e análise de protocolo. Solução: Criar um controle de acesso aos usuários com senhas. Exemplos: Através de casos de usos é feita a identificação dos usuários e os processos organizacionais as quais estes participam. A observação também contribui para eliciar operadores que eventualmente utilizarão o sistema e que de certa maneira influenciam em alguma etapa do processo, e que podem gerar risco no armazenamento dos dados, comprometendo as informações geradas. A análise de protocolo é importante no momento de padronizar o modo de cada usuário utilizar o sistema, e é o método que mais contribui na identificação do problema relacionado a classificação dos usuários que influenciam direta ou indiretamente na operacionalidade dos sistemas. Identificados e classificados os usuários, é possível especificar um controle de acesso que envolva todos os tipos de usuários existentes na organização. Nome: USER Contexto: Na identificação dos usuários que terão acesso ao Sistema da Informação. Problema: Acesso ao sistema. Forças: “padronizar o controle de acesso”; “nenhum usuário poderá ter acesso à senha alheia”; “customizado de acordo com a função de cada funcionário”; “deve ser flexível aos usuários em geral”; “poderá utilizar em pontos de acessos diferentes”; “flexibilidade à usuários do mesmo nível”. Método Eliciação: Caso de uso, observação e análise de protocolo. Solução: Criar um controle de acesso aos usuários com senhas. Exemplos: Através de casos de usos é feita a identificação dos usuários e os processos organizacionais as quais estes participam. A observação também contribui para eliciar operadores que eventualmente utilizarão o sistema e que de certa maneira influenciam em alguma etapa do processo, e que podem gerar risco no armazenamento dos dados, comprometendo as informações geradas. A análise de protocolo é importante no momento de padronizar o modo de cada usuário utilizar o sistema, e é o método que mais contribui na identificação do problema relacionado a classificação dos usuários que influenciam direta ou indiretamente na operacionalidade dos sistemas. Identificados e classificados os usuários, é possível especificar um controle de acesso que envolva todos os tipos de usuários existentes na organização. 2425

23 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Aplicação dos Padrões 2425

24 O que é VIRTUALIZAÇÃO? 0102030405060708091011121314151617181920212223 Benefícios dos Padrões 2425

25 O que é VIRTUALIZAÇÃO? Publicações OLIVEIRA, Kleber Rocha de; SPINOLA, Mauro de Mesquita.POREI: Patterns-Oriented Requirements Elicitation Integrated – Proposal of a Metamodel Patterns-Oriented for Integration of the Requirement Elicitation Process In: EURO AMERICAN ASSOCIATION ON TELEMATICS AND INFORMATION SYSTEMS - EATIS 2007, Faro/Algarve - Portugual, 14-17 May 2007. (The ACM Digital Library ) http://portal.acm.org/citation.cfm http://portal.acm.org/citation.cfm ? id=1352694.1352738&coll=portal&dl=ACM&type=series&idx= SERIES11637&part=series&WantType=Proceedings&title=EATIS&CFID=71555655&CFTOKEN=94354131 OLIVEIRA, Kleber Rocha de; SPINOLA, Mauro de Mesquita. POREI: Patterns-Oriented Requirements Elicitation Integrated: Proposta de um Metamodelo Orientado à Padrão para Integração do Processo de Eliciação de Requisitos. In: 6th LATIN AMERICAN CONFERENCE ON PATTERN LANGUAGES OF PROGRAMMING - SugarLoafPLoP 2007, Porto de Galinhas/PE. 23-30 Maio, 2007. http://sugarloafplop.dsc.upe.br OLIVEIRA, Kleber Rocha de; SPINOLA, Mauro de Mesquita. PORE Patterns-Oriented Requirements Engineering - Proposta de um Metamodelo Orientado ao Processo de Especificação de Requisitos de Software. In: XIII SIMPÓSIO DE ENGENHARIA DE PRODUÇÃO - SIMPEP, Bauru/SP. 2006. OLIVEIRA, Kleber Rocha de; SPINOLA, Mauro de Mesquita. Evolução da Gerência das Mudanças de Requisitos de Sistemas da Informação Baseado no PMBOK. In: CONGRESSO INTERNACIONAL DE GESTÃO DA TECNOLOGIA E SISTEMAS DE INFORMAÇÃO, São Paulo. 2º CONTECSI. 2005. 01020304050607080910111213141516171819202122232425

26 O que é VIRTUALIZAÇÃO? Onde Começar a Pesquisar ? 01020304050607080910111213141516171819202122232425

27 O que é VIRTUALIZAÇÃO? Agradecimentos "The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later". (F. Brooks, "No Silver Bullet", IEEE Computer, 1987) kleber.oliveira@poli.usp.br Eu nunca te abandonarei.


Carregar ppt "O que é VIRTUALIZAÇÃO? Padrões Aplicados a Engenharia de Requisitos Profº Kleber R. Oliveira 2008."

Apresentações semelhantes


Anúncios Google