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

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

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

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

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

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

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

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

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

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

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

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

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

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

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

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

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

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

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

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

Professor: Disciplina:

Professor: Disciplina: Professor: Curso: Disciplina: Marcos Morais de Sousa marcosmoraisdesousa@gmail.com marcosmoraisdesousa.blogspot.com Sistemas de informação Engenharia de Software II Gerenciamento de Qualidade CMMI e MPS.BR

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

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

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

ÍNDICE 4. LINGUAGENS USADAS NA SIMULAÇÃO DE SED... 18 5. FATORES QUE DEVEM SER OBSERVADOS NA SIMULAÇÃO... 20

ÍNDICE 4. LINGUAGENS USADAS NA SIMULAÇÃO DE SED... 18 5. FATORES QUE DEVEM SER OBSERVADOS NA SIMULAÇÃO... 20 ÍNDICE 1. INTRODUÇÃO... 3 2. O QUE É SIMULAÇÃO... 3 2.1. QUANDO A SIMULAÇÃO É UMA FERRAMENTA IMPORTANTE... 4 3. PRINCÍPIOS DA SIMULAÇÃO DE SED S... 5 3.1. CONCEITOS BÁSICOS DA SIMULAÇÃO... 5 3.2. CALENDÁRIO

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

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

UNIP Ciência da Computação AES Análise Essencial de Sistemas

UNIP Ciência da Computação AES Análise Essencial de Sistemas 1 Análise Essencial UNIP Ciência da Computação A análise essencial pode ser considerada um refinamento da análise estruturada. O problema existente (ou situação que requer a informatização) é estudado,

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

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Evandro Polese Alves Ricardo de Almeida Falbo Departamento de Informática - UFES Av. Fernando Ferrari, s/n, Vitória - ES - Brasil

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

Testar os programas para estabelecer a presença de defeitos no sistema. Teste de Software. Teste de defeitos. Objetivos. Tópicos

Testar os programas para estabelecer a presença de defeitos no sistema. Teste de Software. Teste de defeitos. Objetivos. Tópicos Teste de defeitos Teste de Software Testar os programas para estabelecer a presença de defeitos no sistema Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Ian Sommerville 2000

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

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS Janderson Fernandes Barros ¹, Igor dos Passos Granado¹, Jaime William Dias ¹, ² ¹ Universidade Paranaense (UNIPAR) Paranavaí

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

Guia do Cúram Verification

Guia do Cúram Verification IBM Cúram Social Program Management Guia do Cúram Verification Versão 6.0.5 IBM Cúram Social Program Management Guia do Cúram Verification Versão 6.0.5 Nota Antes de usar essas informações e o produto

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

Projeto Liowsn Manual de utilização do sistema

Projeto Liowsn Manual de utilização do sistema Projeto Liowsn Manual de utilização do sistema Autor: Marllus Lustosa - marlluslustosa@gmail.com 0 Índice 1. Introdução... 1 2. Tela de boot... 2 3. Tela de login... 2 4. Ambiente de trabalho... 5 5. Utilizando

Leia mais

Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1

Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1 242 Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1 1Instituto Federal Farroupilha Campus São Borja

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

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2011.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS PARA COMPUTAÇÃO...

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY)

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY) Universidade Federal de Santa Catarina Departamento de Informática e Estatística INE Curso: Sistemas de Informação Disciplina: Projetos I Professor: Renato Cislaghi Aluno: Fausto Vetter Orientadora: Maria

Leia mais

Essencial ao Desenvolvimento de Software

Essencial ao Desenvolvimento de Software Documento de Requisitos Essencial ao Desenvolvimento de Software De que se trata o artigo? Apresenta o documento de requisitos de software, destacando-o como um dos principais documentos pertinentes ao

Leia mais

Classificação: Determinístico

Classificação: Determinístico Prof. Lorí Viali, Dr. viali@pucrs.br http://www.pucrs.br/famat/viali/ Da mesma forma que sistemas os modelos de simulação podem ser classificados de várias formas. O mais usual é classificar os modelos

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

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

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes.

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Análise e Projeto de Sistemas I Aula 01 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Análise e Projeto de Sistemas I Horário das Aulas: 2as feiras das 10h10 às 11h40 e 5as feiras das 08h25

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

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

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

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

Engenharia de Software - Parte 04

Engenharia de Software - Parte 04 Engenharia de Software - Parte 04 4 - ISO/IEC 9000-3 Há um conjunto de Normas da ISO desenvolvidas especificamente para software. O guia ISO/IEC 9000-3 aplica-se a empresas de software interessadas em

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

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

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ ModeloPlanoProjeto_2007_04_24 SIGECO07_PlanoProjeto_2007_09_23 Página

Leia mais

BPM X Workflow. Business Process Management BPM ou Modelagem de Processos de negócio

BPM X Workflow. Business Process Management BPM ou Modelagem de Processos de negócio Business Process Management BPM ou Modelagem de Processos de negócio Metodologia Conjunto de práticas Controle, gerenciamento e integração dos processos Permite a análise, definição, execução, monitoramento

Leia mais

Sistemas de Informações Gerenciais: princípios, tipos, apoio a decisão Prof. MSc Hugo Vieira L. Souza

Sistemas de Informações Gerenciais: princípios, tipos, apoio a decisão Prof. MSc Hugo Vieira L. Souza Sistemas de Informações Gerenciais: princípios, tipos, apoio a decisão Prof. MSc Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão reservados para o todo ou quaisquer

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10)

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10) Questionário Nível Avaliado Gerador de plano de teste Gerador de dados Função/característica do produto Gestão dos dados do plano de teste (51) Perguntas Pontuação Selenium BadBoy Canoo A ferramenta auilia

Leia mais

Gerenciamento de Qualidade

Gerenciamento de Qualidade UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Qualidade Engenharia de Software 2o. Semestre de

Leia mais

Arquitetura de Software: Uma Central para Gestão da execução de serviços

Arquitetura de Software: Uma Central para Gestão da execução de serviços Arquitetura de Software: Uma Central para Gestão da execução de serviços ADILSON FERREIRA DA SILVA Centro Paula Souza São Paulo Brasil afs.software@gmail.com Prof.a. Dr.a. MARILIA MACORIN DE AZEVEDO Centro

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

Prototipação de Software

Prototipação de Software UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005

Leia mais

2.Gerência de Projetos: Métricas de Software

2.Gerência de Projetos: Métricas de Software 2.Gerência de Projetos: Métricas de Software A seguir consideraremos os conceitos fundamentais que levam à administração efetiva de projetos de software. Vamos considerar o papel da administração e das

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Requisitos Cap. 06 e 07 Sommerville 8 ed. REQUISITOS DE SOFTWARE» Requisitos são descrições de serviços fornecidos pelo sistema e suas restrições operacionais. REQUISITOS DE USUÁRIOS: São

Leia mais

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering.

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering. Parte I Requirement Engineering Gestão de Projectos Informáticos Gestão do Âmbito (Scope Management) Requirement Engineering Introduzir as noções requisitos de sistema e processo de engª de requisitos

Leia mais

2 Jogos Educacionais. 2.1.Visão Geral de Jogos Educacionais

2 Jogos Educacionais. 2.1.Visão Geral de Jogos Educacionais 2 Jogos Educacionais Jogos estão presentes como uma prática habitual, eles tem sido concebidos como uma atividade lúdica que é bastante motivadora no processo de ensinoaprendizado. É assim que jogos educacionais

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

AUTOMATIZAÇÃO DE PROCESSOS EM APLICAÇÕES DE GESTÃO DE INCIDENTES UTILIZANDO BPMN

AUTOMATIZAÇÃO DE PROCESSOS EM APLICAÇÕES DE GESTÃO DE INCIDENTES UTILIZANDO BPMN UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO AUTOMATIZAÇÃO DE PROCESSOS EM APLICAÇÕES DE GESTÃO DE INCIDENTES UTILIZANDO BPMN Eduardo Leopoldino de Souza Prof. Cláudio Ratke, Orientador

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

GERAÇÃO DE RELATÓRIOS

GERAÇÃO DE RELATÓRIOS UNIOESTE Universidade Estadual do Oeste do Paraná CCET - CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação GERAÇÃO DE RELATÓRIOS

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots Roosewelt Sanie Da Silva¹ 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rodovia

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software

FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software FS-MDP: Um Modelo de Definição de Processos de Fábrica de Software Luzia Nomura (EP-POLI/USP) luzia.nomura@poli.usp.br Mauro de Mesquita Spinola (EP-POLI/USP) mauro.spinola@poli.usp.br Osvaldo Hikage (EP-POLI/USP)

Leia mais

RESUMO DA SOLUÇÃO CA ERwin Modeling. Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios?

RESUMO DA SOLUÇÃO CA ERwin Modeling. Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios? RESUMO DA SOLUÇÃO CA ERwin Modeling Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios? O CA ERwin Modeling fornece uma visão centralizada das principais definições de

Leia mais

EMENTAS DAS DISCIPLINAS

EMENTAS DAS DISCIPLINAS EMENTAS DAS DISCIPLINAS CST SISTEMAS DE INFORMAÇÃO DISCIPLINA: Algoritmo e Programação I A disciplina aborda o estudo de algoritmos, envolvendo os conceitos fundamentais: variáveis, tipos de dados, constantes,

Leia mais

Workflow como Proposta de. Workflow. O Gerenciamento de Processos. Prof. Roquemar Baldam roquemar@pep.ufrj.br

Workflow como Proposta de. Workflow. O Gerenciamento de Processos. Prof. Roquemar Baldam roquemar@pep.ufrj.br Workflow como Proposta de Automação Flexível O Gerenciamento de Processos Planejamento do BPM Diretrizes e Especificações Seleção de processo críticos Alinhamento de processos à estratégia www.iconenet.com.br

Leia mais

Um Sistema de Suporte ao Planejamento para Gestão de Projetos

Um Sistema de Suporte ao Planejamento para Gestão de Projetos Um Sistema de Suporte ao Planejamento para Gestão de Projetos Fabrício Jailson Barth, Edson Satoshi Gomi Laboratório de Engenharia de Conhecimento (Knoma) Departamento de Computação e Sistemas Digitais

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

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

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

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa GEADA Gerador de Expressões Algébricas em Digrafos Acíclicos para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa 1 1 Introdução O GEADA (Gerador de Expressões Algébricas em Digrafos Acíclicos)

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Requisito O que é um REQUISITO? Em software: É a CARACTERIZAÇÃO do que o

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

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

Levantamento de Requisitos.

Levantamento de Requisitos. FACULDADES INTEGRADAS MATO-GROSSENSES DE CIÊNCIAS SOCIAIS E HUMANAS RESUMO Levantamento de Requisitos. Leandro Cícero da Silva Mello. Prof. Jeanine Ferrazza Meyer Metodologia e Técnica de Pesquisa- Levantamento

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

VANT-EC-SAME. Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0

VANT-EC-SAME. Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0 VANT-EC-SAME Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0 Histórico da Revisão Data Versão Descrição Autor 17/0/07 1.0 Versão Inicial Douglas Moura Confidencial VANT-EC-SAME, 2007

Leia mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

Leia mais