182,675 research outputs found

    Pembelajaran Pemrograman Berorientasi Objek (Object Oriented Programming) Berbasis Project Based Learning

    Get PDF
     Learning aims to help to gain experience both knowledge, skills, and values ​​in order to become increasing quantity and quality. For that education should be able to prepare human resources creative. The problems found in learning require creative thinking especially in programming learning, the ability to think algorithm is needed to make the program made as expected. Object oriented programming or Object Oriented Programming (OOP) provides convenience in making a program, because OOP programming has been using the concept of modularity of objects and classes. Java is an object oriented programming (OOP) programming language that can run on various operating system platforms, both on computers and on mobile phones. Alice can be used for Object-based programming learning, as Alice is a program designed to learn the basic concepts of computer programs while creating story telling and simple 3D interactive games. Alice can introduce the concept of fun programming through learning to create animations and games. Simply project-based learning using Alice can be applied with learning using animation technology with daily life problems. Project-based learning (project based learning) methods make it more active, creative and successful in solving problems with good and correct algorithms. The project-based learning model has advantages in improving learning outcomes and motivation.   Keywords: Alice, Object oriented programming, Project based learnin

    Planning and financing in the social development

    Get PDF
    Purpose: Determining the purpose, content, appropriation, features of the program-target and design-target methods of planning and financing in the social sphere and the ways of their further development. Design/Methodology /Approach: In modern conditions of economic and financial uncertainty in the social sphere, reform changes, aimed at improving the quality of public finance management are in progress. These transformations were launched by the Ministry of Finance of Russia in 2004, when the main directions of budget sector reform were identified, including the transition to new forms of financial support for the provision of state (municipal) services, the introduction of result-oriented budgeting methods. The presented article is devoted to the methods of a programmatic approach to planning and financing in the social sphere development. Findings: An integrated approach to the implementation of planning, financing and management of budgetary resources in the social sphere will make it possible to consider the program-target and project-target methods as the key tools for the distribution of labor, material and financial resources to achieve the goals and objectives, while the levels of goals achievement must have measurable indexes (indicators) that have the ability to influence the managed object. Practical implications: The results of the study can be applied in the management activities of the state and municipal authorities, social institutions with the aim of developing the program-targeted and design-targeted methods of planning and financing. Originality /value: The main idea of the modern stage in the development of program methods for planning and financing in the social sphere is that a new quality of public and municipal finance management, optimization of budget expenditures requires the inclusion in the state programs of measures aimed at achieving the goals stated in the relevant national and federal projectspeer-reviewe

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    Using Modularity Metrics to assist Move Method Refactoring of Large System

    Full text link
    For large software systems, refactoring activities can be a challenging task, since for keeping component complexity under control the overall architecture as well as many details of each component have to be considered. Product metrics are therefore often used to quantify several parameters related to the modularity of a software system. This paper devises an approach for automatically suggesting refactoring opportunities on large software systems. We show that by assessing metrics for all components, move methods refactoring an be suggested in such a way to improve modularity of several components at once, without hindering any other. However, computing metrics for large software systems, comprising thousands of classes or more, can be a time consuming task when performed on a single CPU. For this, we propose a solution that computes metrics by resorting to GPU, hence greatly shortening computation time. Thanks to our approach precise knowledge on several properties of the system can be continuously gathered while the system evolves, hence assisting developers to quickly assess several solutions for reducing modularity issues

    Structured Review of the Evidence for Effects of Code Duplication on Software Quality

    Get PDF
    This report presents the detailed steps and results of a structured review of code clone literature. The aim of the review is to investigate the evidence for the claim that code duplication has a negative effect on code changeability. This report contains only the details of the review for which there is not enough place to include them in the companion paper published at a conference (Hordijk, Ponisio et al. 2009 - Harmfulness of Code Duplication - A Structured Review of the Evidence)

    Improving Prolog programs: Refactoring for Prolog

    Full text link
    Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas have not been applied to Logic Programming until now. This paper applies the ideas of refactoring to Prolog programs. A catalogue is presented listing refactorings classified according to scope. Some of the refactorings have been adapted from the OO-paradigm, while others have been specifically designed for Prolog. The discrepancy between intended and operational semantics in Prolog is also addressed by some of the refactorings. In addition, ViPReSS, a semi-automatic refactoring browser, is discussed and the experience with applying ViPReSS to a large Prolog legacy system is reported. The main conclusion is that refactoring is both a viable technique in Prolog and a rather desirable one.Comment: To appear in Theory and Practice of Logic Programming (TPLP

    Refactorings of Design Defects using Relational Concept Analysis

    Get PDF
    Software engineers often need to identify and correct design defects, ıe} recurring design problems that hinder development and maintenance\ud by making programs harder to comprehend and--or evolve. While detection\ud of design defects is an actively researched area, their correction---mainly\ud a manual and time-consuming activity --- is yet to be extensively\ud investigated for automation. In this paper, we propose an automated\ud approach for suggesting defect-correcting refactorings using relational\ud concept analysis (RCA). The added value of RCA consists in exploiting\ud the links between formal objects which abound in a software re-engineering\ud context. We validated our approach on instances of the <span class='textit'></span>Blob\ud design defect taken from four different open-source programs

    Using FCA to Suggest Refactorings to Correct Design Defects

    Get PDF
    Design defects are poor design choices resulting in a hard-to- maintain software, hence their detection and correction are key steps of a\ud disciplined software process aimed at yielding high-quality software\ud artifacts. While modern structure- and metric-based techniques enable\ud precise detection of design defects, the correction of the discovered\ud defects, e.g., by means of refactorings, remains a manual, hence\ud error-prone, activity. As many of the refactorings amount to re-distributing\ud class members over a (possibly extended) set of classes, formal concept\ud analysis (FCA) has been successfully applied in the past as a formal\ud framework for refactoring exploration. Here we propose a novel approach\ud for defect removal in object-oriented programs that combines the\ud effectiveness of metrics with the theoretical strength of FCA. A\ud case study of a specific defect, the Blob, drawn from the\ud Azureus project illustrates our approach
    corecore