Using object-oriented analysis and design over traditional structured analysis and design The existing methodology used primarily in industry today in building computer-based applications is known as structured analysis and design. This methodology came into existence as a result of the structured programming techniques introduced in the 1970's. This structured systems development methodology (SDM) has been finetuned and used for many years in the real world. However, during the last several years object-oriented languages have become increasingly more popular and more widely used in industrial organizations as well as university institutions. As this trend continued a methodology was developed to assist the programmer with the development of applications using object-oriented languages. This methodology has become known as object-oriented analysis and design (OOAD).The OOAD strategy approaches the problem from an object perspective as opposed to a functional perspective, which is the primary focus of the traditional structured development methodology. During the last few years the increasing use of OOAD over the traditional structured development methodology has spread significantly. As newer and more sophisticated object-oriented languages are created, there appears to be an even greater need for an object-oriented approach to develop business applications. However, does this need warrant greater use of this new methodology over the traditional one? We will compare the two methodologies and their advantages and disadvantages in order to address this problem. Keywords: Systems Analysis and Design, Object-Oriented Analysis and Design, Waterfall Model, Systems Development Life Cycle, ObjectOriented Life Cycle, Class Diagrams, Data Flow Diagrams. 1. INTRODUCTION After surveying many articles as well as the current and popular textbooks on Systems Analysis and Design which include but are not limited to those mentioned in the references (Rumbaugh, Blaha, Premerlani, Eddy and Lorensen, 1991; Embley, Kurtz and Woodfield, 1992; Gibson and Hughes, 1994, Norman, 1996; Dewitz, 1996; Bahrami, 1999; Dennis, Wixom and Tegarden, 2002; Brown, 2002; Satzinger, Jackson and Burd, 2005; Booch, 2007; Hoffer, George and Valacich, 2008;), the author has observed much discussion on the use of objectoriented analysis and design over the traditional structured systems analysis and design. While the use of OOAD methodology is justified in many cases, in some cases it may be inappropriate and we should consider the use of the traditional structured analysis methodology in the design and development of information systems. This paper attempts to clarify the use of these methodologies, to compare the advantages and disadvantages of each and to make recommendations. 2. BACKGROUND A methodology is a procedure for resolving the problems of the current system or for building a new one. There are many methodologies for the design and development of information systems which include: Systems Development Life Cycle (SDLC), Rapid Application Development (RAD), Object-Oriented Analysis and Design, Prototyping and many others (Dennis, Wixom, Teagarden, 2002). The SDLC is more commonly known as Structured Systems Analysis & Design. Structured methodologies allow the analyst to break down complicated systems into smaller, clearly defined and more manageable parts. The structured systems development life cycle is a step by step approach that moves from one phase to another commonly known as the waterfall model because the development is always moving forward with no mechanism in place to go backward. In this model the systems development phasesanalysis, design, and implementation are executed sequentially with some repetition between the phases, where the activities in each successive phase start with the completion of the activities in the prior phase. The first object-oriented languages came into existence during the 1960's and 1970's with Simula and Smalltalk. However, it was not until several years later that the Object-Oriented Analysis and Design (OOAD) methodology came into being (Larman, 2004). First in 1982 Object-Oriented Design emerged as independent topic (G. Booch, 1982), and later in 1988 Object-Oriented Analysis was introduced by S. Shlaer and S. Mellor (1988) and S. Bailin (1988). Many different objectoriented analysis and design methods evolved since then by such well known individuals as J. Rumbaugh (1991), P. Coad and E. Yourdon (1991) and many others. The OOAD methodology uses an object-oriented perspective rather than a functional perspective as in the SSAD methodology. An object is a person, place or thing initially drawn from the problem domain which has three aspects to it: what it knows (its identity and certain attributes), who it knows (relationships to other objects) and what it does (its methods it is responsible for performing on its data) (Norman, 1996). Object-oriented analysis is the process of developing an objectoriented model of the problem domain where the initial objects represent the entities and methods related to the problem that needs to be resolved. Object-oriented design is the process of developing an object-oriented model of the system necessary to meet the specified requirements. So in this methodology we think in terms of things (objects) rather than functions. 3. TRADITIONAL SYSTEMS ANALYSIS & DESIGN The systems development life cycle (SDLC) or the structured systems analysis & design methodology (SSAD) is a framework of activities and tasks that need to be accomplished to develop an information system. This methodology as mentioned previously is called the waterfall model as each major phase of the methodology flows downward into the next phase (Wu and Wu, 1994). Consequently, this methodology is a strategy consisting of various techniques, tools, documentation and tasks that need to be integrated in order to develop the system. The SSAD is based on the concept of functional decomposition where the analyst breaks down the system into the basic processes that make it up and then breaks these down into smaller ones and so on until the analyst understands all the essential components of the system being investigated (Senn, 1989). The basic principles of the SSAD methodology can be summarized as follows: * The first principle of SSAD is top down functional decomposition. Here the system is considered in its entirety where the analyst first tries to understand the key features of the system, ignoring the smaller details until later. * Next the scope of system is defined where the physical details of the existing system are analyzed. The analyst focuses on two objectives: what the new system should do and how it should do it. (Davis, 1983). * This methodology requires that the user be involved from the beginning to the end of project development. The analyst will meet with the user regularly to resolve problems and validate the user's needs. This also requires that the analyst possess highly developed communication skills (Bowman, 2004).
Pages to are hidden for
"Using object-oriented analysis and design over traditional structured analysis and design"Please download to view full document