268,029 research outputs found
A document-like software visualization method for effective cognition of c-based software systems
It is clear that maintenance is a crucial and very costly process in a software life cycle. Nowadays there are a lot of software systems particularly legacy systems that are always maintained from time to time as new requirements arise. One important source to understand a software system before it is being maintained is through the documentation, particularly system documentation. Unfortunately, not all software systems developed or maintained are accompanied with their reliable and updated documents. In this case, source codes will be the only reliable source for programmers. A number of studies have been carried out in order to assist cognition based on source codes. One way is through tool automation via reverse engineering technique in which source codes will be parsed and the information extracted will be visualized using certain visualization methods. Most software visualization methods use graph as the main element to represent extracted software artifacts. Nevertheless, current methods tend to produce more complicated graphs and do not grant an explicit, document-like re-documentation environment. Hence, this thesis proposes a document-like software visualization method called DocLike Modularized Graph (DMG). The method is realized in a prototype tool named DocLike Viewer that targets on C-based software systems. The main contribution of the DMG method is to provide an explicit structural re-document mechanism in the software visualization tool. Besides, the DMG method provides more level of information abstractions via less complex graph that include inter-module dependencies, inter-program dependencies, procedural abstraction and also parameter passing. The DMG method was empirically evaluated based on the Goal/Question/Metric (GQM) paradigm and the findings depict that the method can improve productivity and quality in the aspect of cognition or program comprehension. A usability study was also conducted and DocLike Viewer had the most positive responses from the software practitioners
Analysis of expert’s opinion on requirements patterns for software product families framework using GQM method
Software product line engineering (SPLE), provides an opportunity to improve reuse of software artifacts through domain engineering and application engineering processes. During the domain engineering process, reuse activities of the product line are well-planned and subsequently executed in the application engineering process. This paper presents an analysis of interview result with experts in requirements engineering (RE) and software development for validating requirements pattern for software product families (RP-SPF) framework. The interview was conducted using goal questions metrics (GQM) method to define a goal and formulate research questions for conducting the interview. During the interview, 6 experts compared RP-SPF approach (systematic) with ad hoc (conventional) approach of reuse and documentation of requirements in terms of suitability, efficiency, and effectiveness in SPLE. The experts also gave their feedback on the perception of the use of RP-SPF tool. The analysis of the interview result shows that RP-SPF approach is suitable in SPLE and more efficient and effective than ad hoc approach of reuse and documentation of requirements
Improving Automated Software Testing while re-engineering legacy systems in the absence of documentation
Legacy software systems are essential assets that contain an organizations' valuable business logic. Because
of outdated technologies and methods used in these systems, they are challenging to maintain and expand.
Therefore, organizations need to decide whether to redevelop or re-engineer the legacy system. Although
in most cases, re-engineering is the safer and less expensive choice, it has risks such as failure to meet the
expected quality and delays due to testing blockades. These risks are even more severe when the legacy
system does not have adequate documentation. A comprehensive testing strategy, which includes automated
tests and reliable test cases, can substantially reduce the risks. To mitigate the hazards associated with
re-engineering, we have conducted three studies in this thesis to improve the testing process.
Our rst study introduces a new testing model for the re-engineering process and investigates test automation
solutions to detect defects in the early re-engineering stages. We implemented this model on the
Cold Region Hydrological Model (CRHM) application and discovered bugs that would not likely have been
found manually. Although this approach helped us discover great numbers of software defects, designing test
cases is very time-consuming due to the lack of documentation, especially for large systems. Therefore, in
our second study, we investigated an approach to generate test cases from user footprints automatically. To
do this, we extended an existing tool to collect user actions and legacy system reactions, including database
and le system changes. Then we analyzed the data based on the order of user actions and time of them
and generated human-readable test cases. Our evaluation shows that this approach can detect more bugs
than other existing tools. Moreover, the test cases generated using this approach contain detailed oracles
that make them suitable for both black-box and white-box testing. Many scienti c legacy systems such as
CRHM are data-driven; they take large amounts of data as input and produce massive data after applying
mathematical models. Applying test cases and nding bugs is more demanding when we are dealing with
large amounts of data. Hence in our third study, we created a comparative visualization tool (ComVis) to
compare a legacy system's output after each change. Visualization helps testers to nd data issues resulting
from newly introduced bugs. Twenty participants took part in a user study in which they were asked to nd
data issued using ComVis and embedded CRHM visualization tool. Our user study shows that ComVis can
nd 51% more data issues than embedded visualization tools in the legacy system can. Also, results from
the NASA-TLX assessment and thematic analysis of open-ended questions about each task show users prefer
to use ComVis over the built-in visualization tool. We believe our introduced approaches and developed
systems will signi cantly reduce the risks associated with the re-engineering process.
i
How do software architects consider non-functional requirements: an exploratory study
© 2012 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.Dealing with non-functional requirements (NFRs) has posed a challenge onto software engineers for many years. Over the years, many methods and techniques have been proposed to improve their elicitation, documentation, and validation. Knowing more about the state of the practice on these topics may benefit both practitioners' and researchers' daily work. A few empirical studies have been conducted in the past, but none under the perspective of software architects, in spite of the great influence that NFRs have on daily architects' practices. This paper presents some of the findings of an empirical study based on 13 interviews with software architects. It addresses questions such as: who decides the NFRs, what types of NFRs matter to architects, how are NFRs documented, and how are NFRs validated. The results are contextualized with existing previous work.Peer ReviewedPostprint (author’s final draft
Using process mapping software to redesign a management system
Management Systems are becoming de rigueur for Organisations, but many with existing Management Systems are finding that they are creaking at the seams. Changes to Standards, Regulations, Business Practices, Organisation structures and Products mean that Organisations have be flexible and their Management Systems also. With Management Systems based on those written in the 1990s, companies are realising that they need to make a step change in order to maintain their competitive advantage.
This Management Summary will discuss why Process Mapping should be considered as a method for this improvement, what to consider when choosing a Process Mapping tool and how the change should be planned. It uses experience from several companies with which the author has been involved
Building Knowledge Bases for the Generation of Software Documentation
Automated text generation requires a underlying knowledge base from which to
generate, which is often difficult to produce. Software documentation is one
domain in which parts of this knowledge base may be derived automatically. In
this paper, we describe \drafter, an authoring support tool for generating
user-centred software documentation, and in particular, we describe how parts
of its required knowledge base can be obtained automatically.Comment: 6 pages, from COLING-9
Recommended from our members
Using mobile RE tools to give end-users their own voice
Researchers highlight end-user involvement in system design as an important concept for developing useful and usable solutions. However, end-user involvement in software engineering is still an open-ended topic. Novel paradigms such as service-oriented computing strengthen the need for more active end-user involvement in order to provide systems that are tailored to individual end-user needs. Our work is based on the fact that the majority of end-users are familiar with mobile devices and use an increasing number of mobile applications. A mobile tool enabling end-user led requirements elicitation could be just one of many applications installed on end-users' mobile devices. In this paper, we present a framework of end-user involvement in requirements elicitation which motivates our research. The main contribution of our research is a tool-supported requirements elicitation approach allowing end-users to document needs in situ. Furthermore, we present first evaluation results to highlight the feasibility of on-site end-user led requirements elicitation
- …