Enterprise Applications: From Requirements to Design

We provide a method to systematically develop enterprise application architectures from problem descriptions. The problem descriptions are based on Jackson’s problem frame approach (Jackson, 2001). For enterprise applications, we have developed a specialized problem frame that takes the specifics of such applications into account (Choppy & Reggio, 2006). In particular, new domain types – such as business worker and business object – are introduced. We describe the requirements through problem diagrams that are instances of the enterprise application frame and of other problem frames. In addition to Jackson’s problem frame approach, we represent the business model underlying the business application by a domain knowledge diagram. Such a diagram identifies the domains relevant for the business process to be automated and states how they are related. It serves to analyze the business process to be automated and helps to construct the appropriate instances of the enterprise application frame, thus obtaining the problem diagrams. From the problem diagrams, we derive two kinds of specifications: a behavioral specification describes how the automated business process is carried out. It can be expressed using activity or sequence diagrams. A structural specification describes the classes to be implemented and the operations they provide. This specification is expressed as a class diagram, where all operations are specified in OCL. With these different models, we have described the software development problem in a detailed way, taking into account the specifics of business applications. This makes it possible to develop a suitable software architecture in a systematic way. We proceed similarly as described in earlier work (Choppy, Hatebur, & Heisel, 2011), where we derive software architectures from problem descriptions for arbitrary software. In this work, we make use of the fact that the software developement problem

[1]  Maritta Heisel,et al.  A Method to Derive Software Architectures from Quality Requirements , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[2]  Maritta Heisel,et al.  Systematic Architectural Design Based on Problem Patterns , 2011, Relating Software Requirements and Architectures.

[3]  Maritta Heisel,et al.  Making Pattern- and Model-Based Software Development More Rigorous , 2010, ICFEM.

[4]  Maritta Heisel,et al.  Deriving Software Architectures from Problem Descriptions , 2009, Software Engineering.

[5]  Vieri Del Bianco,et al.  Enhancing problem frames with scenarios and histories in UML-based software development , 2008, Expert Syst. J. Knowl. Eng..

[6]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[7]  Maritta Heisel,et al.  Component composition through architectural patterns for problem frames , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[8]  Paul Clements,et al.  Attribute-Driven Design (ADD), Version 2.0 , 2006 .

[9]  Christine Choppy,et al.  Requirements capture and specification for enterprise applications: a UML based attempt , 2006, Australian Software Engineering Conference (ASWEC'06).

[10]  Vieri Del Bianco,et al.  Combining Problem Frames and UML in the Description of Software Requirements , 2006, FASE.

[11]  Karl Cox,et al.  Validating strategic alignment of organizational IT requirements using goal modeling and problem diagrams , 2006, J. Syst. Softw..

[12]  Christine Choppy,et al.  A UML-based approach for problem frame oriented software development , 2005, Inf. Softw. Technol..

[13]  Maritta Heisel,et al.  Architectural patterns for problem frames , 2005, IEE Proc. Softw..

[14]  Maritta Heisel,et al.  A Model-Based Development Process for Embedded System , 2005, MBEES.

[15]  Bashar Nuseibeh,et al.  Architecture-driven problem decomposition , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[16]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[17]  Bashar Nuseibeh,et al.  Problem Frames: A Case for Coordination , 2004, COORDINATION.

[18]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[19]  Maritta Heisel,et al.  Use of Patterns in Formal Development: Systematic Transition from Problems to Architectural Designs , 2002, WADT.

[20]  Bashar Nuseibeh,et al.  Relating software requirements and architectures using problem frames , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[21]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[22]  Paulo S. C. Alencar,et al.  Geographic problem frames , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[23]  Robert L. Nord,et al.  Describing Software Architecture with UML , 1999, WICSA.

[24]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[25]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[26]  R. Ulusay,et al.  Object Constraint Language Specification , 1997 .

[27]  Pamela Zave,et al.  Deriving Specifications from Requirements: an Example , 1995, 1995 17th International Conference on Software Engineering.