UNIVERSIDADE FEDERAL DE LAVRAS. BOTEJO - SISTEMA DE APOIO À MINERAÇÃO DE DADOS COM FOCO NO RAMO VAREGISTA (Análise e Projeto) EDSON LOPES BARBOSA

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE FEDERAL DE LAVRAS. BOTEJO - SISTEMA DE APOIO À MINERAÇÃO DE DADOS COM FOCO NO RAMO VAREGISTA (Análise e Projeto) EDSON LOPES BARBOSA"

Transcrição

1 UNIVERSIDADE FEDERAL DE LAVRAS BOTEJO - SISTEMA DE APOIO À MINERAÇÃO DE DADOS COM FOCO NO RAMO VAREGISTA (Análise e Projeto) EDSON LOPES BARBOSA LAVRAS MINAS GERAIS BRASIL 2010

2 EDSON LOPES BARBOSA BOTEJO - SISTEMA DE APOIO À MINERAÇÃO DE DADOS COM FOCO NO RAMO VAREGISTA (Análise e Projeto) Trabalho de Conclusão apresentado ao Departamento de Ciência da Computação da Universidade Federal de Lavras, como parte das exigências do Curso de Pós-Graduação Lato Senso em Engenharia de Software com Ênfase em Software Livre, para obtenção do título de especialização. Orientador Prof. Tales Heimfarth LAVRAS MINAS GERAIS BRASIL 2010

3 EDSON LOPES BARBOSA BOTEJO - SISTEMA DE APOIO À MINERAÇÃO DE DADOS COM FOCO NO RAMO VAREGISTA (Análise e Projeto) Trabalho de Conclusão apresentado ao Departamento de Ciência da Computação da Universidade Federal de Lavras, como parte das exigências do Curso de Pós-Graduação Lato Senso em Engenharia de Software com Ênfase em Software Livre, para obtenção do título de especialização. APROVADA em de de. Prof. Prof. Prof. Tales Heimfarth UFLA (Orientador) LAVRAS MINAS GERAIS BRASIL 2010

4 SUMÁRIO LISTA DE FIGURAS... 5 LISTA DE TABELAS INTRODUÇÃO PROCESSO DE DESENVOLVIMENTO Metodologia Ágil Scrum Solo Ferramentas Licença de Uso VISÃO GERAL DO SOFTWARE Diagrama de Caso de Uso Diagrama de Entidade Relacionamento Diagrama de Classe PROTÓTIPO CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS ANEXOS... 39

5 LISTA DE FIGURAS Figura 1 Número de usuários no mundo com acesso à Internet... 9 Figura 2 Processo de obtenção do conhecimento Figura 3 Fluxo de processo do Scrum Figura 4 Departamentos, primeiro nível de mapeamento Figura 5 Categorias, segundo nível de mapeamento Figura 6 Paginação, terceiro nível de mapeamento Figura 7 Produtos, quarto nível de mapeamento Figura 8 Primeira Atividade, processo de mapeamento de produtos Figura 9 Campos do produto onde o crawler irá recuperar Figura 10 Segunda Atividade, processo de extrair informações dos produtos Figura 11 - Diagrama de Caso de Uso Figura 12 Diagrama de Entidade Relacionamento Figura 13 Diagrama de Classe Figura 14 Execução do sistema sem nenhuma entrada de parâmetros Figura 15 Processo de catalogação de produtos Figura 16 Processo de mapeamento de links Figura 17 Links catalogados no primeiro momento de mapeamento do site Figura 18 Quantidade de produtos catalogados no segundo momento do mapeamento do site... 36

6 LISTA DE TABELAS Tabela 1 Ferramentas usadas neste projeto...20 Tabela 2 Primeira Atividade, níveis de mapeamento de um site...26 Tabela 3 Segunda Atividade, níveis de mapeamento de um site...28 Tabela 4 Descrição do Caso de Uso principal...30

7 BOTEJO - SISTEMA DE APOIO À MINERAÇÃO DE DADOS COM FOCO NO RAMO VAREGISTA (Análise e Projeto) Edson Lopes Barbosa Universidade Federal de Lavras (UFLA) Campus Histórico da UFLA, s/n Lavras MG Brasil. edsonlb@gmail.com Abstract: This work presents an analysis and project for the development of a software that will meet the needs of data mining in the online retail sector, ie, collecting information on products of other companies and putting together on a solid database from real national retailer senary. Data are collected directly from the online retails stores, and then transported to a local open source database, and then can be used by companies interested in data mining. To accomplish this technique, the study was applied to an object-oriented analysis using UML (Unified Modeling Language) and the prototype was developed in Java language with the database engine on Firebird SQL, as well as the entire development was built on top of agile development called Scrum. Key-words: Free Software, Data Mining, Web, Crawler, Retail Resumo: Este trabalho apresenta a análise e projeto para o desenvolvimento de um software que venha atender as necessidades de mineração de dados online no ramo varejista, ou seja, coletando informações de produtos de outras empresas e montando uma base de dados sólida e real do cenário varejista nacional. Os dados são coletados diretamente das lojas virtuais das empresas e, então, transportados para uma base de dados local de código aberto para a utilização da mesma por parte das instituições interessadas em minerar os dados obtidos. Para realizar esta tarefa foi aplicada a técnica de análise orientada a objeto, utilizando a Unified Modeling Language (UML) e o protótipo desenvolvido em linguagem Java com a base de dados em Firebird SQL, assim como todo o desenvolvimento foi construído com base no modelo Ágil chamado Scrum. Palavras chaves: Software Livre, Mineração de Dados, Web, Crawler, Varejo

8 1. INTRODUÇÃO No mundo, as informações podem ser armazenadas das mais variadas maneiras, sendo que o modo mais clássico de armazenamento é através da palavra impressa. O acesso à informação estocada desta forma é lento, difícil e de pouco rendimento. Um exemplo muito comum é o uso de panfletos dos produtos encontrados nas grandes redes de varejos e, sendo assim, para todas as etapas da manipulação deste tipo de informação é necessária a presença do ser humano que com suas limitações na capacidade de aquisição de conhecimento e processamento de grande volume de informação, constitui o principal gargalo do processo como um todo Mandel [Mandel, Simon e DeLyra, 1997]. A modernização dos últimos anos tornou as tecnologias de informação uma realidade inerente às vidas de todos nós. Das grandes multinacionais as pequenas empresas, das instituições públicas as instituições de ensino e, claro, em nossa própria casa, termos como informática, computador, Internet e multimídia, entre tantos outros, passaram a fazer parte das tarefas do dia-a-dia, transformando-se em instrumentos fundamentais do trabalho de qualquer um. Todo este avanço tecnológico proporcionou meios muito mais eficientes para o armazenamento e disseminação de informação, esta, no formato digital, tornou-se condição necessária para o amplo uso dos computadores na sua real utilidade e potencialidade de processamento. Hoje, conforme Chakrabarti [Chakrabarti, 2003], a World Wide Web, ou simplesmente Web, já é o maior repositório de dados do mundo. O principal serviço oferecido pela Internet, a Web, passa por uma verdadeira explosão de conteúdo, pois deixou de ser utilizada por indivíduos comuns e passou também a ser palco das grandes empresas. Segundo dados estatísticos do Website [Wold Internet Usage Statistics, 2009], portal do órgão americano Internet Systems Consortium Inc. e responsável por pesquisas de registro de domínios intitulados The ISC Domain Survey, há, atualmente, mais de 1,802,330,457 pessoas com acesso à Internet no mundo, o que representa 26,6% da população mundial, e com crescimento de 399.3% se comparado ao ano de A Figura 1 ilustra o crescimento da Internet com o passar dos anos com base na quantidade de usuários conectados. 8

9 Milhões de Usuários Anos Usuários Figura 1 Número de usuários no mundo com acesso à Internet. Porém, o massivo crescimento de dados disponíveis na Web traz consigo grandes desafios em termos de disponibilidade de informações realmente relevante. Sendo imprescindível para este estudo, será necessário estipular algumas distinções e definições iniciais. Embora usados muitas vezes como sinônimos, o termo dados e informação possuem significados distintos: Dados: um fenômeno qualquer, desprovido de significado e contexto [Laudon & Laudon, 2002]. Informação: resultado do processamento, manipulação e organização de dados que passam a ter significados e, portanto, podem ser contextualizados, interpretados e compreendidos [Goldschmidt & Passos, 2005]. Os dados então por toda parte. A maioria das organizações não sofrem de falta de dados, mas, sim, de uma abundância de dados redundantes e inconsistentes [Singh, 2001]. A informação desejada encontra-se entre os bits e bytes armazenados, por exemplo, em um disco rígido. Esses dados, após uma série de processamentos que envolvem, por exemplo, operações lógicas, serão transformados em informação. E, finalmente, quando essa informação é recuperada 9

10 e interpretada, chega-se ao conhecimento. É o que está resumindo no diagrama da Figura 2. Figura 2 Processo de obtenção do conhecimento. A Web é um ambiente em que reina a cultura liberal e informal de propagação de conteúdo. Toda essa atmosfera desprovida de regras e censura favoreceu a sua expansão vertiginosa de volume e diversidade de conteúdo, contudo, também é responsável pela grande redundância e inconsistência de dados presentes nesse ambiente. Atualmente, a volumosa quantidade de dados na Web, muitas vezes, torna difícil encontrar o produto desejado. Uma típica busca por informação na Web começa em uma mecanismo de busca. Para isso, é necessário selecionar algumas palavras relacionadas ao produto desejado e submetê-las ao sistema de buscas que retornará como resultado todos os Websites que contêm os termos do produto desejados. Embora muitas vezes o objetivo de encontrar o produto requisitado seja atendido, essa abordagem deixa muito a desejar: Consultas com termos amplos tendem a aumentar os resultados, como, por exemplo, o termo notebook toshiba A75 S229, este, por sua vez, no mecanismo do Google, retornou com mais de resultados. Dificuldades em determinar o prestígio ou a confiabilidade da informação, no caso, o preço de um produto, pois os resultados obtidos surgem das mais variadas fontes, como por exemplo blogs, fóruns, lista de s e outros repositórios diversos mapeados pelos motores de busca, ou seja, não são sites de comércio eletrônico. Por último, a existência de termos, muitas vezes, repletos de ambiguidade, 10

11 como por exemplo, a procura pelo produto Tênis, ou ele retornará páginas relativas ao jogo que se pratica com raquetes e bola ou, então, a sapatos desportivos. Conforme Gomes [Gomes, 2008], o assunto de ambiguidade é tratado sobre o enfoque de Mineração de Textos. Outro grande problema recorrente dessa abordagem, é a dificuldade encontrada pelos usuários em expressar a necessidade de informação por meio de palavras chaves. Conforme Spink [Spink, Wolfram, Jansen e Saracevic, 2001], aproximadamente cinquenta e dois por cento das intenções de busca de informação em motores de busca são reformuladas. Em média, o número de consultas por necessidade de informação é de 4,86. Deste total de consultas reformuladas, segundo o estudo de Spink [Spink, Wolfram, Jansen e Saracevic, 2001], aproximadamente um terço das consultas modificadas sofreram alterações nos termos submetidos, mas permaneceram inalteradas quanto ao número total de termos. Quanto ao restante, mais de quarenta por cento incluíram termos diferentes dos submetidos na primeira consulta e apenas vinte e cinco por cento excluíram termos utilizados na primeira consulta. Sendo a maior fonte de dados do mundo, todo usuário com necessidade de informação recorre a Web, por saber que a resposta necessária está lá. A grande dificuldade, porém, é saber onde e como obter informações relevantes sobre os produtos requeridos. Métodos de Recuperação de Informação sempre foram utilizados para o armazenamento de documentos e a recuperação automática de informação associada a eles [Baeza-Yates e Bertier, 1999] [Manning Raghavan e Schutze, 2007]. Antes desta explosão de informação, tarefas de recuperação de informação eram restritas a bibliotecas nas quais, com a ajuda de um bibliotecário, qualquer assunto poderia ser encontrado. Entretanto, com a enorme massa de dados disponíveis atualmente, a relevância das informações retornadas nem sempre atende as necessidades. Aliado a isso, surge o fato da possível existência de informações, até então, desconhecida, presente nestes dados. Em virtude do crescimento contínuo do volume de dados eletrônicos disponíveis, técnicas de extração de conhecimento automáticas tornam-se cada vez mais necessárias para manipular essa gigantesca massa de dados. A mineração de textos ou mineração de dados surge, nesse contexto, como uma abordagem a obtenção de informação de qualidade a partir de bases de dados em formato textual. 11

12 O principal objetivo das técnicas de mineração de textos é a manipulação de documentos em formato textual com o objetivo da obtenção do conhecimento implícito presente nestes [Aranha e Passos, 2006]. Assim, dentre as motivações para o desenvolvimento deste trabalho duas necessidades estão presentes: a de prover um mecanismo para a recuperação de informação na Web de forma diferente da abordagem que utiliza palavras-chaves e um conjunto de técnicas que seja capaz de extrair, analisar e interpretar todo o conhecimento implícito dessa imensa base de dados disponível pela Internet. O principal objetivo deste trabalho é pesquisar, propor, implementar e avaliar um método inteligente de recuperação de informação de produtos na Web dos principais representantes do varejo nacional, montando, assim, uma extensa base de dados, em tempo real, dos produtos negociados por essas empresas. Com os dados recuperados, qualquer programa externo poderá fazer uso dos dados coletados para a colaboração no processo de mineração de dados no mercado nacional. Para isso, é proposta uma metodologia de coleta de dados na Web, com auxílio de técnicas de Mineração de Textos que permite que a necessidade de informação do usuário seja expressa, não por palavras soltas, mas, sim, por dados relacionados a produtos. Além disso, esse processo de coleta inteligente é capaz de analisar as opções de rastreamento disponíveis (hyperlinks) e selecionar aquelas que, possivelmente, venham a apresentar conteúdo de maior relevância que, em nosso caso, são os produtos oferecidos pela loja, sendo ignoradas as opções de pouca ou nenhuma relevância. Sobre o nome do projeto, ou seja, BOTEJO, é a união das palavras BOT e Varejo. BOT é o diminutivo de robot. BOT geralmente é um utilitário concebido para simular ações humanas, em geral, numa taxa muito mais elevada do que seria possível para um editor humano sozinho realizar. E, no caso deste estudo, seria impossível haver uma catalogação de todos os produtos e dos vários sites do varejo em poucas horas. 12

13 2. PROCESSO DE DESENVOLVIMENTO O processo de desenvolvimento de software está intimamente ligado à gestão do conhecimento nas organizações, uma vez que por meio deste, pode-se mapear, organizar, tratar e disseminar adequadamente o conhecimento no ambiente empresarial. É de conhecimento geral que são processos interdependentes, isto é, necessitam um do outro para gerar resultados completos e que satisfaçam as necessidades de gestão em uma organização. Através de processos adequados de desenvolvimento de softwares, é possível proporcionar a melhoria na gestão do conhecimento, e esta, realimentar a melhoria nos processos, agregando valor a gestão do desenvolvimento. [Pressman, 2006] trata a engenharia de software como uma tecnologia em camadas. Toda iniciativa de engenharia de software deve ser apoiada por um compromisso com a qualidade. Acima da camada da qualidade, encontram-se os processos, os métodos, e as ferramentas. O processo de desenvolvimento é um conjunto de atividades e resultados associados que levam à produção de software. Ao longo da história da engenharia de software, foram concebidos vários modelos de processos de desenvolvimento de software e, devido às divergências, nenhum pode ser considerado como o mais correto ou infalível. Para Sommerville [Sommerville, 2003], todos compartilham de atividades fundamentais como: especificação de software, projeto, implementação de software, validação de software e evolução do software. [Paula Filho, 2002] define processo como um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações, usado para atingir uma meta. Esta meta geralmente está associada a um ou mais resultados concretos finais que são os produtos da execução do processo. O Processo Unificado é um modelo de processo de software proposto por [Davenport, 1998] que, por sua vez, utiliza a Unified Modeling Language (UML) como notação de uma série de modelos que compõem os principais resultados das atividades do processo. O Processo é composto de quatro fases: 13

14 Concepção: Fase na qual se justifica a execução de um projeto de desenvolvimento de software, do ponto de vista do negócio do cliente. Elaboração: Fase na qual o produto é detalhado o suficiente para permitir um planejamento apurado da fase de construção. Construção: Fase na qual é produzida uma versão completamente operacional do produto. Transição: Fase na qual o produto é colocado à disposição de uma comunidade de usuários. O ciclo de vida de um produto tem um modelo em espiral, em que cada projeto constitui um ciclo que entrega uma liberação do produto. O Processo Unificado não trata do que acontece entre os ciclos. Uma característica importante do Processo Unificado é que as atividades técnicas são divididas em subprocessos chamados de fluxos de trabalho, ou seja, workflows, que tem um tema técnico específico, enquanto as fases constituem divisões gerenciais, caracterizadas por atingirem metas bem definidas. Os fluxos de trabalho definidos no processo unificado são: Requisitos: Fluxo que visa obter um conjunto de requisitos de um produto, acordado entre cliente e fornecedor. Análise: Fluxo cujo objetivo é detalhar, estruturar e validar os requisitos, de forma que estes possam ser usados como base para o planejamento detalhado. Desenho: Fluxo cujo objetivo é formular um modelo estrutural do produto que sirva de base para a implementação. Implementação: Fluxo cujo objetivo é realizar o desenho em termos de componentes de código. Testes: Fluxo cujo objetivo é verificar os resultados da implementação. O processo unificado compartilha suas fases e fluxos com outros processos, entre eles, o Scrum. Segundo Kniberg [Kniberg,2007], a função primária do Scrum é ser utilizado para o gerenciamento de projetos de desenvolvimento de software. Ele tem sido usado com sucesso para isso, assim como Extreme Programming e outras metodologias de desenvolvimento. Porém, teoricamente pode ser aplicado em 14

15 qualquer contexto no qual um grupo de pessoas necessitem trabalhar juntas para atingir um objetivo comum, como iniciar uma escola pequena, projetos de pesquisa científica ou, até mesmo, o planejamento de um casamento. Mesmo que idealizado para ser utilizado em gestão de fluxos de projetos de desenvolvimento de software, ele também pode ser usado para a gerência de equipes de manutenção ou como uma abordagem para gestão de desenvolvimento de programas, sendo este o foco do presente estudo. 2.1 METODOLOGIA ÁGIL As metodologias ágeis para desenvolvimento de software são uma resposta às chamadas metodologias pesadas ou tradicionais. Mesmo com a evolução dos computadores, das técnicas e das ferramentas nos últimos anos, a produção de software confiável, correto, entregue dentro dos prazos e dos custos estipulados, ainda é muito difícil. Conforme a pesquisa intitulada de Chaos Report da Standish [Standish Group, 1995], usando como base 8380 projetos, mostram que apenas 16,2% dos projetos foram entregues respeitando os prazos e os custos e com todas as funcionalidades especificadas. Aproximadamente 31% dos projetos foram cancelados antes de estarem completos e 52,7% foram entregues, porém, com prazos maiores, custos maiores ou com menos funcionalidades do que especificado no início do projeto. Dentre os projetos que não foram finalizados de acordo com os prazos e custos especificados, a média de atrasos foi de 222%, e a média de custo foi de 189% a mais do que o previsto. Considerando todos os projetos que foram entregues além do prazo e com custo maior, na média, apenas 61% das funcionalidades originais foram incluídas. Mesmo os projetos cuja entrega é feita respeitando os limites de prazo e custo possuem qualidade suspeita, uma vez que provavelmente foram feitos com muita pressão sobre os desenvolvedores, o que pode quadruplicar o número de erros de software, segundo a mesma pesquisa. As principais razões destas falhas estavam relacionadas com o processo em Cascata. A recomendação final foi que o 15

16 desenvolvimento de software deveria ser baseado em modelos incrementais, o que poderia evitar muitas das falhas reportadas. Processos orientados à documentação para o desenvolvimento de software, como o modelo em Cascata, são, de certa forma, fatores limitadores aos desenvolvedores. Além disso, muitas organizações não possuem recursos ou inclinação para processos pesados de produção de software. Por esta razão, muitas organizações, particularmente as pequenas, acabam por não usar nenhum processo, o que pode levar a efeitos desastrosos em termos de qualidade de software. Torna-se necessário, então, a utilização de metodologias ágeis, que não são orientadas por documentação, nem, tampouco, se preocupam apenas com a codificação. Conforme Cockburn [Cockburn, 2001], a maioria das metodologias ágeis nada possuem de novo. O que as diferencia das metodologias tradicionais são o enfoque e os valores. A ideia das metodologias ágeis é o enfoque nas pessoas e não em processos ou algoritmos. Além disso, existe a preocupação de gastar menos tempo com documentação e mais com a implementação. Uma característica das metodologias ágeis é que elas são adaptativas ao invés de serem preditivas. Com isso, elas se adaptam a novos fatores decorrentes do desenvolvimento do projeto, ao invés de procurar analisar previamente tudo o que pode acontecer no decorrer do desenvolvimento. Apesar do uso crescente das metodologias ágeis, ainda falta uma base maior de projetos para verificar suas vantagens. Mesmo assim, os resultados iniciais em termos de qualidade, confiança, datas de entrega e custo são promissores. Para ser realmente considerada ágil, a metodologia deve aceitar a mudança ao invés de tentar prever o futuro. O problema não é a mudança em si, mesmo porque ela ocorrerá de qualquer forma. O problema é como receber, avaliar e responder às mudanças. Enquanto as metodologias ágeis variam em termos de práticas e ênfases, elas compartilham algumas características como, desenvolvimento iterativo, modelo incremental, comunicação e redução de produtos intermediários, como documentação extensiva. Dessa forma, existem maiores possibilidades de atenderem os requisitos do cliente que, muitas vezes, são mutáveis. Dentre as várias metodologias ágeis existentes, as mais conhecidas são a Extreme Programming e a Scrum [Kniberg, 2007]. 16

17 2.2 SCRUM SOLO O Scrum é um framework para Gerenciamento de Projetos para desenvolvimento ágil. Inicialmente, o Scrum foi concebido como um estilo de gerenciamento de projetos em empresas de fabricação de automóveis e produtos de consumo, por Takeuchi e Nonaka no artigo "The New Product Development Game" [Harvard Business Review, 1986]. Eles notaram que projetos usando equipes pequenas e multidisciplinares e/ou cross-functional, produziram os melhores resultados, e associaram essas equipes altamente eficazes para a formação Scrum do Rugby. Jeff Sutherland, John Scumniotales e Jeff McKenna conceberam, documentaram e implementaram o Scrum na empresa Easel Corporation em 1993, incorporando os estilos de gerenciamento observados por Takeuchi e Nonaka. Em 1995, Ken Schwaber formalizou a definição de Scrum e ajudou a implantá-lo no desenvolvimento de softwares em todo o mundo. De acordo com [Schwaber, 2001], algumas Características do Scrum são: Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados na saída); Entregas frequentes e intermediárias de funcionalidades 100% desenvolvidas; Planos frequentes de mitigação de riscos desenvolvidos pela equipe; - Discussões diárias de status com a equipe; - A discussão diária na qual cada membro da equipe responde às seguintes perguntas: - O que fiz desde ontem? - O que estou planejando fazer até amanhã? - Existe algo me impedindo de atingir minha meta? Transparência no planejamento e desenvolvimento; Reuniões frequentes com os stakeholders (todos os envolvidos no processo) para monitorar o progresso; Retrospectiva, na qual todos os membros da equipe refletem sobre a sprint passada. 17

18 Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer problema não visto; Locais e horas de trabalho devem ser energizadas, no sentido de que "trabalhar horas extras" não necessariamente significa "produzir mais". Sprint é uma interação que segue um ciclo e entrega incremento de software pronto e testado. Backlog é conjunto de requisitos, priorizado pelo Product Owner (responsável pelo ROI e por conhecer as necessidades do cliente); O Scrum é facilitado por um Scrum Master, ou seja, o pseudo gerente, que por sua vez tem como função primária remover qualquer impedimento à habilidade de uma equipe de entregar o objetivo do sprint. O Scrum Master não é o líder da equipe (já que as equipes são auto-organizadas), mas atua como um mediador entre a equipe e qualquer influência desestabilizadora. Outra função extremamente importante de um Scrum Master é o de assegurar que a equipe esteja utilizando corretamente as práticas de Scrum, motivando-os e mantendo-se o foco na meta da Sprint. Scrum permite a criação de equipes auto-organizadas, encorajando a comunicação verbal entre todos os membros da equipe e entre todas as disciplinas que estão envolvidas no projeto. Um princípio chave do Scrum é o reconhecimento de que desafios fundamentalmente empíricos não podem ser resolvidos com sucesso utilizando uma abordagem tradicional de controle. Assim, o Scrum adota uma abordagem empírica, aceitando que o problema não pode ser totalmente entendido ou definido, focando mais na maximização da habilidade da equipe de responder de forma ágil aos novos desafios que são encontrados. Seguindo a abordagem de [Schwaber, 2001], uma das grandes vantagens do Scrum, é que não tem abordagem tipo "receita de bolo" do gerenciamento de projetos, exemplificado no Project Management Body of Knowledge [Pmbok Guide, 2008], que tem como objetivos atingir qualidade através da aplicação de uma série de processos prescritos. Para elucidar as características acima citadas, vide a Figura 3. 18

19 Figura 3 Fluxo de processo do Scrum. Como já vimos, Scrum é baseado em pequenas e médias equipes, esta metodologia preza pela comunicação entre os membros de toda a equipe, entretanto, há uma grande quantidade de softwares desenvolvidos por programadores solos. Um software sendo desenvolvido por um só programador pode ainda se beneficiar de vários princípios do Scrum, como: backlog de produto, backlog de sprint, sprints e ainda retrospectivas de sprints. Scrum Solo é uma versão adaptada para uso de programadores solo, e que foi adotado por este projeto. 2.3 FERRAMENTAS O sistema BOTEJO tem o seu formato de desenvolvimento de modo a operar como um ambiente desktop e por linha de comando. A linguagem escolhida para o desenvolvimento deste ambiente é o Java SE na versão 6 Update 20. Dentre os principais motivos, senão o principal, por sua escolha é o fato de ser independente de plataforma, ter alto desempenho, ser seguro, multithreading, 19

20 além de ter ótima documentação disponível ao usuário desenvolvedor. A persistência de dados consiste no armazenamento confiável e coerente das informações em um sistema de armazenamento de dados. E no que diz respeito ao armazenamento de dados, o sistema gerenciador de banco de dados fica a cargo do Firebird SQL na versão O Firebird tem a função de ser um sistema gerenciador de banco de dados, SGBD, que utiliza como interface a linguagem Structured Query Language (SQL) ou Linguagem de Consulta Estruturada. Firebird SQL, além de ser multiplataforma, é um SGBD leve e com alto poder de recuperação após falhas críticas e ainda possui ferramentas de administração em modo gráfico, além de ser um aplicativo Open Source. O Firebird foi definido na utilização deste projeto por de fácil instalação, administração e manutenção e por possuir uma vasta documentação e suporte em português provida pela Comunidade Firebird de Língua Portuguesa (CFLP). Dentre as ferramentas de apoio ao desenvolvimento do projeto vide a Tabela 1. TABELA DE FERRAMENTAS Ferramenta: Visual Paradigm NetBeans Plugin CE 5.2 Descrição: plugin para geração de modelagens em UML. Site: Ferramenta: NetBeans 6.3 Descrição: ambiente integrado de desenvolvimento (IDE) para a programação em Java. Site: Ferramenta: BrOffice.org Descrição: suíte de escritório compatível com o Microsoft Office. Site: Ferramenta: Google Code Descrição: hospedagem de projetos open source rápido, confiável e fácil. Site: Ferramenta: MySQL Workbench Descrição: ferramenta para design de banco de dados MySQL, que com algum as 20

21 modificações, também pode ser usada para outros tipos de bases de dados, como no nosso caso, o Firebird SQL. Site: Ferramenta: IBOConsole Descrição: administração de base de dados Firebird SQL de código aberto Site: Ferramenta: HyperSQL Descrição: sistema gestor de bases de dados livre, escrito integralmente em linguagem Java e embarcado na aplicação, mais conhecido como HSQLDB. Site: Ferramenta: SGBD FirebirdSQL Descrição: sistema Gerenciador de Banco de Dados. Site: Tabela 1 Ferramentas usadas neste projeto. 2.4 LICENÇA DE USO Com o conceito de copyleft já formado, em 1989, foi criada pela Free Software Foundation (FSF), a primeira licença de Software Livre, no qual recebeu o nome de GNU - General Public License (GPL). Essa é a licença de software mais utilizada em projetos que envolvem Software Livre [ALVES 2005]. A GPL garante aos receptores das cópias de Software Livre a liberdade de executar o programa; a liberdade de estudar seu funcionamento, podendo a qualquer momento modificá-lo para atender as suas próprias necessidades ou de terceiros; a liberdade de distribuir livremente cópias relacionadas ao programa original e por fim a liberdade de distribuir cópias das versões que por ventura sejam modificadas, com objetivo de atender à comunidade para que a mesma possa usufruir das melhorias introduzidas em determinado software. O projeto BOTEJO possui licença GPL, para que se possa garantir a 21

22 liberdade do software livre e que possa a vir a ser modificado e/ou usado por empresas na medida de suas necessidades. 3 VISÃO GERAL DO SOFTWARE Para melhor compreensão de todas as funções do sistema, este capítulo irá descrever a interface de funcionamento da ferramenta. Primeiramente, por motivos de desempenho, o aplicativo possui dois estágios principais: um para a recuperação dos links dos produtos e um segundo para a coleta de dados de forma definitiva dos produtos. Para a recuperação dos links, o estudo concluiu que em qualquer site de comércio eletrônico é possível ter apenas quatro níveis de navegação: departamentos, categorias, produtos e paginações. Na Figura 3 podemos notar que o portal do Magazine Luíza possui em sua parte superior os departamentos onde ela opera, exemplo Informática, Eletrodomésticos, Móveis e etc. Esses departamentos são mapeados inicialmente pelo crawler e, a partir desse primeiro nível, o aplicativo toma forma e recupera as informações relevantes. Nesse exemplo, demostra-se o mapeamento somente de um dos portais, pois este estudo já distribui junto com a primeira versão uma série de redes de varejo, essas são: Magazine Luíza, Casas Bahia, Walmart, Lojas Americanas e Submarino. Caso o cliente desejar adicionar mais portais, ele poderá efetuar essa adição facilmente criando um objeto Java com os valores do site a ser mapeado em forma de parâmetros. 22

23 Figura 4 Departamentos, primeiro nível de mapeamento. Depois de identificado os departamentos que o site trabalha, o crawler busca pelo segundo nível (Figura 5) que são as categorias de produtos dentro de cada departamento identificado. Essas categorias contém informações fragmentadas referente à classificação, são exemplos Memória até 2GB, Memória 3GB, HD de até 160GB entre outros. Essas categorias são muito importantes, pois mesmo que a categoria informe produtos repetidos, ela, de forma geral, já separa os produtos de forma modular, facilitando ao crawler o mapeamento completo do portal. Figura 5 Categorias, segundo nível de mapeamento. 23

24 Já no terceiro nível, diz respeito à paginações dessas categorias (Figura 6). Essas paginações causam bastante transtorno, pois, ao se movimentar pelo site, o crawler deve saber qual seria a paginação usada pelo site para não ficar se movimentando à toa pelo portal e, assim, consumir banda extra sem necessidade. Mapeadas as paginações, ele ganha um caminho regular para assim que entrar em uma categoria, ir navegando pelas páginas da sequencia, e assim, recuperando o todos os produto da página. Figura 6 Paginação, terceiro nível de mapeamento. Uma vez descobertas todas as páginas que possuem caminhos válidos, ou seja, links para os produtos da loja, o crawler sai em busca de catalogar todos os produtos sem que esses sejam repetidos para, então, armazenar a sua colheita em uma base de dados relacional local (Figura 7). Neste momento, essa primeira fase está concluída, pois o objetivo do aplicativo é separar quais são os links relevantes ao propósito do sistema - que é recuperar os produtos em tempo real dos sites de varejo. 24

25 Figura 7 Produtos, quarto nível de mapeamento. Podemos concluir que, uma vez configurado com o site ao qual deseja mapear, o crawler faz o processo de coleta de dados automaticamente. Todavia, para que esta tarefa seja realizada de forma satisfatória, a banda de Internet ao qual o sistema estará operando deverá ser relativamente alta, pois nesta fase de coleta de links dos produtos o sistema consome muita da carga do link contratado para a navegação, já que o crawler caminhando pelo site representaria uma pessoa, ou várias, usando a Internet para entrar e sair rapidamente das páginas aumentando, assim, o tráfego na rede. Não colocaremos informações quanto ao tempo e desempenho do processo, justamente por que esta ação depende dos recursos da máquina e de infraestrutura de rede para operar, o que ocasiona uma grande imprecisão quanto à extração de estatísticas de desempenho da ferramenta. Podemos só afirmar que quanto maior for a banda de Internet e mais forte for o processamento da máquina, mais rápido será o processo de extração de dados, uma vez que o programa trabalha com a arquitetura Multithreading, ou seja, execução múltiplas de tarefas realizadas no processador aumentando, assim, o desempenho da atividade. Na Figura 8, pode-se observar o fluxo da primeira atividade do projeto e na Tabela 2 é possível acompanhar, com base nos números informativos, o que deverá ser fornecido pelo usuário do sistema para que o crawler se movimente pelo site de comércio eletrônico. Note que, na Figura 8, também mostrado a linha de comando 25

26 para se mapear (parâmetro m) o site Magazine Luíza. Figura 8 Primeira Atividade, processo de mapeamento de produtos. Númeração Observações e Palavras-chaves 1 buscar links de Departamentos: Ex: linha=cp 2 buscar links de Categorias: Ex: /Linha_Setores/ 3 Buscar links de Paginações e seus Produtos: Ex: /produto/ 4 Buscar links de Produtos e suas Paginações: Ex: pag= 5 Quardar os links recolhidos na base de dados local. OBS: Lembramos que as numerações 3 e 4 são feitas as coletas de dados dos produtos juntamente com a passagem do crawler pelas paginações, ou seja, há uma troca constante de dados entre essas duas numerações. COMANDO: java -jar botejo.jar magazineluiza m Tabela 2 Primeira Atividade, níveis de mapeamento de um site. Para descrever o segundo estágio do processo de mapeamento dos produtos, o aplicativo capita os links dos produtos já armazenados localmente, e apenas navega nos endereços e recolhe os campos requisitados como Descrição do 26

27 Produto e Preço. Essa tarefa onera menos a rede se comparado ao primeiro estágio, visto que onde o crawler é obrigado a navegar já é o material da primeira seleção. Na Figura 9, é demostrada a forma visual onde os campos, que deverão ser capitados, estão localizados. Figura 9 Campos do produto onde o crawler irá recuperar. Uma vez disparado o crawler para buscar os produtos, ele, assim que mapeado o produto, marca com um ponteiro o registro na base local para sinalizar que o produto em questão foi mapeado e não deverá ser catalogado novamente. Com as informações coletadas, o aplicativo transforma dados estáticos da Web em informações selecionáveis através de uma base de dados que, em nosso caso, será o banco relacional Firebird SQL. As informações contidas na base poderá ser acessada por qualquer outro tipo de sistema, bastando efetuar a conexão com a banco e realizar a consulta via SQL conforme a Figura 10 e as duas respectivas descrições na Tabela 3. 27

28 Figura 10 Segunda Atividade, processo de extrair informações dos produtos. Númeração Observações e Palavras-chaves 1 Recupera os links de produtos recolhidos na base de dados local. 2 buscar posição do texto: Ex: <h1 title= 3 Extrai os dados relevantes e cataloga a ação. 4 Mantém os dados em uma base SQL prontos para o processo de mineração de dados e consulta posterior. 5 O usuário transforma dados em informações. OBS: Lembramos que as numerações 4 e 5 são realizadas com o sistema que os usuários possuem, e que por sua vez, fazem conexão com a base de dados elaborada pela ferramenta do estudo. COMANDO: java -jar botejo.jar magazineluiza p Tabela 3 Segunda Atividade, níveis de mapeamento de um site. No sistema em questão, logicamente não é necessária a execução de dois comandos para que seja efetuada a operação de coleta de dados para o processo de mineração posteriormente. Esse processo é automatizado pelo parâmetro total ( t ) no final da linha de comando. Dessa forma, o aplicativo mapeia os produtos do site e, assim que termina, coleta os dados automaticamente. 28

29 3.1 Diagrama de Caso de Uso O Diagrama de Caso de Uso descreve a funcionalidade comportamental proposta para um novo sistema. É comum afirmar que um Caso de Uso é um documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar um processo. Conforme a Figura 11, é possível constatar que neste estudo existe somente um ator e que pode realizar todas as funções do sistema com base nos parâmetros passados por linha de comando. Figura 11 - Diagrama de Caso de Uso. 29

30 TIPO DESCRIÇÃO Sumário Extrair os produtos de um website. Ator Operador. Pré-condição 01 O ator deverá instalar a máquina virtual Java 6 ou superior e possuir uma conexão ativa com a internet maior que 200KB. Fluxo Principal 1.0 O ator inicia o caso de uso abrindo o terminal de comandos de seu sistema operacional e informa os parâmetros iniciais para a operação do sistema (site + ação = casasbahia T). 2.0 O sistema informa os parâmetros recebidos, e inicia a ação de mapear os links dos produtos e recuperar as informações dos produtos mapeados. 3.0 O sistema cataloga todos os produtos do portal e encerra a operação liberando o terminal para novas ações O caso de uso termina. Fluxo Alternativo 1.1 O ator informa a ação M. 1.2 O sistema informa os parâmetros recebidos, e inicia a ação de mapear os links dos produtos somente. Fluxo Alternativo 1.1 O ator informa a acao P. 1.2 O sistema informa os parâmetros recebidos, e inicia a ação de recuperar as informações dos produtos mapeados somente. Fluxo Alternativo 1.1 O ator não informa uma ação. 1.2 O sistema informa os parâmetros recebidos, e inicia a ação de mapear os links dos produtos e recuperar as informações dos produtos mapeados. Fluxo Exceção Pós-condição 1.1 O ator não informa o website. 1.2 O sistema mostra a Ajuda/Help do sistema. 1.3 O caso de uso termina. Ter recuperado todos os produtos de um site em uma base de dados baseado em SQL para facilitar a consulta de outros sistemas aos produtos do site mapeado. Tabela 4 Descrição do Caso de Uso principal 30

31 3.2 Diagrama de Entidade Relacionamento Através do Diagrama de Entidade Relacionamento, poderemos representar, de forma sucinta e bem estruturada, todos os elementos essenciais abstraídos no processo de análise de sistemas. Denominamos entidade (retângulo) estes elementos. Atribuímos a cada entidade definida atributos pertinentes ao sistema. Dessa forma, podemos definir conceitualmente que representaremos como entidades aqueles elementos no qual gostaríamos de armazenar dados que, por sua vez, são representados pelos atributos. Figura 12 Diagrama de Entidade Relacionamento. Como o foco da aplicação não é trabalhar com os dados em si, e sim na obtenção desses mesmos dados nos documentos da Web, o diagrama se mostra muito simplificado, já que serve somente como persistência. A tabela links fica responsável por persistir os dados da primeira atividade, ou seja, de coletar os links dos produtos dos demais links encontrados nos portais e, sendo assim, a tabela produtos é onde contém as informações já extraídas dos 31

32 produtos online para então servir de tabela base para a mineração de dados. No Anexo 1 são encontrados as instruções Data Definition Language (DDL) da base de dados. A DDL, ou linguagem de definição de dados, é a parte do SQL usada para definir dados e objetos de um banco de dados. Quando esses comandos são usados, são feitas entradas no dicionário de dados do sistema gerenciador de banco de dados, que em nosso caso é o FirebirdSQL. Dentro dessa definição, podemos citar os comandos mostrados a seguir para definir a criação das tabelas listadas no Diagrama de Entidade Relacionamento. 3.3 DIAGRAMA DE CLASSE Um diagrama de classes (Figura 13) é uma representação da estrutura e das relações das classes que servem de modelo para objetos manipulados pelo sistema. É uma modelagem muito útil, pois demonstra, de forma visual, qual será a interação entre os objetos do sistema. 32

33 Figura 13 Diagrama de Classe 4 PROTÓTIPO Visando dar uma melhor ênfase no entendimento deste projeto, segue abaixo o modelo em execução do protótipo, ou seja, algumas telas do software que foram desenvolvidas com base nos artefatos já citados anteriormente. Essas telas foram elaboradas para sistemas em linha de comando, ou seja, são feitas para serem fáceis de se entender e de manipular. A tela abaixo (Figura 14) está demostrando o processo de mapeamento sem a entrada de nenhum parâmetro. 33

34 Figura 14 Execução do sistema sem nenhuma entrada de parâmetros. Se caso for informado algum parâmetro válido, conforme mostra as orientações da Figura 14, o sistema irá mostrar as informações da escolha e logo em seguida irá efetuar a ação desejada. Repare que na ação de cadastrar produtos, com base na Figura 15, o aplicativo mostra se o produto mapeado possui itens em estoque ou não. Se caso positivo, ele será catalogado, caso negativo, ele será ignorado e marcado como indisponível para então ser mapeado posteriormente em outro momento mais oportuno. Figura 15 Processo de catalogação de produtos. 34

35 Na próxima tela (Figura 16), o sistema está efetuando o mapeamento dos links e informando todo o processo do crawler de caminhar pelos dados encontrados no site informado. Se caso ocorrer algum erro, o sistema não para a sua execução, mas marca o produto problemático para uma processamento futuro, e continua a peneirar os dados coletados do site. Figura 16 Processo de mapeamento de links. Como o sistema trabalha com threads, todo o processo é contínuo, suave e sem travamento total do programa. Quanto aos dados coletados, na Figura 17, é possível verificar a grande quantidade de links catalogados e os seus respectivos status. Figura 17 Links catalogados no primeiro momento de mapeamento do site. 35

36 Já sobre os produtos (Figura 18), é possível, com qualquer ferramenta de administração de dados para o Firebird SQL, manipular e minerar os dados coletados em tempo real na Internet. Figura 18 Quantidade de produtos catalogados no segundo momento do mapeamento do site. 5 CONCLUSÃO Foi introduzida neste trabalho de conclusão de curso uma abordagem para um problema recorrente hoje: obtenção de informação relevante no ambiente da Web. Apoiada na mineração automatizada, a metodologia proposta dispensa a necessidade de configurações extensas e conjuntos de dados para treinamento da ferramenta de coleta e análise de dados textuais. Os resultados obtidos por esta metodologia de coleta de dados mostram que a utilização de um pré modelo como objetivo do processo de coleta de dados é uma abordagem interessante e que deve ser ainda mais investigada como meio de obtenção de informações relevantes quanto a produtos e às fontes confiáveis de garimpar preços na Internet. Os benefícios adquiridos pela abordagem de textos como textos, e não como dados puramente estatísticos, mostram a centralidade da linguagem no processo de Mineração de Textos. Novas técnicas de Processamento de Linguagem Natural tendem a incrementar os resultados satisfatórios neste campo. As sugestões, para futuros trabalhos, envolvem as diversas tarefas de mineração de dados e de textos na Web e que podem ser empregadas no contexto 36

37 do problema que é abordado por este estudo. Entretanto, podemos relatar, ainda, a necessidade de elaborar uma interface mais amigável da que foi usada neste primeiro estudo. Uma interface gráfica de usuário, assim como uma ferramenta de configuração automática de classes de objetos Java para a criação de mapeamentos de novas empresas do varejo, seriam tarefas interessantes a serem desenvolvidas. REFERÊNCIAS BIBLIOGRÁFICAS ARANHA, C. N. Uma abordagem de pré-processamento automático para mineração de textos em português: sub o enfoque da inteligência computacional Tese de Doutorado, Departamento de Engenharia Elétrica, PUC-Rio. ARANHA, C. N., e PASSOS, E. P. A tecnologia de mineração de Textos. 2006, Revista Eletrônica de Sistemas de Informação, 2,2. BAEZA-YATES, R. um novo retrato da Web brasileira Proceedings os XXXII SEMICH. São Paulo. COCKBURN, A. Manifesto para Desenvolvimento Ágil, 2001, Disponível em: < Acesso em 15 maio CHAKRABARTI, S. Mining the web: Discovering knowledge from hypertext data. 2003, San Francisco, CA: Morgan Kaufmann Publishers. DAVENPORT, T. H. Putting the enterprise into the enterprise system Harvard Business Review. GOMES, R. M. Mineração de Textos na Desambiguação Dissertação de Mestrado Rio de Janeiro: Dep. Engenhria Elétrica, PUC-Rio. GOLDSCHMIDT, R., E PASSOS, E. Data Mining: um guia prático Rio de Janeiro: Campus. GROUP, THE STANDISH. Chaos Report Disponível em: < Acesso em 2 maio KNIBERG, H. Scrum e XP direto das Trincheiras, C4Media, Publicher of InfoQ.com. Disponível em: < from-the-trenches/pt/pdf/scrumexpdiretodastrincheiras.pdf>. Acesso em 1 maio. 37

38 2010. LAUDON, K. C., E LAUDON, J. P. Management Information Systems: managing the digital firm (7ed.) New Jersey: Prentive-Hal. MANDEL, A., SIMON, I., E DELYRA, J. Informação: computação e comunicação Revista da USP. MANNING, C. D., RAGHAVAN, P., E SCHUTZE, H. Introduction to Information Retrieval Cambridge University Press. PAULA FILHO, W. DE PÁDUA. Engenharia de Software: Fundamentos, Métodos e Padrões LTC Livros Técnicos e Científicos S.A. Florianópolis. PRESSMAN, R. Engenharia de Software (5ed) 2006, Makron Books do Brasil, São Paulo. SINGH, H. S. DATA WAREHOUSE: Conceitos, tecnologias, implementação e gerenciamento São Paulo: Makron Books. STATISTICS, WORLD INTERNET USAGE. The ISC Domain Survey Disponível em: < e < Acesso em 4 maio SOMMERVILLE, I. Engenharia de Software (6ed) Person Addicon Wesley. São Paulo. SPINK, A., WOLFRAM, D., JANSEN, M. B., E SARACEVIC, T. Searching the web: the public and their queries Journal of the American Society for Information Science and Technology. Vol. 52. TAKEUCHI, H.ENONAKA I. The New Product Development Game, 1986, Disponível em: < %20Product%20Development%20Game.pdf> Acesso em: 4 março

39 ANEXO 1 SET SQL DIALECT 3; SET NAMES ISO8859_1; CREATE GENERATOR GEN_LINKS_ID; SET GENERATOR GEN_LINKS_ID TO 0; CREATE GENERATOR GEN_PRODUTOS_ID; SET GENERATOR GEN_PRODUTOS_ID TO 0; CREATE PROCEDURE SP_GEN_LINKS_ID RETURNS ( ID INTEGER) AS BEGIN EXIT; END^ CREATE PROCEDURE SP_GEN_PRODUTOS_ID RETURNS ( ID INTEGER) AS BEGIN EXIT; END^ CREATE TABLE LINKS ( ID_LINKS INTEGER NOT NULL, SITE VARCHAR(50) NOT NULL, LINK VARCHAR(400) NOT NULL, DATA_CADASTRO TIMESTAMP DEFAULT current_timestamp NOT NULL, ATIVO CHAR(3) DEFAULT 'SIM' NOT NULL ); CREATE TABLE PRODUTOS ( ID_PRODUTOS INTEGER NOT NULL, DESCRICAO VARCHAR(400) NOT NULL, VALOR DECIMAL(12,2) NOT NULL, LINK VARCHAR(400) NOT NULL, LOJA VARCHAR(100) NOT NULL, DATA_CADASTRO TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, DATA_ALTERACAO TIMESTAMP, ATIVO CHAR(3) DEFAULT 'SIM' NOT NULL ); ALTER TABLE LINKS ADD PRIMARY KEY (ID_LINKS); ALTER TABLE PRODUTOS ADD CONSTRAINT PK_PRODUTOS PRIMARY KEY (ID_PRODUTOS) USING INDEX INDEX_ID_PRODUTOS; CREATE INDEX LINK_ATIVO ON LINKS (ATIVO); CREATE INDEX LINK_LINK ON LINKS (LINK); CREATE INDEX LINK_SITE ON LINKS (SITE); CREATE INDEX PROD_ATIVO ON PRODUTOS (ATIVO); CREATE INDEX PROD_DATA_CAD ON PRODUTOS (DATA_CADASTRO); CREATE INDEX PROD_DESCRICAO ON PRODUTOS (DESCRICAO); CREATE INDEX PROD_LOJA ON PRODUTOS (LOJA); 39

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes Instituto Federal do Rio Grande do Norte IFRN Graduação Tecnologia em Analise e Desenvolvimento de Sistema Disciplina: Processo de Desenvolvimento de Software Scrum Alexandre Lima Guilherme Melo Joeldson

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Gerenciamento de Projetos Modulo II Clico de Vida e Organização Gerenciamento de Projetos Modulo II Clico de Vida e Organização Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

DESENVOLVENDO O SISTEMA

DESENVOLVENDO O SISTEMA DESENVOLVENDO O SISTEMA Declaração da Necessidade O primeiro passo do processo de análise de sistema envolve a identificação da necessidade [Pressman-95]. Normalmente o analista reúne-se com o usuário

Leia mais

Com metodologias de desenvolvimento

Com metodologias de desenvolvimento Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010).

perspectivas e abordagens típicas de campos de investigação (Senra & Camargo, 2010). 1 Introdução Os avanços na tecnologia da informação, bem como o crescimento da sociedade da informação através do uso da Internet, obrigaram os governos de inúmeros países, em seus mais variados níveis,

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

Géssica Talita. Márcia Verônica. Prof.: Edmilson

Géssica Talita. Márcia Verônica. Prof.: Edmilson Géssica Talita Márcia Verônica Prof.: Edmilson DESENVOLVIMENTO ÁGIL Técnicas foram criadas com o foco de terminar os projetos de software rapidamente e de forma eficaz. Este tipo de técnica foi categorizada

Leia mais

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br Agenda Projetos de Software O que é Scrum Scrum framework Estrutura do Scrum Sprints Ferramentas Projetos de software Chaos Report Standish

Leia mais

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie 1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

Leia mais

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC)

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC) Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC) André Luís Monteiro P. dos Santos 1, Fernando Cezar Borges 1, Leandro

Leia mais

Área de Desenvolvimento de Novos Projetos

Área de Desenvolvimento de Novos Projetos DGA INFORMÁTICA Aplicação de Práticas Ágeis no Desenvolvimento do Sistema de Controle de Estoque da Unicamp Área de Desenvolvimento de Novos Projetos Flavia Facciolla Maia Gerente da Área de Novos Projetos

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Gestão de impactos sociais nos empreendimentos Riscos e oportunidades. Por Sérgio Avelar, Fábio Risério, Viviane Freitas e Cristiano Machado

Gestão de impactos sociais nos empreendimentos Riscos e oportunidades. Por Sérgio Avelar, Fábio Risério, Viviane Freitas e Cristiano Machado Gestão de impactos sociais nos empreendimentos Riscos e oportunidades Por Sérgio Avelar, Fábio Risério, Viviane Freitas e Cristiano Machado A oferta da Promon Intelligens considera o desenvolvimento de

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

Gerenciamento da Integração (PMBoK 5ª ed.)

Gerenciamento da Integração (PMBoK 5ª ed.) Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar

Leia mais

METODOLOGIAS ÁGEIS - SCRUM -

METODOLOGIAS ÁGEIS - SCRUM - METODOLOGIAS ÁGEIS - SCRUM - André Roberto Ortoncelli ar_ortoncelli@hotmail.com 2010 Organização da Apresentação Introdução as Metodologias Ágeis Scrum Conceitos Básicos Artefatos Papeis Cerimônias Estórias

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0 COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2015 SUMÁRIO 1. O MOODLE 3 2. Acesso à Plataforma 3 2.1. Cadastrar-se em uma disciplina 4 2.2. Página Inicial do Curso 5 3.

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

Leia mais

SISTEMA DE GESTÃO DE MANUTENÇÃO APLICADO NO IFRN CAMPUS MOSSORÓ

SISTEMA DE GESTÃO DE MANUTENÇÃO APLICADO NO IFRN CAMPUS MOSSORÓ SISTEMA DE GESTÃO DE MANUTENÇÃO APLICADO NO IFRN CAMPUS MOSSORÓ Dayse Duarte Tenorio Diretoria Acadêmica de Eletrotécnica IFRN Campus Mossoró E-mail: dayse_tenoro_d@hotmail.com Lucas Duarte Almeida Departamento

Leia mais

Introdução ao Processo Unificado (PU)

Introdução ao Processo Unificado (PU) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução ao Processo Unificado (PU) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin

Leia mais

O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares

O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares O uso da Inteligência Competitiva como processo para monitorar tecnologias, legislação, ambiente regulatório, concorrência,

Leia mais

Cartilha do ALUNO EMPREENDEDOR POLITÉCNICA

Cartilha do ALUNO EMPREENDEDOR POLITÉCNICA 1 Cartilha do ALUNO EMPREENDEDOR POLITÉCNICA Diretor Acadêmico: Edison de Mello Gestor do Projeto: Prof. Marco Antonio da Costa 2 1. APRESENTAÇÃO Prepare seus alunos para explorarem o desconhecido, para

Leia mais

Gerenciamento de Projetos Modulo III Grupo de Processos

Gerenciamento de Projetos Modulo III Grupo de Processos Gerenciamento de Projetos Modulo III Grupo de Processos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s Plano de Projeto Versão Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s 2010 2 Histórico de Revisões Data Versão Descrição Autores 07/04/2010 1.0 Criação da primeira versão do Plano

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos Antonio Mendes da Silva Filho * The most important thing in communication is to hear what isn't being said. Peter Drucker

Leia mais

O Cisco IBSG prevê o surgimento de mercados globais conectados

O Cisco IBSG prevê o surgimento de mercados globais conectados O Cisco IBSG prevê o surgimento de mercados globais conectados Como as empresas podem usar a nuvem para se adaptar e prosperar em um mercado financeiro em rápida mudança Por Sherwin Uretsky, Aron Dutta

Leia mais

3 Gerenciamento de Projetos

3 Gerenciamento de Projetos 34 3 Gerenciamento de Projetos Neste capítulo, será abordado o tema de gerenciamento de projetos, iniciando na seção 3.1 um estudo de bibliografia sobre a definição do tema e a origem deste estudo. Na

Leia mais

Aplicando Scrum no. Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza

Aplicando Scrum no. Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Aplicando Scrum no Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Licença para uso e

Leia mais

JORNADA DE COMPRA. O que é e sua importância para a estratégia de Marketing Digital VECTOR

JORNADA DE COMPRA. O que é e sua importância para a estratégia de Marketing Digital VECTOR O que é e sua importância para a estratégia de Marketing Digital 1 2 3 4 Já falamos muitas vezes sobre produção de conteúdo ser a base de uma estratégia de marketing digital de resultados para a sua empresa.

Leia mais

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?

Leia mais

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Abstract. Resumo. 1. Introdução Vinicius A. C. de Abreu 1 Departamento de Ciência da Computação - DCC Universidade

Leia mais

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Gerenciamento do ciclo de vida de um documento Simone de Abreu Gerenciamento do ciclo de vida de um documento Simone de Abreu É o gerenciamento do ciclo de vida de todos os registros, em todos os tipos de mídia, desde a criação até a destruição ou arquivo permanente.

Leia mais

3 Estratégia para o enriquecimento de informações

3 Estratégia para o enriquecimento de informações 34 3 Estratégia para o enriquecimento de informações Podemos resumir o processo de enriquecimento de informações em duas grandes etapas, a saber, busca e incorporação de dados, como ilustrado na Figura

Leia mais

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 16 AS QUATRO FASES DO PCP

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 16 AS QUATRO FASES DO PCP PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 16 AS QUATRO FASES DO PCP Índice 1. As quatro fases do PCP...3 1.1. Projeto de produção... 3 1.2. Coleta de informações... 5 1.3. Relação despesas/vendas...

Leia mais

VIGDENGUE - SISTEMA DE APOIO AO ACOMPANHAMENTO E VIGILÂNCIA DE CASOS NOTIFICADOS DE DENGUE

VIGDENGUE - SISTEMA DE APOIO AO ACOMPANHAMENTO E VIGILÂNCIA DE CASOS NOTIFICADOS DE DENGUE VIGDENGUE - SISTEMA DE APOIO AO ACOMPANHAMENTO E VIGILÂNCIA DE CASOS NOTIFICADOS DE DENGUE 1. Introdução Prof. MSc. Bruno Carlos da Cunha Costa Coordenador do Projeto UNIFESO Prof. MSc. José Roberto de

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

Novidades do Guia PMBOK 5ª edição

Novidades do Guia PMBOK 5ª edição Novidades do Guia PMBOK 5ª edição Mauro Sotille, PMP O Guia PMBOK 5 a edição (A Guide to the Project Management Body of Knowledge (PMBOK Guide) Fifth Edition), em Inglês, foi lançado oficialmente pelo

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição Sumário Administração de Banco de dados Módulo 12 1. Administração de SGBDs - Continuação 1.1. Recuperação (Recovery) 1.1.1. Recuperação de sistema 1.1.2. Recuperação da mídia M. Sc. Luiz Alberto lasf.bel@gmail.com

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Porque estudar Gestão de Projetos?

Porque estudar Gestão de Projetos? Versão 2000 - Última Revisão 07/08/2006 Porque estudar Gestão de Projetos? Segundo o Standish Group, entidade americana de consultoria empresarial, através de um estudo chamado "Chaos Report", para projetos

Leia mais

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br SCRUM Otimizando projetos Adilson Taub Júnior tecproit.com.br Sobre mim Adilson Taub Júnior Gerente de Processos Certified ScrumMaster; ITIL Certified; Cobit Certified; 8+ anos experiência com TI Especialista

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),

Leia mais

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes

Leia mais

Versão 6.04.00 Setembro/2013. Manual de Processos. Módulo Protocolo

Versão 6.04.00 Setembro/2013. Manual de Processos. Módulo Protocolo Versão 6.04.00 Setembro/2013 Manual de Processos Módulo Protocolo 1 1 2 2 Sumário Sumário... 3 Introdução ao Manual de Processos... 4 Conceituado os Processos de Negócio... 5 Estrutura do Manual de Processos...

Leia mais

Capítulo 5. 5.1 Laudon, Cap. 5

Capítulo 5. 5.1 Laudon, Cap. 5 Capítulo 5 Fundamentos da Inteligência de Negócios: Gerenciamento da Informação e de Bancos de Dados 5.1 Laudon, Cap. 5 OBJETIVOS DE ESTUDO Descrever como um banco de dados relacional organiza os dados

Leia mais

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO

Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO Modelagem de Dados UNIDADE DE REVISÃO E RECUPERAÇÃO Organizamos esta unidade para orientá-lo na revisão dos conteúdos trabalhados ao longo da disciplina. Siga as orientações desta apresentação, reveja

Leia mais

Unidade I Conceitos BásicosB. Conceitos BásicosB

Unidade I Conceitos BásicosB. Conceitos BásicosB à Engenharia de Software Unidade I Conceitos BásicosB Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br 1961 a 1963 Surgimento de novos Hardwares 1963-1968 Crise do Software! Incapacidade de se utilizar

Leia mais

Gerenciamento de Requisitos Gerenciamento de Requisitos

Gerenciamento de Requisitos Gerenciamento de Requisitos Gerenciamento de Requisitos Objetivos da disciplina Descrever o processo de Gerenciamento e Engenharia de Requisitos para projetos Treinar alunos no Gerenciamento de Requisitos Apresentar estudos de caso

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 agosto de 2007 As informações contidas neste documento, incluíndo quaisquer URLs e outras possíveis referências a

Leia mais

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11. Sumário Introdução... xiii A quem se destina este livro...xiii Como o livro está organizado...xiii Como baixar os arquivos de prática...xiv Suas configurações no Project...xv Suporte técnico...xvi Parte

Leia mais

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS 1 REQUISITOS São os serviços fornecidos para um sistema. São classificados em requisitos

Leia mais

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA FACILITADOR VIRTUAL DA APRENDIZAGEM EM QUÍMICA Campina Grande-

Leia mais

PMBoK Comentários das Provas TRE-PR 2009

PMBoK Comentários das Provas TRE-PR 2009 PMBoK Comentários das Provas TRE-PR 2009 Comentário geral: As provas apresentaram grau de dificuldade médio. Não houve uma preocupação da banca em aprofundar os conceitos ou dificultar a interpretação

Leia mais

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS

Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS Disciplina: Técnicas de Racionalização de Processos Líder da Disciplina: Rosely Gaeta NOTA DE AULA 04 O PROJETO DE MELHORIA DOS PROCESSOS 3.4 O PROJETO DE MELHORIA DE PROCESSOS 3.4.1 - CONCEITO DE PROJETO

Leia mais

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS Aluno: Ricardo Gomes Leal Costa Orientadora: Noemi de la Rocque Rodriguez Introdução A biblioteca DALua [1], fruto do projeto anterior, tem por objetivo oferecer

Leia mais

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

sendo bastante acessível e compreendido pelos usuários que o utilizarem. APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Claudiléia Gaio Bandt 1 ; Tiago Heineck 2 ; Patrick Kochan 3 ; Leila Lisiane Rossi 4 ; Angela Maria Crotti da Rosa 5 INTRODUÇÃO Este artigo descreve

Leia mais

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto*

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto* IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO João Alvarez Peixoto* * Mestrando do Programa de Pós-graduação em Engenharia Elétrica - UFRGS Porto

Leia mais

2. Conceitos e Arquitetura de Bancos de Dados

2. Conceitos e Arquitetura de Bancos de Dados Bancos de Dados 2. Conceitos e Arquitetura de Bancos de Dados 1 Arquitetura Moderna de SGBD SGBD antigos eram monolíticos e rígidos, voltados para funcionamento em ambientes centralizados (mainframes e

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Olá, Somos Ideatera - Studio Tecnológico

Olá, Somos Ideatera - Studio Tecnológico Olá, Somos Ideatera - Studio Tecnológico O parceiro certo para aumentar a produtividade, visibilidade e alcance de sua marca e/ou website! Breve descrição do que oferecemos: Web Analytics: Este serviço

Leia mais

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado

Leia mais

Donare Sistema de Gerenciamento de Ações Humanitárias

Donare Sistema de Gerenciamento de Ações Humanitárias Donare Sistema de Gerenciamento de Ações Humanitárias Introdução: Este documento tem por objetivo descrever uma visão geral para o projeto intitulado Donare Sistema de Gerenciamento de Ações Humanitárias.

Leia mais

Gestão da Tecnologia da Informação

Gestão da Tecnologia da Informação TLCne-051027-P0 Gestão da Tecnologia da Informação Disciplina: Gerenciamento da Infraestrutura de TI São Paulo, Fevereiro de 2012 0 Apresentação do TLCne-051027-P1 Formação Acadêmica Administrador de Empresas

Leia mais

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos

Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos Março de 2010 UM NOVO PARADIGMA PARA AS AUDITORIAS INTERNAS Por que sua organização deve implementar a ABR - Auditoria Baseada em Riscos por Francesco De Cicco 1 O foco do trabalho dos auditores internos

Leia mais

Um passo inicial para aplicação do gerenciamento de projetos em pequenas empresas

Um passo inicial para aplicação do gerenciamento de projetos em pequenas empresas Instituto de Educação Tecnológica Pós-graduação Gestão de Projetos Aperfeiçoamento/GPPP1301 T132 09 de outubro de 2013 Um passo inicial para aplicação do gerenciamento de s em pequenas empresas Heinrich

Leia mais

UNIVERSIDADE PAULISTA CURSO SUPERIOR DE TECNOLOGIA. Projeto Integrado Multidisciplinar I e II

UNIVERSIDADE PAULISTA CURSO SUPERIOR DE TECNOLOGIA. Projeto Integrado Multidisciplinar I e II UNIVERSIDADE PAULISTA CURSO SUPERIOR DE TECNOLOGIA Projeto Integrado Multidisciplinar I e II Manual de orientações - PIM Cursos superiores de Tecnologia em: Gestão Ambiental, Marketing, Processos Gerenciais

Leia mais

ITIL v3 - Operação de Serviço - Parte 1

ITIL v3 - Operação de Serviço - Parte 1 ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes

Leia mais

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE Scrum Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE scrum Ken Schwaber - Jeff Sutherland http://www.scrumalliance.org/ Scrum Uma forma ágil de gerenciar projetos. Uma abordagem baseada em equipes autoorganizadas.

Leia mais

Aumente o valor do ciclo de vida de cada cliente

Aumente o valor do ciclo de vida de cada cliente Engajamento com o Cliente Gerenciamento de Ciclo de Vida do Cliente Informativo Torne cada interação relevante e envolvente Aumente o valor do ciclo de vida de cada cliente Gerenciamento do ciclo de vida

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

TCC CURSO POS-GRADUAÇÃO ESPECIALIZAÇÃO DESIGN INSTRUCIONAL ROTEIRO DO PROJETO DE DESIGN INSTRUCIONAL DE UM CURSO

TCC CURSO POS-GRADUAÇÃO ESPECIALIZAÇÃO DESIGN INSTRUCIONAL ROTEIRO DO PROJETO DE DESIGN INSTRUCIONAL DE UM CURSO TCC CURSO POS-GRADUAÇÃO ESPECIALIZAÇÃO DESIGN INSTRUCIONAL ROTEIRO DO PROJETO DE DESIGN INSTRUCIONAL DE UM CURSO 1. INTRODUÇÃO 1.1. CONTEXTO EM QUE O PROJETO SERÁ REALIZADO: Dados Gerais sobre a instituição

Leia mais

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

O Tema Progresso e o Princípio de Gerenciar por Estágios. Palavras Chave: Estágios de Gerenciamento. Progresso. Controle. Projetos. PRINCE2.

O Tema Progresso e o Princípio de Gerenciar por Estágios. Palavras Chave: Estágios de Gerenciamento. Progresso. Controle. Projetos. PRINCE2. O Tema Progresso e o Princípio de Gerenciar por Estágios Ronielton Rezende Oliveira 1 Management Plaza Internacional 2 Resumo PRINCE2 é um método estruturado e não proprietário para gerenciamento de projetos

Leia mais