Software engineering has been striving for years to improve the practice of software development and maintenance. documentation has long been prominent on the list of recommended practices to improve development and h...
详细信息
ISBN:
(纸本)1595931759
Software engineering has been striving for years to improve the practice of software development and maintenance. documentation has long been prominent on the list of recommended practices to improve development and help maintenance. Recently however, agile methods started to shake this view, arguing that the goal of the game is to produce software and that documentation is only useful as long as it helps to reach this goal. On the other hand, in the re-engineering field, people wish they could re-document useful legacy software so that they may continue maintain them or migrate them to new platform. In these two case, a crucial question arises: "How much documentation is enough?" In this article, we present the results of a survey of software maintainers to try to establish what documentation artifacts are the most useful to them. Copyright 2005 ACM.
In preparation for the next release of its flagship software product, the International Publications Department at Waters Corporation assessed the usefulness of its current product software documentation to enable it ...
详细信息
In preparation for the next release of its flagship software product, the International Publications Department at Waters Corporation assessed the usefulness of its current product software documentation to enable it to move the next generation of documentation in the direction requested by customers. Based on extensive customer contact, a plan to dramatically revamp the documentation was formulated. Plan development involved: acquisition of customer feedback on the company's current software documentation;categorization of electronic and hardcopy documentation issues;formulation of a series of conclusions on how to proceed;evaluation of available electronic tools;acquisition of corporate sign-off of the plan;and plan execution.
Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged has been scarcely explored Patterns are most useful in understa...
详细信息
ISBN:
(纸本)0769518192
Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged has been scarcely explored Patterns are most useful in understanding software when they are well documented Sometimes they are described separately from code as design comments. Nevertheless they hold a strong relationship to the source code and thus they should be documented at the source level too. Unfortunately there is no agreement on how to document pattern use. This paper describes a structured approach to document pattern use in the Java language. Our solution is based on the standard Javadoc tool and it is able to generate HTML documentation. The approach has been implemented and tested with software that uses patterns.
The focus of this project is to implement automated test algorithms for testing analog-to-digital converters using LabView software. With the increase in bandwidth hungry applications the need for high speed and high ...
详细信息
The focus of this project is to implement automated test algorithms for testing analog-to-digital converters using LabView software. With the increase in bandwidth hungry applications the need for high speed and high resolution ADCs are needed on the front ends of the new systems that are being implemented today. As the designs become more complex, the ability to test these fast and high resolution ADCs becomes even more important. LabView allows the test engineer to interact with the device under test (DUT) through means of data acquisition and instrument control. Developing custom tests in LabView can result in reduced test time, which in turn will help reduce costs in testing. A linearity test will be presented for testing ADC static parameters in LabView, which include Differential Non-Linearity (DNL) and Integral Non-Linearity (INL).
DITA is an architecture for creating topic-oriented, information-typed content that can be reused and single-sourced in a variety of ways. It is also an architecture for creating new information types and describing n...
详细信息
ISBN:
(纸本)9781581135435
DITA is an architecture for creating topic-oriented, information-typed content that can be reused and single-sourced in a variety of ways. It is also an architecture for creating new information types and describing new information domains, allowing groups to create very specific, targeted document type definitions using a process called specialization, while at the same time reusing common output transforms and design rules. Specialization provides a way to reconcile the needs for centralized control of major architecture and design with the needs for localized control of group-specific and content-specific guidelines and controls. Specialization allows multiple definitions of content and output to coexist, related through a hierarchy of information types and transforms. This hierarchy lets general transforms know how to deal with new, specific content, and it lets specialized transforms reuse logic from the general transforms. As a result, any content can be processed by any transform, as long as both content and transform are specialization-compliant and part of the same hierarchy. You get the benefit of specific solutions, but you also get the benefit of common standards and shared resources. For some groups, specialization requires a radical move away from centralized processes into a world of negotiated possibilities that introduces many new stakeholders to the information management infrastructure. For other groups, specialization introduces centralization, and, while it provides new opportunities for sharing and reusing logic and design, it also requires new policies and procedures to bring disparate design and development activities into a cohesive, coordinated framework. Previous papers have described in some detail how the technology of specialization works, and how it can be implemented using off-the-shelf tools that are dependent only on base levels of W3C standards (XML 1.0, XSLT 1.0). This paper provides a brief summary of recent changes to DITA speci
caT (for Context-Aware Trellis) was initially developed to support context-aware documents by incorporating high-level Petri-net specification, context-awareness, user modeling, and fuzzy knowledge handling features i...
详细信息
ISBN:
(纸本)1581134320
caT (for Context-Aware Trellis) was initially developed to support context-aware documents by incorporating high-level Petri-net specification, context-awareness, user modeling, and fuzzy knowledge handling features into Trellis, a Petri-net-based hypermedia system. The browsing behavior of documents specified in the caT model can reflect the reader's contextual (such as location and time) and preference information. Recently, to provide a framework for the authoring, browsing, and analysis of reasonably complex, dynamic documents, we added (or extended) several features in the caT system, providing hierarchical Petri net support, a structured authoring tool, browsing tools for multiple presentations of a particular document's specification, and a Petri net analysis tool. In this paper, we present the extended features of caT and give examples of using caT to define and present various documents, such as formal specification of software requirements and customized Web documents. Since caT is based on a formal model, the behavioral characteristics of developed caT models can be analyzed. Current debugging and analysis tools, integrated into the authoring tool, are also introduced.
Software professionals rely on internal documentation as an aid in understanding programs. Unfortunately, the documentation for most programs is usually out-of-date and cannot be trusted. Without it, the only reliable...
详细信息
ISBN:
(纸本)0897915321
Software professionals rely on internal documentation as an aid in understanding programs. Unfortunately, the documentation for most programs is usually out-of-date and cannot be trusted. Without it, the only reliable and objective information is the source code itself. Personnel must spend an inordinate amount of time exploring the system by looking at low-level source code to gain an understanding of its functionality. One way of producing accurate documentation for an existing software system is through reverse engineering. This paper outlines a reverse engineering methodology for building subsystem structures out of software building blocks, and describes how documenting a software system with views created by this process can produce numerous benefits. It addresses primarily the needs of the software engineer and technical manager as document users.
Dynamic help is an automatable, non-interactive system of context-sensitive, state-specific online user documentation. It explains currently active objects and user procedures when called. This paper presents the theo...
详细信息
ISBN:
(纸本)0818626976
Dynamic help is an automatable, non-interactive system of context-sensitive, state-specific online user documentation. It explains currently active objects and user procedures when called. This paper presents the theory of Dynamic Help, reports an automation experiment that shows Dynamic Help is intrinsically more efficient to provide than other forms of online documentation, reports user tests that verify Dynamic Help messages make a program usable without training, and discusses a set of developer's tools (a Dynamic Help Generator) currently under development.
This paper presents a detailed comparison between the structural elements and definitions provided by Hypermedia Authoring Languages and Architecture Description Languages (ADL). ADLs are formal languages that can be ...
详细信息
ISBN:
(纸本)1581134320
This paper presents a detailed comparison between the structural elements and definitions provided by Hypermedia Authoring Languages and Architecture Description Languages (ADL). ADLs are formal languages that can be used for representing a software architecture. Although it may look trivial to make a direct correspondence between ADL and hypermedia structural entities, such as components to nodes and connectors to links, interesting differences can be identified when observing them more closely. Based on the comparison results, a structural meta-model that can be specialized for use in both domains is proposed. Furthermore, the paper also presents an example of how the meta-model can be used for describing hypermedia document structures, showing how some features found in ADLs can be applied to hypermedia authoring languages. Our final goal is to integrate the contributions of document engineering and software architecture engineering and take advantage of the advances of one area in the other one. The current paper is the first step towards this direction.
This paper presents an offline partial evaluator for the λ-calculus with the delimited continuation constructs shift and reset. Based on Danvy and Filinski's type system for shift and reset, we first present a ty...
详细信息
ISBN:
(纸本)9781581138351
This paper presents an offline partial evaluator for the λ-calculus with the delimited continuation constructs shift and reset. Based on Danvy and Filinski's type system for shift and reset, we first present a type system that specifies well-annotated terms. We then show a specializer that receives an annotated term and produces the output in continuation-passing style (CPS). The correctness of our partial evaluator is established using the technique of logical relations. Thanks to the explicit reference to the type of continuations, we can establish the correctness using the standard proof technique of structural induction, despite the fact that the specializer itself is written in CPS. The paper also shows an efficient constraint-based binding-time analysis as well as how to extend the present work to richer language constructs, such as recursion and conditionals.
暂无评论