450,947 research outputs found

    Integrating automated structured analysis and design with Ada programming support environments

    Get PDF
    Ada Programming Support Environments (APSE) include many powerful tools that address the implementation of Ada code. These tools do not address the entire software development process. Structured analysis is a methodology that addresses the creation of complete and accurate system specifications. Structured design takes a specification and derives a plan to decompose the system subcomponents, and provides heuristics to optimize the software design to minimize errors and maintenance. It can also produce the creation of useable modules. Studies have shown that most software errors result from poor system specifications, and that these errors also become more expensive to fix as the development process continues. Structured analysis and design help to uncover error in the early stages of development. The APSE tools help to insure that the code produced is correct, and aid in finding obscure coding errors. However, they do not have the capability to detect errors in specifications or to detect poor designs. An automated system for structured analysis and design TEAMWORK, which can be integrated with an APSE to support software systems development from specification through implementation is described. These tools completement each other to help developers improve quality and productivity, as well as to reduce development and maintenance costs. Complete system documentation and reusable code also resultss from the use of these tools. Integrating an APSE with automated tools for structured analysis and design provide capabilities and advantages beyond those realized with any of these systems used by themselves

    The GOODSTEP project: General Object-Oriented Database for Software Engineering Processes

    Get PDF
    The goal of the GOODSTEP project is to enhance and improve the functionality of a fully object-oriented database management system to yield a platform suited for applications such as software development environments (SDEs). The baseline of the project is the O2 database management system (DBMS). The O2 DBMS already includes many of the features regulated by SDEs. The project has identified enhancements to O2 in order to make it a real software engineering DBMS. These enhancements are essentially upgrades of the existing O2 functionality, and hence require relatively easy extensions to the O2 system. They have been developed in the early stages of the project and are now exploited and validated by a number of software engineering tools built on top of the enhanced O2 DBMS. To ease tool construction, the GOODSTEP platform encompasses tool generation capabilities which allow for generation of integrated graphical and textual tools from high-level specifications. In addition, the GOODSTEP platform provides a software process toolset which enables modeling, analysis and enaction of software processes and is also built on top of the extended O2 database. The GOODSTEP platform is to be validated using two CASE studies carried out to develop an airline application and a business application

    User-centered requirement engineering for accessible chats in m-learning

    Get PDF
    Chat applications are useful synchronous tools in mobile learning (m-learning) environments. However, these tools have accessibility problems which cannot be avoided by students and teachers with disabilities. This paper focuses on detecting these accessibility problems. Specifically, this paper presents the Requirement Engineering (RE) process carried out to obtain the requirements needed to improve the interaction for people who experience problems with the Flow and Rhythm of the conversation in chats. A methodological approach has been followed and Software Engineering (SE) and Human Computer Interaction (HCI) disciplines were combined in order to improve the interaction during the chat.This research was partially supported by the MA2VICMR (S2009/TIC-1542) project. Also, our thanks to all users who took part in the studyPublicad

    Development of Advanced Verification and Validation Procedures and Tools for the Certification of Learning Systems in Aerospace Applications

    Get PDF
    Adaptive control technologies that incorporate learning algorithms have been proposed to enable automatic flight control and vehicle recovery, autonomous flight, and to maintain vehicle performance in the face of unknown, changing, or poorly defined operating environments. In order for adaptive control systems to be used in safety-critical aerospace applications, they must be proven to be highly safe and reliable. Rigorous methods for adaptive software verification and validation must be developed to ensure that control system software failures will not occur. Of central importance in this regard is the need to establish reliable methods that guarantee convergent learning, rapid convergence (learning) rate, and algorithm stability. This paper presents the major problems of adaptive control systems that use learning to improve performance. The paper then presents the major procedures and tools presently developed or currently being developed to enable the verification, validation, and ultimate certification of these adaptive control systems. These technologies include the application of automated program analysis methods, techniques to improve the learning process, analytical methods to verify stability, methods to automatically synthesize code, simulation and test methods, and tools to provide on-line software assurance

    Data-Driven Decisions and Actions in Today’s Software Development

    Full text link
    Today’s software development is all about data: data about the software product itself, about the process and its different stages, about the customers and markets, about the development, the testing, the integration, the deployment, or the runtime aspects in the cloud. We use static and dynamic data of various kinds and quantities to analyze market feedback, feature impact, code quality, architectural design alternatives, or effects of performance optimizations. Development environments are no longer limited to IDEs in a desktop application or the like but span the Internet using live programming environments such as Cloud9 or large-volume repositories such as BitBucket, GitHub, GitLab, or StackOverflow. Software development has become “live” in the cloud, be it the coding, the testing, or the experimentation with different product options on the Internet. The inherent complexity puts a further burden on developers, since they need to stay alert when constantly switching between tasks in different phases. Research has been analyzing the development process, its data and stakeholders, for decades and is working on various tools that can help developers in their daily tasks to improve the quality of their work and their productivity. In this chapter, we critically reflect on the challenges faced by developers in a typical release cycle, identify inherent problems of the individual phases, and present the current state of the research that can help overcome these issues

    Requirements for a software maintenance support environment

    Get PDF
    This thesis surveys the field of software maintenance, and addresses the maintenance requirements of the Aerospace Industry, which is developing inige projects, running over many years, and sometimes safety critical in nature (e.g. ARIANE 5, HERMES, COLUMBUS). Some projects are collaborative between distributed European partners. The industry will have to cope in the near and far future with the maintenance of these products and it will be essential to improve the software maintenance process and the environments for maintenance. Cost effective software maintenance needs an efficient, high quality and homogeneous environment or Integrated Project Support Environment (IPSE). Most IPSE work has addressed software development, and lias not fully considered the requirements of software maintenance. The aim of this project is to draw up a set of priorities and requirements for a Maintenance IPSE. An IPSE, however can only support a software maintenance method. The first stage of this project is to deline 'software maintenance best practice' addressing the organisational, managerial and technical aspects, along with an evaluation of software maintenance tools for Aerospace systems. From this and an evaluation of current IPSEs, the requirements for a Software Maintenance Support Environment are presented for maintenance of Aerospace software

    Characterizing and evaluating the quality of software process modeling language: Comparison of ten representative model-based languages

    Get PDF
    Software organizations are very conscious that deployments of well-defined software processes improve software product development and its quality. Over last decade, many Software Process Modeling Languages (SPMLs) have been proposed to describe and manage software processes. However, each one presents advantages and disadvantages. The main challenge for an organization is to choose the best and most suitable SPML to meet its requirements. This paper proposes a Quality Model (QM) which has been defined conforms to QuEF (Quality Evaluation Framework). This QM allows to compare model-based SPMLs and it could be used by organizations to choose the most useful model-based SPML for their particular requirements. This paper also instances our QM to evaluate and compare 10 representative SPMLs of the various alternative approaches (metamodel-level approaches; SPML based on UML and approaches based on standards). Finally, this paper concludes there are many model-based proposals for SPM, but it is very difficult to establish with could be the commitment to follow. Some non-considered aspects until now have been identified (e.g., validation within enterprise environments, friendly support tools, mechanisms to carry out continuous improvement, mechanisms to establish business rules and elements for software process orchestrating).Ministerio de Economía y Competitividad TIN2016-76956-C3-2-R (POLOLAS

    Application for managing container-based software development environments

    Get PDF
    Abstract. Virtualizing the software development process can enhance efficiency through unified, remotely managed environments. Docker containers, a popular technology in software development, are widely used for application testing and deployment. This thesis examines the use of containers as cloud-based development environments. This study explores the history and implementation of container-based virtualization before presenting containers as a novel cloud-based software development environment. Virtual containers, like virtual machines, have been extensively used in software development for code testing but not as development environments. Containers are also prevalent in the final stages of software production, specifically in the distribution and deployment of completed applications. In the practical part of the thesis, an application is implemented to improve the usability of a container-based development environment, addressing challenges in adopting new work environments. The work was conducted for a private company, and multiple experts provided input. The management application enhanced the container-based development environment’s efficiency by improving user rights management, virtual container management, and user interface. Additionally, the new management tools reduced training time for new employees by 50%, facilitating their integration into the organization. Container-based development environments with efficient management tools provide a secure, efficient, and unified platform for large-scale software development. Virtual containers also hold potential for future improvements in energy-saving strategies and organizational work method harmonization and integration.Sovellus konttipohjaisten ohjelmistonkehitysympäristöjen hallintaan. Tiivistelmä. Ohjelmistokehitysprosessin virtualisointi voi parantaa tehokkuutta yhtenäisten, etähallittujen ympäristöjen avulla. Ohjelmistonkehityksessä suosittu ohjelmistonkehitysteknologia, Docker-kontteja käytetään laajalti sovellusten testaamisessa ja käyttöönotossa. Tässä opinnäytetyössä tarkastellaan konttien käyttöä pilvipohjaisina kehitysympäristöinä. Tämä tutkimus tutkii konttipohjaisen virtualisoinnin historiaa ja toteutusta, jonka jälkeen esitellään konttien käyttöä uudenlaisena pilvipohjaisena ohjelmistokehitysympäristönä. Virtuaalisia kontteja, kuten virtuaalikoneita, on käytetty laajasti ohjelmistokehityksessä kooditestauksessa, mutta ei kehitysympäristöinä. Kontit ovat myös yleisiä ohjelmistotuotannon loppuvaiheissa, erityisesti valmiiden sovellusten jakelussa ja käyttöönotossa. Opinnäytetyön käytännön osassa toteutetaan konttipohjaisen kehitysympäristön käytettävyyttä parantava sovellus, joka vastaa uusien työympäristöjen käyttöönoton haasteisiin. Työ suoritettiin yksityiselle yritykselle, ja sen suunnitteluun osallistui useita asiantuntijoita. Hallintasovellus lisäsi konttipohjaisen kehitysympäristön tehokkuutta parantamalla käyttäjäoikeuksien hallintaa, virtuaalisen kontin hallintaa ja käyttöliittymää. Lisäksi uudet hallintatyökalut lyhensivät uusien työntekijöiden koulutusaikaa 50%, mikä helpotti heidän integroitumistaan organisaatioon. Säiliöpohjaiset kehitysympäristöt varustettuina tehokkailla hallintatyökaluilla tarjoavat turvallisen, tehokkaan ja yhtenäisen alustan laajamittaiseen ohjelmistokehitykseen. Virtuaalisissa konteissa on myös potentiaalia tulevaisuuden parannuksiin energiansäästöstrategioissa ja organisaation työmenetelmien harmonisoinnissa ja integroinnissa

    INTEGRATING PROJECT CHANGE MANAGEMENT LEARNING INTO AN ACADEMIC COURSE ON IT PROJECT MANAGEMENT

    Get PDF
    Within project management, little attention has been devoted to controlling and facilitating changes when constraints of a project have been changed such as scope, time, cost, or quality, also known as Project Change Management (Arami, 2008). Growing statistics prove it is imperative for students finishing IT programs to acquire an understanding of project change management (PCM) for industry preparation. The U.S. spent 3.28 billion dollars on global change management and accountability projects for technology (roughly one-third of the total budget for global change) in the year 2000; this percentage still continues to rise (Goncalves, 2007). As a result, students must understand the importance of project change management. This project addressed the research question; Can the introduction of tools like mind mapping software and the process framework of organizational change management improve student understanding of project change? These tools have recently emerged within industry and academic environments, but have yet to be integrated. This study demonstrates how the integration of both tools allows students to approach new concepts taught in the classroom while improving their understanding

    Methods to assess process flow and wait-times at student run free clinics

    Get PDF
    Objective: The aim of this study is to suggest a methodology for Student Run Free Clinics (SRFC) to collect and analyze data in order to derive recommendations that improve clinic operations and the value of care. Background: SRFC play an important role in healthcare, yet research into improving their effectiveness is largely absent. The use of business process management (BPM) and Quality Improvement (QI) tools are effective ways to identify inefficiencies and make workflows capable of adapting in changing environments. We leveraged these tools to employ a methodology at MedZou Community Health Clinic to better understand and improve our patient flow. Methods: Through timecards and volunteers we collected process data comprising of the patient ID, name of the service and its timestamp. The data was then collected and analyzed through the Disco process mining software to give us a graphical representation of clinical flow and statistical data. We then developed a Value Stream Map and executive and QI focused Tableau dashboards. Data collection period was from May 2015 to December 2015. Results: Through this process, we collected 66 patient timecards allowing us to understand out clinic flow and its utilization and duration of services. We were also able determine the time it takes from arrival to physician as 114 minutes, of which 47.9% was value added steps and the rest was attributed to wait time. Implication: Our study allowed us to understand our processes within the Clinic and suggest measurable recommendations to improve efficiency, reduce wait-times and increase value
    corecore