Skip to main content

2008 | Buch

The Making of Information Systems

Software Engineering and Management in a Globalized World

verfasst von: Dr. Karl E. Kurbel

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

Information systems (IS) are the backbone of any organization today, supporting all major business processes.

This book deals with the question: how do these systems come into existence? It gives a comprehensive coverage of managerial, methodological and technological aspects including:

Management decisions before and during IS development, acquisition and implementation Project management Requirements engineering and design using UML Implementation, testing and customization Software architecture and platforms Tool support (CASE tools, IDEs, collaboration tools)

The book takes into account that for most organizations today, inhouse development is only one of several options to obtain an IS. A good deal of IS development has moved to software vendors – be it domestic, offshore or multinational software firms. Since an increasing share of this work is done in Asia, Eastern Europe, Latin America and Africa, the making of information systems is discussed within a global context.

Inhaltsverzeichnis

Frontmatter
1. The Digital Firm
The basic question we will answer in this book is: How can an organization today obtain the information systems it needs? What does it take to ensure that those systems are of a good quality and that they work together properly, supporting the needs of the organization?
The type of organization we have in mind is a business firm. However, the fundamental principles, methods and technologies for creating information systems discussed in this book are applicable to other organizations such as nonprofit organizations, government offices, and municipal authorities.
When the outsourcing partner is located in a different country or continent, then this type of outsourcing is called offshoring. Transferring work to low-wage countries in general, and in the IT (information technology) field in particular, has recently received substantial attention. Many organizations hope to benefit from the global distribution of work by offshoring because it cuts costs. India, China and Eastern Europe are the preferred locations for offshoring IT work today. In chapter 2, outsourcing and offshoring with regard to information systems development are discussed in more detail.
2. Managing the Making of Information Systems
The making of an information system is subject to management decisions. Managers are involved in different stages and at different times, making decisions before and during the project. Speaking of “management” in the context of making information systems, at least two levels of management decisions have to be distinguished: senior management and operational management decisions.
3. Information Systems Architecture
“Architecture” is a popular term, yet different people use it for different things and with different meanings. In the 1980s and 1990s, architecture was close to becoming a buzzword. Apart from computer architecture, terms like enterprise architecture, information architecture, application architecture, communication architecture and more appeared to be trendy.
What exactly is an architecture? An architecture has very much to do with system structure. “Structure matters,” is a key statement in a wellknown book on software architecture [Bass 2003, p. 44]. An architecture defines the elements of a system, what they are meant to do, and their interrelations. Every non-trivial system has an architecture, whether it is implicit or explicit. A building has an architecture, a computer has an architecture, and software has an architecture. Booch calls a software architecture intentional if it has been explicitly identified and implemented, whereas “an accidental architecture emerges from the multitude of individual design decisions that occur during development [Booch 2006, p. 9].”
The study of software architecture as "… the principled understanding of the large-scale structures of software systems" [Shaw 2006, p. 31] emerged in the late 1980s. Since that time, intensive research in the field has made software architecture an essential part of system design and construction. An overview of the evolution of software architecture is given by Kruchten and coauthors [Kruchten 2006].
4. Developing Information Systems
In this and the following chapters, we will discuss different approaches concerning how an organization can obtain its information systems once the decision in favor of a system has been made.
While chapter 7 will deal with buying and introducing software that was developed by others, in particular standard software, the focus in this chapter is on how to build completely new information systems or new modules that extend existing information systems within an organization. By “new modules” we mean that significant development effort is required in order for the project to pass all stages of the software development process.
In contrast to this, limited extensions of a running information system are considered part of the maintenance and support stages. Adding functionality to a new standard software system will be discussed in chapter 7, as part of the customizing process.
The perspective taken in this chapter is that the starting point for the development effort is an approved project proposal (cf. section 2.2.1); i.e., a managerial level decision to launch a project for building a system inhouse has been made. If no restrictions existed, we could say that the project starts from scratch. In the real world, however, such restrictions often limit the degrees of freedom substantially.
5. Analysis and Design
No matter which process model is followed in the project and no matter who does the work, certain activities will always occur. These activities may be conducted in a linear sequence (as in the waterfall model), in iterations (as in RUP) or in an evolutionary manner, yet in any case they have to be done. Core activities include the following:
  • Requirements engineering
  • Design
  • Implementation
  • Test
In chapters 5 and 6, approaches to solve the underlying problems and tools supporting the respective tasks are presented. The problems of requirements engineering, design, implementation and test have been there as long as information systems development has existed. Therefore the state-of-the-art regarding methodological approaches is rather stable. On the other hand, tools supporting the activities are subject to continuous improvement and change more rapidly.
6. Implementation and Testing
Implementation is the realization of a design so that it can be executed on a computer. This includes the realization of: the system's classes; the user interface; and the database structures.
Testing comprises all activities to accomplish a satisfactory level of confidence that the system under development fulfills it intended purpose. Objects of testing can be documents (such as specifications) or software (such as a module or a complete system). The goal of testing is to find errors and remove the causes of the errors.
Testing and implementation are obviously closely connected. If a concept is to be executed on a computer, as the definition of “implementation” states, then the implementation must run without errors, otherwise the concept has not been implemented (or at least not correctly implemented). In practice, implementation and testing go hand-in-hand. This aspect will be discussed later, in section 6.2. First we will consider the basic methods and tools for implementation.
7. Implementing Standard Software
As we pointed out at the beginning of the chapter 6, the term “implementation” has several meanings. Up to and throughout chapter 6, implementation was used in the computer-science oriented sense, meaning the realization of a design through “lower-level” techniques such as programming and creating database schemata.
In organizational theory, implementation stands for introducing a new concept or solution into the organization and bringing it to life. In naming this chapter “implementing standard software”, we are referring to implementation as an organizational term: putting standard software into operation, including all necessary activities to achieve this goal.
8. Software Project Management
Information systems are usually developed in projects. Most tasks and activities discussed in the previous chapters take place within these projects. These projects must be planned, carried out, monitored and evaluated. Project management is the framework in which the planning, execution and controlling of projects occur.
Managing projects properly is of utmost importance. As mentioned in chapter 2, industry surveys report that only about 30 % of all application- software development projects are considered successful [Standish 2004]. Close to 20 % are failures (cancelled prior to completion or completed but never used), and the remaining 50 % are challenged (cost and/or time overrun, lacking features etc.).
In this chapter, we will first discuss project management issues in general and then with a special focus on information systems development. Although many project characteristics are the same, information system development exhibits particular properties.
9. Tooling Support for ISD
A typical information-system development project today is characterized by team work where team members are not necessarily collocated, but possibly distributed around the globe. This has led to increased demands regarding collaboration. To enable this collaboration, effective tooling needs to be in place to support the development processes.
As fundamental tools have stabilized and become commodities, the focus on tooling improvement for individual developers has shifted to teams of developers and now to geographically distributed development teams. Tools make it possible to address the core requirements of a distributed development environment, make the status of a project transparent to all participants, and help to disperse knowledge from individual team members.
In this chapter, we will discuss three primary areas of tools that assist with global software development projects. The first are fundamental tools, which provide the necessary foundation to build a development process. Based on these fundamental tools are additional tools that support the automation of projects. Finally, once the projects have been automated, tools for task-focused, context-based and process-focused development try to increase the productivity of a distributed team.
Brandon Ulrich
Backmatter
Metadaten
Titel
The Making of Information Systems
verfasst von
Dr. Karl E. Kurbel
Copyright-Jahr
2008
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-540-79261-1
Print ISBN
978-3-540-79260-4
DOI
https://doi.org/10.1007/978-3-540-79261-1