930 resultados para object-oriented software framework
Resumo:
O desenvolvimento aplicacional é uma área em grande expansão no mercado das tecnologias de informação e como tal, é uma área que evolui rápido. Os impulsionadores para esta característica são as comunicações e os equipamentos informáticos, pois detêm características mais robustas e são cada vez mais rápidos. A função das aplicações é acompanhar esta evolução, possuindo arquiteturas mais complexas/completas visando suportar todos os pedidos dos clientes, através da produção de respostas em tempos aceitáveis. Esta dissertação aborda várias arquiteturas aplicacionais possíveis de implementar, mediante o contexto que esteja inserida, como por exemplo, um cenário com poucos ou muitos clientes, pouco ou muito capital para investir em servidores, etc. É fornecido um nivelamento acerca dos conceitos subjacentes ao desenvolvimento aplicacional. Posteriormente é analisado o estado de arte das linguagens de programação web e orientadas a objetos, bases de dados, frameworks em JavaScript, arquiteturas aplicacionais e, por fim, as abordagens para definir objetivos mensuráveis no desenvolvimento aplicacional. Foram implementados dois protótipos. Um deles, numa arquitetura multicamada com várias linguagens de programação e tecnologias. O segundo, numa única camada (monolítica) com uma única linguagem de programação. Os dois protótipos foram testados e comparados com o intuito de escolher uma das arquiteturas, num determinado cenário de utilização.
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Informática
Resumo:
As abordagens de engenharia de requisitos orientada a objetivos oferecem mecanismos que ajudam na elicitação e modelação de requisitos. A presente dissertação centra-se no framework i*, uma das mais importantes linguagens de especificação de modelos de requisitos orientados a objetivos, que conta com grupos de trabalho em mais de vinte países e com sete edições de workshops internacionais. Existem alguns problemas que podem afetar a qualidade de modelos i*. A sua criação pode resultar em modelos complexos e/ou incompletos, assim como incorretos devido ao mau uso da notação do i*. Estes problemas contribuem para a existência de dificuldades na gestão e compreensão dos sistemas de software o que, por sua vez, leva a um aumento dos custos de desenvolvimento. A qualidade dos modelos deve, então, ser uma preocupação constante, por forma a que sejam construídos modelos corretos, completos e cuja complexidade acidental seja minimizada. Não obstante a sua importância, a gestão eficaz destes três aspetos é, ainda, um problema em aberto. Nesta dissertação é proposto um conjunto de métricas para dar suporte à avaliação quantitativa dos atributos de qualidade complexidade, completude e correção nos modelos de requisitos i*. As métricas são definidas seguindo a abordagem Goal-Question- Metric, sendo definidas tanto de modo informal, em língua natural, como formalmente, em OCL (Object Contraint Language), e incorporadas numa ferramenta de modelação i* para que possam ser recolhidas de modo automático. As métricas são avaliadas experimentalmente, através de um conjunto de casos de estudo reais e académicos, e teoricamente, através de propriedades deWeyuker.
Resumo:
The theme of this dissertation is the finite element method applied to mechanical structures. A new finite element program is developed that, besides executing different types of structural analysis, also allows the calculation of the derivatives of structural performances using the continuum method of design sensitivities analysis, with the purpose of allowing, in combination with the mathematical programming algorithms found in the commercial software MATLAB, to solve structural optimization problems. The program is called EFFECT – Efficient Finite Element Code. The object-oriented programming paradigm and specifically the C ++ programming language are used for program development. The main objective of this dissertation is to design EFFECT so that it can constitute, in this stage of development, the foundation for a program with analysis capacities similar to other open source finite element programs. In this first stage, 6 elements are implemented for linear analysis: 2-dimensional truss (Truss2D), 3-dimensional truss (Truss3D), 2-dimensional beam (Beam2D), 3-dimensional beam (Beam3D), triangular shell element (Shell3Node) and quadrilateral shell element (Shell4Node). The shell elements combine two distinct elements, one for simulating the membrane behavior and the other to simulate the plate bending behavior. The non-linear analysis capability is also developed, combining the corotational formulation with the Newton-Raphson iterative method, but at this stage is only avaiable to solve problems modeled with Beam2D elements subject to large displacements and rotations, called nonlinear geometric problems. The design sensitivity analysis capability is implemented in two elements, Truss2D and Beam2D, where are included the procedures and the analytic expressions for calculating derivatives of displacements, stress and volume performances with respect to 5 different design variables types. Finally, a set of test examples were created to validate the accuracy and consistency of the result obtained from EFFECT, by comparing them with results published in the literature or obtained with the ANSYS commercial finite element code.
Resumo:
O presente artigo traz uma avaliação sobre um processo de implementação do PBL que ocorreu no curso de Engenharia Informática na Faculdade de Engenharia da Universidade Eduardo Mondlane em Moçambique. Por este processo ser novo no contexto de ensino de Engenharia em Moçambique foram os desafios encontrados por parte dos docentes e estudantes relativos a implementação, coordenação e adequação do currículo a metodologia do PBL, fazendo com que o processo de implementação fosse gradual. Assim no primeiro semestre de 2014 foi implementado um processo PBL piloto envolvendo as disciplinas de Programação Orientada à Objetos 1 e Base de Dados 1, que foram disciplinas escolhidas pelo facto de seus currículos terem matérias comuns, todos desafios e comentários dados pelos estudantes foram levados em conta no desenho do segundo processo PBL para o segundo semestre de 2014 que envolveu as disciplinas de Programação Orientada à Objetos 2, Base de Dados 2 e Sistemas de Multimídia fazendo com que houvesse mais informação para o terceiro processo envolvendo as disciplinas de Engenharia de Software 1 e Programação em Web. A avaliação do processo por parte dos estudantes, veio através de inquiridos onde os estudantes fizeram chegar as suas preocupações e ideias a respeito do PBL e dos moldes em que este estava a ser implementado no currículo. O processo de implementação do PBL pode ser considerado uma experiência bem sucedida e com futuro promissor e que de certeza vai ajudar a inovar os processos de ensino de engenharia em Moçambique.
Resumo:
Os limites entre os domínios do software e do hardware são cada vez mais ténues, pelo que técnicas inicialmente experimentadas no software têm vindo a ser gradualmente aplicadas no hardware. Este artigo pretende descrever o estado actual da utilização da tecnologia de programação orientada por objectos no projecto de hardware digital. São analisadas as vantagens e implicações quando se introduzem conceitos ligados à tecnologia orientada por objectos em projectos de hardware e é apresentado um exemplo utilizando uma das extensões orientadas por objectos da linguagem VHDL.
Resumo:
"A workshop within the 19th International Conference on Applications and Theory of Petri Nets - ICATPN’1998"
Resumo:
La programación concurrente es una tarea difícil aún para los más experimentados programadores. Las investigaciones en concurrencia han dado como resultado una gran cantidad de mecanismos y herramientas para resolver problemas de condiciones de carrera de datos y deadlocks, problemas que surgen por el mal uso de los mecanismos de sincronización. La verificación de propiedades interesantes de programas concurrentes presenta dificultades extras a los programas secuenciales debido al no-determinismo de su ejecución, lo cual resulta en una explosión en el número de posibles estados de programa, haciendo casi imposible un tratamiento manual o aún con la ayuda de computadoras. Algunos enfoques se basan en la creación de lenguajes de programación con construcciones con un alto nivel de abstración para expresar concurrencia y sincronización. Otros enfoques tratan de desarrollar técnicas y métodos de razonamiento para demostrar propiedades, algunos usan demostradores de teoremas generales, model-checking o algortimos específicos sobre un determinado sistema de tipos. Los enfoques basados en análisis estático liviano utilizan técnicas como interpretación abstracta para detectar ciertos tipos de errores, de una manera conservativa. Estas técnicas generalmente escalan lo suficiente para aplicarse en grandes proyectos de software pero los tipos de errores que pueden detectar es limitada. Algunas propiedades interesantes están relacionadas a condiciones de carrera y deadlocks, mientras que otros están interesados en problemas relacionados con la seguridad de los sistemas, como confidencialidad e integridad de datos. Los principales objetivos de esta propuesta es identificar algunas propiedades de interés a verificar en sistemas concurrentes y desarrollar técnicas y herramientas para realizar la verificación en forma automática. Para lograr estos objetivos, se pondrá énfasis en el estudio y desarrollo de sistemas de tipos como tipos dependientes, sistema de tipos y efectos, y tipos de efectos sensibles al flujo de datos y control. Estos sistemas de tipos se aplicarán a algunos modelos de programación concurrente como por ejemplo, en Simple Concurrent Object-Oriented Programming (SCOOP) y Java. Además se abordarán propiedades de seguridad usando sistemas de tipos específicos. Concurrent programming has remained a dificult task even for very experienced programmers. Concurrency research has provided a rich set of tools and mechanisms for dealing with data races and deadlocks that arise of incorrect use of synchronization. Verification of most interesting properties of concurrent programs is a very dificult task due to intrinsic non-deterministic nature of concurrency, resulting in a state explosion which make it almost imposible to be manually treat and it is a serious challenge to do that even with help of computers. Some approaches attempts create programming languages with higher levels of abstraction for expressing concurrency and synchronization. Other approaches try to develop reasoning methods to prove properties, either using general theorem provers, model-checking or specific algorithms on some type systems. The light-weight static analysis approach apply techniques like abstract interpretation to find certain kind of bugs in a conservative way. This techniques scale well to be applied in large software projects but the kind of bugs they may find are limited. Some interesting properties are related to data races and deadlocks, while others are interested in some security problems like confidentiality and integrity of data. The main goals of this proposal is to identify some interesting properties to verify in concurrent systems and develop techniques and tools to do full automatic verification. The main approach will be the application of type systems, as dependent types, type and effect systems, and flow-efect types. Those type systems will be applied to some models for concurrent programming as Simple Concurrent Object-Oriented Programming (SCOOP) and Java. Other goals include the analysis of security properties also using specific type systems.
Resumo:
Continuing developments in science and technology mean that the amounts of information forensic scientists are able to provide for criminal investigations is ever increasing. The commensurate increase in complexity creates difficulties for scientists and lawyers with regard to evaluation and interpretation, notably with respect to issues of inference and decision. Probability theory, implemented through graphical methods, and specifically Bayesian networks, provides powerful methods to deal with this complexity. Extensions of these methods to elements of decision theory provide further support and assistance to the judicial system. Bayesian Networks for Probabilistic Inference and Decision Analysis in Forensic Science provides a unique and comprehensive introduction to the use of Bayesian decision networks for the evaluation and interpretation of scientific findings in forensic science, and for the support of decision-makers in their scientific and legal tasks. Includes self-contained introductions to probability and decision theory. Develops the characteristics of Bayesian networks, object-oriented Bayesian networks and their extension to decision models. Features implementation of the methodology with reference to commercial and academically available software. Presents standard networks and their extensions that can be easily implemented and that can assist in the reader's own analysis of real cases. Provides a technique for structuring problems and organizing data based on methods and principles of scientific reasoning. Contains a method for the construction of coherent and defensible arguments for the analysis and evaluation of scientific findings and for decisions based on them. Is written in a lucid style, suitable for forensic scientists and lawyers with minimal mathematical background. Includes a foreword by Ian Evett. The clear and accessible style of this second edition makes this book ideal for all forensic scientists, applied statisticians and graduate students wishing to evaluate forensic findings from the perspective of probability and decision analysis. It will also appeal to lawyers and other scientists and professionals interested in the evaluation and interpretation of forensic findings, including decision making based on scientific information.
Resumo:
L'objectiu és una aplicació que permeti realitzar el càlcul del volum de terres disponibles en el subsòl d'un àrea seleccionada. L'objectiu final del projecte serà crear un Sistema d'Informació Geogràfica SIG que ajudi a valorar quines parcel¿les de l'àrea seleccionada són les que disposen de més volum de terres per iniciar la seva explotació. Per a això, es disposa del programari gvSIG i les seves extensions (SEXTANTE) i de tota la informació que es pugui obtenir sobre els SIG, Cartografia, Geodèsia... Per dur a terme aquest projecte es necessita tenir experiència en Bases de dades, Programació Orientada a Objectes i seria recomanable tenir coneixements sobre Enginyeria del Programador. El projecte se centrarà en la utilització de gvSIG, com un exemple concret de programari SIG de lliure accés, solució desenvolupada per la ¿Conselleria d%o2019Obris Publiquis de la Generalitat Valenciana¿. Una part d'aquest projecte consistirà a avaluar aquest programari. El resultat final serà l'obtenció dels coneixements necessaris per poder treballar amb dades espacials a més d'una aplicació SIG per al càlcul del volum de terres d'un àrea seleccionada.
Resumo:
Aquest treball consisteix en l'anàlisi i disseny d'una aplicació per la gestió de reserves d'un complex de 39 apartaments, anomenat AIDA
Resumo:
Aquest treball de final de carrera pretén cobrir una necessitat divulgativa del món de l'espeleologia, proporcionant al col·lectiu espeleològic una aplicació basada en web que permeti publicar, de forma cooperativa, ressenyes de cavitats incorporant dades textuals, fotografies, topografies i mapes d'ubicació.El projecte s'ha desenvolupat com a Treball de Final de Carrera de l'àrea J2EE de l'Enginyeria Tècnica en Informàtica de Gestió. La seva implementació, per tant, està basada en Programació Orientada a Objectes amb llenguatge Java i tecnologies J2EE.
Resumo:
Es tracta d'una recerca d'eines CASEque actualment suporten OCL en la generació automàtica de codi Java per estudiar-les ianalitzar-les a través d'un model de proves consistent en un diagrama de classes del modelestàtic de l'UML i una mostra variada d'instruccions OCL, amb l'objectiu de detectar lesseves mancances, analitzant el codi obtingut i determinar si controla o no cada tipus derestricció, i si s'han implementat bé en el codi.
Resumo:
L'objectiu és estudiar les característiques orientades a l'objecte de l'estàndard SQL: 1999 i posar-les a prova amb un producte comercial que les suporti.
Resumo:
Desenvolupament d'un sistema d'informació, és a dir, d'una aplicació Java empresarial, que s'adapti a les necessitats de l'empresa sol·licitant. Tota l'aplicació estarà realitzada amb el llenguatge de programació Java16, realitzant un anàlisi i disseny orientat a objectes.