Maringá PR, Março de 2.000

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

Download "Maringá PR, Março de 2.000"

Transcrição

1 1 UNIVERSIDADE ESTADUAL DE MARINGÁ PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA PIBIC/CNPq-UEM DEPARTAMENTO DE INFORMÁTICA ORIENTADORA: Dra. Itana Maria de Souza Gimenes Bolsista: Edson Alves de Oliveira Junior INTRODUÇÃO DE MÉTRICAS DE PRODUTOS DE SOFTWARE EM UMA FERRAMENTA DE WORKFLOW Maringá PR, Março de 2.000

2 2 UNIVERSIDADE ESTADUAL DE MARINGÁ PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA PIBIC/CNPq-UEM DEPARTAMENTO DE INFORMÁTICA ORIENTADORA: Dra. Itana Maria de Souza Gimenes Bolsista: Edson Alves de Oliveira Junior INTRODUÇÃO DE MÉTRICAS DE PRODUTOS DE SOFTWARE EM UMA FERRAMENTA DE WORKFLOW Relatório semestral de projeto de iniciação científica Maringá PR, Março de 2.000

3 3 ÍNDICE ANALÍTICO 1. INTRODUÇÃO OBJETIVOS DESENVOLVIMENTO (MATERIAIS E MÉTODOS) GERENCIAMENTO DE PROJETOS DE SIMULAÇÃO ABORDAGENS ADOTADAS NA SIMULAÇÃO Abordagem baseada em eventos Simulação discreta baseada em eventos DESENVOLVIMENTO E COMPORTAMENTO DO P/PSIM Eventos Agenda de eventos (lista de eventos futuros) Rotinas dos eventos do P/pSim Método das três fases ALGORITMO DE SIMULAÇÃO RESULTADOS PARCIAIS E DISCUSSÃO LINGUAGEM DE IMPLEMENTAÇÃO X SIMULAÇÃO GRÁFICA CARACTERÍSTICAS DISPONÍVEIS DO P/PSIM CONCLUSÕES PARCIAIS REFERÊNCIAS BIBLIOGRÁFICAS Anexo I Documentação das classes implementadas no P/pSim.

4 4 1. Introdução Com o surgimento de novas tecnologias e o avanço das já existentes, a indústria de produção, de um modo geral, incluindo a informática, ou mais precisamente a área de engenharia de software, tomou novos rumos com relação ao processo de produção. A concorrência, empregada pelos vários setores da indústria de produção, influenciada pelos avanços tecnológicos e conseqüente aumento na produção para atender a demanda, trouxe à tona umas das mais complexas questões com relação à produção. Estamos falando da qualidade dos produtos. Quando consideramos a engenharia de software vimos que a questão de qualidade não se difere das demais áreas, devido à extrema importância que a área tem para a sociedade. A qualidade dos produtos de software tem sido muito enfocada, pois a cada dia descobrimos novas técnicas, novas abordagens e novos conceitos com relação à construção de software com qualidade. Essa mentalidade de valorizarmos a qualidade dos produtos não é recente. Atualmente passamos por um processo de transição no foco de produção, dando também uma grande ênfase a qualidade dos processos. Isto pois um processo de boa qualidade obviamente gera um produto de qualidade igual ou superior à um produto gerado por um processo onde não temos a preocupação de quantificarmos a sua qualidade. Em todos os setores da indústria de produção existem maneiras de medirmos a qualidade de seus produtos. Os produtos de software também precisam ter sua qualidade medida, porém, esta questão é um pouco mais complexa. Atualmente não existem métricas precisas para a medição de um software, o que existe na verdade são métricas ainda não bem definidas que auxiliam na medição. A simulação de processos juntamente com a modelagem de software e as técnicas de gerenciamento de workflow [Wfm95] podem nos auxiliar na obtenção de métricas de software mais precisas. Sistemas de Workflow, que já foi objeto de estudo em [Yan97, Yan98], caracteriza-se por ser de fácil implementação em qualquer ambiente, tornando um processo de negócios automatizado em um todo, ou em parte. No nosso caso, esse processo de negócios é o processo de engenharia de software. O presente relatório descreve as atividades desenvolvidas e os resultados parciais do projeto Introdução de Métricas de Produtos de Software em uma Ferramenta de Workflow durante o período de 01/08/1999 a 28/02/2000. Deste modo, o relatório

5 5 descreve as atividades até aqui realizadas, conceitos fundamentais da simulação de processos, utilizada nesta primeira parte do projeto, as classes implementadas na simulação, justificativas para utilização da abordagem de simulação discreta baseada em eventos, e expectativas com relação à segunda parte do projeto. O relatório está estruturado da seguinte maneira: a seção 2 apresenta os objetivos do projeto desenvolvido. A seção 3 apresenta a metodologia de desenvolvimento utilizada. Na seção 4 apresentam-se os resultados e avaliações consideradas durante o desenvolvimento deste. Finaliza-se com a discussão na seção 5, dos resultados parciais obtidos do projeto.

6 6 2. Objetivos O objetivo principal desta primeira parte deste projeto é desenvolver o módulo de simulação de processos (P/pSim) para a ferramenta de coleta e avaliação de métricas para processos de software baseada no modelo Produto/processo (P/pTool) [Kap94, Kap95, Yan99]. Apesar deste não ser o principal objetivo deste projeto, é de suma importância a conclusão desta etapa, pois a partir do módulo P/pSim construído é que poderemos definir melhor os processos (objetivo principal da ferramenta P/pTool). A simulação também auxiliará na introdução de métricas de produtos e definição de métricas de software. Desta maneira, os objetivos da primeira parte do projeto são: Estudar as técnicas de modelagem baseadas no modelo Produto/processo [Kap94, Kap95]; Avaliar o estudo das técnicas de simulação aplicadas ao sistemas de workflow em [Yan99]; Definir uma abordagem de implementação da simulação para o P/pSim; Desenvolver o módulo P/pSim; Avaliar os resultados obtidos.

7 7 3. Desenvolvimento (Materiais e Métodos) O primeiro passo deste projeto foi o estudo e avaliação da ferramenta desenvolvida por [Yan99], objetivando uma melhor compreensão sobre as técnicas utilizadas em seu desenvolvimento e o comportamento. A P/pTool é composta por três módulos: o módulo principal, onde os processos são derivados e manipulados através dos módulos de Coleta de dados sobre produtos e processos reais, e Análise de produtos e processos; o módulo de simulação de processos (P/pSim); e o módulo de assistência inteligente à derivação de processos (P/pDerive). Como o objetivo principal desta primeira parte do projeto é o desenvolvimento do módulo P/pSim, descreveremos alguns aspectos importantes com relação à simulação de sistemas como: a abordagem adotada, o gerenciamento de um projeto de simulação e as classes implementadas (documentação das classes vide Anexo I). Igualmente a [Yan99], o P/pSim está sendo desenvolvido na linguagem de programação Java (Java 2), devido à existência de uma API 1 própria para a manipulação de objetos gráficos (a Java 2D API), o que as outras linguagens não dispunham Gerenciamento de Projetos de Simulação A primeira etapa na construção de um ambiente de simulação é definir os passos para o projeto de simulação. Segundo [Ban98] existem alguns passos imprescindíveis para um projeto de simulação: 1. Definir explicitamente o problema o modelo P/p tem como característica própria a definição explícita de um processo, permitindo modelar as várias etapas do processo de software ou de processos genéricos 2. Como o objetivo principal da ferramenta é a obtenção de métricas de software, podemos definir claramente o problema como sendo a simulação do processo de software. 1 API Application Program Interface é uma interface para a programação de aplicações, muito usada para a manipulação gráfica. 2 Processos Genéricos: processos cuja estrutura não está de acordo com os padrões definidos pelo modelo P/p. Através da aplicação das regras definidas pelo modelo P/p sobre estes processos, obtém-se processos normalizados [Kap94, Kap95].

8 8 2. Entender o sistema que será simulado em conjunto com o item anterior, temos a definição por completo do sistema a ser simulado, uma vez que o modelo P/p baseiase essencialmente nos atributos de cada modelo para a derivação dos processos, e a simulação trabalhará com esses atributos, mudando o estado dos processos e produtos através de eventos. 3. Determinar as metas e objetivos o objetivo principal do P/pSim, como já citado anteriormente, é auxiliar na definição de métricas de software mais precisas, usando para isso os atributos dos modelos. 4. Aprender os conceitos fundamentais e abordagens de simulação os conceitos fundamentais de simulação foram estudados e descritos em [Yan99]. As abordagens adotadas foram a simulação baseada em eventos e a simulação discreta, que serão melhor descritas na seção Confirmar que a simulação é a técnica certa para o problema a simulação vem sendo muito usada como uma forma de analisar o comportamento de um sistema e como uma ferramenta de apoio à tomada de decisões. Dentro deste aspecto são apresentados alguns fatores que mostram que a simulação é o caminho certo para a solução do problema como: 5.1. Simulação é utilizada para resolver um problema específico, mais precisamente a definição de métricas de software através do processo de software, visto que este não é um problema comum Através da instrumentação estatística e relatórios podemos estudar o comportamento do processo através do tempo, onde processos atuam sobre produtos através de eventos, mudando seus estados e gerando informações sobre as várias situações a qual o sistema foi submetido. 6. Obter suporte do gerente de projetos de simulação o suporte está relacionado com o perfeito acompanhamento do projeto do P/pSim em todos os seus passos; 7. Aprender sobre software de simulação o P/pSim não está sendo desenvolvido em uma linguagem de simulação específica, mas em uma linguagem de programação de propósitos gerais, como já citado anteriormente; 8. Determinar os dados de entrada necessários e o que está disponível os dados de entrada são os dados necessários para que o ambiente de simulação possa ser iniciado. No caso do P/pSim, os dados de entrada são os atributos de produto e processo, onde a simulação atuará.

9 9 9. Desenvolver um conjunto de suposições relacionadas com o problema essas suposições relacionadas diretamente com o problema ajudam na definição de alguns aspectos como: propor as condições iniciais do ambiente de simulação, definir um algoritmo de controle de simulação eficiente. 10. Determinar as saídas necessárias para a solução do problema podemos entender saídas necessárias para a solução do problema como todas aquelas informações sobre o comportamento dos processos e produtos através do tempo, proporcionando uma base para a tomada de decisões, como por exemplo, a geração de relatórios e estatísticas sobre as transformações ao longo do tempo dos processos e produtos. Podemos observar que um projeto de simulação bem definido e que segue estes passos gerenciais pode prover um auxílio essencial com relação à solução do problema (no nosso caso a obtenção de métricas de software mais precisas). A simulação de um modo geral tem como característica a geração de relatórios e estatísticas que auxiliam na análise do comportamento dos modelos envolvidos na simulação gerando saídas modeladas de acordo com o propósito da simulação, por exemplo, dirigindo-nos às métricas mais reais de medida de software. 3.2 Abordagens adotadas na simulação Existem várias abordagens para simulação, que são: simulação baseada em eventos, simulação baseada em atividades e simulação baseada em processos [Car88]. Cada uma destas abordagens deriva duas outras abordagens que são: simulação discreta e simulação contínua. A seguir são descritos dois tipos de abordagens adotadas no P/pSim. Uma delas é a abordagem baseada em eventos e a outra é a abordagem de simulação discreta baseada em eventos. A segunda abordagem é uma abordagem derivada da primeira Abordagem baseada em eventos Segundo [Car88], eventos são instantes em que ocorrem mudanças em um determinado ponto e coincidem com o início e o fim de uma atividade. Na abordagem baseada em eventos, após inicializado o modelo, o executivo, também chamado monitor e

10 10 que tem a função de controlar o relógio da simulação e disparar as rotinas dos eventos, procura todos os tempos dos eventos bounds agendados e atualiza o relógio da simulação para o tempo do próximo evento a ocorrer. Seguindo um evento bound, eventos condicionais podem ou não ocorrer. Isso porque os eventos bounds se caracterizam por terminar uma atividade e mudar o estado atual do modelo, permitindo ou não que eventos condicionais ocorram, se as condições do modelo permitirem. As rotinas de eventos condicionais podem ser chamadas diretamente de cada rotina do evento, ou, em modelos mais simples, o código pode estar incorporado na própria rotina do evento. Alternativamente, o executivo pode chamar as rotinas de eventos condicionais. Um exemplo de diagrama de executivo para este tipo de abordagem é apresentado na figura 1: Figura 1: Diagrama de um executivo baseado em eventos [Car88].

11 Simulação discreta baseada em eventos A simulação discreta baseada em eventos caracteriza-se por: variáveis do sistema têm seus valores definidos apenas em instantes de tempo nos quais ocorrem eventos (tempos isolados); sistema é descrito por um conjunto de regras que determinam o o tempo do próximo evento (agendamento de eventos) o as alterações nos valores das variáveis. A simulação discreta não trabalha com variáveis cujos valores variam continuamente ao longo do tempo (uma das principais características da simulação contínua). O Intervalo de Tempo ( t) utilizado para o avanço do relógio, quando falamos de simulação contínua, é muito pequeno, não estando portanto de acordo com o intuito da construção do P/pSim. Além disso, o intervalo de tempo é definido de acordo com o tipo de equação do sistema. A simulação contínua é muito utilizada em sistemas que eventos ocorrem em um intervalo de tempo muito pequeno, sendo portanto, necessários para uma compreensão e análise rápida dos resultados obtidos. Como o sistema que pretendemos simular depende muito da análise eficiente e mais detalhada dos atributos dos modelos (produto e processo) para se obter estatísticas e melhorar a qualidade dos processos, uma análise em um intervalo de tempo pequeno (simulação contínua) seria pouco satisfatória ao objetivo deste trabalho. Isso sem citarmos que as variáveis do modelo (atributos dos modelos) não se modificam continuamente ao longo do tempo, mas sim quando ocorrem eventos em tempos isolados. Diante de todos estas características apresentadas acima, a abordagem adotada para o P/pSim foi a abordagem de simulação discreta baseada em eventos. 3.3 Desenvolvimento e comportamento do P/pSim A ferramenta P/pTool é constituída por um modelo com duas entidades principais: produtos e processos. Um processo atua sobre um produto de modo que cada processo gera um produto de saída diferente do produto de entrada, como visto na figura 2, conforme descrito em [Yan98a]. Dessa forma, a simulação de processos se concentra principalmente nos atributos de produto e processo.

12 12 Produto 1.1 t1 Produto 1 t1 c Produto 1.2 t1 Legenda: c d Produto 2.1 Produto 2 t2 t2 Processo 1 d Duração composição t1 decomposição Produto 2.2 t2 Processo 2 Processo 3 Duração t3 Produto n no tempo tn Processo p Duração t2 Produto 3.1 t3 Produto 3 t3 c Produto 3.2 t3 Figura 2: Exemplo de rede Produto/processo, segundo [Kap94, Kap95]. Geralmente a simulação discreta baseada em eventos de um sistema envolve entidades que transitam através de processos, filas de entidades, eventos de chegada e partida de uma entidade em um processo, agendamento de eventos e controle do fluxo de tempo através de um monitor. Na linguagem de simulação, um processo é chamado de atividade. O P/pSim possui todos estes elementos citados acima, mas se difere em apenas um aspecto. Normalmente, em simulação discreta, todas as entidades giram em torno de um único processo, por exemplo, uma fila de um banco onde todos os clientes (entidades) passam pelo processo atender o cliente em um guichê. Como a P/pTool gera vários processos que possuem atributos e características diferentes, podemos entender que cada processo possui a sua própria simulação, ou seja, cada processo possui uma fila de entidades (produtos) que passam por ele e que se modificam, e ainda podem servir aos outros processos. Porém, o conjunto de todos os processos do modelo está submetido a uma mesma agenda de eventos, já que o avanço do tempo é discreto e comum a todos os processos. No P/pSim uma atividade é entendida como a atuação de um processo sobre um produto. Foi implementada a classe Events para definir os eventos do P/pSim (vide Anexo I). Após a inicialização do sistema a ser simulado, o executivo, que é o algoritmo que faz o controle de simulação e será explicado na seção 3.4, busca os tempos em que cada evento foi agendado, na agenda de eventos futuros, e avança o relógio de simulação (clock) para o tempo em que o próximo evento ocorrerá. Então, chama-se a rotina que processará as mudanças no sistema como resultado daquele evento.

13 13 Existe uma rotina associada a cada evento. Estas rotinas foram implementadas na classe Monitor. Após a execução de um evento, as condições podem permitir que um ou mais eventos condicionais dependentes deste ocorram. A rotina para o evento condicional inclui os testes para determinar se as condições do sistema permitem que o evento ocorra. Em caso afirmativo, as ações da rotina são executadas. Estas ações incluem as mudanças resultantes do evento, que correspondem ao início de uma atividade, e o agendamento do próximo evento correspondente ao fim da atividade Eventos Um dos pontos mais caracterizantes no processo de simulação de um sistema é a capacidade de a todo instante estar ocorrendo eventos independentes. No P/pSim por exemplo, a chegada de um produto em um processo é um evento condicional ao processo e independente da chegada de um outro produto em um outro processo, uma vez que ocorrem entre entidades e processos diferentes, mas que compartilham a mesma agenda de eventos. Como foi adotada a abordagem de simulação discreta baseada em eventos, podemos notar que no P/pSim temos dois tipos de eventos: eventos condicionais e eventos bound. Eventos condicionais são aqueles eventos que dependem das condições do modelo (no caso o processo) para que sejam iniciados. No P/pSim este evento é a chegada de um produto em um processo. Exemplificando: temos um produto X chegando em um processo Y. O evento de chegada de X em Y depende dos atributos do processo Y como: O processo está livre (Status)?, O produto é conformante com o processo (parâmetro de conformância)? A figura 3 representa o evento condicional descrito acima:

14 14 Figura 3: evento condicional do P/pSim: chegada de um produto em um processo, segundo a descrição do evento condicional. Eventos bound são aqueles eventos que caracterizam o término de uma atividade. Esses eventos são independentes das condições do modelo. No P/pSim este evento é a saída de um produto de um processo. Este é o único tipo de evento que pode ser adicionado à agenda de eventos, uma vez que um evento condicional não precisa ser agendado e pode ocorrer a qualquer momento. Um evento bound depende da duração de um processo ( t) para ocorrer. Eventos são representados por estruturas de dados que devem incluir: tipo do evento; parâmetros; tempo de escalonamento (tempo de agendamento) Agenda de eventos (lista de eventos futuros) O mecanismo para avanço do tempo de simulação e garantia de que todos os eventos ocorrerão em ordem cronológica está baseado em uma lista de eventos futuros (Future Event List). Esta lista possui todos os eventos que deverão ocorrer em um tempo futuro. Agendar um evento futuro significa que em um dado instante uma atividade (processo) inicia, sua duração é computada e o evento que finaliza esta atividade é colocado na lista de eventos futuros (como já citado, somente eventos bound são

15 15 agendados). A lista de eventos é ordenada de acordo com a ordem cronológica de seus eventos. O algoritmo de avanço do tempo segue os seguintes passos: 1. remover o evento iminente da agenda (lista de eventos futuros); 2. avançar o Clock (relógio) para o tempo do evento iminente; 3. executar o evento iminente: atualizar o estado do sistema e mudar os atributos das entidades; 4. gerar eventos futuros, se necessário, e coloca-los na agenda ordenados pela ordem cronológica do tempo do evento; 5. atualizar estatísticas. A tabela 1 ilustra um possível tipo de agenda de eventos: Agenda de Eventos (Lista de Eventos Futuros) Tempo Tipo Parâmetros Descrição t1 5 x1, x2, x3 Evento do tipo 5, ocorrerá no tempo t1. t2 3 x2, x7 Evento do tipo 3, ocorrerá no tempo t2. t3 4 y3, y9 Evento do tipo 4, ocorrerá no tempo t3. Tabela 1: Exemplo de uma agenda de eventos. Cada linha desta tabela representa um evento agendado. Neste exemplo temos t1 < t2 < t3, mostrando que os eventos estão arranjados em uma ordem cronológica de tempo de agendamento; 5, 3, 4 são os tipos de eventos e x1, x2, x3, x7, y3, y9 são parâmetros dos eventos Rotinas dos eventos do P/pSim Como já foi descrito na seção 3.3.1, o P/pSim possui dois tipos de eventos: um condicional, representando a chegada de um produto em um processo, e um bound, representando a saída de um produto de um processo.

16 16 Cada um desses eventos possui uma rotina em particular que através dos atributos dos produtos e processos modifica o estado geral do modelo. Nesta seção será descrito o algoritmo dos eventos em PDL 3 [Pre95]. A rotina Chedada-do-Produto a ser apresentada é a chegada de um produto em um processo. Podemos notar que como este evento é condicional, é necessário que alguns requisitos sejam satisfeitos para que o produto possa ser aceito pelo processo em questão. Um destes requisitos, segundo [Kap94, Kap95], é que o produto candidato seja conformante com o domínio de produtos que o processo possui. O produto deve ser adequado para o processo, caso contrário o mesmo é rejeitado. Outra requisito importante é saber se o processo está ocupado ou disponível. Caso o processo esteja ocupado e o produto seja conformante com o processo, então este produto é colocado na fila de produtos que cada processo possui, caso contrário, o processo atua sobre este produto. Esta rotina é apresentada na tabela 2. rotina Chegada-do-Produto inicio se (Processo.Teste-Conformancia) E (Processo.Param-Status = Livre ) então inicio Processo.Param-Status <- Ocupado Calcular Processo.Duração Agendar Saída-do-Produto em Produto.Tempo-escalar + Processo.Duração Fim Senão se (Processo.Param-Status = Ocupado ) E ( Processo.Teste-Conformancia) Então Colocar Produto na Fila-do-Processo Senão Rejeitar Produto Agendar Chegada-de-Produto em Produto.Tempo-escalar + Tempo-entre-Produtos Fim Tabela 2: Rotina do evento condicional chegada de um produto em um processo. 3 PDL Program Design Language é uma linguagem utilizada em projetos de software, que representa um pseudo-algoritmo.

17 17 A rotina Saída-do-Produto a ser apresentada é a saída de um produto de um processo. Esta rotina é de fácil compreensão, uma vez que ela não depende das condições do processo envolvido. Primeiramente o tempo escalar do produto, um dos atributos fundamentais deste modelo, é atualizado para o tempo de saída. Logo em seguida é verificado se existe algum produto na fila do processo em questão. Caso a fila não esteja vazia, esse produto é então removido da fila e passa a fazer parte do processo. No caso da fila estar vazia, o parâmetro de status do processo, um dos atributos fundamentais deste modelo, é atualizado e o processo passa a ficar disponível para um outro produto. Esta rotina é apresentada na tabela 3. rotina Saída-do-Produto Inicio Produto.Tempo-escalar <- Produto.Tempo-escalar + Processo.Duração Se Fila-do-Processo não está vazia Então inicio Remover Produto da Fila Calcular Processo.Duração Agendar Saída-do-Produto Fim Senão Processo.Param-Status <- Livre Fim Tabela 3: Rotina do evento bound saída de um produto de um processo Método das três fases O método das três fases é uma estrutura de modelagem muito utilizada em simulação. O objetivo principal é o controle do fluxo do tempo em sistemas que adotam a simulação discreta baseada em eventos. O tempo é avançado até que haja uma mudança de estado do sistema. O sistema é examinado para determinar todas as atividades que devem ser finalizadas, eventos bound. Em seguida, são iniciadas as atividades, eventos condicionais, de acordo com as condições do modelo. As três fases de controle deste fluxo do tempo são:

18 18 Fase A: remover o evento iminente da lista de eventos futuros e avançar o relógio para o tempo deste evento (seguindo o algoritmo e avanço do tempo, descrito na seção 3.3.2). Fase B: executar todos os eventos bound que foram removidos da lista de eventos futuros. Fase C: iniciar quaisquer atividades que as condições do modelo permitam. De acordo com as atividades que cada fase executa, podemos resumi-las como: Fase A: avançar o relógio. Fase B: executar eventos bound. Fase C: iniciar eventos condicionais. O algoritmo de controle de simulação utilizado para gerenciar todo o processo de simulação do ambiente se baseia no método das três fases. O algoritmo está descrito na seção seguinte. 3.4 Algoritmo de simulação Uma dos fatores importantes para um ambiente de simulação é o seu comportamento que é representado pelo algoritmo de controle da simulação. De um modo geral, os algoritmos de controle de simulação são muito parecidos, salvo algumas diferenças mínimas dos diversos ambientes, mas na sua estrutura, a maioria destes algoritmos segue o mesmo caminho. O algoritmo de controle de simulação do P/pSim é apresentado na tabela 4 e descrito logo após:

19 19 Algoritmo-Controle-Simulação Inicio Inicializar o modelo Enquanto existir evento futuro faça Inicio Encontrar próximo evento futuro Atualizar o tempo do modelo Enquanto existir evento no tempo atual do modelo faça Inicio Identificar próximo evento no tempo atual Processar evento Atualizar o estado do modelo Coletar estatísticas Fim Fim Gerar relatórios Fim Tabela 4: Algoritmo de controle de simulação do P/pSim. Primeiramente, quando iniciamos o processo de simulação, precisamos definir o estado inicial do modelo. Inicializar o modelo: significa definir todas as condições necessárias para que o ambiente possa ser simulado, como por exemplo: zerar ou inicializar todas as variáveis com valores default ou apropriados. Em seguida precisamos identificar o próximo evento futuro. Isto significa encontrar o próximo evento na agenda de eventos. A seguir precisamos atualizar o tempo do modelo, que atualiza o clock de simulação, para isso, executando todos os passos do algoritmo de avanço do tempo, já descrito na seção Identificar próximo evento no tempo atual significa verificar se há mais algum evento à ocorrer no tempo atual do clock. Identificado o evento, é preciso processar este evento, atualizando o estado do modelo, ou seja, atualizar todas as variáveis dos modelos e em seguida coletar estatísticas em cima das modificações do estado do modelo. Feito isso, precisamos verificar se existe mais algum evento no tempo atual do clock. Em caso positivo, devemos retornar a etapa de identificar próximo evento no tempo atual, e em caso negativo é preciso saber se há mais algum evento futuro

20 20 agendado. Caso haja, então retornamos ao segundo passo do algoritmo de simulação que é identificar o próximo evento futuro, caso contrário gerar relatórios é a etapa a seguir. Como vemos na descrição acima e na tabela 4, o algoritmo de controle de simulação não é de difícil compreensão, mas exige um grande esforço na sua implementação, uma vez que precisamos trabalhar com várias estruturas de dados também implementadas, como: agenda de eventos, os eventos propriamente ditos, e as rotinas que cada evento executa quando necessárias.

21 21 4. Resultados Parciais e Discussão A simulação é a imitação de um processo do mundo real ou de um sistema através do tempo. Ela envolve a geração de uma situação artificial de um sistema e a observação desta situação para provermos inferências com respeito ao comportamento e características do sistema real que é representado [Ban98]. A simulação, então, é vista como uma metodologia indispensável para auxiliar na busca de uma solução para qualquer problema do mundo real. A maior utilização da simulação está relacionada à descrição e análise do comportamento de um sistema, questionando o seu desempenho, e apoiando na tomada de decisões com relação ao modelo. Tanto modelos existentes quanto os conceituais podem ser simulados. Um ponto de suma importância neste projeto é a capacidade de usarmos a simulação juntamente com as técnicas de gerenciamento de workflow modelando um processo de acordo com [Kap94, Kap95]. O objetivo final é provermos métricas de software mais precisas, porém, para tal é preciso definir precisamente o processo de produção de software. Esta discussão já se estende desde projetos anteriores [Yan98, Yan98a], e vem se concretizando com o estudo das técnicas simulação e o desenvolvimento do módulo de simulação de processos P/pSim. O módulo de simulação de processos (P/pSim) que está sendo desenvolvido tem fundamental papel na P/pTool, uma vez que ele atua sobre os atributos dos modelos fornecendo-nos estatísticas e relatórios sobre o comportamento do sistema como um todo. Uma das tarefas mais complexas da simulação é a sua ilustração gráfica. A representação gráfica dos modelos é um aspecto muito esperado pelos usuários, uma vez que a visualização do comportamento gráfico do sistema é importante para auxiliar na perfeita compreensão do problema. Nesta primeira parte do projeto não nos preocupamos muito com os detalhes gráficos do módulo de simulação, mas sim em implementar as classes essenciais para o funcionamento deste. Essas classes representam as várias estruturas fundamentais de simulação. As classes até aqui implementadas estão documentadas no anexo I deste relatório. São elas: classe dos eventos, classe que implementa a agenda de eventos, classe que representa a fila de produtos que cada processo possui, e a principal delas que serve

DEFINIÇÃO DE MÉTRICAS DE PRODUTOS DE SOFTWARE PARA UMA FERREMENTA DE WORKFLOW

DEFINIÇÃO DE MÉTRICAS DE PRODUTOS DE SOFTWARE PARA UMA FERREMENTA DE WORKFLOW DEFINIÇÃO DE MÉTRICAS DE PRODUTOS DE SOFTWARE PARA UMA FERREMENTA DE WORKFLOW RESUMO Para melhorar ou tornar os processos mais eficazes, precisamos de métodos mais efetivos para a modelagem dos mesmos.

Leia mais

Workflow: Adicionando Coordenação das Atividades. Fábio Bezerra fbezerra@ic.unicamp.br

Workflow: Adicionando Coordenação das Atividades. Fábio Bezerra fbezerra@ic.unicamp.br Workflow: Adicionando Coordenação das Atividades Fábio Bezerra fbezerra@ic.unicamp.br Agenda Introdução Workflow Sistema Gerenciador de Workflow WfMC Modelo e Instância Workflows ad hoc Referências O que

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

EXPSEE: UM AMBIENTE EXPERIMENTAL DE ENGENHARIA DE SOFTWARE ORIENTADO A PROCESSOS

EXPSEE: UM AMBIENTE EXPERIMENTAL DE ENGENHARIA DE SOFTWARE ORIENTADO A PROCESSOS EXPSEE: UM AMBIENTE EXPERIMENTAL DE ENGENHARIA DE SOFTWARE ORIENTADO A PROCESSOS Edson Alves de Oliveira Junior (1) Igor Fábio Steinmacher (2) eaojunio@bol.com.br ifsteinm@din.uem.br Edna Tomie Takano

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Edson Alves de Oliveira Junior 1, Itana Maria de Souza Gimenes 1 1 Departamento de

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE RESUMO Fazer um bom levantamento e especificação de requisitos é algo primordial para quem trabalha com desenvolvimento de sistemas. Esse levantamento

Leia mais

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO Capítulo 12 REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 2003 by Prentice Hall OBJETIVOS De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar?

Leia mais

Documento de Requisitos

Documento de Requisitos UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO Documento de Requisitos Sistema Gerenciador de Atendimento de Chamados Técnicos Grupo: Luiz Augusto Zelaquett

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS Cilene Loisa Assmann (UNISC) cilenea@unisc.br Este estudo de caso tem como objetivo trazer a experiência de implantação

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Introdução Por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685 Gerenciamento de Dados e Informação - Prof. Robson

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Gerenciamento de Projetos Modulo I Conceitos Iniciais

Gerenciamento de Projetos Modulo I Conceitos Iniciais Gerenciamento de Projetos Modulo I Conceitos Iniciais Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

Engenharia de Software-2003

Engenharia de Software-2003 Engenharia de Software-2003 Mestrado em Ciência da Computação Departamento de Informática - UEM Profa. Dra. Elisa H. M. Huzita eng. de software-2003 Elisa Huzita Produto de Software Conceitos Software

Leia mais

A REALIDADE VIRTUAL APLICADA AO CONTROLE E AUTOMAÇÃO DE BIBLIOTECAS PÚBLICAS

A REALIDADE VIRTUAL APLICADA AO CONTROLE E AUTOMAÇÃO DE BIBLIOTECAS PÚBLICAS A REALIDADE VIRTUAL APLICADA AO CONTROLE E AUTOMAÇÃO DE BIBLIOTECAS PÚBLICAS Gláucio Alves Oliveira; Ildeberto de Genova Bugatti Resumo O trabalho utilizou técnicas de integração entre tecnologia de Realidade

Leia mais

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques Modelo Cascata Alunos: Bruno Nocera Zanette Pedro Taques Principais Características Gerenciamento Simples das etapas Também conhecido como "Ciclo de Vida Clássico", sugere uma abordagem sistemática e sequencial

Leia mais

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2 ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 Definição de uma tecnologia de implementação e do repositório de dados para a criação da ferramenta

Leia mais

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML Projeto Agenda Saúde Requisitos e Modelagem UML Histórico de Revisão Versão 0.1 Data 01/06/09 Revisor Descrição Versão inicial Sumário 1. Introdução...4 1.1 Visão geral deste documento...4 1.2 Módulos

Leia mais

FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS

FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS 25 a 28 de Outubro de 2011 ISBN 978-85-8084-055-1 FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS Marcos Mitsuo Ashihara 1, Nelson Tenório Jr 2, Rita Cristina Galarraga

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 .:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software

Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Um Componente de Gerenciamento de Execução de Workflow Segundo a Abordagem de Linha de Produto de Software Itana M. S. Gimenes 1 itana@din.uem.br Radames J. Halmeman 1 radames@cm.cefetpr.br Fabrício R.

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

Maturidade Organizacional: Melhorando a Qualidade do Gerenciamento de Projetos Leonardo Luiz Barbosa Vieira Cruciol

Maturidade Organizacional: Melhorando a Qualidade do Gerenciamento de Projetos Leonardo Luiz Barbosa Vieira Cruciol Maturidade Organizacional: Melhorando a Qualidade do Gerenciamento de Projetos Leonardo Luiz Barbosa Vieira Cruciol Resumo. O gerenciamento de projetos tem se tornado, durante os últimos anos, alvo de

Leia mais

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 1 OBJETIVOS 1. De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma organização trabalhar? 2. Como uma empresa pode certificar-se

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Roteiro Software Evolução do Software Engenharia de Software Modelo Espiral Software Software Definição Conjunto de instruções que manipulam estruturas de dados (informação) Composição

Leia mais

IIH Introdução à Informática e Hardware

IIH Introdução à Informática e Hardware Prof. MSc. André Luis Gobbi Primo andre.gobbi@ifsp.edu.br INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO - CAMPUS VOTUPORANGA Técnico em Manutenção e Suporte em Informática IIH Introdução

Leia mais

Teste de software. Definição

Teste de software. Definição Definição O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Avaliação de Desempenho em Sistemas de Computação e Comunicação

Avaliação de Desempenho em Sistemas de Computação e Comunicação Avaliação de Desempenho em Sistemas de Computação e Comunicação Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM UFES Objetivos

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

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

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Sistema de Help Desk e Controle de Chamados Baseado em Workflow. Cristian Paulo Prigol Marcel Hugo

Sistema de Help Desk e Controle de Chamados Baseado em Workflow. Cristian Paulo Prigol Marcel Hugo Sistema de Help Desk e Controle de Chamados Baseado em Workflow Cristian Paulo Prigol Marcel Hugo Seqüência da Apresentação Introdução e Objetivos Workflow Sistema Antigo e Sistema implementado JBPM Especificação

Leia mais

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT Jaqueline Rissá Franco email: jaquerifr@gmail.com Karla Marturelli Mattos Luciano Mathias Doll João Almeida Resumo: Este artigo mostra novas abordagens na

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Características do Software

Características do Software Questionamentos Por que tanta demora para entregar? Por que os prazos se atrasam? Por que os custos são altos? Por que não achar todos os erros antes de entregar? Por que dificuldade em medir o progresso

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução aos Processos de Software: modelos e ciclo de vida de software Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Estratégias de Pesquisa

Estratégias de Pesquisa Estratégias de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Survey Design e Criação Estudo de Caso Pesquisa Ação Experimento

Leia mais

3 Multi-Agent System for Stock Exchange Simulation

3 Multi-Agent System for Stock Exchange Simulation Multi-Agent System for Stock Exchange Simulation 29 3 Multi-Agent System for Stock Exchange Simulation A participação na competição Agent Reputation Trust (ART) Testbed [10] motivou o estudo do domínio

Leia mais

Gerenciamento de Configuração de Software

Gerenciamento de Configuração de Software Gerenciamento de Configuração de Software Prof. Ricardo Argenton Ramos [Baseado na apresentação do prof. Masiero ICMC-USP] Contexto para Gerência de Configuração 2 Problema dos Dados Compartilhados Desenvolvedor

Leia mais

FURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo

FURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo FURB - Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso Acadêmico: Fernando Antonio de Lima Orientador: Oscar Dalfovo Roteiro Introdução Sistemas de Informação - SI Executive Information

Leia mais

FERRAMENTAS E INDICADORES DE DESEMPENHO

FERRAMENTAS E INDICADORES DE DESEMPENHO FERRAMENTAS E INDICADORES DE DESEMPENHO Mito ou Verdade? Tudo que é importante tem que ser medido Tudo que é medido deve ser gerenciado Tudo que é gerenciado pode ser melhorado Formas de representação

Leia mais

Módulo 4. Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios

Módulo 4. Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios Módulo 4 Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios Estruturas e Metodologias de controle adotadas na Sarbanes COBIT

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Slide 05 Modelos de Processos Maurício Archanjo Nunes Coelho mauricio.coelho@ifsudestemg.edu.br Instituto Federal Análise de Sistemas Por que surgiu a Engenharia de Software? Resposta

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André

Leia mais

Laudon & Laudon MIS, 7th Edition. Pg. 1.1

Laudon & Laudon MIS, 7th Edition. Pg. 1.1 Laudon & Laudon MIS, 7th Edition. Pg. 1.1 12 OBJETIVOS OBJETIVOS REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO 12.1 De que forma o desenvolvimento de um novo sistema poderia mudar a maneira de uma

Leia mais

Gerenciamento de Projetos Gerenciamento de Custos

Gerenciamento de Projetos Gerenciamento de Custos Gerenciamento de Projetos Gerenciamento de Custos Metodologia Aula Teórica Exemplos e Exercícios práticos Questões de concursos anteriores Metodologia e Bibliografia Bibliografia PMBOK, 2004. Project Management

Leia mais

Capítulo 1 - Introdução 14

Capítulo 1 - Introdução 14 1 Introdução Em seu livro Pressman [22] define processo de software como um arcabouço para as tarefas que são necessárias para construir software de alta qualidade. Assim, é-se levado a inferir que o sucesso

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Automação de Bancada Pneumática

Automação de Bancada Pneumática Instituto Federal Sul-rio-grandense Campus Pelotas - Curso de Engenharia Elétrica Automação de Bancada Pneumática Disciplina: Projeto Integrador III Professor: Renato Allemand Equipe: Vinicius Obadowski,

Leia mais

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Gustavo Zanini Kantorski, Marcelo Lopes Kroth Universidade Federal de Santa Maria (UFSM) 97100-000 Santa Maria

Leia mais

Aula 04 - Planejamento Estratégico

Aula 04 - Planejamento Estratégico Aula 04 - Planejamento Estratégico Objetivos da Aula: Os objetivos desta aula visam permitir com que você saiba definir o escopo do projeto. Para tal, serão apresentados elementos que ajudem a elaborar

Leia mais

SAD orientado a MODELO

SAD orientado a MODELO Universidade do Contestado Campus Concórdia Curso de Sistemas de Informação Prof.: Maico Petry SAD orientado a MODELO DISCIPLINA: Sistemas de Apoio a Decisão SAD Orientado a Modelo De acordo com ALTER

Leia mais

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS Professor: Adriel Ziesemer Disciplina: Engenharia de Software TRABALHO ACADÊMICO Cristian Santos - nº 45671 Guilherme

Leia mais

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 QUALIDADE DE SOFTWARE Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 Objetivos Apresentar o processo de gerenciamento de qualidade e as atividades centrais da garantia de

Leia mais

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Tales Henrique José MOREIRA 1 ; Gabriel da SILVA 2 ; 1 Estudante de Tecnologia em Sistemas para

Leia mais

C O B I T. Gerenciamento dos Riscos Mitigação. Aceitação. Transferência. Evitar/Eliminar.

C O B I T. Gerenciamento dos Riscos Mitigação. Aceitação. Transferência. Evitar/Eliminar. C O B I T Evolução Estratégica A) Provedor de Tecnologia Gerenciamento de Infra-estrutura de TI (ITIM) B) Provedor de Serviços Gerenciamento de Serviços de TI (ITSM) C) Parceiro Estratégico Governança

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Orientações para o Planejamento e Realização do Projeto Final

Orientações para o Planejamento e Realização do Projeto Final Orientações para o Planejamento e Realização do Projeto Final Simone Diniz Junqueira Barbosa Versão: 1.0.4 Orientações para o Planejamento e Realização do Projeto Final Sumário 1 Introdução... 3 2 Projeto

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Gustavo Zanini Kantorski, Marcelo Lopes Kroth Centro de Processamento de Dados Universidade Federal

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:

Leia mais

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia EDITAL Nº05/ PROGRAD/ DIREN/2010 ANEXO II 1 Título do Projeto: Automação de Fluxo de Trabalho Administrativo 2- Nome do Orientador: Autran Macêdo 3 Unidade: FACOM 4- Curso: Bacharelado em Ciência da Computação

Leia mais

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) APARECIDA DE GOIÂNIA 2014 LISTA DE TABELAS Tabela 1 Áreas de processo por

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Como conduzir com sucesso um projeto de melhoria da qualidade

Como conduzir com sucesso um projeto de melhoria da qualidade Como conduzir com sucesso um projeto de melhoria da qualidade Maria Luiza Guerra de Toledo Coordenar e conduzir um projeto de melhoria da qualidade, seja ele baseado no Seis Sigma, Lean, ou outra metodologia

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Introdução a Threads Java

Introdução a Threads Java Introdução a Threads Java Prof. Gerson Geraldo Homrich Cavalheiro Universidade Federal de Pelotas Departamento de Informática Instituto de Física e Matemática Pelotas RS Brasil http://gersonc.anahy.org

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais

Guia do Nexus. O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado. Desenvolvido e mantido por Ken Schwaber e Scrum.

Guia do Nexus. O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado. Desenvolvido e mantido por Ken Schwaber e Scrum. Guia do Nexus O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado Desenvolvido e mantido por Ken Schwaber e Scrum.org Tabela de Conteúdo Visão Geral do Nexus... 2 O Propósito

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais