234 research outputs found

    The cloud paradigm: Are you tuned for the lyrics?

    Get PDF
    Major players, business angels and opinion-makers are broadcasting beguiled lyrics on the most recent IT hype: your software should ascend to the clouds. There are many clouds and the stake is high. Distractedly, many of us became assiduous users of the cloud, but perhaps due to the legacy systems and legacy knowledge, IT professionals, mainly those many that work in business information systems for the long tail, are not as much plunged into producing cloud-based systems for their clients. This keynote will delve into several aspects of this cloud paradigm, from more generic concerns regarding security and value for money, to more specific worries that reach software engineers in general. Do we need a different software development process? Are development techniques and tools mature enough? What about the role of open-source in the cloud? How do we assess the quality in cloud-based development? Please stay tuned for more!info:eu-repo/semantics/publishedVersio

    Model-driven GUI generation and navigation for android BIS apps

    Get PDF
    This paper presents our approach for producing graphical user interfaces (GUIs) for functionally rich business information system (BIS) prototypes, upon a mobile platform. Those prototypes are specified with annotated UML class diagrams. Navigation in the generated GUIs is allowed through the semantic links that match the associations and cardinalities among the conceptual domain entities, as expressed in the model. We start by reviewing the Android scaffolding for producing flexible GUIs for mobile devices. The latter can present rather different displays, in terms of size, orientation and resolution. Then we show how our model-based generative technique allows producing prototypes that match both the Android GUIs requirements, while implementing our model-driven approach for user navigation.info:eu-repo/semantics/publishedVersio

    The eclipse java metamodel scaffolding software engineering research on java projects with MDE techniques

    Get PDF
    Java on the Eclipse IDE is a frequent choice for software development nowadays. Software Engineering researchers have built program analysis tools in that environment for several purposes. However, that requires a deep understanding of Eclipse internals, such as the Java AST. This paper discusses the feasibility of a metamodel-driven approach to scaffold the construction of such tools. Its core is the Eclipse Java Metamodel (EJMM), obtained through reverse engineering. The latter is instantiated with meta-objects representing the constructs of a given Java program. We then use OCL to traverse programs very easily. To validate the feasibility of our metamodel-driven approach to program analysis, we developed an Eclipse plug-in based on it, to support the metamodel-driven measurement (M2DM) approach.info:eu-repo/semantics/publishedVersio

    Moving to the cloud: Estimating the internet connection bandwidth

    Get PDF
    IT Infrastructures (ITIs) have long been understood in terms of people and resources such as servers, routers, firewalls and operating systems, among other components, running and providing services inside the organization. The need to reduce the cost of ITI ownership, by offloading its capacity to third parties, has motivated organizations to consider the Cloud Computing alternative. The main drawback they face when opting for the cloud is the dependency on and requirements of the internet connection, since it must be fast and reliable. This paper addresses this concern by providing guidelines for estimating internet connection bandwidth requirements for a prototypical cloud-based organization represented by means of an IT infrastructure pattern. ITI patterns are reusable and proven solutions to support the ITI design process and to facilitate the communication among stakeholders.info:eu-repo/semantics/acceptedVersio

    Mining software development process variations

    Get PDF
    Process tailoring aims to customize a software process to better suit the specific needs of an organization when executing a software project or due to a social context in which the process is inserted. Tailoring happens, in general, through variations in the process elements, such as activities, artifacts, and control flows. This paper aims to introduce a technique that uses process mining to uncover elements from the software process that are candidates for tailoring. The proposed approach analyzes the execution logs from several process instances that share a common standard process. As a result, execution traces that differ from the standard process flow are identified and assessed to uncover their variable elements. The proposed technique was evaluated with data extracted from a real software development scenario when a large system was under development for a set of Brazilian Federal Institutes of Education, Science and Technology.info:eu-repo/semantics/acceptedVersio

    Improving IT infrastructures representation: A UML profile

    Get PDF
    IT infrastructures are most times informally modeled. The resulting models are ambiguous to stakeholders, cannot be checked for validity, and therefore are unable to play their important role in design, deployment and maintenance activities. The main reason for such a poor state-of-the-art lies mainly in the absence of a modeling language capable of representing IT infrastructures at the required level of abstraction. Indeed, existing candidate languages are too abstract, as shown in this paper by reviewing their metamodels. The present paper mitigates this problem by proposing a UML profile to describe the semantics of an IT infrastructure.info:eu-repo/semantics/publishedVersio

    Improving IT infrastructures representation: A UML profile

    Get PDF
    IT infrastructures are most times informally modeled. The resulting models are ambiguous to stakeholders, cannot be checked for validity, and therefore are unable to play their important role in design, deployment and maintenance activities. The main reason for such a poor state-of-the-art lies mainly in the absence of a modeling language capable of representing IT infrastructures at the required level of abstraction. Indeed, existing candidate languages are too abstract, as shown in this paper by reviewing their metamodels. The present paper mitigates this problem by proposing a UML profile to describe the semantics of an IT infrastructure.info:eu-repo/semantics/publishedVersio

    Scaffolding MATLAB and octave software comprehension through visualization

    Get PDF
    Multiple view interactive environments (MVIEs) provide visual resources to support the comprehension of a specific domain dataset. For any domain, different views can be selected and configured in a real time fashion to be better adjusted to the user needs. This paper focuses on the use of a MVIE called OctMiner to support the comprehension of MATLAB and GNU/Octave programs. The authors conducted a case study to characterize the use of OctMiner in the context of comprehension activities. Results provide preliminary evidence of the effectiveness of OctMiner to support the comprehension of programs written in MATLAB and Octave.info:eu-repo/semantics/acceptedVersio

    Assessing software development teams' efficiency using process mining

    Get PDF
    Context. Improving the efficiency and effectiveness of software development projects implies understanding their actual process. Given the same requirements specification, different software development teams may follow different strategies and that may lead to inappropriate use of tools or non-optimized allocation of effort on spurious activities, non-aligned with the desired goals. However, due to its intangibility, the actual process followed by each developer or team is often a black box. Objective. The overall goal of this study is to improve the knowledge on how to measure efficiency in development teams where a great deal of variability may exist due to the humanfactor. The main focus is on the discovery of the underlying processes and compare them in terms of efficiency and effectiveness. By doing so, we expect to reveal potentially hidden costs and risks, so that corrective actions may take place on a timely manner during the software project life cycle. Method. Several independent teams of Java programmers, using the Eclipse IDE, were assigned the same software quality task, related to code smells detection for identifying refactoring opportunities and the quality of the outcomes were assessed by independent experts. The events corresponding to the activity of each team upon the IDE, while performing the given task, were captured. Then, we used process mining techniques to discover development process models, evaluate their quality and compare variants against a reference model used as ”best practice”. Results. Teams whose process model was less complex, had the best outcomes and vice-versa. Comparing less complex process variants with the ”best practice” process, showed that they were also the ones with less differences in the control-flow perspective, based on activities frequencies. We have also determined which teams were most efficient through process analysis. Conclusions. We confirmed that, even for a well-defined software development task, there may be a great deal of process variability due to the human factor. We were able to identify when developers were more or less focused in the essential tasks they were required to perform. Less focused teams had the more complex process models, due to the spurious / non-essential actions that were carried out. In other words, they were less efficient. Experts’ opinion confirmed that those teams also were less effective in their expected delivery. We therefore concluded that a self-awareness of the performed process rendered by our approach, may be used to identify corrective actions that will improve process efficiency (less wasted effort) and may yield to better deliverables, i.e. improved process effectiveness.info:eu-repo/semantics/acceptedVersio
    corecore