In 18th Conference on Software Engineering Education and Training (CSEE&T 2005), Ottawa, Canada, April 2005
Abstract:
Software engineering courses often use industrial modeling tools for their infrastructure, as it exposes students
to the state-of-the practice and increases their awareness about the complexity of their craft. However, this approach
has the risk of expending a disproportionate amount of effort on tools as opposed to teaching concepts. Moreover,
industrial tools often do not include didactic concepts needed for education.
In this paper, we discuss our experience with an integrated, rationale-based modeling tool in a variety of software engineering courses. By providing an integrated modeling environment, students use a single tool for requirements, system design, test planning, and collaboration. By attaching rationale to the models, students are encouraged to reflect on their work while instructors canmonitor them and provide more insightful feedback.
In A. Aurum, R. Jeffery, Claes Wohlin, & M. Handzic (Eds.) Managing Software Engineering Knowledge.Springer Verlag, September, 2003.
Abstract:
Two of the biggest challenges in knowledge management are to make tacit knowledge explicit and to keep explicit
knowledge up-to-date. In this chapter, we focus on how to manage knowledge about a software system with respect to
change, so that changes can be evaluated and realized with less effort and without reducing quality. We use a
rationale-based approach for making explicit change knowledge and the knowledge activities that need to occur during
requirements specification and evolution. The knowledge activities keep the requirements and the change knowledge
up-to-date. While these issues have been examined to some extent independently in the requirements, change, and knowledge
management communities, we focus on the integration of methods from all three communities. The goal of the chapter is to
illustrate the synergy effects and resulting benefits that occur when interleaving knowledge and requirements activities
Keywords: Requirements evolution; Knowledge management; Rationale; Traceability; QOC.
International Workshop on Distributed Software Development, International Conference on Software Engineering. Orlando, Florida, May 21, 2002.
Abstract:
In this paper, we propose an awareness system that enables participants to monitor the activities of others over a
wide range of artifacts (e.g., system artifacts, organizational charts, or rationale models). Participants can subscribe
to be notified when specific system artifacts are modified, when specific participants trigger an activity, or when
participants trigger activities related to specific issues. Relationships among the system, organizational, and rationale
models are then used to provide observers a context to interpret the activities of others. By providing context in terms of
issues (as opposed to only system or communication artifacts), we hope to disseminate richer and more targeted awareness
information, hence creating more opportunities for informal information exchanges and for distributed collaboration.
In S.K. Chang (Ed.) Handbook of Software Engineering and Knowledge Engineering. World Scientific, December 2001.
Abstract:
In this chapter, we motivate and describe the use of rationale knowledge during software development. Rationale methods
aim at capturing, representing, and maintaining records about why developers have made the decisions they have. They
improve the quality of decisions through clarification of issues and their related tradeoffs. Moreover, they facilitate the
understanding and reevaluation of decisions, which is an important prerequisite for managing change during software development.
While there are several approaches for dealing with rationale knowledge, the systematic integration of rationale into software
engineering processes and tools has yet to happen.
In this chapter, we first introduce the fundamental rationale concepts. Next, we identify the knowledge management tasks that are related to identifying, eliciting, organizing, disseminating, and using rationale knowledge. Based on this, we survey representative rationale methods and illustrate the issues involved with a more detailed example on rationale management for requirements. We conclude with a discussion of open issues and future directions in rationale research.
Keywords: Design rationale; Software evolution; Negotiation; Issue model; QOC; IBIS.