263 research outputs found

    Open source software development process for the development of open source e-learning systems

    Get PDF
    Over the last decade, numerous educational institutions and corporate world have employed various kinds of e-learning software solutions. One of the major components of end-to-end e-learning solution is the learning management system (LMS). These LMS are either developed as open source software (OSS) or close source software (CSS) product. In this regard, CSS for e-learning systems has a major drawback of being expensive and this hinders its widespread use. On the other hand, OSS is virtually free and not restricted by the licensing costs. The benefits of OSS can be completely realized only if there is an effective contribution from OSS community towards its development. It is clear from the literature that the OSS development community does not follow an explicitly defined and documented software development process. This in turn results in lack of detailed information in the literature about the problems arising due to the absence of a defined process. Nevertheless, some of the major issues with regard to OSS development for LMS that have been identified include software design issues, week user Interface, lack of complete and accessible documentation, lack of co-ordination between unknown developers, etc. This research develops a generalized OSSD process that could be used for the development of an open source (OS) e-learning system. To begin, in order to understand the current development practises of the existing OS e-learning systems, a detailed analysis was carried out for three different and popular OS e-learning systems (Moodle, ILIAS and Dokeos). The result of this analysis was represented as an Activity Flow Diagram which enabled precise identification of the implicit software development stages. In the next stage, in order to identify the output produced for each and every stage of development, a DEMO methodology was applied and DEMO models were built for three e-learning systems (Moodle, ILIAS and Dokeos). This is a particularly novel contribution that helps enable the development of the generalized OSSD process. In order to select the different stages of development for the proposed process, the output resulting from each stage of the DEMO model was compared with the outputs prescribed by the ISO/IEC 12207:2008 standard. Further, in order to validate the proposed process, an expert review method was employed by preparing a web-based questionnaire and circulating it along with the proposed process to three different and geographically separated OS experts. The proposed process was subsequently refined based on the feedback received from these experts. It is anticipated that the proposed OSSD process had the potential to streamline the future development of OS e-learning systems

    A Requirements-Based Exploration of Open-Source Software Development Projects – Towards a Natural Language Processing Software Analysis Framework

    Get PDF
    Open source projects do have requirements; they are, however, mostly informal, text descriptions found in requests, forums, and other correspondence. Understanding such requirements provides insight into the nature of open source projects. Unfortunately, manual analysis of natural language requirements is time-consuming, and for large projects, error-prone. Automated analysis of natural language requirements, even partial, will be of great benefit. Towards that end, I describe the design and validation of an automated natural language requirements classifier for open source software development projects. I compare two strategies for recognizing requirements in open forums of software features. The results suggest that classifying text at the forum post aggregation and sentence aggregation levels may be effective. Initial results suggest that it can reduce the effort required to analyze requirements of open source software development projects. Software development organizations and communities currently employ a large number of software development techniques and methodologies. This implied complexity is also enhanced by a wide range of software project types and development environments. The resulting lack of consistency in the software development domain leads to one important challenge that researchers encounter while exploring this area: specificity. This results in an increased difficulty of maintaining a consistent unit of measure or analysis approach while exploring a wide variety of software development projects and environments. The problem of specificity is more prominently exhibited in an area of software development characterized by a dynamic evolution, a unique development environment, and a relatively young history of research when compared to traditional software development: the open-source domain. While performing research on open source and the associated communities of developers, one can notice the same challenge of specificity being present in requirements engineering research as in the case of closed-source software development. Whether research is aimed at performing longitudinal or cross-sectional analyses, or attempts to link requirements to other aspects of software development projects and their management, specificity calls for a flexible analysis tool capable of adapting to the needs and specifics of the explored context. This dissertation covers the design, implementation, and evaluation of a model, a method, and a software tool comprising a flexible software development analysis framework. These design artifacts use a rule-based natural language processing approach and are built to meet the specifics of a requirements-based analysis of software development projects in the open-source domain. This research follows the principles of design science research as defined by Hevner et. al. and includes stages of problem awareness, suggestion, development, evaluation, and results and conclusion (Hevner et al. 2004; Vaishnavi and Kuechler 2007). The long-term goal of the research stream stemming from this dissertation is to propose a flexible, customizable, requirements-based natural language processing software analysis framework which can be adapted to meet the research needs of multiple different types of domains or different categories of analyses

    An Investigation into quality assurance of the Open Source Software Development model

    Get PDF
    A thesis submitted in partial fulfilment of the requirements of the University of Wolverhampton for the degree of Doctor of PhilosophyThe Open Source Software Development (OSSD) model has launched products in rapid succession and with high quality, without following traditional quality practices of accepted software development models (Raymond 1999). Some OSSD projects challenge established quality assurance approaches, claiming to be successful through partial contrary techniques of standard software development. However, empirical studies of quality assurance practices for Open Source Software (OSS) are rare (Glass 2001). Therefore, further research is required to evaluate the quality assurance processes and methods within the OSSD model. The aim of this research is to improve the understanding of quality assurance practices under the OSSD model. The OSSD model is characterised by a collaborative, distributed development approach with public communication, free participation, free entry to the project for newcomers and unlimited access to the source code. The research examines applied quality assurance practices from a process view rather than from a product view. The research follows ideographic and nomothetic methodologies and adopts an antipositivist epistemological approach. An empirical research of applied quality assurance practices in OSS projects is conducted through the literature research. The survey research method is used to gain empirical evidence about applied practices. The findings are used to validate the theoretical knowledge and to obtain further expertise about practical approaches. The findings contribute to the development of a quality assurance framework for standard OSSD approaches. The result is an appropriate quality model with metrics that the requirements of the OSSD support. An ideographic approach with case studies is used to extend the body of knowledge and to assess the feasibility and applicability of the quality assurance framework. In conclusion, the study provides further understanding of the applied quality assurance processes under the OSSD model and shows how a quality assurance framework can support the development processes with guidelines and measurements

    Ontology-based methodology for error detection in software design

    Get PDF
    Improving the quality of a software design with the goal of producing a high quality software product continues to grow in importance due to the costs that result from poorly designed software. It is commonly accepted that multiple design views are required in order to clearly specify the required functionality of software. There is universal agreement as to the importance of identifying inconsistencies early in the software design process, but the challenge is how to reconcile the representations of the diverse views to ensure consistency. To address the problem of inconsistencies that occur across multiple design views, this research introduces the Methodology for Objects to Agents (MOA). MOA utilizes a new ontology, the Ontology for Software Specification and Design (OSSD), as a common information model to integrate specification knowledge and design knowledge in order to facilitate the interoperability of formal requirements modeling tools and design tools, with the end goal of detecting inconsistency errors in a design. The methodology, which transforms designs represented using the Unified Modeling Language (UML) into representations written in formal agent-oriented modeling languages, integrates object-oriented concepts and agent-oriented concepts in order to take advantage of the benefits that both approaches can provide. The OSSD model is a hierarchical decomposition of software development concepts, including ontological constructs of objects, attributes, behavior, relations, states, transitions, goals, constraints, and plans. The methodology includes a consistency checking process that defines a consistency framework and an Inter-View Inconsistency Detection technique. MOA enhances software design quality by integrating multiple software design views, integrating object-oriented and agent-oriented concepts, and defining an error detection method that associates rules with ontological properties

    A Requirements-Based Analysis of Success in Open- Source Software Development Projects

    Get PDF
    The literature on open-source requirements is commonly concerned either with the processes associated with theserequirements or with very specific requirements-related aspects of open-source development. In this study we bridge betweenthese two approaches by exploring the existing relationships between open-source requirements and few characteristics ofopen-source projects (software quality and software project success). First we develop a requirements-based taxonomy ofopen-source projects and we discover patterns linking between this taxonomy and project success. We also propose aclassification of requirement types based on their representativeness in open-source projects. This highlights the overallimportance of various types of requirements in the context of open-source software development. We also identify exceptionsdefined as the unusually high frequency of a requirement type and explain them based on the specific domain addressedwithin the project containing the exception. Finally, we investigate the lifecycle of 16 open-source projects and discover andexplain patterns of evolution for a number of requirement types
    corecore