Abstract. We propose a pattern-based software development method comprising analysis (using problem frames) and design (using architectural and design patterns), of which especially evolving systems benefit. Evolution operators guide a pattern-based transformation procedure, including re-engineering tasks for adjusting a given software architecture to meet new system demands. Through application of these operators, relations between analysis and design documents are explored systematically for accomplishing desired software modifications. This allows for reusing development documents to a large extent, even when the application environment and the requirements change. 1 Motivation Splitting the software life cycle into several, more or less independent development phases is a need to create manageable engineering activities. Patterns introduce a further enhancement, because they provide a concept for reusing software development knowledge. Hence, a vast quantity of patterns specific...