@inproceedings {SE.5.Vokac.2004,
	title = {Using a Reference Application With Design Patterns to Produce Industrial Software},
	journal = {PROFES 2004},
	year = {2004},
	pages = {333-347},
	publisher = {Springer-Verlag},
	type = {1},
	address = {Kansai Science City, Japan},
	abstract = {System architectures are described in abstract terms, often using Design Patterns. Actual reuse based on such descriptions requires that each development project derive a concrete architecture from the chosen Patterns, and then implement it in code. This paper describes a case study of an industrial development project that adopted a reference application as a starting point, in order to avoid the need to design a complete architecture. Reference applications are usually made by platform or component vendors. Such applications are used to provide executable examples of best practices, for a particular platform, component set, or other technology. In this case study, the Pet Store application for the J2EE platform was chosen. Pet Store is documented by Design Patterns and is also available as source code. The development consisted of replacing the application logic, while keeping the architecture intact. The project was thus transformed from an ab initio development project into a major reuse/modification project. This development project was part of a software process improvement effort looking at processes for and with reuse. Our results indicate that this approach works well, provided that the functional and non-functional requirements of the project match those of the reference application. The development time was shortened by approximately one third relative to the original estimate, and a well-designed application was produced despite lack of experience with the platform and n-layer architectures. Surprisingly, the production deployment to a different application server was still problematic, even though the original reference application was available as a sample for that server.},
	author = {Vok{\'a}c, Marek and Jensen, O.}
}
