835 resultados para Engenharia de software - Métodos experimentais
Resumo:
A presente dissertação tem como objectivo descrever o trabalho desenvolvido sobre o projecto iCOPE, uma plataforma dedicada ao auxilio do processo psicoterapêutico para pessoas com perturbações psicóticas. A sua concepção e motivada pela necessidade de fornecer um meio psicoterapêutico com base na portabilidade dos dispositivos móveis. O desenvolvimento foi conseguido através de uma colaboração multidisciplinar, orientada por especialistas de terapia ocupacional, e pela engenharia de software. O iCOPE é um sistema centralizado, no qual o progresso de um paciente é registado e monitorizado através de outra aplicação, por um terapeuta designado. Esta filosofia levou à criação de uma API baseada em REST, capaz de comunicar com uma base de dados. A construção da API concretizou-se com recurso a linguagem PHP, aliada a micro-framework Slim. O objectivo desta API passa não só pela necessidade de fornecer um sistema acessível, mas também com a ambição de conceber uma plataforma com um potencial escalável e expansível, para o caso de ser necessário implementar novas funcionalidades futuras (future-proof). O autor desta dissertação foi responsável pelo levantamento de requisitos, o desenvolvimento da aplicação móvel, o desenvolvimento colaborativo do modelo de dados e base de dados e da interface da API de comunicação. No fim do desenvolvimento foi feita uma apreciação funcional pelos utilizadores alvo, que realizaram uma avaliação sobre a utilização e integração da aplicação no seu tratamento. Face aos resultados obtidos foram tiradas conclusões sobre o futuro desenvolvimento da aplicação e que outros aspectos poderiam ser integrados para efectivamente chegar a mais pacientes.
Resumo:
A Matemática e as Ciências Farmacêuticas encontram-se relacionadas desde há muito, no entanto, foi a partir do séc. XVII, período de notável agitação cultural e científico que os métodos experimentais foram sustentados com cálculos matemáticos. Esta ciência e as técnicas de modelagem matemática tornaram-se numa ferramenta amplamente utilizada, de tal modo, que nos dias de hoje são consideradas como fundamentais na generalidade das profissões e em especial nas Ciências Farmacêuticas. Contudo, para muitos ainda não é vista como fundamental e essencial para a formação de futuros farmacêuticos. Deste modo, pretende-se demonstrar como a Matemática e as técnicas de modelagem se tornaram ao longo dos anos nesta poderosa ferramenta. Quer pelos instrumentos, quer pelas competências que nos proporcionam. Pretende-se também, com recurso aos conteúdos programáticos desta unidade curricular, avaliar se os conhecimentos, sistemas de avaliação e distribuição da carga horária são efetuados de forma homogénea pelas diferentes instituições portuguesas, públicas ou privadas que lecionam o Mestrado Integrado em Ciências Farmacêuticas. Verificou-se que a Matemática é uma ciência plena de capacidades e recursos e que estabelece uma relação interdisciplinar com as Ciências Farmacêuticas. Quer pela componente utilitária, quer pela componente formativa que proporciona. A análise dos conteúdos programáticos demonstra que apesar de serem transversais, as Universidades que não lecionam Sistemas de Equações Lineares e Equações diferenciais deveriam faze-lo e também realizarem um melhor controlo da carga horária por temática.
Resumo:
Dispositivos adaptativos apresentam a característica de se modificarem dinamicamente em resposta a estímulos de entrada, sem interferência de agentes externos. Eventuais necessidades de modificação de comportamento são automaticamente detectadas por estes dispositivos para, em seguida, reagirem a elas de forma espontânea. Historicamente tais dispositivos emergiram das pesquisas na área de linguagens formais e autômatos. No entanto, o formalismo suscitou aplicações em diversas outras áreas. Programas com código auto-modificável, que perderam terreno em conseqüência do advento da Engenharia de Software nos anos 70, voltaram à vida recentemente em aplicações diversas. Uma das formas de programação de código auto-modificável é a utilização de linguagens de programação especificamente projetadas para isso. Linguagens adaptativas de programação são dispositivos adaptativos que empregam uma linguagem de programação convencional como mecanismo subjacente. Com o correr de sua execução, um programa escrito em uma linguagem adaptativa exibirá um comportamento auto-modificável em decorrência da ativação de suas ações adaptativas. O artigo apresenta aspectos do projeto e implementação de um ambiente para gerenciar a execução de uma linguagem adaptativa. Com o emprego de linguagem adaptiva, um novo estilo de programação é concebido, uma vez que o seu comportamento está diretamente associado ao conjunto de regras que o define, o qual se altera à medida que o código é executado.
Resumo:
Este trabalho apresenta um modelo genérico para o desenvolvimento de sistemas de gestão empresarial. O modelo foi criado com base na experiência profissional do autor do trabalho e revisão bibliográfica sobre a utilização de padrões de análise. O modelo proposto prioriza aspectos de simplicidade e flexibilidade no desenvolvimento de sistemas de informação. Sua utilização visa facilitar a reutilização de componentes, diminuir o tempo para o desenvolvimento de aplicativos e propiciar a criação de sistemas flexíveis que rapidamente possam se adaptar a novas necessidades dos processos de negócios. Os modelos estão descritos no corpo do trabalho e estendem a utilização dos padrões originais de onde os mesmos se originam, descrevendo os relacionamentos entre os modelos apresentados, suas classes e atributos. Exemplos da utilização prática dos modelos são apresentados em situações de negócios e conclusões sobre o potencial de utilização dos mesmos são discutidos ao final do trabalho.
Resumo:
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.
Resumo:
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.
Resumo:
Para o desenvolvimento de sistemas interativos que respeitem critérios de usabilidade em adição aos critérios de qualidade convencionais, é necessário que, desde suas primeiras etapas, as áreas de Engenharia de Software (ES) e de Interação Humano- Computador (IHC) sejam consideradas, simultaneamente e de maneira integrada. Essas duas áreas investigam modelos, conceitos, técnicas e práticas que refletem diferentes perspectivas sobre a atividade de desenvolvimento, uma orientada mais ao sistema (ES) e outra, mais ao usuário (IHC). Para conciliar estas perspectivas, é necessário o estabelecimento de um entendimento mútuo e a utilização conjunta e integrada de conceitos, técnicas e práticas de desenvolvimento de ambas as áreas. Este trabalho visa mostrar as possibilidades desta integração, através da combinação dos conceitos de Casos de Uso (Use Cases) e Cenários (Scenarios), importantes técnicas de modelagem amplamente utilizadas respectivamente nas áreas de ES e IHC, em diferentes contextos, com diferentes visões; mas apresentando similaridades valiosas para propiciarem o uso complementar de ambas as técnicas. Para sistematizar esta integração, é proposta uma abordagem teleológica – baseada em objetivos – de construção sistemática de casos de uso com quatro diferentes níveis de abstração, desde os mais abstratos casos de uso essenciais até os cenários, aqui utilizados como instâncias concretas de casos de uso. Com esta abordagem, pretende-se construir um modelo de casos de uso que permita especificar requisitos funcionais, conjuntamente com requisitos de interação, de maneira compreensível e praticável e que sirva como ponto de partida à continuidade do desenvolvimento orientado a objetos de software. Com o intuito de exemplificar a proposta, é descrita e discutida a aplicação passo a passo desta abordagem a um exemplo.
Resumo:
Em vista da maior complexidade da programação paralela e distribuída em relação à programação de ambientes centralizados, novas ferramentas vêm sendo construídas com o objetivo de auxiliar o programador desses ambientes a desempenhar sua tarefa de formas mais eficazes e produtivas. Uma das ferramentas que há algum tempo tem sido usada na programação centralizada e aos poucos está sendo empregada também na programação concorrente é a programação visual. A programação visual se vale da presença de elementos visuais na especificação dos programas como peças chaves do processo de desenvolvimento de software. No caso específico da programação concorrente, a programação visual é especialmente útil pela capacidade que os gráficos têm de representar de forma mais adequada estruturas bidimensionais. Um programa concorrente, por relacionar no espaço diversos elementos com seus próprios fluxos de execução, faz surgir duas dimensões de análise que são mais difíceis de serem observadas através de programas textuais. Atualmente existem ferramentas de programação visual paralela e distribuída, mas a ênfase é dada na programação paralela, sem muita atenção a aplicações de sistemas abertos ou cliente-servidor. Além disso, tais ferramentas sofrem da falta de apoio à engenharia do software. Considerando essas deficiências, este trabalho apresenta uma ferramenta de programação visual para o desenvolvimento de aplicações compostas por objetos distribuídos que ofereça também a possibilidade de aplicar os principais conceitos da engenharia de software, como reutilização e orientação a objeto. Nesta ferramenta, o programador especifica de maneira visual a estrutura do seu programa, insere o código textual para a lógica da aplicação e o ambiente se encarrega do tratamento da distribuição e da comunicação de mais baixo nível. A aplicação é representada como um grafo dirigido, onde os nodos representam os objetos distribuídos e os arcos indicam os relacionamentos existentes entre esses objetos. A especificação dos programas é modular, baseando-se na reunião de componentes reutilizáveis, o que torna o sistema altamente configurável e extensível. Tanto a implementação da ferramenta quanto o código das aplicações geradas usam a linguagem de programação Java. A linguagem de programação visual projetada não especifica detalhes a respeito de como irá funcionar a comunicação e distribuição dos objetos. Portanto, foram implementados componentes para comunicação e outros recursos de programação distribuída, como locks e dados globais para serem usados nas aplicações. Para validar os principais objetivos da ferramenta, foram implementados alguns exemplos de aplicações distribuídas, como um pequeno sistema de bate-papo.
Resumo:
O presente trabalho apresenta o desenvolvimento de um projeto para análise experimental em semeadoras agrícolas a fim de levantar dados sobre as deformações e solicitações mecânicas na sua estrutura, bem como nos diversos componentes da máquina. Visa-se o desenvolvimento de uma ferramenta / metodologia que permita localizar as regiões de maior deformação mecânica, quantificar estas deformações e registrá-las de forma dinâmica com a máquina realizando seu trabalho em campo para posterior análise dos dados. Para o desenvolvimento deste trabalho foi realizada a averiguação do estado da arte na análise experimental de tensões. Posteriormente foi feito um estudo para verificar quais dos métodos experimentais poderiam ser utilizados e qual destes métodos poderia apresentar melhores resultados para este caso. As características básicas de cada método receberam classificação e estes dados foram colocados em um programa comercial de QFD. Este estudo considerou que o baixo custo de implementação e a facilidade de operação devem apresentar maior importância. O estudo mostrou que nenhum dos métodos isoladamente atende a todos os requisitos exigidos. A fim de que atender as necessidades decidiu-se pela aplicação de dois métodos: Camada Frágil e Extensometria. O primeiro método utilizado inicialmente para localizar os pontos de maior deformação do equipamento, enquanto o segundo método fornece dados quantitativos para a posterior análise dos dados. Assim, os dois métodos escolhidos são apresentados com maior detalhamento. Este trabalho ainda apresenta uma descrição de problemas encontrados na aplicação de cada método, bem como as soluções adotadas; descreve detalhes de equipamentos e materiais comerciais utilizados e discute detalhes do processo experimental empregado. Posteriormente são discutidos os erros experimentais Os resultados obtidos demonstram que o método escolhido atendeu as necessidades e que foi capaz de proporcionar arquivos contendo dados sobre as deformações mecânicas dos componentes quando submetidos aos carregamentos dinâmicos encontrados no trabalho em campo.
Resumo:
Braços robóticos articulados são cada vez mais utilizados hoje em dia e consistem de dispositivos mecânicos programáveis, equipados com sensores e atuadores sob o controle de um sistema computacional. Existem atualmente no mercado inúmeros fabricantes e modelos destes braços, cada um adequado a uma determinada utilização ou faixa de mercado. Para que se saiba operar devidamente este robô é necessário um período de aprendizagem. Essa necessidade pode ser suprida pelo emprego dos simuladores de braços robóticos.Desenvolver um simulador é uma atividade complexa, mas alguns elementos de sua estrutura e de seu comportamento são comuns a vários tipos de simuladores e podem idealmente ser reusados. Permitir reuso de código e de projeto é exatamente um dos principais fatores que motivaram a construção de um framework. Este trabalho descreve a definição e a construção do fwWorkCell , um framework que permita agilizar a construção destes simuladores. Tal agilidade será obtida através da implementação de um ambiente de edição e de classes genéricas para controle, visualização e programação dos robôs. A proposta deste framework inclui definição de classes genéricas e de controle, a construção de todo um ambiente de suporte à manipulação e visualização das células de trabalho e suas simulações e visa dar suporte à construção de uma grande variedade de simuladores. O framework proposto foi utilizado em uma aplicação real: através dele foi feita a migração de um simulador já existente.
Resumo:
O estudo dos mecanismos de fadiga por contato tem grande relevância para o estudo dos componentes mecânicos que estão sujeitos ao desgaste. O desgaste é um tipo de falha que ocorre na maioria dos componentes que trabalham em contato. Atualmente para prever o desgaste são utilizados métodos experimentais que permitem ajustar curvas semi-empíricas, ou seja, o resultado depende de vários testes que além de caros são demorados. Com o aumento da competitividade na indústria, o tempo se tornou artigo de luxo e com isso o aprimoramento dos modelos de cálculo e das simulações numéricas são muito bem justificados. O estudo aprofundado do mecanismo de fratura por contato sem dúvida pode dar subsídios para um melhor projeto do componente mecânico e assim conseguir predizer com maior precisão quando a falha por desgaste ocorrerá e assim evitar falhas catastróficas e paradas de máquinas não programadas gerando grandes prejuízos e também risco de vidas humanas Este estudo apresenta um modelo numérico utilizando o método dos elementos finitos computacional para a simulação do spalling em componentes mecânicos sujeitos à fadiga de contato. O modelo foi simplificado para duas dimensões e foi considerado estado plano de deformações. Este estudo apresenta uma aproximação na aplicação dos conceitos da Mecânica da Fratura para estimar a vida de componentes mecânicos. O resultado do modelo numérico é confrontado qualitativamente com resultados práticos. A geometria dos pits assim como as relações entre o Fator de intensidade de tensões e o tamanho da trinca é apresentado.
Resumo:
As exigências sociais atuais levam ao repensar das ações educacionais, evidenciando a Educação a Distância (EAD). Esta modalidade de educação, embasada por concepções pedagógicas consistentes e associada às tecnologias de informática e comunicação, é capaz de alavancar novos modelos rompendo com os já estabelecidos. As tecnologias de workflow se apresentam como uma alternativa à modelagem de cursos para EAD. Um workflow permite organizar e descrever todo o processo que está sendo modelado, a partir de suas atividades. Da mesma forma modelos de construção de cursos para EAD sugerem a separação do processo em etapas compostas por atividades. A autoria destes cursos acontece por meio de equipes multidisciplinares atuando em trabalho cooperativo. A cooperação na equipe de autoria é fundamentada pelos requerimentos de apoio à sua efetividade, de acordo com os comportamentos e funcionalidades cooperativas. No trabalho de Sizilio é sugerida a utilização de um workflow para guiar as atividades de autoria de um curso para EAD. Note-se que o workflow de autoria proposto por Sizilio considera apenas um autor para a construção do curso, não contemplando a autoria feita por uma equipe de autores desempenhando um trabalho cooperativo. O objetivo desta dissertação é especificar um workflow de autoria de cursos para EAD com suporte à cooperação, a partir do workflow de Sizilio. Este workflow constitui um modelo formal de construção cooperativa de cursos nesta modalidade educacional. O trabalho apresenta, além da proposta do workflow de autoria de cursos para EAD com suporte à cooperação, fundamentos e particularidades da EAD sob a ótica da autoria de cursos. Analisa, ainda, a cooperação vislumbrando as equipes de autoria em trabalho cooperativo e a tecnologia de modelagem de workflow aplicada a cursos de EAD. A análise de viabilidade do workflow proposto e do suporte oferecido ao desenvolvimento cooperativo de um curso foi feita através de estudo de caso real, sendo apresentados os comentários do grupo envolvido na autoria do curso.