scholarly journals PersistF: A Transparent Persistence Framework with Architecture Applying Design Patterns

10.28945/3176 ◽  
2007 ◽  
Author(s):  
Samir Jusic ◽  
Lee Sai Peck

Persistence is the term used in computer science to describe a capability to store data structures in non-volatile storage such as a file system or a relational database (Wikipedia, 2003). There is a growing need to simplify the interactions among separate systems and to build complex software systems that are made out of components with well-defined services. At the base-level of such complex systems lies a persistence framework - a set of classes tailored to save, retrieve, update and delete objects to and from their persistence stores, such as databases and flat files. This paper presents the design, and implementation of the transparent persistence framework called PersistF. Design patterns (Gamma, Helm, Johnson, & Vlissides, 1995) have been widely accepted in the software engineering community as the recommended approach to developing software. Part of the research effort of this work included the application of well-known design patterns in order to build the framework. We present how consistent application of design patterns allowed us to build a fully working persistence framework. In order to support development of modern complex applications, some recent application development environments for different programming languages are built in with some kind of persistence framework. To use these frameworks in target applications, the developer often must go through a steep learning curve as each framework is specific in some way, but namely in respect of configuring the framework’s runtime engine with enough information about the domain application. This configuration is often time consuming and error prone. Most of the existing frameworks require complicated configuration steps that are imposed onto the developer. Our aim with this work was to present a framework that will not require such complicated configuration steps and would provide its service to the target application with virtually no configuration of the framework's handling of domain classes.

1992 ◽  
Vol 01 (01) ◽  
pp. 43-60 ◽  
Author(s):  
DENNIS TSICHRITZIS ◽  
OSCAR NIERSTRASZ ◽  
SIMON GIBBS

Object-orientation offers more than just objects, classes and inheritance as means to structure applications. It is an approach to application development in which software systems can be constructed by composing and refining pre-designed, plug-compatible software components. But for this approach to be successfully applied, programming languages must provide better support for component specification and software composition, the software development life-cycle must separate the issues of generic component design and reuse from that of constructing applications to meet specific requirements, and, more generally, the way we develop, manage, exchange and market software must adapt to better support large-scale reuse for software communities. In this paper we shall explore these themes and we will highlight a number of key research directions and open problems to be explored as steps towards improving the effectiveness of object technology.


2012 ◽  
Vol 2 (2) ◽  
pp. 112-116
Author(s):  
Shikha Bhatia ◽  
Mr. Harshpreet Singh

With the mounting demand of web applications, a number of issues allied to its quality have came in existence. In the meadow of web applications, it is very thorny to develop high quality web applications. A design pattern is a general repeatable solution to a generally stirring problem in software design. It should be noted that design pattern is not a finished product that can be directly transformed into source code. Rather design pattern is a depiction or template that describes how to find solution of a problem that can be used in many different situations. Past research has shown that design patterns greatly improved the execution speed of a software application. Design pattern are classified as creational design patterns, structural design pattern, behavioral design pattern, etc. MVC design pattern is very productive for architecting interactive software systems and web applications. This design pattern is partition-independent, because it is expressed in terms of an interactive application running in a single address space. We will design and analyze an algorithm by using MVC approach to improve the performance of web based application. The objective of our study will be to reduce one of the major object oriented features i.e. coupling between model and view segments of web based application. The implementation for the same will be done in by using .NET framework.


Author(s):  
Hugh I. Connacher ◽  
Sankar Jayaram ◽  
Kevin Lyons

Abstract Virtual reality is a technology which is often regarded as a natural extension to 3D computer graphics with advanced input and output devices. This technology has only recently matured enough to warrant serious engineering applications. The integration of this new technology with software systems for engineering, design and manufacturing will provide a new boost to the field of computer-aided engineering. One aspect of design and manufacturing which may be significantly affected by virtual reality is design for assembly. This paper presents the ideas behind a current research effort aimed at creating a virtual assembly design environment and integrating that environment with a commercial, parametric CAD system.


e-xacta ◽  
2016 ◽  
Vol 9 (1) ◽  
pp. 37
Author(s):  
Cristiano Martins Monteiro ◽  
Flavianne Braga Campos de Lima ◽  
Carlos Renato Storck

<p>A geração automática de código-fonte é uma prática adotada no desenvolvimento de softwares para agilizar, facilitar e padronizar a implementação dos projetos. Embora seja uma prática comum nas fábricas de software, não se conhece uma ferramenta que permita escolher o padrão de projeto a ser usado. O objetivo principal deste trabalho é apresentar um gerador de códigos para o desenvolvimento de sistemas Web a partir de uma modelagem entidade-relacionamento, uma linguagem de programação e um padrão de projeto determinados pelo usuário. Os objetivos específicos são propor uma arquitetura do sistema capaz de adequar e reaproveitar diferentes padrões de projeto, linguagens de programação e projetos cadastrados; permitir que o usuário cadastre, altere, exclua, importe e exporte um projeto; e gerar automaticamente o seu código-fonte e scripts de banco de dados. Este trabalho se justifica pela importância de reduzir erros de codificação; e evitar perca tempo ao realizar atividades rotineiras de implementação de padrões de projeto. Possibilitando assim, maior dedicação no planejamento das regras de negócios e redução de custos. A ferramenta proposta (GCER) foi desenvolvida em linguagem Java com o uso banco de dados Oracle 11g, e seguindo os padrões DAO e MVC. Os resultados foram avaliados através da geração e compilação de códigos de um projeto para cadastro de veículos. A geração com êxito evidencia a viabilidade da ferramenta proposta para a geração automática de códigos no processo de desenvolvimento de software.</p><p>Abstract</p><p>The automatic generation of source code is a practice adopted in the development of software to streamline, facilitate and standardize the implementation of projects. Although it be a common practice in software factories, it is not known a tool able to choose the design pattern to be used. The main objective of this paper is to present a code generator for the development of Web systems from an entity-relationship modeling, a programming language and a design pattern determined by the user. The specific objectives are to propose a system architecture able to suit and reuse different design patterns, programming languages and saved projects; allow the user to insert, update, delete, import and export a project; and automatically generate the source code and database scripts. This work is justified by the importance to reduce errors of coding; and to avoid waste of time in the development of Web systems performing routine tasks. Allowing, then, a greater dedication in the planning of business rules and the reduction of costs. The tool proposed (GCER) was developed in Java with the database using Oracle 11g, and following the DAO and MVC patterns. The results were evaluated by generating and compiling codes of a project for vehicle registration. The successful code generation demonstrate the feasibility of the proposed tool for the automatic generation of code in the software development process.</p>


2007 ◽  
Vol 4 (2) ◽  
pp. 116-130 ◽  
Author(s):  
Ján Kollár ◽  
Jaroslav Porubän ◽  
Peter Václavík ◽  
Jana Bandáková ◽  
Michal Forgác

From the viewpoint of adaptability, we classify software systems as being nonreflexive, introspective and adaptive. Introducing a simple example of LL(1) languages for expressions, we present its nonreflexive and adaptive implementation using Haskell functional language. Multiple metalevel concepts are an essential demand for a systematic language approach, to build up adaptable software systems dynamically, i.e. to evolve them. A feedback reflection loop from data to code through metalevel data is the basic implementation requirement and the proposition for semi-automatic evolution of software systems. In this sense, practical experiment introduced in this paper is related to the base level of language, but it illustrates the ability for extensions primarily in horizontal but also in vertical direction of an adaptive system.


Author(s):  
Raden Andy Kurniawan ◽  
Umar Zaky

The current development of microcontroller technology can be used to build a presence system for employees. The employee attendance system uses radio frequency identification and facial identification which is designed and built to make it easier to do attendance data recording, so that the data obtained can be precise and accurate. Data collection techniques, namely by interview and observation. The application development process uses the PHP and Python programming languages ​​with Visual Studio Code software applications, Arduino Uno, MySQL software as a database server, and XAMPP as a support. The input used in this system is the employee's personal data and the results of employee face data retrieval which are stored in the .jpg format. The faces taken were taken from 4 people where each face was taken 20 face samples. The results are in the form of web and applications that will provide solutions to existing problems. The conclusion of this application makes it easy to do the recording and attendance, and minimize the fraud committed by employees. Retrieval of face data was taken as much as 20 data with the highest level of accuracy was 87% when the presence test was carried out.


I-STATEMENT ◽  
2021 ◽  
Vol 6 (1) ◽  
pp. 01-08
Author(s):  
Anne Sukmayani ◽  
Erza Sofian ◽  
Abdul Barir Hakim

The development of information technology has a direct impact on the improvement of the mobile phone industry, resulting in increased production and use of smartphones as a medium of information exchange. This development also creates an evolution in the world of mobile services. Android is one of the operating systems on mobile phones that provides an open platform for developers to build applications on various mobile devices. This research aims to build an Android-based mobile application that provides information on tourist attractions in Taman Mini Indonesia Indah. in real time and apply location-based services to the application. This TMII travel guide mobile application was created using Android Studio as an Integrated Development Environment (IDE), Google Maps API, and SQLite and MySql. The programming languages used are java, xml, sql, and php. The research method used is the SDLC (Software Development Life Cycle) approach with the Rapid Application Development (RAD) model.


Author(s):  
Hiba Al Sghaier

Software engineering is one of computer science branches, it comprises of building and developing software systems and applications. Software engineering is a discipline that has a constant growth in research in aim to identify new technologies and adopt it in different areas; there is a considerable investment on software engineering trends at the current time due to the availability of mobile technologies. With millions of billions of smart devices that are connected to the internet, all industries around the world are rapidly becoming a technology driven industries. Software engineers are aware of programming languages that are employed to develop software systems, by applying engineering principles to development process; they can design customized software systems for individual or organizational customers. The new trends in software engineering are numerous, Cloud Computing, machine learning, deep learning, big Data, mobile Computing. Nevertheless, there are many more other research trends in software engineering's field that have been intensively explored and implemented in many different industries. In this paper, authors try to summarize the most fields that are integrated with software engineering recently.


Author(s):  
Anders I. Morch

This chapter is about evolutionary application development as a means for including end users in further development of existing software systems. The chapter presents concepts and techniques for evolutionary development that reuses ideas from other domains in which evolution plays a dominant role (biology, architecture, and art objects). It argues that end users need access to representations of a system that are less formal than program code, but more powerful than informal design representations, and that this information can be obtained from the system’s past use and development history. The “resemblance relation” is presented as a tentative solution. It includes elements of object-oriented programming and component-based development. It is hoped that this chapter will provide the reader with a new view on systems development, and how end users can participate as designers in the evolutionary process.


Sign in / Sign up

Export Citation Format

Share Document