Managing Scope Creep With Design Patterns in Formal Specifications
Scope creep can affect the timeliness of the software engineering process. Scope creep often occurs when features are changed or added. Software specification languages provide a formal method for extrapolating and expanding requirements. Several design patterns provide object-oriented constructs whose goal are to mitigate changes in code. Applying these design patterns to formal specifications can help mitigate changes. Structural patterns realize communication between objects, thus identifying how these objects and communications can change. Using a combination of these pattern types, specifications can be redesigned with the focus of mitigating scope creep. This paper will focus on the patterns which fall into these two categories to design specifications, even if the requirements don't specify this behavior.