6 research outputs found

    Relational-model based change management for non-functional requirements: approach and experiment

    Get PDF
    In software industry, many organizations either focus their traceability efforts on Functional Requirements (FRs) or else fail entirely to implement an effective traceability process. NonFunctional Requirements (NFRs) such as security, safety, performance, and reliability are treated in a rather ad hoc fashion and are rarely traced. This is mainly because of the unique nature of NFRs. They are subjective, relative and they tend to become scattered among multiple modules when they are mapped from the requirements domain to the solution space. Furthermore, NFRs can often interact, in the sense that attempts to achieve one NFR can help or hinder the achievement of other NFRs at particular software functionality. Such an interaction creates an extensive network of interdependencies and tradeoffs among NFRs which is not easy to trace. In a previous work, we proposed a conceptualization of NFRs through the NFRs Ontology. In this paper, we extend the previous work by proposing a change management mechanism for tracing the impact of NFRs on the other constructs in the ontology such as FR or NFR operationalization and vice versa, and providing a traceability mechanism using Datalog expressions to imp lement queries on a relational model-based representation for the ontology. The proposed traceability queries are then evaluated through a multiproject variation quasi-experiment on regression testing conducted in the industry

    Requirements Engineering so Things Don't Get Ugly

    No full text

    Using a Socio-Technical Model of a Global Software Development Project for Facilitating Risk Management and Improving the Project Structure

    Get PDF
    Any global software development project needs to deal with distances – geographical, cultural, time zone, etc. – between the groups of developers engaged in the project. To successfully manage the risks caused by such distances, there is a need to explicate and present the distances in a form suitable for manual or semi-automatic analysis, the goal of which is to detect potential risks and find ways of mitigating them. The article presents a technique of modeling a global software development project suitable for such analysis. The project is modeled as a complex socio-technical system that consists of functional components connected to each other through output-input relationships. The components do not coincide with the organizational units of the project, and their teams can be distributed through the geographical and organizational landscape of the project. The modeling technique helps to explicate and represent various kinds of distances between the functional components to determine which of them constitute risk factors. The technique was developed during two case studies, of which the second is used for presenting and demonstrating the new modeling technique in the article

    Formal and quantitative approach to non-functional requirements modeling and assessment in software engineering

    Get PDF
    In the software market place, in which functionally equivalent products compete for the same customer, Non Functional Requirements (NFRs) become more important in distinguishing between the competing products. However, in practice, NFRs receive little attention relative to Functional Requirements (FRs). This is mainly because of the nature of these requirements which poses a challenge when taking the choice of treating them earlier in the software development. NFRs are subjective, relative and they become scattered among multiple modules when they are mapped from the requirements domain to the solution space. Furthermore, NFRs can often interact, in the sense that attempts to achieve one NFR can help or hinder the achievement of other NFRs at particular software functionality. Such an interaction creates an extensive network of interdependencies and tradeoffs among NFRs which is not easy to trace or estimate. This thesis contributes towards achieving the goal of managing the attainable scope and the changes of NFRs. The thesis proposes and empirically evaluates a formal and quantitative approach to modeling and assessing NFRs. Central to such an approach is the implementation of the proposed NFRs Ontology for capturing and structuring the knowledge on the software requirements (FRs and NFRs), their refinements, and their interdependencies. In this thesis, we also propose a change management mechanism for tracing the impact of NFRs on the other constructs in the ontology and vice-versa. We provide a traceability mechanism using Datalog expressions to implement queries on the relational model-based representation for the ontology. An alternative implementation view using XML and XQuery is provided as well. In addition, we propose a novel approach for the early requirements-based effort estimation, based on NFRs Ontology. The effort estimation approach complementarily uses one standard functional size measurement model, namely COSMIC, and a linear regression techniqu

    Distributed agile patterns : an approach to facilitate agile adoption in offshore software development

    Get PDF
    Over a decade, companies have been using agile methods for the development of software. However with the increasing trends of offshore software development, companies are becoming more interested in using agile methods for such projects. While offshore development has several dynamic benefits such as cost reduction, flexibility, proximity to market, concentration on core processes and easy access to talent, they have introduced new challenges, such as trust, socio-cultural, communication and coordination, and knowledge transfer issues. These challenges not only affect the development process but also affect the applicability of agile practices in offshore development. As a consequence, companies have been modifying and adapting agile practices to overcome these challenges. However there has been little effort put to collect and document the common practices that have been used repeatedly to solve recurring problems in offshore development. Using the systematic literature review approach and applying customised search criteria based on the research questions, we identified and reviewed over 200 cases from literature. As part of this research we also conducted semi-structured interviews, in which we involved practicing professionals who were working with distributed teams. As a result, we identified and documented a number of solutions to address the common agile issues in software development, which we classified as distributed agile patterns. This research presents the challenges caused by offshore development, how they affect the applicability of agile practices in offshoring. We have then developed a catalogue containing the identified fifteen distributed agile patterns and have classified them into four categories. We have used a case study to explain how these patterns can be applied in offshore software development. To verify and validate our catalogue, we conducted a reflection workshop, in which we invited professionals to review and comment on the patterns. The participants engaged in reviewing the patterns and gave constructive feedback, which helped in improving the catalogue. Based on their feedback, the distributed agile patterns catalogue was finalised. The catalogue can help practitioners make a more informed decision while choosing agile for their offshore projects
    corecore