A COMPARISON OF STRUCTURED ANALYSIS AND OBJECT ORIENTED ANALYSIS An Experimental Study Davide Falessi, Giovanni Cantone University of Roma "Tor Vergata", DISP, Viale del Poliecnico N.1, Rome, Italy Claudio Grande ICT Consultant Keywords: Software Engineering, Object Oriented Analysis, Structured Analysis, Empirical Software Engineering. Abstract: Despite the fact that object oriented paradigm is actually widely adopted for software analysis, design, and implementation, there are still a large number of companies that continue to utilize the structured approach to develop software analysis and design. The fact is that the current worldwide agreement for object orientation is not supported by enough empirical evidence on advantages and disadvantages of object orientation vs. other paradigms in different phases of the software development process. In this work we describe an empirical study focused on comparing the time required for analyzing a data management system by using both object orientation and a structural technique. We choose the approach indicated by the Rational Unified Process, and the Structured Analysis and Design Technique, as instances of object oriented and structured analysis techniques, respectively. The empirical study that we present considers both an uncontrolled and a controlled experiment with Master students. Its aim is to analyze the effects of those techniques to software analysis both for software development from scratch, and enhancement maintenance, respectively. Results show no significant difference in the time required for developing or maintaining a software application by applying those two techniques, whatever is the order of their application. However we found two major tendencies regarding object orientation: 1) it is more sensitive to subjects’ peculiarities, and 2) it is able to provide some reusability advantages already at the analysis level. Since such result concerns a one-hour-size enhancement maintenance, we expect significant benefits from using object orientation, in case of real-size extensions. 1 INTRODUCTION 1.1 Background In software development, analysis is the process of studying and defining the problem to be resolved. Once defined the requirements that the system is specified to perform, analysis involves discovering the underlying assumptions with which the system has to fit, and the criteria by which it will be judged a success or failure. Any method that is able to deal in a structured way with software analysis, e.g. Structured Analysis and Design Technique (SADT) (DeMarco, 1978), is both a language and a software process for systems analysis: while the language is defined with some levels of formality, the software process is usually defined quite informally. The object-oriented (OO) paradigm provides a powerful and effective environment for analyzing, designing, and implementing flexible and robust real-world systems, offering benefits such as encapsulation (information hiding), polymorphism, inheritance, and reusability (Jacobson, 1999) (Booch, 1998). The OO and SADT methods provide their own representational notations for constructing a set of models during the development life cycle for a given system. Both SADT and OO provide techniques and constructs to model an information processing system in terms of its data and the processes that act on those data. OO models focus on objects while SADT models focus on processes. Moreover, “the fundamental difference is that while 213 Falessi D., Cantone G. and Grande C. (2007). A COMPARISON OF STRUCTURED ANALYSIS AND OBJECT ORIENTED ANALYSIS - An Experimental Study. In Proceedings of the Second International Conference on Software and Data Technologies - SE, pages 213-221 DOI: 10.5220/0001336602130221 Copyright c SciTePress