17 research outputs found

    Impact estimation: IT priority decisions

    Get PDF
    Given resource constraints, prioritization is a fundamental process within systems engineering to decide what to implement. However, there is little guidance about this process and existing IT prioritization methods have several problems, including failing to adequately cater for stakeholder value. In response to these issues, this research proposes an extension to an existing prioritization method, Impact Estimation (IE) to create Value Impact Estimation (VIE). VIE extends IE to cater for multiple stakeholder viewpoints and to move towards better capture of explicit stakeholder value. The use of metrics offers VIE the means of expressing stakeholder value that relates directly to real world data and so is informative to stakeholders and decision makers. Having been derived from prioritization factors found in the literature, stakeholder value has been developed into a multi-dimensional, composite concept, associated with other fundamental system concepts: objectives, requirements, designs, increment plans, increment deliverables and system contexts. VIE supports the prioritization process by showing where the stakeholder value resides for the proposed system changes. The prioritization method was proven to work by exposing it to three live projects, which served as case studies to this research. The use of the extended prioritization method was seen as very beneficial. Based on the three case studies, it is possible to say that the method produces two major benefits: the calculation of the stakeholder value to cost ratios (a form of ROI) and the system understanding gained through creating the VIE table

    On the real world practice of Behaviour Driven Development

    Get PDF
    Surveys of industry practice over the last decade suggest that Behaviour Driven Development is a popular Agile practice. For example, 19% of respondents to the 14th State of Agile annual survey reported using BDD, placing it in the top 13 practices reported. As well as potential benefits, the adoption of BDD necessarily involves an additional cost of writing and maintaining Gherkin features and scenarios, and (if used for acceptance testing,) the associated step functions. Yet there is a lack of published literature exploring how BDD is used in practice and the challenges experienced by real world software development efforts. This gap is significant because without understanding current real world practice, it is hard to identify opportunities to address and mitigate challenges. In order to address this research gap concerning the challenges of using BDD, this thesis reports on a research project which explored: (a) the challenges of applying agile and undertaking requirements engineering in a real world context; (b) the challenges of applying BDD specifically and (c) the application of BDD in open-source projects to understand challenges in this different context. For this purpose, we progressively conducted two case studies, two series of interviews, four iterations of action research, and an empirical study. The first case study was conducted in an avionics company to discover the challenges of using an agile process in a large scale safety critical project environment. Since requirements management was found to be one of the biggest challenges during the case study, we decided to investigate BDD because of its reputation for requirements management. The second case study was conducted in the company with an aim to discover the challenges of using BDD in real life. The case study was complemented with an empirical study of the practice of BDD in open source projects, taking a study sample from the GitHub open source collaboration site. As a result of this Ph.D research, we were able to discover: (i) challenges of using an agile process in a large scale safety-critical organisation, (ii) current state of BDD in practice, (iii) technical limitations of Gherkin (i.e., the language for writing requirements in BDD), (iv) challenges of using BDD in a real project, (v) bad smells in the Gherkin specifications of open source projects on GitHub. We also presented a brief comparison between the theoretical description of BDD and BDD in practice. This research, therefore, presents the results of lessons learned from BDD in practice, and serves as a guide for software practitioners planning on using BDD in their projects

    Model and use case driven software development process.

    Get PDF
    У докторској дисертацији је разматран проблем интеграције случајева коришћења у моделом вођени развој софтвера и предложена оригиналана Silab- UCMDDM метода. Предложена Silab-UCMDDM метода истиче важност и неопходност коришћења 3 међусобно конзистентна и комплементарна модела: а) моделa случајева коришћења, б) доменскoг моделa и ц) моделa прелаза стања. У дисертацији је идентификована директна веза између ова три модела која се пре свега огледа у томе да спецификација акција случаја коришћења треба да се ослања на доменски модел, док се предуслови и постуслови за извршење случајева коришћења дефинишу у моделу прелаза стања. Silab-UCMDM метода користи две стратегије у развоју софтвера: а) стратегију засновану на случајевима коришћења (Use Case Driven Development) и б) стратегију засновану на MDD (Model Driven Development) приступу. Спецификација захтева у оквиру Silab-UCMDM методе омогућена је преко сопственог доменски специфичног језика (UCDSL). Имплементација предложеног UCDSL језика извршена је преко JetBrains MPS алата за метапрограмирање (JetBrains MPS metaprogramming system). UCDSL језик је интегрисан у оквиру SILAB-MDDTOOLSET алата који се може користити као додатак (plugin) за окружења као што су MPS и IntelliJ IDEA...The thesis discusses the problem of integration of the Use Cases in the Model driven software development and proposes an original Silab-UCMDDM method. The Silab-UCMDDM method emphasizes the importance and necessity of using 3 mutually consistent and complementary models: a) the use case model, b) the domain model and c) the state machine model. The thesis identifies a direct link between these three models which are primarily reflected in the fact that the specification of use case actions should be based on the domain model, while the preconditions and postconditions for executing use cases should be defined in the state machine model. This model state machine model is used for a clear and precise definition of use cases. The Silab-UCMDM method uses two strategies in software development: a) a strategy based on the use cases (Use Case Driven Development) and b) a strategy based on MDD (Model Driven Development) approach. Requirements specification within Silab- UCMDM method is enabled via its own domain specific language (UCDSL). The proposed UCDSL language was performed using the JetBrains MPS tool for metaprogramming (metaprogramming system JetBrains MPS). UCDSL language is integrated within the SILAB-MDDTOOLSET tool that can be used as an add-on (plugin) for environments such as MPS and IntelliJ IDEA. The proposed Silab-UCMDD method was evaluated in three different ways: 1) By performing the comparative analysis of the proposed method and other existing methods. 2) By presenting and analyzing the case study that has been developed using proposed method. 3) By analyzing the results of the testing with students who evaluated the proposed method and UCDSL language for requirements specification and validation. The Silab-UCMDDM method is a part of a comprehensive Silab-MDD approach. Silab-MDD approach defines the way of integration of the Structured System Analysis method, which describes the functionalities of the business system. In addition Silab-MDD defines the phases of requirements gathering and analysis in the software development lifecycle. Therefore, the Silab-MDD approach contains its own domain specific languages for specifying the Data Flow diagrams (DFDDSL) and the Data Dictionary (DataDDSL)..

    Combining SOA and BPM Technologies for Cross-System Process Automation

    Get PDF
    This paper summarizes the results of an industry case study that introduced a cross-system business process automation solution based on a combination of SOA and BPM standard technologies (i.e., BPMN, BPEL, WSDL). Besides discussing major weaknesses of the existing, custom-built, solution and comparing them against experiences with the developed prototype, the paper presents a course of action for transforming the current solution into the proposed solution. This includes a general approach, consisting of four distinct steps, as well as specific action items that are to be performed for every step. The discussion also covers language and tool support and challenges arising from the transformation

    MATLAB

    Get PDF
    This excellent book represents the final part of three-volumes regarding MATLAB-based applications in almost every branch of science. The book consists of 19 excellent, insightful articles and the readers will find the results very useful to their work. In particular, the book consists of three parts, the first one is devoted to mathematical methods in the applied sciences by using MATLAB, the second is devoted to MATLAB applications of general interest and the third one discusses MATLAB for educational purposes. This collection of high quality articles, refers to a large range of professional fields and can be used for science as well as for various educational purposes

    Improvement of object-oriented software systems by applying software quality standards.

    Get PDF
    Предмет истраживања докторске дисертације је могућност побољшања објектно-оријентисаних софтверских система коришћењем стандарда квалитета софтвера. У истраживању је дат преглед различитих стандарда квалитета софтвера из области софтверског инжењерства, софтверских метрика и алата за статичку анализу квалитета софтвера који се оперативно користе у процесу евалуације квалитета софтвера. У докторској дисертацији су идентификовани механизми побољшања објектно-оријентисаних софтверских система (општи принципи пројектовања софтвера, принципи објектно-оријентисаног пројектовања софтвера, стратегије пројектовања софтвера, патерни пројектовања софтвера и методе развоја софтвера) и успостављена је њихова веза са стандардима квалитета софтвера. У раду је развијена оригинална SilabQOSS (енг. Silab Quality Method for Object-oriented Software Systems) метода за побољшање објектно-оријентисаних софтверских система коришћењем стандарда квалитета софтвера. Предложена метода користи стандарде квалитета софтвера, софтверске метрике и алате за статичку анализу квалитета софтвера. Такође, метода користи претходно поменуте механизме за побољшање објектно-оријентисаних софтверских система. Посматрана метода је подржана софтверским алатом SilabMetrics који се може користити самостално или се интегрисати са NetBeans окружењем за развој софтвера. На основу извршене евалуације закључено је да се применом SilabQOSS методе и SilabMetrics алата за статичку анализу квалитета софтвера омогућава развој софтверских система који су стабилнији, једноставнији за развој, одржавање и даљу надоградњу.The research subject of the doctoral dissertation is the possibility of improvement of object-oriented software systems by applying software quality standards. The research provides an overview of different software engineering quality standards, software metrics, and tools for static analysis of software quality which are operatively used in the software quality evaluation process. The doctoral dissertation identifies different mechanisms for improving object-oriented software systems (i.e. general principles of software design, principles of object-oriented software design, software design strategies, design patterns, and software development methods) as well as their relation with the software quality standards. The doctoral dissertation introduces original SilabQOSS (Silab Quality Method for Object-oriented Software Systems) method for improving object-oriented software systems using software quality standards. The proposed method incorporates software quality standards, software metrics, and tools for static analysis of software quality. In addition, the method uses mechanisms for improving object-oriented software systems, as already mentioned. The method is supported by the SilabMetrics software tool that can be used independently or integrated with the NetBeans software development environment. The evaluation results confirm that the SilabQOSS method and the SilabMetrics software quality tool enable the development of software systems which are more stable, easier to develop, maintain, and upgrade
    corecore