Results 1 - 10
of
22
Managing Software Engineering Experience for Comprehensive Reuse
, 1999
"... Today’s software developments are faced with steadily increasing expectations: software has to be developed faster, better, and cheaper. At the same time, application complexity increases. Meeting these demands requires fast, continuous learning and the reuse of past experience on the part of the pr ..."
Abstract
-
Cited by 39 (13 self)
- Add to MetaCart
Today’s software developments are faced with steadily increasing expectations: software has to be developed faster, better, and cheaper. At the same time, application complexity increases. Meeting these demands requires fast, continuous learning and the reuse of past experience on the part of the project teams. Thus, learning and reuse should be supported by well-defined processes applicable to all kinds of experience which are stored in an organizational memory. In this paper, we introduce a tool architecture supporting continuous learning and reuse of all kinds of experience from the software engineering domain and present the underlying methodology. 1.
An Evolutionary Approach to Constructing Effective Software Reuse Repositories
- ACM Transactions on Software Engineering and Methodology
, 1997
"... This article outlines an approach that avoids these problems by choosing a retrieval method that utilizes minimal repository structure to effectively support the process of finding software components. The approach is demonstrated through a pair of proof-ofconcept prototypes: PEEL, a tool to semiaut ..."
Abstract
-
Cited by 32 (3 self)
- Add to MetaCart
This article outlines an approach that avoids these problems by choosing a retrieval method that utilizes minimal repository structure to effectively support the process of finding software components. The approach is demonstrated through a pair of proof-ofconcept prototypes: PEEL, a tool to semiautomatically identify reusable components, and CodeFinder, a retrieval system that compensates for the lack of explicit knowledge structures through a spreading activation retrieval process. CodeFinder also allows component representations to be modified while users are searching for information. This mechanism adapts to the changing nature of the information in the repository and incrementally improves the repository while people use it. The combination of these techniques holds potential for designing software repositories that minimize up-front costs, effectively support the search process, and evolve with an organization's changing needs.
Case-Based Knowledge Management Tools for Software Development
- Journal of Automated Software Engineering
, 1997
"... Modern software development is a knowledge-intensive activity. The proliferation of development tools, rapidly changing technology, and increasing complexity and diversity of application domains all increase the cognitive burden placed on software developers. General purpose programming languages an ..."
Abstract
-
Cited by 24 (14 self)
- Add to MetaCart
Modern software development is a knowledge-intensive activity. The proliferation of development tools, rapidly changing technology, and increasing complexity and diversity of application domains all increase the cognitive burden placed on software developers. General purpose programming languages and CASE tools offer little relief from these problems. Knowledge management tools are needed that can effectively capture and disseminate software development knowledge that applies to the domain-specific needs of an organization. This knowledge is not static, but evolves with technology and the changing needs of the organization's development practices, customer base, and business milieu.
A Methodology and Tools for Applying Context-Specific Usability Guidelines to Interface Design
- Interacting with Computers
, 2000
"... This paper presents a methodology and associated technology to create context-specific usability guidelines. The objective is to transform usability guidelines into a proactive resource that software developers can employ early and often in the development process. The methodology ensures conformanc ..."
Abstract
-
Cited by 19 (3 self)
- Add to MetaCart
This paper presents a methodology and associated technology to create context-specific usability guidelines. The objective is to transform usability guidelines into a proactive resource that software developers can employ early and often in the development process. The methodology ensures conformance with established guidelines, but has the flexibility to use design experiences to adapt the guidelines to meet the emergent and diverse requirements of modern user interface design. Case-based and organizational learning technology is used to support the methodology and provide valuable resources for software developers.
Supporting the Construction and Evolution of Component Repositories
- In Proceedings of the 18th International Conference on Software Engineering
, 1996
"... Repositories must be designed to meet the evolving and dynamic needs of software development organizations. Current software repository methods rely heavily on classification, which exacerbates acquisition and evolution problems by requiring costly classification and domain analysis efforts before a ..."
Abstract
-
Cited by 19 (0 self)
- Add to MetaCart
Repositories must be designed to meet the evolving and dynamic needs of software development organizations. Current software repository methods rely heavily on classification, which exacerbates acquisition and evolution problems by requiring costly classification and domain analysis efforts before a repository can be used effectively. This paper outlines an approach in which minimal initial structure is used to effectively find relevant software components while methods are employed to incrementally improve repository structures. The approach is demonstrated through PEEL, a tool to semi-automatically identify reusable components, and CodeFinder, a retrieval system that compensates for the lack of explicit knowledge structures through spreading activation retrieval and allows component representations to be incrementally improved while users are searching for information. The combination of these techniques yields a flexible software repository that minimizes up-front costs and improves...
A Framework For Developing Experience-Based Usability Guidelines
- Proceeding of the Symposium on Designing Interactive Systems (DIS ‘95), Ann Arbor MI
, 1995
"... Reflecting the growing consensus that principles and methods for developing effective interfaces are beginning to mature, usability design guidelines have begun to proliferate. But current approaches to guidelines tend to either be technology-centric, focusing on platform-specific interface widgets, ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
Reflecting the growing consensus that principles and methods for developing effective interfaces are beginning to mature, usability design guidelines have begun to proliferate. But current approaches to guidelines tend to either be technology-centric, focusing on platform-specific interface widgets, or abstract and general-purpose. At best, these general guidelines provide weak support that is insufficient to support developers faced with specific interface design problems targeted for specific user populations. If the potential of usability guidelines as an interface design technique is to be fully realized, they need to be augmented with context-specific guidelines and examples that synthesize isolated guidelines into domain-specific solutions to design problems. In this paper, we present a method in which software development organizations can develop and evolve domain-specific guidelines based on the kinds of applications they develop. The method facilitates the process of determin...
Accelerating the Successful Reuse of Problem Solving Knowledge Through the Domain Lifecycle
- Fourth International Conference on Software Reuse
, 1996
"... The inability of software reuse to reach its full potential lies partially in the product-centric way in which we view software development. Methods are needed that help us reason about product families and degrees of support that can be offered for problem domains. This paper uses a "domain lifecyc ..."
Abstract
-
Cited by 17 (10 self)
- Add to MetaCart
The inability of software reuse to reach its full potential lies partially in the product-centric way in which we view software development. Methods are needed that help us reason about product families and degrees of support that can be offered for problem domains. This paper uses a "domain lifecycle" to formalize a process in which increasing levels of formality can be provided as a domain matures. The first step in this process is to collect and disseminate project experiences that can accelerate the process of identifying and refining application domains with significant impact in a software development organization. This approach facilitates the reuse of a broad spectrum of knowledge at multiple levels of formality. Based on empirical investigations of a software development organization, a prototype of a case-based organizational memory repository for software development practices is presented and assessed for its impact on reusing software development knowledge. Keywords: doma...
Systematic Population, Utilization, and Maintenance of a Repository for Comprehensive Reuse
- LEARNING SOFTWARE ORGANIZATIONS - METHODOLOGY AND APPLICATIONS, NUMBER 1756 IN LECTURE NOTES IN COMPUTER SCIENCE
, 2000
"... Today's software developments are faced with steadily increasing expectations: software has to be developed faster, better, and cheaper. At the same time, application complexity increases. Meeting these demands requires fast, continuous learning and the reuse of experience on the part of the proj ..."
Abstract
-
Cited by 15 (8 self)
- Add to MetaCart
Today's software developments are faced with steadily increasing expectations: software has to be developed faster, better, and cheaper. At the same time, application complexity increases. Meeting these demands requires fast, continuous learning and the reuse of experience on the part of the project teams. Thus, learning and reuse should be supported by well-defined processes applicable to all kinds of experience which are stored in an organizational memory. In this paper, we introduce a tool architecture supporting continuous learning and reuse of all kinds of experience from the software engineering domain and present the underlying methodology.
Tools Supporting the Creation and Evolution of Software Development Knowledge
, 1997
"... Software development is a knowledge-intensive activity involving the integration of diverse knowledge sources that undergo constant change. The volatility of knowledge in software development requires that knowledge bases are able to support a continuous knowledge acquisition process where tools are ..."
Abstract
-
Cited by 11 (8 self)
- Add to MetaCart
Software development is a knowledge-intensive activity involving the integration of diverse knowledge sources that undergo constant change. The volatility of knowledge in software development requires that knowledge bases are able to support a continuous knowledge acquisition process where tools are available that can make use of partial knowledge. To address these issues, case-based technology is used in combination with an organizational learning process to create an approach that turns Standard Development Methodologies (SDM) into living documents that capture project experiences and emerging requirements as they are encountered in an organization. A rule-based system is used to tailor the SDM to meet the characteristics of individual projects and provide relevant development knowledge throughout the development lifecycle.
An Environment For Reusing Software Processes
- FIFTH INTERNATIONAL CONFERENCE ON SOFTWARE REUSE
, 1998
"... While many reusable methods assume that developers will eventually become motivated to search for reusable components, few have addressed the issue of identifying when in the development process potentially reusable information exists. In this paper, a method is introduced that embeds reusable infor ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
While many reusable methods assume that developers will eventually become motivated to search for reusable components, few have addressed the issue of identifying when in the development process potentially reusable information exists. In this paper, a method is introduced that embeds reusable information in a process model that is customized to the specific needs of development efforts. By reusing these processes, projects draw on the collective experiences of the organization to apply known best practices to specific business requirements. A formal deviation process is used to allow development efforts to modify the process to suit their needs. To ensure continuous acquisition of reusable process information, deviations become part of the defined process so that future efforts with similar characteristics can use the same processes.

