documentation as an affective method of transferring information between individuals in order to reduce software maintenance costs is examined- Various categories of docu- mentation are identified and evaluated as to ...
详细信息
documentation as an affective method of transferring information between individuals in order to reduce software maintenance costs is examined- Various categories of docu- mentation are identified and evaluated as to their effec- tiveness toward easing the maintenance effort. The concept of minimal documentation is introduced as the solution to the problem of determining the corrsct amount of information reguired for a specific maintenance task. The idea of utilizing an explicit documentation hierarchy as the ideal method for storing explicit documentation is proposed. With the proper implementation of the documentation hierarchy, the minimal documentation concept can be realized, and the maintenance effort reduced.
software documentation is a basic component of the software development process and it is very important in all the phases of a software system life cycle. It is plays a very important role from the point of view of b...
详细信息
software documentation is a basic component of the software development process and it is very important in all the phases of a software system life cycle. It is plays a very important role from the point of view of both the software engineer and user. software documentation usually includes textual documentation required by the software engineering standards, API documentation, Wiki pages and source code comments. Surveys and studies indicate that the documentation is not always available and, if available, only partially addresses the developers’ needs, as it is often wrong, incomplete, out-of-date and ambiguous. In the context of ERP – Enterprise Resource Planning, the relevance of the software documentation is even more important due to the complexity of such a kind of software systems and the strategic role they have within operative organizations. This paper focuses on the quality assessment of the documentation of ERP open source systems with the aim of understanding if they include high quality documentation for adequately support anyone want to adopt them and/or executing maintenance activities. Specifically, a quality model is defined and its application to three Open source software system is performed.
Traditionally, software documentation is either embedded directly into the source code as comments and therefore tightly coupled to it or maintained separately and completely divorced from the code. This work explores...
详细信息
ISBN:
(纸本)9781450367905
Traditionally, software documentation is either embedded directly into the source code as comments and therefore tightly coupled to it or maintained separately and completely divorced from the code. This work explores an alternative mechanism for writing, storing, and maintaining software documentation where comment points derived from revision control artifacts associated with the software are embedded in source code. These comment points abstractly link to software documentation, which is stored separately from the source code but remains maintainable from the source code using traditional software development tools and workflows, or using documentation focused tools like wikis. By treating documentation as a cross-cutting concern of source code, we intend to increase the modularity of documentation. This, in turn, allows different documentation concerns to be supported without mixing those concerns. Examples of such concerns include documentation associated with the architectural design, articulated requirements for the software, a literate description of algorithms, external developer API documentation, accessibility of international documentation, and pedagogical exposition.
The purpose of this article is to discuss documentation and management technique in a software production project. It is claimed that clear and concise documentation is a major contribution to communication between pe...
详细信息
In common design pattern collections,e.g.,design pattern books,design patterns are documented with templates that consist of multiple attributes,such as intent,structure,and sample *** adapt to modern developers,the d...
详细信息
In common design pattern collections,e.g.,design pattern books,design patterns are documented with templates that consist of multiple attributes,such as intent,structure,and sample *** adapt to modern developers,the depictions of design patterns,especially some specific attributes,should advance with the current programming technologies,for example,“known uses”,which exemplifies the use scenarios of design patterns in practice,and“related patterns”,which describes the relatedness between a design pattern and the others within a ***,it is not easy to update the contents of these attributes manually due to the diversity of the programming *** address this problem,in this work,we conducted a case study to mine design pattern use scenarios and related design pattern pairs from Stack Overflow posts to enrich the two *** first extracted the question posts relevant to each design pattern by identifying the design pattern ***,the topics of the posts were discovered by applying topic modeling ***,by analyzing the topics specified for each design pattern,we detected 195 design pattern use scenarios and 70 related design pattern pairs,involving 61 design patterns *** findings are associated with a variety of popular software frameworks and programming *** could complement the existing design pattern collections and help developers better acknowledge the usage and relatedness of design patterns in today's programming practice.
When working on a project, software developers must be familiar with computing concepts, standards, and technologies related to the project. We present a novel approach, called Scode, to automatically identify those c...
详细信息
When working on a project, software developers must be familiar with computing concepts, standards, and technologies related to the project. We present a novel approach, called Scode, to automatically identify those concepts using the project's documentation. Scode combines entity linking and network analysis techniques specialized for the software development domain. In addition to concepts explicitly mentioned in the documentation, Scode can retrieve implicit concepts related to the project's domain. Concepts identified by Scode have a recognized meaning that is consistent across projects. We compared Scode to different baselines and found that it is more effective at mapping projects to a consistent concept space.
High-quality source code comments are valuable for software development and maintenance, however, code often contains low-quality comments or lacks them altogether. We name such source code comments as suboptimal comm...
详细信息
High-quality source code comments are valuable for software development and maintenance, however, code often contains low-quality comments or lacks them altogether. We name such source code comments as suboptimal comments. Such suboptimal comments create challenges in code comprehension and maintenance. Despite substantial research on low-quality source code comments, empirical knowledge about commenting practices that produce suboptimal comments and reasons that lead to suboptimal comments are lacking. We help bridge this knowledge gap by investigating (1) independent comment changes (ICCs)-comment changes committed independently of code changes-which likely address suboptimal comments, (2) commenting guidelines, and (3) comment-checking tools and comment-generating tools, which are often employed to help commenting practice-especially to prevent suboptimal comments. We collect 24M+ comment changes from 4,392 open-source GitHub Java repositories and find that ICCs widely exist. The ICC ratio-proportion of ICCs among all comment changes-is similar to 15.5%, with 98.7% of the repositories having ICC. Our thematic analysis of 3,533 randomly sampled ICCs provides a three-dimensional taxonomy for what is changed (four comment categories and 13 subcategories), how it changed (six commenting activity categories), and what factors are associated with the change (three factors). We investigate 600 repositories to understand the prevalence, content, impact, and violations of commenting guidelines. We find that only 15.5% of the 600 sampled repositories have any commenting guidelines. We provide the first taxonomy for elements in commenting guidelines: where and what to comment are particularly important. The repositories without such guidelines have a statistically significantly higher ICC ratio, indicating the negative impact of the lack of commenting guidelines. However, commenting guidelines are not strictly followed: 85.5% of checked repositories have violations. We also
Developing and applying guidance for ISO/IEC 15504-conformant process assessments in small software companies, the authors enhanced existing assessment methods by considering the organization as a whole. They tailored...
详细信息
Developing and applying guidance for ISO/IEC 15504-conformant process assessments in small software companies, the authors enhanced existing assessment methods by considering the organization as a whole. They tailored the assessment to address business factors as well as process maturity and growth.
Programming screencasts are growing in popularity and are often used by developers as a learning source. The source code shown in these screencasts is often not available for download or copy-pasting. Without having t...
详细信息
Programming screencasts are growing in popularity and are often used by developers as a learning source. The source code shown in these screencasts is often not available for download or copy-pasting. Without having the code readily available, developers have to frequently pause a video to transcribe the code. This is time-consuming and reduces the effectiveness of learning from videos. Recent approaches have applied Optical Character Recognition (OCR) techniques to automatically extract source code from programming screencasts. One of their major limitations, however, is the extraction of noise such as the text information in the menu, package hierarchy, etc. due to the imprecise approximation of the code location on the screen. This leads to incorrect, unusable code. We aim to address this limitation and propose an approach to significantly improve the accuracy of code localization in programming screencasts, leading to a more precise code extraction. Our approach uses a Convolutional Neural Network to automatically predict the exact location of code in an image. We evaluated our approach on a set of frames extracted from 450 screencasts covering Java, C#, and Python programming topics. The results show that our approach is able to detect the area containing the code with 94% accuracy and that our approach significantly outperforms previous work. We also show that applying OCR on the code area identified by our approach leads to a 97% match with the ground truth on average, compared to only 31% when OCR is applied to the entire frame.
A large number of tutorials for popular software development technologies are available online, and those about the same technology vary widely in their presentation. We studied the design of tutorials in the software...
详细信息
A large number of tutorials for popular software development technologies are available online, and those about the same technology vary widely in their presentation. We studied the design of tutorials in the software documentation landscape for five popular programming languages: Java, C#, Python, Javascript, and Typescript. We investigated the extent to which tutorial pages, i.e. resources, differ and report statistics of variations in resource properties. We developed a framework for characterizing resources based on their distinguishing attributes, i.e. properties that vary widely for the resource, relative to other resources. Additionally, we propose that a resource can be represented by its resource style, i.e. the combination of its distinguishing attributes. We discuss three techniques for characterizing resources based on our framework, to capture notable and relevant content and presentation properties of tutorial pages. We apply these techniques on a data set of 2551 resources to validate that our framework identifies valid and interpretable styles. We contribute this framework for reasoning about the design of resources in the online software documentation landscape.
暂无评论