
Process-centred Review of Object Oriented Software Development Methodologies Technical Report Raman Ramsin and Richard F. Paige Department of Computer Science The University of York Heslington York YO10 5DD United Kingdom {ramsin, paige}@cs.york.ac.uk June 2004 Abstract The applicability of the object-oriented approach to systems analysis and design has long been recognized, and as a result, the software industry has witnessed the advent of a plethora of object-oriented software development methodologies. These methodologies have been widely acclaimed as promising means for tackling the software crisis, yet their sheer number and diversity has become detrimental to their widespread adoption into the software engineering community. Efforts aimed at unification and standardization have been mostly focused on modeling languages, and methodologists have had limited success in integrating methodologies. Scant as they have been, attempts at integration, unification and standardization have actually aggravated the problems of complexity and inconsistency, giving rise to a new family of lightweight methodologies that eccentrically defy the long-established values of modeling and process-based development. These and other issues have necessitated further research in the field, with the ultimate purpose of developing practical and adoptable object-oriented methodologies. This report reviews existing methodologies as a prelude to a project aimed at developing a methodology addressing the problem issues. The review aims at abstracting away the less important features of the methodologies and laying bare their core philosophy and process. This is done by using a process-centred template for summarizing the methodologies, highlighting the activities prescribed in the methodology while describing the modeling notations used (mainly diagrams and tables) as secondary to the activities. The descriptions produced using this template offer little critique on the methodologies, yet abstract and structure them in a way that facilitates their elaborate analysis. Keywords: Software Development Methodology, Object-oriented Development, Modeling Language, Process. Table of Contents 1 INTRODUCTION .................................................................................................................................................... 1 1.1 MOTIVATION ....................................................................................................................................................... 1 1.2 PROJECT OBJECTIVES AND APPROACH ................................................................................................................. 2 1.3 AIM OF THE REPORT............................................................................................................................................. 3 1.4 STRUCTURE OF THE REPORT ................................................................................................................................3 2 SOFTWARE DEVELOPMENT METHODOLOGY: MODELING LANGUAGE + PROCESS .................... 5 3 OBJECT-ORIENTED METHODOLOGIES: A BRIEF HISTORY................................................................... 5 4 SEMINAL METHODOLOGIES: FIRST AND SECOND GENERATIONS..................................................... 7 4.1 SHLAER-MELLOR (1988, 1992)........................................................................................................................... 8 4.1.1 Partitioning the system into domains (Shlaer-Mellor)................................................................................ 8 4.1.2 Analyzing the application domain (Shlaer-Mellor) .................................................................................... 9 4.1.3 Confirming the analysis (Shlaer-Mellor).................................................................................................. 10 4.1.4 Extracting the requirements for the service domains (Shlaer-Mellor) ..................................................... 10 4.1.5 Analyzing the service domains (Shlaer-Mellor): ...................................................................................... 10 4.1.6 Specifying the components of the architectural domain (Shlaer-Mellor) ................................................. 11 4.1.7 Building the architectural components (Shlaer-Mellor)...........................................................................11 4.1.8 Translating the models of each domain (Shlaer-Mellor)..........................................................................11 4.2 COAD-YOURDON (1989, 1991).......................................................................................................................... 13 4.2.1 Analysis (Coad-Yourdon).......................................................................................................................... 13 4.2.2 Design (Coad-Yourdon)............................................................................................................................ 14 4.3 RDD (1990) ...................................................................................................................................................... 16 4.3.1 Exploratory Phase (RDD)......................................................................................................................... 16 4.3.2 Analysis Phase (RDD) .............................................................................................................................. 17 4.4 BOOCH (1991, 1994) ......................................................................................................................................... 19 4.4.1 Macro Process (Booch) ............................................................................................................................ 19 4.4.2 Micro Process (Booch) ............................................................................................................................. 20 4.5 OMT (1991)...................................................................................................................................................... 26 4.5.1 Analysis (OMT)......................................................................................................................................... 27 4.5.2 System Design (OMT)............................................................................................................................... 28 4.5.3 Object Design (OMT) ............................................................................................................................... 29 4.6 OSA (1992)....................................................................................................................................................... 30 4.6.1 Object-Relationship Model – ORM (OSA)................................................................................................ 31 4.6.2 Object-Behaviour Model – OBM (OSA) ................................................................................................... 31 4.6.3 Object-Interaction Model - OIM (OSA)................................................................................................... 32 4.6.4 High-level views (OSA)............................................................................................................................. 32 4.7 OOSE (1992) .................................................................................................................................................... 34 4.7.1 Analysis (OOSE)....................................................................................................................................... 34 4.7.1.1 Requirements Analysis ......................................................................................................................... 34 4.7.1.2 Robustness Analysis ............................................................................................................................. 37 4.7.2 Construction (OOSE)................................................................................................................................ 37 4.7.2.1 Design................................................................................................................................................... 38 4.7.2.2 Implementation ..................................................................................................................................... 39 4.7.3 Testing (OOSE)......................................................................................................................................... 40 4.8 BON (1992, 1995) ............................................................................................................................................ 41 4.8.1 Delineating System Borderline (BON)...................................................................................................... 43 4.8.2 Listing Candidate Classes (BON)............................................................................................................. 45 4.8.3 Selecting Classes and Grouping into Clusters (BON) ..............................................................................45 4.8.4 Defining Classes (BON)............................................................................................................................ 47 4.8.5 Sketching System Behaviour (BON).......................................................................................................... 47 4.8.6 Defining
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages154 Page
-
File Size-