IMPROVEMENT IN THE DEVELOPMENT OF INFORMATION SYSTEMS BY INCREASING ITS PROCESS EFFETIVENESS. T. Rojas M Pérez



Similar documents
A COMPARISON OF THREE INFOMATION SYSTEMS DEVELOPMENT METHODOLOGIES RELATED TO EFFECTIVENESS/EFFICIENCY CRITERIA

International Journal of Advance Research in Computer Science and Management Studies

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Process Models and Metrics

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

The Challenge of Productivity Measurement

(Refer Slide Time: 01:52)

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Title: Topic 3 Software process models (Topic03 Slide 1).

Java Programming (10155)

Process Mutation Models of Agile Project Management Methodologies

Re Engineering Software Development Process for ebusiness Application Development

2. Analysis, Design and Implementation

Measurement Information Model

Deploying Artificial Intelligence Techniques In Software Engineering

DATABASE DEVELOPMENT LIFE CYCLE

Pattern Oriented Software Development: Moving Seamlessly from Requirements to Architecture

Axiomatic design of software systems

A Framework for Software Product Line Engineering

Elite: A New Component-Based Software Development Model

SOFTWARE QUALITY MODEL BASED ON SOFTWARE DEVELOPMENT APPROACHES

Software Engineering: Analysis and Design - CSE3308

Umbrella: A New Component-Based Software Development Model

The Role of Information Technology Studies in Software Product Quality Improvement

The Helicoidal Life Cycle as a Tool for Software Development and Enhancement

Component Based Development in Software Engineering

Software Development Processes. Software Life-Cycle Models

LECTURE 1. SYSTEMS DEVELOPMENT

How To Understand Software Engineering

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Chapter 8 Approaches to System Development

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

The Spiral development model is a risk-driven process model generator. It

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

2. Analysis, Design and Implementation

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Classical Software Life Cycle Models

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

Research on Risk Analysis and Management in the Software Development Process. Quanzhou Huang

The Oregon Software Development Process

A Discipline for Software Engineering

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE

JOURNAL OF OBJECT TECHNOLOGY

Software Project Models

An Enterprise-Wide Project Quality Management System in Manufacturing Industry

3C05: Unified Software Development Process

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

THE BCS PROFESSIONAL EXAMINATIONS Certificate in IT. October Examiners Report. Information Systems

ITERATIVE DEVELOPMENT: KEY TECHNIQUE FOR MANAGING SOFTWARE DEVELOPMENTS. Dwayne Read Strategic Systems (WA) Pty Ltd

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

International Journal of Advanced Research in Computer Science and Software Engineering

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

The Project Matrix: A Model for Software Engineering Project Management

The most suitable system methodology for the proposed system is drawn out.

Integrating Software Services for Preproject-Planning

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

VDM vs. Programming Language Extensions or their Integration

The Dynamics of Project Management

Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).

Software Development Life Cycle

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Open Source Approach in Software Development - Advantages and Disadvantages

A Rapid Development Process with UML

Lecture 1: Introduction to Software Quality Assurance

Execution of A Requirement Model in Software Development

ISO, CMMI and PMBOK Risk Management: a Comparative Analysis

A Survey of Software Development Process Models in Software Engineering

Reuse and Capitalization of Software Components in the GSN Project

Neglecting Agile Principles and Practices: A Case Study

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

EVALUATION OF WORKFLOW-TYPE SOFTWARE PRODUCTS: A CASE STUDY

Ackoff, R.L. (1967). Management misinformation systems. Management science, 14(4),

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

The use of Trade-offs in the development of Web Applications

Proposed C.E.M (Cost Estimation Metrics): Estimation of Cost of Quality in Software Testing

Introduction to Software Engineering. 8. Software Quality

A Contrast and Comparison of Modern Software Process Models

How To Model Software Development Life Cycle Models

A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING

Reusability of WSDL Services in Web Applications

Requirements engineering

AN APPROACH FOR TESTING THE DESIGN OF WEBSITE

FROM WORKFLOW SPECIFICATION TO IMPLEMENTATION: AN INDUSTRIAL USE CASE

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

CS4507 Advanced Software Engineering

Designing Real-Time and Embedded Systems with the COMET/UML method

Web Services Software Architecture

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Implementation of hybrid software architecture for Artificial Intelligence System

A process-driven methodological approach for the design of telecommunications management systems

Transcription:

IMPROVEMENT IN THE DEVELOPMENT OF INFORMATION SYSTEMS BY INCREASING ITS PROCESS EFFETIVENESS T. Rojas M Pérez e-mail: trojas@usb.ve e-mail: movalles@usb.ve Simón Bolívar University Dept. of Processes and Systems Caracas-Venezuela ABSTRACT The goal of this paper is to evaluate three methodologies based on different concepts to determine how each one supports effectiveness and efficiency in the development of the software process as well as the software system itself. Firstly, the background leading to the ponderation of the complexity in the process of developing complex and large-scale information systems is presented, followed by the comparison variables efficiency and effectiveness in the process of developing information systems and the software system itself. The methodologies studied are based on three different concepts: the MSA (Modern Structure Analysis) (Yourdon, 1989), IEM/ST-P (Incremental Evolutionary Methodology/Structured Techniques and Prototype) (Callaos, 1992) and USE CASE (Use Case Driven Approach) (Jacobson et al, 1992). As a result of this comparison, a matrix is presented that relates said methodologics to the comparison variables. This research attempts to send out an alert on the need for efforts to be directed towards the effectiveness of the information systems development process, a very weak area in the methodologics studied, regardless of the concepts on which they are based. KEY WORDS Methodology, efficiency, effectiveness, development process. 1. INTRODUCTION Faced with the software crisis, the methods for developing informati on systems have been strengthened and have shown increasing capabilities in providing quality products with certain levels of efficiency. However, there are aspects that have an undeniable influence on the crisis and that have not been taken into account. One of them is the balance between efficiency and effectiveness. The objective of this paper is to evaluate three methodologics based on different concepts to determine how each one supports effectiveness and efficiency in the process of developing software as well as the software system itself. It is very important to define effectiveness and efficiency in the product as well as in the process, inasmuch as only by having these differences clear can efforts be directed to neutralize the crisis and take the correct approach. 2. BACKGROUND Which is the most important aspect in a design and modelling methodology? It is formal consistency, its reusability, its efficiency, its preciseness in the object-orientation principles? No. None of these makes any sense if your problem is not solved. There is no check to verify if the model or program is correct. The development creators must ask the users or experts in the field what they wish for. They must understand their needs somehow and later on verify whether these were their true requirements (Rumbaugh, 1994). Nevertheless, it seems that this endeavour is not as simple as Rumbaugh stated, since studies have shown that for each six new large-scale information systems put into operation, two are cancelled (Gibbs, 1994). This data was given in the September 1994 issue of Scientific American, stating as one of the possible causes the fact that the majority of computer codes is still commonly carried out using the unrefined language of craftsmen, with techniques that do not measure and are not capable of consistent repetition (Gibbs, 1994). It is well-documented that the process for developing information systems is a complex one. An information system is a solution to a problem. If the circumstances vary and the solution remains the same, then there is still a

problem and there is no reason for the information system to exist or else, the solution to the problem is imperfect. This happens very often. Said complexity therefore does not allow the process of developing systems to be described by one single model. Signifcant efforts have been put forward to improve the efficiency of the process of developing information systems, one of which was reviewed by Aoyama (Aoyama, 1993). In the mid-80 s, Fujitsu created a model for the development of multiple concurrent functionalities for the entire process, from the specifications to the tests, with interesting results regarding improved development time even though it was recognized that project management costs increased. Monarchi, in turn, (Monarachi and Puhr, 1992) pointed out that, in their experience, the effectiveness of the process is highly dependent on the knowledge and expertise of the development creator and on the spatial characteristics of the problem. In this regard, the methodologies that back the effectiveness of the process shall somehow take into account the creator s features or profile and the type of system being developed. Lea (Lea, 1994) stated that any development process is a social process. All levels of the organization must participate inasmuch as the decisions shall affect the users and this shall have an effect on their future growth and evolution. Another real fact is the cost of the software which is quite considerable and growing at an annual rate of 12% (Pressman, 1993). Any improvement in software productivity shall give rise to an absolute decrease in costs. Now therefore, an information system not only implies an application-associated computer program but also its use, its relationship with the user, its insertion within the organization, its development and lastly, its maintenance. if unlimited resources were available, probably many of the problems would be neutralized. The challenge however is to produce quality information systems with a finite number of resources available. Quality can be seen from two points of view: first, from the standpoint of the user, i.e. the product should work based on his requirements, and second, from the development creator s point of view, following a process increasingly closer to the objectives of the company dedicated to developing the information system. 3. THE COMPLEXITY OF THE PROCESS FOR DEVELOPING INFORMATION SYSTEMS This section requires special attention. The software industry is only 30 years old and has suffered three completely different generations of hardware. This leads us to think of currently developing solutions with computers that only a decade ago were considered to be impossible. The more evolved hardware becomes, the greater the possibility to support large volumes of data, the response time is improved and less resources are used up. This broadens the scope of solutions available to meet the requirements of the users and is related to the effectiveness and efficiency of the product. The problem however lies in the fact that an information system is not only based on hardware but also programs (software) and human beings interacting with all these parts. Up to the present, human activities involved with the information system have been treated separately from the functions thereof. Lin (Lin. 1994) has declared that this phenomenon should be observed not only from the standpoint of the system to be developed but also through the multiple perspectives of all the human beings involved in the process. if to this we add all the foregoing that three elements participate in this process (people, product and technology) and that besides, a series of phases or stages (scrialized or in parallel) are taken, subject to limited time constraints, the reason for the complexity in the process of developing information systems can be easily understood (Figure 1). Thus, it can be said that the solution information system shall be found in a range determined by the user s needs, customerimposed restrictions, the objectives of the development creators and the technology.

Fig. 1 As has been stated in the Background section, the information systems process development model is not one single model. Nevertheless, although it is backed by a methodology with sequentially-executed activities, this sequence occurs only at the beginning; afterwards the activities are carried out concurrently. Based on this, Davis (Davis, 1994) affirmed that the development of information systems is a concurrent process, in which none of the models published to date have provided a clear vision of the state-of-the-art of the project (Davis, 1994). This is due to the fact that complex processes are backed by methodologies using very simple managerial techniques or tools. In light of the foregoing, it can be concluded that with the appearance of new application areas and the increasing complexity of the problems that are attempted to be solved by computerl, no opportunity is given to the development creators to guide their efforts towards effective processes. 4. DEFINITION OF THE COMPARISON VARIABLES For the purposes of this paper, The Product refers to the information system purchased by the customer or whose development has been requested by him due to a business need. This is developed, not manufactured (Pressman, 1993). On the other hand, The Process refers to the set of activities inherent to the development of logical though not necessarily sequential information systems (the product), typically involving people, the product and technology (Ying Lin, 1994). (Figure 1). There are several opinions as to the improvement of the quality and productivity of information systems. In this research the following variables shall be analyzed: Efficiency: the optimal ratio between the resources used (time, hardware, software, development creators, etc.) and the result achieved. This variable may be seen from two perspectives: a. Product efficiency: Information systems are efficient when they make good use of the resources, i.e. user-friendly screens, reuse, a good response time, a compact code, optimization in the use of memory, etc. (Pressman, 1993). b. Process efficiency: Processes are efficient when information systems are developed making good use of the resources available to the organization developing the product. Also when productivity is promoted, deadlines are met and costs decrease. (Pressman, 1993). Effectiveness: the ratio between the result and the company objectives, the ratio between the what and the what for (Callaos, 1992). This concept likewise can be divided into two aspects: a. Product effectiveness: This is directly related to the customer s level of satisfaction with the service offered b the information system and its ease of use (Chunie et al, 1994). In the process of developing the information system there is a struggle of forces, as development thereof. These levels increase by increasing the support forces (prototype techniques) and/or reducing the restrictive forces (identification of requirements and project feasibility). The number of information system inspections should be a support force for achieving a better-quality product. The reduction in the restrictive forces exorted on the effectiveness of the information system is proportional to an increased identification of the user s requirements.

Fig. 2 b. Process effectiveness: Propels the company towards achieving or getting close to its objectives. A formalization of this concept is included in the Maturity Model proposed by Humphrey (Humhrey, 1989), wherein an organization in level 1 lacks process metrics; in levels 2 and 3, the metrics are defined with the latest product developed (number of persons, time, code lines, etc.), and this is necessary to control the project; in the level 4 the process is measured based on the time spent in each stage and inspections are applied; lastly, in level 5, the basis in the organization is in place, to continue the improvement and optimization of the process. Based on this terminology, the methodologies backing the development process for information systems shall be evaluated based on the following four concepts: product effectiveness, process effectiveness, product efficiency and process efficiency. The final objective of this analysis is to determine in what measure said methodologies contribute to the achievement of efficient and effective products and processes. 5. METHODOLOGIES: MSA IEM/ST-P USE-CASE A brief description follows on three information systems development methodologies, which were selected based on the following criteria: each one corresponds to three different concepts: structured focus and prototype, a combination of structured techniques, prototype and systems focus; object-oriented, all are also user-oriented, are well documented and they had been applied on real situations. Structured concepts s DeMarco (De Maraco, 1978), had been used since 78. Use cases s Jacobson (Jacobson, 1987) had been proposed about 10 years ago and MEI/TE-P methodology had been applied to 25 information systems project and 120 information systems academic works. (Callaos Notes, 1995). 1. MSA (Modern Structure Analysis) (Yourdon, 1989) Does not describe phases but rather sequence-less activities. This means that every activity N must conclude before activity N+1 begins. It includes activity feedback and control. These are:!"survey to determine the project feasibility.!"an analysis, to transform user politics and the project scheme into a structured specification (ENVIRONMENTAL MODEL, BEHAVIOR).!"A design, to assign portions of the specification (ESSENTIAL MODEL) to the adequate processors. Specifications of the limits and the human-machine interface are defined in the user implementation model.!"implementation, program codification.!"quality control, the final product test.!"a description of the manual and automated procedures. Data conversion, if any. Installation.!"These structured techniques (DFD, DER, State Transition Diagram, Structured Letter, Project Management) are combined with the prototype. 2. M/ST-P (Incremental Evolutionary Methodology/Structured Techniques Prototype) (Callaos, 1992) The development process of INFORMATION SYSTEMS in a parallel, non serialized manner.

Feedback, to adapt the means to achieve an objective. Feedforward, to adjust the objectives to the existing means or the feasibility of achieving these objectives. The precedence of a stage related to another one is logical, not necessarily chronological. During the development, the quality of the process and the product are measured as to their efficiency and effectiveness. A high cost associated to the degree of uncertainty at the beginning of the process. The levels of uncertainty decrease as the process continues to develop. The high level of entropy is arranged, combining structured techniques (DER, incremental planning, walkthrough techniques, etc.) and prototypes (screen prototypes, systems prototypes) in order to attain process and product efficiency. Two macro-activities are contemplated: efficiency trade-offs and effectiveness trade-offs. 3. USE CASE (Use Case Driven Approach) (Jacobson, 1993) Takes into account the development of an information system as a gradual transformation of a sequence of models. The models are descriptions with different levels of abstraction. The software development process is divided into subprocesses: Analysis, Construction, Components and Tests, all cooperating with one another. These subprocesses must be independent, however, the output of one is the input of the other. Thereby the process is sequential. Based on an object-oriented concepts. The following techniques are proposed: Use Case. Object Model, Design Model, Transition-Diagrams and Block Interaction Diagrams.aaaa Starts with the problem posed. Proposes the subsystems technique to manage the complexity of the software system. The Use-Case technique emphsizes product effectiveness and a user-focused analysis. Gives a clear and precise description of all the activities to be carried out and proposes an order, which strengthens the systematization of the methodology, thereby increasing process efficiency. Sets the basis for the generation of components, thus evolving towards an industrial development of software. 6. COMPARISONS MSA 1. Product Efficiency: No instrument was detected for the development creator to generate efficient products. It would seem that it all depends on the creator s aptitudes and attitude. 2. Process Efficiency: This is evidenced through structured techniques and the activities specified in this methodology. Although the execution of these activities is not rigid, it gives a complete idea on what has to be carried out in each step, which in turn is an important basis for the application of any project execution and control technique. 3. Product Effectiveness: It seems well-backed through the use of the prototype. It gives specific guidelines on the treatment of the limits and the human-machine interface. 4. Process Effectiveness: Attempts are made in this direction inasmuch as it combines pure top-down approaches with prototypes, thereby enabling the development creators to execute real designs beforehand. IEM/ST-P 1. Product Efficiency: A complete phase (efficiency trade-offs) is dedicated to achieving an optimal product behavior. During this phase, the development creator implements non-behavioral specifications. 2. Process Efficiency: Strongly affected by the intensive use of prototypes, aimed at product effectiveness, as well as the variable previously explained. However, the author proposes incremental planning as a project control technique, making use of feedback and feedforward and attemting to reconcile these towards process efficiency. 3. Product Effectiveness: Strongly supported, inasmuch as the first phase in the methodolgy (effectiveness tradeoffs) makes intensive use of prototype techniques.

4. Process Effectiveness: Provides the basic hilosoophical guidelines to carry out efforts towards achieving effective processes. It incorporates managerial techniques wherein uncertainty is managed for this purpose. However, an adquate maturity level was not encountered to support this aspect. USE CASE 1. Product Efficienc: Makes a very significant contribution to the object model with its proposed interface model, although many aspects are left to the responsibility of the development creator. 2. Process Efficiency: Provides a logical sequence of activities from the exposition of the problem to the generation of a very consistent code. The objective at all times is to propose a direct development method for information systems. 3. Product Effectiveness. Provides USE-CASE, a very interesting tool for user-focused analysis. Makes intensive use thereof and the entire system design depends on its correct application. 4. Process Effectiveness: Does not even provide guidelines. The relations between its tools and techniques are predefined in such a manner as to not allow any flexibility in the project s uncertain conditions. 7. COMPARATIVE MATRIX Figure 3 shows a matrix with the results of the evaluation of the selected methodologies related to the comparison variables that have been defined. METODOLOGIES PRODUCT PROCESS EFFICIENCY EFFECTIVENESS EFFICIENCY EFFECTIVENESS MSA DOES NOT SUPPORT IT MEDIUM-HIGH MEDIUM MAKES ATTEMPS BUT LACKS TANGIBLE ELEMENTS IEM/ST-P HIGH HIGH LOW PROVIDES FOR IT USE CASE VERY LOW MEDIUM HIGH HIGH DOES NOT SUPPORT IT 8. CONCLUSIONS. The methodologies studied, based on three different concepts, show weak spots in supporting process effectiveness. It is therefore obvious that research should focus on tangible instruments for the effective management of the software development process. Fig. 3 REFERENCES Aoyama, M. (1993); Concurrent Development Process Model. IEE Software. Julio 1993 Callaos, N., and Callaos, B. (1992); A Systemic Methodology for Information Systems Analysis and Synthesis. In the proceedings of the 6 th International Conference on Systems Research. Informatics and Cibernetics, Baden Baden, Germany, Agosto 1992. Callaos, N. (1992); A Systemic Systems Methodology. 6 th Informatics and Cibernetics. Germany, 1992. International Conference on Systems Research

Callaos, N. (1992); Sistemas de Soporte a Decisiones, Callaos y Asociados. Noviembre 1992. Callaos, N. (1995); Decisions Support Systems. Callaos y Aso. March 1995. Clunic, C; Da Rocha, A; Werner, C. (1994); Evaluaciones de la calidad de un modelo Orientado a Objeto. Proceeding del Panel 94. Méjico, 1994, p 457. Davis, A. (1990); Software Requirements Analysis & Specification. Prentice Hall International Editions 1990. Davis, A. (1994); A Concurrent Process Model of Software Development. ACM Software Engineering Notes. Vol 19, No.2, April 1994, p.38. De Marco, T. (1978); Structure Analysis an System Specification, Yourdon Inc. New York, 1978 Gibbs, W. (1994); Software s Chronic Crisis, Scientific American, September 1994. Humphrey, W. (1989); Managing the Software Process. Reading A.M. Addison Wesley, 1989. Jacobson I.; Christerson M.; Jonsson P.; Overgaard, G. (1992); Object-Oriented Software Engineering A Use Case Driven Approach. Addison Wesley, 1992. Jacobson, I. (1987); Object Oriented Development in Industrial environment. OOPSLA 87. Proceedings 1987. Kokol, P. (1989); Formalization of the information System Development Process using Metamodels. ACM Software Engineering Notes. Vol 14, No. 5 Julio 1989, p 118. Lea, D. (1994); Christopher Alexander. An Introduction for Oriented Object Designers. ACM Sigsoft. Software Engineering Notes Vol 19, No. 1. Enero 1994. Liu Y. (1994); Treating interactions systematically; a theme cope with an aspect of the complexity of managing life-cicle software production. Software Engineering Journal, Marzo 1994. Monarchi, D. and Puhr, G. (1992); A Research Typology for Object-Oriented analysis and Design Communications of ACM, Septiembre 1992, Vol 35, No. 9. Pressman, R. (1993); Ingeniería de Software, Un Enfoque Práctico, McGraw Hill, 1993. Rumbaugh, J. (1994); Getting started. Using Use Case to capture requirements. Journal Oriented Object Programming September 1994. Yourdon, E. (1989); Modern Structure Analysis. Prentice Hall, 1989.