UNCORRECTED PROOF 1 Designing Class Methods from Dataflow Diagrams Peretz Shoval and Judith Kabeli-Shani Abstract A method for designing the class methods of an information system is described. The method is part of FOOM – Functional and Object-Oriented Methodology. In the analysis phase of FOOM, two models defining the users’ requirements are created: a conceptual data model – an initial class diagram; and a functional model – hierarchical OO-DFDs (object-oriented dataflow diagrams). Based on these models, a well-defined process of methods design is applied. First, the OO-DFDs are converted into transactions, i.e., system processes that supports user task. The components and the process logic of each transaction are described in detail, using pseudocode. Then, each transaction is decomposed, according to well-defined rules, into class methods of various types: basic methods, application-specific methods and main transaction (control) methods. Each method is attached to a proper class; messages between methods express the process logic of each transaction. The methods are defined using pseudocode or message charts. Keywords Information systems design System development methodology Object-oriented development Class diagram Dataflow diagram Transactions Methods 1. Introduction In early information systems development (ISD) methodologies, e.g., DeMarco [2], the emphasis of analysis was on describing the functional requirements by conducting top-down functional decomposition of the system using dataflow diagrams (DFDs) or similar techniques. In the early 1990s, with the emergence of the object-oriented (OO) approach to ISD, methodologies such as Coad and Yourdon [1] and Shlaer and Mellor [7] suggested a different analysis concept: object-driven; that is, the analysis phase emphasized on finding the domain objects, while the design phase concentrated on identifying the services (functions) which these objects provide. Aiming at solving problems raised by the vast amount of methods developed during the OO era, UML (unified modeling language) was adopted by OMG as its standard for modeling OO systems. UML consists of a set of models and notations for describing various products of the OO system’s lifecycle. UML’s main tool for describing the user/functional requirements is use cases. A use case is presented as an interaction between the system and an entity external to it called ‘‘actor,’’ for the purpose of achieving the actor’s goal. Many methodologies that use UML prescribe functional modeling via use case diagrams. Methodologies that adopt use cases as the requirements description tool are called ‘‘use case-driven’’ meaning that the development process is derived by describing, realizing, and developing use case scenar- ios. Use cases are usually used to develop sequence diagrams (or some semantically equivalent diagram). A sequence diagram illustrates the objects that participate in a use case and the messages that pass between them over time. A message sent to an object, possibly with parameters, is assumed to invoke a certain SPB-124731 1 May 27, 2009 Time: 18:48 Proof 1 Peretz Shoval Department of Information Systems Engineering, Ben-Gurion University, Beer-Sheva 84105, Israel Judith Kabeli-Shani Department of Industrial and Management Engineering, Shenkar College of Engineering and Design, Ramat-Gan 2526, Israel G.A. Papadopoulos et al. (eds.), Information Systems Development, DOI 10.1007/b137171_1, Ó Springer ScienceþBusiness Media, LLC 2009 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50