Learn More
Patterns have shown to be an effective means of capturing and communicating software design experience. However, there is more to patterns than software design patterns: We believe that patterns work for software development on several levels. In this paper we explore what we have come to understand as crucial aspects of the pattern concept, relate patterns(More)
In many engineering disciplines, prototyping is a method and technique used mainly to improve the calculation of risks and costs of new projects. For similar reasons proto-typing has also been adopted as a technique in sojlware engineering. Until now, however, there has been a [ack of documented experience with the use of prototyping in industrial soji?ware(More)
In recent years the development of highly interactive software systems with graphical user interfaces has become increasingly common. The acceptance of such a system depends to a large degree on the quality of its user interface. Prototyping is an excellent means for generating ideas about how a user interface can be designed, and it helps to evaluate the(More)
1 Background and Motivation Why do people prefer to use certain software systems and why do they have problems using others? What is the quality within certain software that makes people soon feel familiar using it and lets them work efficiently? These are questions that we, like a lot of people who develop and use application systems in their everyday(More)
Developing a framework is not an easy task and can be done on several levels and for a variety of application domains. There are various techniques within the framework community designed to support the process of framework development on an architectural and an organizational level. But how can we combine these techniques to really succeed in professional(More)
Frameworks are a key asset in large-scale object-oriented software development. They promise increased productivity, shorter development times, and higher quality of applications. To fulfill this, frameworks should be designed in such a way that they can evolve, be easily reused, adapted and configured. Drawing on experience with large-scale industrial(More)
Companies have to adapt to changing environments and business requirements in short cycles. They seek to address their customers via various channels involving new (net-based) technologies. This poses an interesting question: How can we support multiple channels with various user front ends without at the same time duplicating business functionality? We(More)