5,590 research outputs found

    Automatic generation of business process models from user stories

    Get PDF
    In this paper, we propose an automated approach to extract business process models from requirements, which are presented as user stories. In agile software development, the user story is a simple description of the functionality of the software. It is presented from the user's point of view and is written in natural language. Acceptance criteria are a list of specifications on how a new software feature is expected to operate. Our approach analyzes a set of acceptance criteria accompanying the user story, in order, first, to automatically generate the components of the business model, and then to produce the business model as an activity diagram which is a unified modeling language (UML) behavioral diagram. We start with the use of natural language processing (NLP) techniques to extract the elements necessary to define the rules for retrieving artifacts from the business model. These rules are then developed in Prolog language and imported into Python code. The proposed approach was evaluated on a set of use cases using different performance measures. The results indicate that our method is capable of generating correct and accurate process models

    Scrum Game: An Agile Software Management Game

    No full text
    For the past few years, in their attempt to avoid the heavyweight bureaucracy of traditional project management methods such as the Waterfall model, companies have started incorporating agile methods (e.g. Extreme Programming, Scrum, Crystal) for their project development. These methods are characterised by their incremental and iterative delivery, their ability to incorporate change at any stage of the project lifecycle, as well as their small and co-located teams. Even though these methods are included in the syllabus of many software engineering modules at university level, many students currently feel more confident with traditional, rather than agile methods. Many employers find that recent graduates are not equipped with the desired skills of a software engineer because, even though they are knowledgeable in the different software engineering practices, they lack practical experience of these methods. The combination of these two factors show that the university’s approach to teaching software management methods is only theoretical and it does not give students the opportunity to apply them to their projects so they can get a better understanding of their use. The project developed the prototype of a computer game that simulates the use of the Scrum method within different projects, named Scrum Game. The game is supplementary material for a lecture course, and its purpose is to guide students through the Scrum lifecycle. Students can thereby get a small glimpse of the different phases of Scrum, the way that the different Scrum roles interact with each other, and the way that Scrum is used to implement real projects. In addition, the Scrum Game has an administrator mode enabling lecturers to view a log of the progress of all their students in the game. They can use this mode to create new projects or to alter existing ones by adding new tasks or problems, thereby adjusting the level of difficulty to the level of their students, or so that it fits their teaching. The web-based system was developed using PHP, MySQL, HTML, CSS, JavaScript, AJAX (jQuery) and Google Charts API. The system was thoroughly tested against the initial requirements and other system tests. The Scrum Game was evaluated by 22 peer colleagues reading for an MSc in Software Engineering at the University of Southampton, to identify whether the system achieved its goal of introducing students to the Scrum methodology and reaching a deeper understanding of its practical use during project implementation. The results of a questionnaire showed that little prior knowledge was assumed during the game, and that 86% of the participants felt that the game helped them learn more about Scrum. When asked, “Do you think that if this game was part of your Project Management module, would you get a better understanding about Scrum?” an impressive 95% (21 out of 22 participants) agreed that the game would be helpful, and rated the system 8 out of 10 on average

    Identifying and Modelling Complex Workflow Requirements in Web Applications

    Get PDF
    Workflow plays a major role in nowadays business and therefore its requirement elicitation must be accurate and clear for achieving the solution closest to business’s needs. Due to Web applications popularity, the Web is becoming the standard platform for implementing business workflows. In this context, Web applications and their workflows must be adapted to market demands in such a way that time and effort are minimize. As they get more popular, they must give support to different functional requirements but also they contain tangled and scattered behaviour. In this work we present a model-driven approach for modelling workflows using a Domain Specific Language for Web application requirement called WebSpec. We present an extension to WebSpec based on Pattern Specifications for modelling crosscutting workflow requirements identifying tangled and scattered behaviour and reducing inconsistencies early in the cycle

    ABCDE -- Agile Block Chain Dapp Engineering

    Get PDF
    Cryptocurrencies and their foundation technology, the Blockchain, are reshaping finance and economics, allowing a decentralized approach enabling trusted applications with no trusted counterpart. More recently, the Blockchain and the programs running on it, called Smart Contracts, are also finding more and more applications in all fields requiring trust and sound certifications. Some people have come to the point of saying that the "Blockchain revolution" can be compared to that of the Internet and the Web in their early days. As a result, all software development revolving around the Blockchain technology is growing at a staggering rate. The feeling of many software engineers about such huge interest in Blockchain technologies is that of unruled and hurried software development, a sort of competition on a first-come-first-served basis which does not assure neither software quality, nor that the basic concepts of software engineering are taken into account. This paper tries to cope with this issue, proposing a software development process to gather the requirement, analyze, design, develop, test and deploy Blockchain applications. The process is based on several Agile practices, such as User Stories and iterative and incremental development based on them. However, it makes also use of more formal notations, such as some UML diagrams describing the design of the system, with additions to represent specific concepts found in Blockchain development. The method is described in good detail, and an example is given to show how it works.Comment: 26 pages, 7 figures, 8 table

    IT infrastructure & microservices authentication

    Get PDF
    Mestrado IPB-ESTGBIOma - Integrated solutions in BIOeconomy for the Mobilization of the Agrifood chain project is structured in 6 PPS (Products, Processes, and Services) out of which, a part of PPS2 is covered in this work. This work resulted in the second deliverable of PPS2 which is defined as PPS2.A1.E2 - IT infrastructure design and graphical interface conceptual design. BIOma project is in the early stage and this deliverable is a design task of the project. For defining the system architecture, requirements, UML diagrams, physical architecture, and logical architecture have been proposed. The system architecture is based on microservices due to its advantages like scalability and maintainability for bigger projects like BIOma where several sensors are used for big data analysis. Special attention has been devoted to the research and study for the authentication and authorization of users and devices in a microservices architecture. The proposed authentication solution is a result of research made for microservices authentication where it was concluded that using a separate microservice for user authentication is the best solution. FIWARE is an open-source initiative defining a universal set of standards for context data management that facilitates the development of Smart solutions for different domains like Smart Cities, Smart Industry, Smart Agrifood, and Smart Energy. FIWARE’s PEP (Policy Enforcement Point) proxy solution has been proposed in this work for the better management of user’s identities, and client-side certificates have been proposed for authentication of IoT (Internet of Things) devices. The communication between microservices is done through AMQP (Advanced Message Queuing Protocol), and between IoT devices and microservices is done through MQTT (Message Queuing Telemetry Transport) protocol

    Bridging test and model-driven approaches in web engineering

    Get PDF
    In the last years there has been a growing interest in agile methods and their integration into the so called "unified" approaches. In the field of Web Engineering, agile approaches such as test-driven development are appealing because of the very nature of Web applications, while model-driven approaches provide a less error-prone code derivation; however the integration of both approaches is not easy. In this paper, we present a method-independent approach to combine the agile, iterative and incremental style of test-driven development with the more formal, transformation-based model-driven Web engineering approaches. We focus not only in the development process but also in the evolution of the application, and show how tests can be transformed together with model refactoring. As a proof of concept we show an illustrative example using WebRatio, the WebML design tool.Publicado en Lecture Notes in Computer Science book series (LNCS, vol. 5648).Laboratorio de Investigación y Formación en Informática Avanzad

    Automated Model Driven Testing Using AndroMDA and UML2 Testing Profile in Scrum Process

    Get PDF
    AbstractSoftware testing is an important step in the life cycle of agile development; it represents an efficient way to ensure the good functioning of the product. But as the complexity of a system increases, the effort and expertise to test it also increases. To significantly reduce these efforts, and reduce the cost and time; several studies have been carried out and various tools and test automation techniques have been proposed. In this paper, we present an approach to automatic generation of test cases from UML 2 Models at the Scrum agile process. This approach automates two important steps: the transformation of design models into test models and generating test cases, based on an open source MDA framework

    Improving Requirements Generation Thoroughness in User-Centered Workshops: The Role of Prompting and Shared User Stories

    Get PDF
    The rise of stakeholder centered software development has led to organizations engaging users early in the development process to help define system requirements. To facilitate user involvement in the requirements elicitation process, companies can use Group Support Systems (GSS) to conduct requirements elicitation workshops. The effectiveness of these workshops for generating a valuable set of requirements for system developers has been previously demonstrated. However, a more representative measure of progress towards a system that will meet users’ needs-- the completeness of the requirements generated by such groups has not been explored. We explore two process design considerations for increasing the completeness of requirements generated by these users: increased sharing of user stories (individual electronic brainstorming groups vs. shared user stories electronic brainstorming groups), and the use of reflective inducement prompts (unprompted vs. prompted groups). Using the Search for Ideas in Active Memory model, we predict that prompted electronic brainstorming groups will outperform any other group, including prompted, shared user stories groups at generating a more thorough set of requirements. To test the hypotheses an experiment with 56 groups consisting of 197 users was conducted. The users were asked to generate requirements for a fictitious online textbook exchange website. All hypotheses received support. The study has implications for GSS-Supported workshop design and for future research on collaborative performance in requirements elicitation

    Agile Based Development Methodology for Mobile Commerce Applications

    Get PDF
    There are several system development methodologies including traditional and agile methodologies which are being utilized in current systems development. However, it could be argued that existing methodologies may not be suitable for the development of mobile commerce applications as these applications are utilized in different contexts from conventional fixed e-commerce applications such as they are displayed on a small screen device, they are utilized in an unstable or movable environment and they need to be used in a secured environment to deliver financial transactions over mobile network. This study aimed to construct an agile based development methodology for mobile commerce applications. In order to achieve this aim, three objectives have been proposed including identification of essential issues for developing m-commerce applications, construction of a predictable agile based methodology used for developing m-commerce applications and evaluation for its applicability and practicality. The research methodology used in the study is the design research, which include the steps of awareness of problems, suggestion, development, evaluation and conclusion. The research methods used to assist the mentioned research methodology include literature analysis, industry visits, semi-structured interview, survey, formulative research and experimental evaluation. The methodology constructed contains the integration of essential factors in each phase of systems development life cycle as well as guidelines to follow for conducting activities in the application development, including specific models, tools, and techniques. From the evaluation of the constructed methodology, the results showed two essential outcomes. Firstly, the constructed methodology is applicable as it can be used to build the intended system, mobile commerce applications in this case. Secondly, for practicality, it showed that the constructed methodology is practical as when comparing to the traditional waterfall development by using the eleven measurements specified, it exposed more benefits to the development process
    • …
    corecore