Spelling suggestions: "subject:"engenharia : 5oftware"" "subject:"engenharia : 1software""
21 |
APSEE-Global : um modelo de gerência de processos distribuídos de softwareFreitas, Ana Vitoria Piaggio de January 2005 (has links)
Desde o início dos anos 90, uma tendência no desenvolvimento de software tem despertado a atenção dos pesquisadores: a distribuição do desenvolvimento. Esse fenômeno é um reflexo de mudanças sociais e econômicas, que têm levado organizações a distribuírem geograficamente seus recursos e investimentos, visando aumento de produtividade, melhorias na qualidade e redução de custos no desenvolvimento de software. Em virtude dessa distribuição, equipes geograficamente dispersas cooperam para a obtenção de um produto final de software. A distribuição física das equipes agrava problemas já inerentes à gerência do processo de software. O desenvolvimento de ambientes, modelos e ferramentas para gerenciar processos conduzidos nesse contexto é um desafio cada vez mais importante nos estudos em Tecnologia de Processos de Software. Os ambientes de suporte a processos devem prover infra-estrutura para processos distribuídos. Este trabalho propõe um modelo de gerência de processos distribuídos, denominado APSEE-Global, que estende o APSEE, um ambiente de engenharia de software centrado no processo desenvolvido no contexto do grupo de pesquisa Prosoft, provendo um conjunto de funcionalidades para suporte a processos distribuídos. O APSEE-Global viabiliza o aumento da autonomia das equipes que participam do projeto, pela possibilidade de adotarem modelos de processo distintos e pela gerência descentralizada do processo de desenvolvimento; permite a documentação e facilita a análise e a gerência das relações entre as equipes; e provê um canal de comunicação formal para acompanhamento da execução do processo distribuído. Os diferentes componentes do APSEE-Global foram especificados formalmente, o que constitui uma base semântica de alto nível de abstração que deu origem à implementação de um protótipo integrado ao ambiente de desenvolvimento de software Prosoft. A especificação do modelo foi realizada pela combinação dos formalismos Prosoft-Algébrico e Gramática de Grafos.
|
22 |
Utilizando padrões organizacionais e avaliação de risco para adaptar a metodologia de desenvolvimento de softwareHartmann, Julio January 2005 (has links)
Este trabalho descreve PMT – Pattern-based Methodology Tailoring, uma abordagem para a adaptação de metodologias de desenvolvimento de software, baseada em padrões e em critérios de risco. Seu principal objetivo é estabelecer meios de se adaptar uma linguagem de padrões organizacionais ao contexto de um projeto específico, o que é obtido através da seleção sistemática dos padrões organizacionais mais adequados aos requisitos do projeto. O trabalho é motivado pelo levantamento de que os arcabouços de processos de software existentes pouco fazem para compreender as necessidades de um projeto antes de definir a metodologia a ser aplicada. PMT utiliza uma análise dos riscos e do contexto de criticalidade para guiar o processo de adaptação. Padrões organizacionais que descrevem técnicas preventivas para os riscos identificados são selecionados por um mecanismo sistemático de seleção, o qual é suportado por uma ferramenta, chamada PMT-Tool.
|
23 |
PRiMA : project risk management approachFontoura, Lisandra Manzoni January 2006 (has links)
Esta tese propõe uma abordagem sistemática para gerenciar riscos em projetos de software, por meio da adaptação de processos. O objetivo da abordagem é permitir a elaboração de um processo específico para um dado projeto, visando minimizar a exposição do projeto aos riscos, identificados de acordo com o contexto do projeto. As atividades, possíveis de serem executadas em processos de projetos de uma organização, são estruturadas em um framework de processo (PRiMA-F), que inclui também os padrões de processo e organizacionais usados para descrever ações preventivas e corretivas aos riscos. A estruturação do framework básico, construído pela organização, poderá permitir distintas instanciações, como por exemplo, processos de acordo com o paradigma ágil ou planejado, ou em conformidade com normas de qualidade, como CMM e outras; além dos padrões organizacionais e de processo para gestão de riscos de projeto. PRiMA-F define o escopo maior do processo de software da organização e este é adaptado de acordo com os riscos identificados para o projeto e suas necessidades específicas, dando origem ao processo a ser usado no projeto. adaptação. Os guias descrevem como adaptar elementos de processo de acordo com o tamanho e o formalismo do projeto. Configurações de processo são modelos prédefinidos, visando atender projetos típicos ou modelos de qualidade. Prima-F pode ser estendida para novos riscos, padrões e processos, de acordo com as necessidades da organização. Utilizando o paradigma Goal/Question/Metric, no framework de processo (PRiMAF), são definidas métricas do processo de software, associadas aos riscos, para serem usadas para acompanhar o progresso dos fatores de risco, possibilitando ao gerente de projeto tomar ações corretivas, quando necessário e no momento adequado. As ações corretivas são descritas usando padrões organizacionais e de processo. Uma ferramenta de apoio à sistemática proposta (PRiMA-Tool) foi desenvolvida. Estudos de caso foram elaborados para validar a sistemática proposta
|
24 |
Um sistema de apoio ao teste de aplicações smalltalk / Support's system of the smalltalk applications testPinto, Ivete Martins January 1998 (has links)
A atividade de teste é de extrema importância em qualquer ambiente de programação para gerar produtos de qualidade e de alta confiabilidade. Entretanto, alem das dificuldades inerentes a esta tarefa, soma-se a falta de metodologias e ferramentas que a apóiem. Isto faz com que o teste se tome uma das atividades do ciclo de vida do software com maior custo e tempo associados. O paradigma de orientação a objetos surgiu na busca constante dos desenvolvedores de software por maior qualidade e novas soluções para os problemas de baixa produtividade. Todavia, as características poderosas deste paradigma geraram um conjunto adicional de problemas nas atividades de teste e manutenção, onde a alta concentração de custo e tempo envolvidos sempre foram uma constatação real. Em uma aplicação orientada a objetos, cada objeto é uma entidade que possui um comportamento bem definido, com um papel bem claro no domínio. Os valores dos atributos de um objeto definem o estado do objeto, e são acessados através de um conjunto de mensagens bem definidas, através das quais o objeto é capaz de executar alterações nestes valores de atributos. Os valores de atributos reagem passagem destas mensagens (ativação de métodos) alterando ou não o seu estado. Neste trabalho é apresentado um protótipo de ferramenta de apoio ao teste de programas orientados a objetos, chamado ATeste, fundamentado no conceito de teste baseado em estado, com uma abordagem reflexiva, para auxiliar o teste de aplicações Smalltalk. O teste baseado em estado verifica as interações entre os objetos pela monitoração das mudanças que ocorrem em valores dos atributos. Este tipo de teste verifica como um objeto reage a ativação de um método, respeitando o encapsulamento. A abordagem reflexiva possibilita que mecanismos de analise possam ser associados a aplicação através da utilização de conceitos de reflexão computacional. A reflexão computacional proporciona a analise dinâmica da aplicação, sem interferir nos aspectos comportamentais e estruturais dos objetos do domínio, permitindo a monitoração de objetos específicos do domínio, os quais podem ser dinamicamente selecionados pelo usuário. Como suporte para o desenvolvimento de ATeste foi utilizado o framework Luthier MOPs. Este framework apresenta, como principal contribuição, a utilização de técnicas de reflexão computacional baseadas no conceito de gerenciadores de metaobjetos para a implementação de meta-arquiteturas visando a captura de informações e analise de aplicações. Baseado nesta arquitetura reflexiva, ATeste trabalha com um meta-nível, que monitora os objetos selecionados pelo usuário na aplicação do nível-base. Desta forma, uma das principais características do sistema desenvolvido é a analise da aplicação sob teste de forma dinâmica sem necessidade de instrumentação de seu c6digo fonte. Isto é possível através da utilização de reflexão computacional, que permite implementar diferentes mecanismos de analise que podem ser dinamicamente associados com a aplicação em execução. O projeto de ATeste compreende um conjunto de classes pr6prias que definem a interface com o usuário e as funcionalidades desejadas, bem como classes do framework Luthier MOPs, e especializações destas. / The activity of testing is very important for generating high quality and reliable products in any programming environment. Besides the difficulties inherent to this task, there is the lack of methodologies and tools to support the testing process. These facts make testing one of the software life cycle activities of greatest associated cost and time. The object oriented paradigm had appeared as a result of the constant searching by software developers for both greater quality and new solutions to the problems of low productivity. However, the powerful characteristics of this paradigm have generated an additional set of problems in the test and maintenance activities, where high costs and time expenditure have been always of great concern. In an object oriented application, each object is an entity that has a welldefined behavior, with a well clear role in the domain. The attribute values of an object define the object state. Object's attributes may only be accessed through a set of proper messages, which can make changes to object's states. This work presents a prototype of a tool, named ATeste, which aims to support object oriented testing of Smalltalk applications by implementing the concept of state-based testing through a reflexive approach. In state-based testing objects interactions are verified through monitoring changes that occur to the values of object attributes. This type of test verifies how an object reacts by a method activation, taking into account object encapsulation. The reflexive approach allows the association of analysis mechanisms to the software system through the application of computational reflection concepts. Computational reflection provides dynamic analysis of the software, without interfering in both behavior and structural aspects of the object's domain. It allows monitoring of specific objects in the domain, which can be dynamically selected by the user. The framework Luthier MOPs has been extended to support the development of ATeste. This framework provides, as its main contribution, facilities of computational reflection techniques based on meta-objects management concepts for the implementation of meta-architectures, aiming the capture of information and analysis of object-oriented applications. Considering this reflexive architecture, ATeste works with a meta-level, which manages the objects selected by the user in the application basic-level. In this way, one of the main characteristics of the developed system is the analysis of the application under test in a dynamic way, without necessity of instrumenting its source code. This is possible due to computational reflection that allows the implementation of particular analysis mechanisms that can be dynamically associated with the application in execution. The project of ATeste includes a set of particular classes that define the interface with the user, another set for implementing the elected testing strategy, and some classeS specialized from the framework Luthier MOPs.
|
25 |
OZJ : uma ferramenta para geração de óraculos para teste de software a partir de especificação formalAzevedo, Edson Eustáchio Oliveira de January 2002 (has links)
A literatura sobre Teste de Software apresenta diversas estratégias e metodologias que definem critérios eficazes e automatizáveis para selecionar casos de teste capazes de detectar erros em softwares. Embora eficientes na descoberta de erros, as técnicas de seleção de casos de teste exigem que uma quantidade relativamente grande de testes seja realizada para satisfazer os seus critérios. Essa característica acarreta, em parte, um alto custo na atividade de teste, uma vez que, ao fim de cada teste deve-se verificar se o comportamento do software está ou não de acordo com os seus requisitos. Oráculo para teste de software é um mecanismo capaz de determinar se o resultado de um teste está ou não de acordo com os valores esperados. Freqüentemente, assume-se que o próprio projetista de teste é o responsável por esta tarefa. A automatização da atividade dos oráculos deu origem a oráculos automáticos, os quais são capazes de determinar o bom ou mau funcionamento do software a partir de uma fonte de informação confiável. Ao longo dos anos, a especificação formal vêm sendo largamente utilizada como fonte de informação para oráculos automáticos. Diversas estratégias vêm propondo geradores de oráculos baseados em especificações formais. Dentre as características marcantes dessas estratégias, cita-se aquelas que são aplicáveis a implementações derivadas a partir da estrutura da especificação e aquelas que geram oráculos a partir de técnicas específicas de seleção de casos. Essas características, entretanto, limitam a aplicação abrangente dos oráculos por restringi-los tanto a implementações derivadas diretamente de especificações como ao uso de técnicas específicas de seleção de casos de teste. Este trabalho apresenta um estudo sobre os geradores de oráculos para teste de software, identifica aspectos fundamentais que regem seu processo de construção e propõe uma estratégia que permite a geração de oráculos semi-automaticamente, mesmo para implementações não derivadas diretamente da estrutura da especificação. A estratégia proposta é, também, aplicável aos casos de teste derivados de qualquer técnica de seleção de casos de teste.
|
26 |
APSEE-Reuse : um meta-modelo para apoiar a reutilização de processos de softwareReis, Rodrigo Quites January 2002 (has links)
Dentre as principais áreas que constituem a Ciência da Computação, uma das que mais influenciam o mundo atual é a Engenharia de Software, envolvida nos aspectos tecnológicos e gerenciais do processo de desenvolvimento de software. Software tornou-se a base de sustentação de inúmeras organizações dos mais diversos ramos de atuação espalhados pelo planeta, consistindo de um elemento estratégico na diferenciação de produtos e serviços atuais. Atualmente, o software está embutido em sistemas relacionados a infindável lista de diferentes ciências e tecnologias. A Tecnologia de Processo de Software surgiu em meados da década de 1980 e representou um importante passo em direção à melhoria da qualidade de software através de mecanismos que proporcionam o gerenciamento automatizado do desenvolvimento de software. Diversas teorias, conceitos, formalismos, metodologias e ferramentas surgiram nesse contexto, enfatizando a descrição formal do modelo de processo de software, para que possa ser automatizado por um ambiente integrado de desenvolvimento de software. Os modelos de processos de software descrevem o conhecimento de uma organização e, portanto, modelos que descrevem experiências bem sucedidas devem ser continuamente disseminados para reutilização em diferentes projetos. Apesar da importância desse tópico, atualmente apenas uma pequena porção do conhecimento produzido durante o desenvolvimento de software é mantido para ser reutilizado em novos projetos. Embora, à primeira vista, o desafio de descrever modelos reutilizáveis para processos de software pareça ser equivalente ao problema tratado pela tradicional área de reutilização de produtos software, isso é apenas parcialmente verdade, visto que os processos envolvem elementos relacionados com aspectos sociais, organizacionais, tecnológicos e ambientais. A crescente complexidade da atual modelagem de processos vem influenciando a investigação de tecnologias de reutilização que sejam viáveis nesse campo específico. A investigação conduzida nesse trabalho culminou na especificação de um meta-modelo que tem como objetivo principal aumentar o nível de automação fornecido na reutilização de processos, apoiando a modelagem de processos abstratos que possam ser reutilizados em diferentes contextos. O meta-modelo proposto por esse trabalho - denominado APSEE-Reuse - fornece uma série de construtores sintáticos que permitem que os diferentes aspectos desse contexto sejam descritos segundo múltiplas perspectivas, complementares entre si, contribuindo para diminuir a complexidade do modelo geral. A solução proposta destaca-se por fornecer um formalismo para modelagem de processos, o qual é integrado à uma infraestrutura de automação de processos de software, permitindo que a reutilização esteja intimamente relacionada com as outras etapas do ciclo de vida de processos. Os diferentes componentes envolvidos na definição do modelo APSEE-Reuse proposto foram especificados algebricamente, constituindo uma base semântica de alto 15 nível de abstração que deu origem a um conjunto de protótipos implementados no ambiente PROSOFT-Java. O texto ainda discute os experimentos realizados com o meta-modelo proposto na especificação de diferentes estudos de casos desenvolvidos a partir de exemplos retirados na literatura especializada, e de processos que fornecem soluções em contextos e necessidades específicas de projetos desenvolvidos no PPGC-UFRGS. Finalmente, são apresentadas considerações acerca dos trabalhos relacionados, os elementos críticos que influenciam a aplicabilidade do modelo e as atividades adicionais vislumbradas a partir do trabalho proposto.
|
27 |
Uma Proposta de apoio para decisões de grupo no ambiente PROSOFTAlves, Ronnie Cley de Oliveira January 2002 (has links)
O processo de desenvolvimento de software implica na necessidade constante de tomadas de decisão. A cada etapa do processo, torna-se necessário estabelecer a comunicação e interação entre usuários, gerentes, analistas, programadores e mantenedores numa constante troca de informações. O registro dos artefatos produzidos durante todo o processo é uma questão que norteia as pesquisas em ambiente de desenvolvimento de software. Quando se fala em suporte ao processo de colaboração entre os elementos de uma equipe de desenvolvimento, este registro torna-se ainda mais necessário. Neste contexto, a modelagem dos dados a serem armazenados se amplia para comportar outras informações provenientes da interação do grupo além dos artefatos gerados. As informações trocadas durante este processo interativo que incluem fatos, hipóteses, restrições, decisões e suas razões, o significado de conceitos e, os documentos formais formam o que é denominado pela literatura especializada como memória de grupo. A proposta da arquitetura SaDg PROSOFT visa fornecer suporte a memória de grupo, no que diz respeito ao registro das justificativas de projeto(Design Rationale), através de uma integração com o gerenciador de processos (GP) provido pelo ADS PROSOFT. Esta integração se dá através das ferramentas inseridas no modelo, assim desenhadas: Editor de Norma, Editor de Argumentação, Extrator de Alternativas, Editor de Votação. O ADS PROSOFT integra ferramentas para desenvolvimento de software. Este ADS foi escolhido para o desenvolvimento do modelo SADG, pois baseia-se na construção formal de software, mas particularmente no método algébrico, por ser um ambiente estendível, possibilitando a inclusão do modelo SaDg PROSOFT ao seu conjunto de ferramentas, por ter características de um ambiente distribuído e cooperativo e por não dispor de nenhum suporte à discussões e decisões em grupos. São apresentados os fundamentos de modelos SADG e algumas ferramentas. Alguns dos principais requisitos desses ambientes foram coletados e são apresentados a fim de embasar a proposta do trabalho. O modelo SADG é apresentado na forma de ferramentas PROSOFT(chamadas ATOs) e permite a definição de atividades como: Atividade de argumentação, atividade de extração e a atividade de votação. Além disso, permite a coordenação destas atividades através de um facilitador e do próprio GP, e também, possui um mecanismo para a configuração do processo decisório.
|
28 |
Holoparadigma : um modelo multiparadigma orientado ao desenvolvimento de software distribuídoBarbosa, Jorge Luis Victoria January 2002 (has links)
Este texto apresenta um novo modelo multiparadigma orientado ao desenvolvimento de software distribuído, denominado Holoparadigma. O Holoparadigma possui uma semântica simples e distribuída. Sendo assim, estimula a modelagem subliminar da distribuição e sua exploração automática. A proposta é baseada em estudos relacionados com modelos multiparadigma, arquitetura de software, sistemas blackboard, sistemas distribuídos, mobilidade e grupos. Inicialmente, o texto descreve o modelo. Logo após, é apresentada a Hololinguagem, uma linguagem de programação que implementa os conceitos propostos pelo Holoparadigma. A linguagem integra os paradigmas em lógica, imperativo e orientado a objetos. Além disso, utiliza um modelo de coordenação que suporta invocações implícitas (blackboard) e explícitas (mensagens). A Hololinguagem suporta ainda, concorrência, modularidade, mobilidade e encapsulamento de blackboards em tipos abstratos de dados. Finalmente, o texto descreve a implementação da Holoplataforma, ou seja, uma plataforma de desenvolvimento e execução para a Hololinguagem. A Holoplataforma é composta de três partes: uma ferramenta de conversão de programas da Hololinguagem para Java (ferramenta HoloJava), um ambiente de desenvolvimento integrado (ambiente HoloEnv) e um plataforma de execução distribuída (plataforma DHolo).
|
29 |
Extensão de um modelo OO formal com aspectos temporaisZanatta, Melissa Marchiani Palone January 2000 (has links)
Na área de Engenharia de Software, há vários modelos formais de especificação orientado a objetos (OO). Um destes é o OO-Method / OASIS. OO-Method se baseia nos seguintes princípios: - dar suporte às noções do modelo conceitual orientado a objetos; - integrar os modelos formais com metodologias de aceitação industrial; - possibilitar a produção de software avançado que inclua a geração completa de código (estática e dinâmica) do desenvolvimento comercial. O processo de desenvolvimento consiste em levantar as propriedades principais do sistema em desenvolvimento (modelo conceitual) por parte do engenheiro de software, e construir de forma automática, em qualquer momento (por um processo de conversão gráfico-textual) a especificação formal orientada a objetos em OASIS (Open and Active Specifications of Information System) que constituirá um repositório de alto nível do sistema. O objetivo de OASIS é expressar os requisitos funcionais de um sistema de informação, em um marco formal, que facilite sua validação e geração automática de programas. OASIS não inclui a especificação de aspectos temporais. A modelagem de aspectos temporais é um importante tópico da modelagem de sistemas de informação, porque através destes são representadas as características dinâmicas das aplicações e a interação temporal entre diferentes processos. A especificação de requisitos de aplicações através de modelos orientados a objetos permite representar não só os seus estados, mas também, seu comportamento. Modelos temporais representam também a evolução de objetos com o tempo. Como o estado de um objeto pode ser alterado devido à ocorrência de um evento (fato ocorrido em um determinado instante no tempo), é importante que o modelo utilizado permita apresentar a história destes eventos. O presente trabalho tem por finalidade propor uma extensão temporal a um modelo formal de especificação OO. Esta extensão inclui tanto aspectos estáticos quanto dinâmicos. A extensão de aspectos estáticos estende OASIS com atributos temporais. A extensão dos aspectos dinâmicos, contribuição central do trabalho, estende OASIS com eventos temporais.
|
30 |
Uma proposta de arquitetura de linha de produto para sistemas de gerenciamento de workflowLazilha, Fabrício Ricardo January 2002 (has links)
A tecnologia de workflow vem apresentando um grande crescimento nos últimos anos. Os Workflow Management Systems (WfMS) ou Sistemas de Gerenciamento de Workflow oferecem uma abordagem sistemática para uniformizar, automatizar e gerenciar os processos de negócios. Esta tecnologia requer técnicas de engenharia de software que facilitem a construção desse tipo de sistema. Há muito vem se formando uma consciência em engenharia de software de que para a obtenção de produtos com alta qualidade e que sejam economicamente viáveis torna-se necessário um conjunto sistemático de processos, técnicas e ferramentas. A reutilização está entre as técnicas mais relevantes desse conjunto. Parte-se do princípio que, reutilizando partes bem especificadas, desenvolvidas e testadas, pode-se construir software em menor tempo e com maior confiabilidade. Muitas técnicas que favorecem a reutilização têm sido propostas ao longo dos últimos anos. Entre estas técnicas estão: engenharia de domínio, frameworks, padrões, arquitetura de software e desenvolvimento baseado em componentes. Porém, o que falta nesse contexto é uma maneira sistemática e previsível de realizar a reutilização. Assim, o enfoque de linha de produto de software surge como uma proposta sistemática de desenvolvimento de software, baseada em uma família de produtos que compartilham um conjunto gerenciado de características entre seus principais artefatos. Estes artefatos incluem uma arquitetura base e um conjunto de componentes comuns para preencher esta arquitetura. O projeto de uma arquitetura para uma família de produtos deve considerar as semelhanças e variabilidades entre os produtos desta família. Esta dissertação apresenta uma proposta de arquitetura de linha de produto para sistemas de gerenciamento de workflow. Esta arquitetura pode ser usada para facilitar o processo de produção de diferentes sistemas de gerenciamento de workflow que possuem características comuns, mas que também possuam aspectos diferentes de acordo com as necessidades da indústria. O desenvolvimento da arquitetura proposta tomou como base a arquitetura genérica e o modelo de referência da Workflow Management Coalition (WfMC) e o padrão de arquitetura Process Manager desenvolvido no contexto do projeto ExPSEE1. O processo de desenvolvimento da arquitetura seguiu o processo sugerido pelo Catalysis com algumas modificações para representar variabilidade. A arquitetura proposta foi descrita e simulada através da ADL (Architecture Description Language) Rapide. A principal contribuição deste trabalho é uma arquitetura de linha de produto para sistemas de gerenciamento de workflow. Pode-se destacar também contribuições para uma proposta de sistematização de um processo de desenvolvimento de arquitetura de linha de produto e também um melhor entendimento dos conceitos e abordagens relacionados à prática de linha de produto, uma vez que esta tecnologia é recente e vem sendo largamente aplicada nas empresas.
|
Page generated in 0.075 seconds