11 results for Churcher, Neville, Doctoral

  • Supporting OO Design Heuristics

    Churcher, Neville; Frater, Sarah; Huynh, Cong Phuoc; Irwin, Warwick (2006)

    Doctoral thesis
    University of Canterbury Library

    Heuristics have long been recognised as a way to tackle problems which are intractable because of their size or complexity. They have been used in software engineering for purposes such as identification of favourable regions of design space. Some heuristics in software engineering can be expressed in high-level abstract terms while others are more specific. Heuristics tend to be couched in terms which make them hard to automate. In our previous work we have developed robust semantic models of software in order to support the computation of metrics and the construction of visualisations which allow their interpretation by developers. In this paper, we show how software engineering heuristics can be supported by a semantic model infrastructure. Examples from our current work illustrate the value of combining the rigour of a semantic model with the human mental models associated with heuristics.

    View record details
  • Visualisation Techniques for Collaborative GIS Browsers

    Churcher, Neville; Prachuabmoh, Parames; Churcher, Clare (1997)

    Doctoral thesis
    University of Canterbury Library

    Visual information overload is a serious problem for users of geographical information systems (GIS), or other applications with complex displays, where the requirements of access to both local detail and wider context conflict. This problem is compounded for users of real-time groupware applications by the need to maintain awareness information about other users and their actions. In this paper, we describe our use of fisheye views to assist with visual information overload management in GROUPARC, a lightweight real-time groupware application for browsing and annotating GIS data.

    View record details
  • Tag Clouds in Software Visualisation

    Deaker, Chris; Churcher, Neville; Irwin, Warwick (2011)

    Doctoral thesis
    University of Canterbury Library

    Software visualisation employs techniques from the more general information visualisation field to help software engineers comprehend and manage the size and complexity of software systems. In this paper, we explore the use of tag clouds for software visualisation. We describe a tool which implements our approach and illustrate its operation with examples from our software engineering research programme.

    View record details
  • List of Qualitas Code Corpus Programs used for Encapsulation Research

    Voigt, Janina; Irwin, Warwick; Churcher, Neville (2010)

    Doctoral thesis
    University of Canterbury Library

    View record details
  • A Framework for Linking Projects and Project Management Methods

    Dale, Tony; Churcher, Neville; Irwin, Warwick (2005)

    Doctoral thesis
    University of Canterbury Library

    Software development processes such as the Waterfall process and Extreme Programming are project management methods (PMMs) which are well known and widely used. However, conventional project management (PM) lacks the process concepts expressed in PMMs, and the connection between PMMs and PM is not much explored in the literature. We present data models for PM and PMM, in a framework that can articulate the PM-to-PMM relationship, illustrating with simple examples. A java/XML implementation of this framework can create and then revise a "PMM aware" project, conforming to a specified PMM. In terms of the framework, we describe a simple project data visualization and associated method that can be used to synthesize a PMM for a project instance that was initially created without reference to any PMM.

    View record details
  • The Design and Use of Synchronous Collaborative Software Engineering Tools

    Cook, Carl; Irwin, Warwick; Churcher, Neville (2005)

    Doctoral thesis
    University of Canterbury Library

    We have developed a framework, CAISE, to support Collaborative Software Engineering (CSE). In this paper, we focus on the development of CSE tools within the CAISE framework. We present examples to illustrate how such tools are constructed and how they support real-time multi-user collaborative software development. We also address issues related to the number of collaborators and discuss performance aspects.

    View record details
  • A User Evaluation for Synchronous Collaborative Software Engineering Tools

    Cook, Carl; Irwin, Warwick; Churcher, Neville (2005)

    Doctoral thesis
    University of Canterbury Library

    Collaborative Software Engineering (CSE) is a rapidly growing field of research, with commercial tools starting to incorporate new collaborative features into their currently single-user products. We have undertaken an empirical evaluation to investigate the envisaged benefits of code-level collaboration for tools that we have developed. Results of our evaluation show that for two typical programming scenarios, collaborative tools achieve task completion rates that are at least twice as fast as their conventional counterparts. Additionally, for a number of subjective aspects, the participants were strongly in favour of using the new tools. From these results, we are encouraged to continue developing our collaborative tools, and to investigate other aspects of such tools within the context of CSE.

    View record details
  • An Immersion Model for Software Engineering Projects

    Churcher, Neville; Cockburn, Andy (1996)

    Doctoral thesis
    University of Canterbury Library

    Software development projects are an essential component of software engineering courses. They provide the opportunity for students to apply theoretical material and to gain valuable experience in an environment typical of the workplace. These benefits, however, are difficult to realise. We discuss strategies for managing final-year software engineering projects in order to optimise the balance between pedagogy, course administration, and time constraints. In particular, we advocate an ``immersion'' model for software engineering projects. The immersion model emphasises the commercial realities of software development including activities such as reverse-engineering of existing systems, extensive code re-use, team work, user-interface development, meetings with management, and oral presentations. Our experiences with the immersion model have been extremely encouraging with significant improvements in the quality of student projects.

    View record details
  • Towards Synchronous Collaborative Software Engineering

    Cook, Carl; Irwin, Warwick; Churcher, Neville (2004)

    Doctoral thesis
    University of Canterbury Library

    Caise, a collaborative software engineering architecture, provides extensible real-time support for collaboration between participating tools and users. The architecture maintains a semantic project model constructed incrementally from software artifacts as they are developed; this model is used to determine the impact of changes at a semantic level. This information is relayed to developers, providing them with awareness of others’ locations, and alerting them to potential conflicts and the need for closer collaboration. We use examples from Caise-based tools to illustrate the potential of real-time collaborative software engineering to enhance awareness of other developers’ actions.

    View record details
  • A Pure-Java Group Communication Framework

    Cook, Carl; Churcher, Neville (2003)

    Doctoral thesis
    University of Canterbury Library

    This report presents the caise.messaging group communication framework— a simple Java-based Api developed as the networking component for a collaborative software engineering architecture. The framework is intended to be used as the communication layer for any distributed and/or collaborative systems that have communication requirements beyond simple point-to-point networking, but do not require the services or overheads of fully-featured groupware toolkits. The caise.messaging framework allows groups of remote applications to communicate with each other in the most simple manner as possible. The result is an Api that makes every participating application appear local to the calling application, providing communication within the application group by way of conventional method calls. This report presents an overview of the caise.messaging framework, including a background on existing communication technologies, the motivation for a new framework, a summary of the caise.messaging architecture, illustrated examples of caise.messaging-based tools, and Api details.

    View record details
  • An Extensible Framework for Collaborative Software Engineering

    Cook, Carl; Churcher, Neville (2003)

    Doctoral thesis
    University of Canterbury Library

    The size, complexity and duration of typical software engineering projects means that teams of developers will work on them. However, with the exception of version control systems, the editors, diagrammers and other tools used will generally support only a single user. In this paper, we present an architecture for bringing to software engineering development environments the advantages of awareness of the presence, and the intentions and actions of others. Thus far, the applications of such facilities have been primarily in simple Computer Supported Collaborative Work (CSCW) tools, such as shared whiteboards, where the corresponding artifacts, unlike those of software engineering, are typically both simple and transient. We describe our implementation of the architecture and prototype tools and illustrate the benefits of providing support for real-time collaboration between developers located anywhere on the Internet. We also describe how our architecture, which is based on a parse tree representation of artifacts, may be extended readily to include new tools, languages, and notations or be customised to provide new awareness mechanisms.

    View record details