10,538 research outputs found

    Automated user documentation generation based on the Eclipse application model

    Full text link
    An application's user documentation, also referred to as the user manual, is one of the core elements required in application distribution. While there exist many tools to aid an application's developer in creating and maintaining documentation on and for the code itself, there are no tools that complement code development with user documentation for modern graphical applications. Approaches like literate programming are not applicable to this scenario, as not a library, but a full application is to be documented to an end-user. Documentation generation on applications up to now was only partially feasible due to the gap between the code and its semantics. The new generation of Eclipse rich client platform developed applications is based on an application model, closing a broad semantic gap between code and visible interface. We use this application model to provide a semantic description for the contained elements. Combined with the internal relationships of the application model, these semantic descriptions are aggregated to well-structured user documentations that comply to the ISO/IEC 26514. This paper delivers a report on the Ecrit research project, where the potentials and limitations of user documentation generation based on the Eclipse application model were investigated.Comment: 9 pages, 9 figure

    Ada software productivity prototypes: A case study

    Get PDF
    A case study of the impact of Ada on a Command and Control project completed at the Jet Propulsion Laboratory (JPL) is given. The data for this study was collected as part of a general survey of software costs and productivity at JPL and other NASA sites. The task analyzed is a successful example of the use of rapid prototyping as applied to command and control for the U.S. Air Force and provides the U.S. Air Force Military Airlift Command with the ability to track aircraft, air crews and payloads worldwide. The task consists of a replicated database at several globally distributed sites. The local databases at each site can be updated within seconds after changes are entered at any one site. The system must be able to handle up to 400,000 activities per day. There are currently seven sites, each with a local area network of computers and a variety of user displays; the local area networks are tied together into a single wide area network. Using data obtained for eight modules, totaling approximately 500,000 source lines of code, researchers analyze the differences in productivities between subtasks. Factors considered are percentage of Ada used in coding, years of programmer experience, and the use of Ada tools and modern programming practices. The principle findings are the following. Productivity is very sensitive to programmer experience. The use of Ada software tools and the use of modern programming practices are important; without such use Ada is just a large complex language which can cause productivity to decrease. The impact of Ada on development effort phases is consistent with earlier reports at the project level but not at the module level

    Understanding Computer Programming as a Literacy

    Get PDF
    Since the 1960s, computer scientists and enthusiasts have paralleled computer programming to literacy, arguing it is a generalizable skill that should be more widely taught and held. Launching from that premise, this article leverages historical and social findings from literacy studies to frame computer programming as “computational literacy.” I argue that programming and writing have followed similar historical trajectories as material technologies and explain how they are intertwined in contemporary composition environments. A concept of “computational literacy” helps us to better understand the social, technical and cultural dynamics of programming, but it also enriches our vision of twenty-first century composition

    Developing Educational Software: a professional tool perspective

    Get PDF
    The selection, and use of educational software and its impact in schools are still controversial issues. In this paper we present an alternative conceptualisation of educational software based on considering the software as an instrument for teachers’ professional performance. We review previous work in the areas of the design, development and evaluation of educational software and of the process of educational innovation. The review of these four areas converges to demonstrate the need for knowing and considering the context of use of educational software and for understanding users' perspectives about its roles and possibilities and hence supports a consideration a perspective on educational software which sees it as a professional tool for teachers performance of their teaching role

    Guidelines Towards Better Participation of Older Adults in Software Development Processes using a new SPIRAL Method and Participatory Approach

    Full text link
    This paper presents a new method of engaging older participants in the process of application and IT solutions development for older adults for emerging IT and tech startups. A new method called SPIRAL (Support for Participant Involvement in Rapid and Agile software development Labs) is proposed which adds both sustainability and flexibility to the development process with older adults. This method is based on the participatory approach and user empowerment of older adults with the aid of a bootstrapped Living Lab concept and it goes beyond well established user-centered and empathic design. SPIRAL provides strategies for direct involvement of older participants in the software development processes from the very early stage to support the agile approach with rapid prototyping, in particular in new and emerging startup environments with limited capabilities, including time, team and resources

    In the soft-to-hard technical spectrum: Where is software engineering?

    Get PDF
    In the computer journals and tabloids, there have been a plethora of articles written about the software engineering field. But while advocates of the need for an engineering approach to software development, it is impressive how many authors have treated the subject of software engineering without adequately addressing the fundamentals of what engineering as a discipline consists of. A discussion is presented of the various related facets of this issue in a logical framework to advance the thesis that the software development process is necessarily an engineering process. The purpose is to examine more of the details of the issue of whether or not the design and development of software for digital computer processing systems should be both viewed and treated as a legitimate field of professional engineering. Also, the type of academic and professional level education programs that would be required to support a software engineering discipline is examined

    A Unified Format for Language Documents

    Get PDF
    We have analyzed a substantial number of language documentation artifacts, including language standards, language specifications, language reference manuals, as well as internal documents of standardization bodies. We have reverse-engineered their intended internal structure, and compared the results. The Language Document Format (LDF), was developed to specifically support the documentation domain. We have also integrated LDF into an engineering discipline for language documents including tool support, for example, for rendering language documents, extracting grammars and samples, and migrating existing documents into LDF. The definition of LDF, tool support for LDF, and LDF applications are freely available through SourceForge

    Incremental redocumentation using literate programming

    Get PDF
    The primary aim of this research is to investigate means of improving program comprehension through redocumentation. In particular it will concentrate on using Literate Programming as a method for program redocumentation. Documentation is crucially important as an aid to understanding software systems. The Incremental Redocumentation Using Literate Programming System analyses the existing source code and merges in a range of other information, in order to create a complete documentation package. This may include not only traditional paper documents, but also hypertext facilities, animated specifications and output from other analysis tools. The status of the documentation is implicitly elevated to that of an integral part of the system, rather than an optional extra. Where a configuration management system is used to manage different versions of a system, the documentation can also be brought under its control. The literate programming paradigm provides the encouragement and capability to produce high quality code and documentation simultaneously. Conceptually, literate programming systems are document preparation systems. The primary goal of a literate program is to be understandable to the programmers who are going to have to read it at some later date - often while involved in maintenance, or perhaps when trying to determine the possibility of reusing parts of the code for later projects. This thesis presents a structures of C programs and literate C programs, and describes the features of captured literate C programs. A method of the capture process and also the functions of the redocumentation process are described. In addition, this thesis outlines how the individual stages in the capture process and the edit process are used to redocument a C program. The results of application of the process are highlighted by way of example programs. The evaluation process is performed by comparing the results of an existing literate program with those resulting from the application of the method described within this thesis. The results have shown that the captured redocumented literate C program is more readable and understandable than source code only, and that it provides a basis for subsequent maintenance and further redocumentation

    Understanding Computer Programming as a Literacy

    Full text link
    • …
    corecore