Note On Building Information Systems
Note On Building Information Systems
• Building a new information system is one kind of planned organizational change. The introduction
of a new information system involves much more than new hardware and software.
• It also includes changes in jobs, skills, management, and organization. When we design a new
information system, we are redesigning the organization.
• System builders must understand how a system will affect specific business processes and the
organization as a whole.
• Information technology can promote various degrees of organizational change, ranging from
incremental to far-reaching.
• Figure below shows four kinds of structural organizational change that are enabled by information
technology:
o automation,
o rationalization,
o business process redesign, and
o paradigm shifts.
• Each carries different risks and rewards.
• Many businesses today are trying to use information technology to improve their business
processes.
• Some of these systems entail incremental process change, but others require more far-reaching
redesign of business processes.
• To deal with these changes, organizations are turning to business process management. Business
process management provides a variety of tools and methodologies to analyze existing processes,
design new processes, and optimize those processes.
• Companies practicing business process management go through the following steps:
i. Identify processes for change:
• One of the most important strategic decisions that a firm can make is not deciding
how to use computers to improve business processes, but understanding what
business processes need improvement.
• When systems are used to strengthen the wrong business model or business
processes, the business can become more efficient at doing what it should not do.
• As a result, the firm becomes vulnerable to competitors who may have discovered
the right business model.
• Considerable time and cost may also be spent improving business processes that have
little impact on overall firm performance and revenue.
• Managers need to determine what business processes are the most important and
how improving these processes will help business performance.
ii. Analyze existing processes:
• Existing business processes should be modeled and documented, noting inputs,
outputs, resources, and the sequence of activities.
• The process design team identifies redundant steps, paper-intensive tasks,
bottlenecks, and other inefficiencies.
iii. Design the new process:
• New information systems are an outgrowth of a process of organizational problem solving. A new
information system is built as a solution to some type of problem or set of problems the
organization perceives it is facing.
• The problem may be one in which managers and employees realize that the organization is not
performing as well as expected, or that the organization should take advantage of new
opportunities to perform more successfully.
• The activities that go into producing an information system solution to an organizational problem
or opportunity are called systems development.
Systems Analysis:
• Systems analysis is the analysis of a problem that a firm tries to solve with an information system.
• It consists of defining the problem, identifying its causes, specifying the solution, and identifying
the information requirements that must be met by a system solution.
• The systems analyst creates a road map of the existing organization and systems, identifying the
primary owners and users of data along with existing hardware and software.
• The systems analyst then details the problems of existing systems.
• By examining documents, work papers, and procedures; observing system operations; and
interviewing key users of the systems, the analyst can identify the problem areas and objectives
a solution would achieve.
• Often the solution requires building a new information system or improving an existing one.
• The systems analysis also includes a feasibility study to determine whether that solution is
feasible, or achievable, from a financial, technical, and organizational standpoint.
• The feasibility study determines whether the proposed system is expected to be a good
investment, whether the technology needed for the system is available and can be handled by
the firm’s information systems specialists, and whether the organization can handle the changes
introduced by the system.
Systems Design:
• Systems analysis describes what a system should do to meet information requirements, and
systems design shows how the system will fulfill this objective.
• The design of an information system is the overall plan or model for that system.
• Like the blueprint of a building or house, it consists of all the specifications that give the system
its form and structure.
• The systems designer details the system specifications that will deliver the functions identified
during systems analysis.
• These specifications should address all of the managerial, organizational, and technological
components of the system solution.
• Like houses or buildings, information systems may have many possible designs. Each design
represents a unique blend of all technical and organizational components.
• What makes one design superior to others is the ease and efficiency with which it fulfills user
requirements within a specific set of technical, organizational, financial, and time constraints.
• Table below lists the types of specifications that would be produced during systems design.
• The remaining steps in the systems development process translate the solution specifications
established during systems analysis and design into a fully operational information system.
• These concluding steps consist of programming, testing, conversion, production, and
maintenance.
Programming
• During the programming stage, system specifications that were prepared during the design stage
are translated into software program code.
• Today, many organizations no longer do their own programming for new systems.
• Instead, they purchase the software that meets the requirements for a new system from external
sources such as software packages from a commercial software vendor, software services from
an application service provider, or outsourcing firms that develop custom application software for
their clients.
Testing
• Exhaustive and thorough testing must be conducted to ascertain whether the system produces
the right results.
• Testing answers the question, “Will the system produce the desired results under known
conditions?”
• Testing is time consuming: Test data must be carefully prepared, results reviewed, and corrections
made in the system.
Conversion
• Conversion is the process of changing from the old system to the new system.
• Four main conversion strategies can be employed: the parallel strategy, the direct cutover
strategy, the pilot study strategy, and the phased approach strategy.
• In a parallel strategy, both the old system and its potential replacement are run together for a
time until everyone is assured that the new one functions correctly. This is the safest conversion
approach because, in the event of errors or processing disruptions, the old system can still be
used as a backup. However, this approach is very expensive, and additional staff or resources may
be required to run the extra system.
• The direct cutover strategy replaces the old system entirely with the new system on an appointed
day. It is a very risky approach that can potentially be more costly than running two systems in
parallel if serious problems with the new system are found. There is no other system to fall back
on.
• The pilot study strategy introduces the new system to only a limited area of the organization, such
as a single department or operating unit. When this pilot version is complete and working
smoothly, it is installed throughout the rest of the organization, either simultaneously or in stages.
• The phased approach strategy introduces the new system in stages, either by functions or by
organizational units.
• After the new system is installed and conversion is complete, the system is said to be in
production.
• During this stage, the system will be reviewed by both users and technical specialists to determine
how well it has met its original objectives and to decide whether any revisions or modifications
are in order.
• After the system has been fine-tuned, it must be maintained while it is in production to correct
errors, meet requirements, or improve processing efficiency.
• Changes in hardware, software, documentation, or procedures to a production system to correct
errors, meet new requirements, or improve processing efficiency are termed maintenance.
• There are alternative methodologies for modeling and designing systems. Structured
methodologies and object-oriented development are the most prominent.
Structured Methodologies
• Structured methodologies have been used to document, analyze, and design information systems
since the 1970s. Structured refers to the fact that the techniques are step by step, with each step
building on the previous one.
• Structured methodologies are top-down, progressing from the highest, most abstract level to the
lowest level of detail—from the general to the specific.
• Structured development methods are process-oriented, focusing primarily on modeling the
processes, or actions that capture, store, manipulate, and distribute data as the data flow through
a system.
• These methods separate data from processes. A separate programming procedure must be
written every time someone wants to take an action on a particular piece of data.
• The procedures act on data that the program passes to them.
• The primary tool for representing a system’s component processes and the flow of data between
them is the data flow diagram (DFD).
• The data flow diagram offers a logical graphic model of information flow, partitioning a system
into modules that show manageable levels of detail.
• It rigorously specifies the processes or transformations that occur within each module and the
interfaces that exist between them.
• In structured methodology, software design is modeled using hierarchical structure charts.
Object-Oriented Development
• Structured methods are useful for modeling processes, but do not handle the modeling of data
well.
• They also treat data and processes as logically separate entities, whereas in the real world such
separation seems unnatural.
• Object-oriented development addresses these issues. Object-oriented development uses the
object as the basic unit of systems analysis and design.
• An object combines data and the specific processes that operate on those data. Data
encapsulated in an object can be accessed and modified only by the operations, or methods,
associated with that object.
• Instead of passing data to procedures, programs send a message for an object to perform an
operation that is already embedded in it. The system is modeled as a collection of objects and the
relationships among them.
• Because processing logic resides within objects rather that in separate software programs, objects
must collaborate with each other to make the system work.
• Object-oriented modeling is based on the concepts of class and inheritance.
• Objects belonging to a certain class, or general categories of similar objects, have the features of
that class. Classes of objects in turn can inherit all the structure and behaviors of a more general
class and then add variables and behaviors unique to each object.
• New classes of objects are created by choosing an existing class and specifying how the new class
differs from the existing class, instead of starting from scratch each time.
• Systems differ in terms of their size and technological complexity and in terms of the
organizational problems they are meant to solve. A number of systems building approaches have
been developed to deal with these differences.
• Some of the alternative methods are: he traditional systems life cycle, prototyping, application
software packages, end-user development, and outsourcing.
• The systems life cycle is the oldest method for building information systems.
• The life cycle methodology is a phased approach to building a system, dividing systems
development into formal stages.
• Systems development specialists have different opinions on how to partition the systems-building
stages, but they roughly correspond to the stages of systems development.
• The systems life cycle methodology maintains a very formal division of labor between end users
and information systems specialists.
• Technical specialists, such as system analysts and programmers, are responsible for much of the
systems analysis, design, and implementation work; end users are limited to providing
information requirements and reviewing the technical staff’s work.
• The life cycle also emphasizes formal specifications and paperwork, so many documents are
generated during the course of a systems project.
Prototyping
• Prototyping consists of building an experimental system rapidly and inexpensively for end users
to evaluate.
• By interacting with the prototype, users can get a better idea of their information requirements.
The prototype endorsed by the users can be used as a template to create the final system.
• The prototype is a working version of an information system or part of the system, but it is meant
to be only a preliminary model. Once operational, the prototype will be further refined until it
conforms precisely to users’ requirements.
• Once the design has been finalized, the prototype can be converted to a polished production
system.
• The process of building a preliminary design, trying it out, refining it, and trying again has been
called an iterative process of systems development because the steps required to build a system
can be repeated over and over again.
• Prototyping is more explicitly iterative than the conventional life cycle, and it actively promotes
system design changes.
• It has been said that prototyping replaces unplanned rework with planned iteration, with each
version more accurately reflecting users’ requirements.
• Some types of information systems can be developed by end users with little or no formal
assistance from technical specialists. This phenomenon is called end-user development.
• A series of software tools categorized as fourth-generation languages makes this possible.
• Fourth-generation languages are software tools that enable end users to create reports or
develop software applications with minimal or no technical assistance.
• Some of these fourth-generation tools also enhance professional programmers’ productivity.
• Fourth-generation languages tend to be nonprocedural, or less procedural, than conventional
programming languages.
• Procedural languages require specification of the sequence of steps, or procedures, that tell the
computer what to do and how to do it.
• Nonprocedural languages need only specify what has to be accomplished rather than provide
details about how to carry out the task.
• There are seven categories of fourth-generation languages: PC software tools, query languages,
report generators, graphics languages, application generators, application software packages,
and very high-level programming languages.
• The table below shows the tools ordered in terms of ease of use by nonprogramming end users.
End users are most likely to work with PC software tools and query languages.
• Today’s software is not developed in-house but is purchased from external sources.
• Firms can rent the software from a software service provider; they can purchase a software
package from a commercial vendor, or they can have a custom application developed by an
outside outsourcing firm.
• During the past several decades, many systems have been built on an application software
package foundation.
• Many applications are common to all business organizations—for example, payroll, accounts
receivable, general ledger, or inventory control.
• For such universal functions with standard processes that do not change a great deal over time, a
generalized system will fulfill the requirements of many organizations.
• If a software package can fulfill most of an organization’s requirements, the company does not
have to write its own software.
• The company can save time and money by using the prewritten, predesigned, pretested software
programs from the package.
• Package vendors supply much of the ongoing maintenance and support for the system, including
enhancements to keep the system in line with ongoing technical and business developments.
• If an organization has unique requirements that the package does not address, many packages
include capabilities for customization.
• Customization features allow a software package to be modified to meet an organization’s unique
requirements without destroying the integrity of the packaged software.
• If a great deal of customization is required, additional programming and customization work may
become so expensive and time-consuming.
Outsourcing
• If a firm does not want to use its internal resources to build or operate information systems, it can
outsource the work to an external organization that specializes in providing these services.
• Cloud computing and SaaS providers are one form of outsourcing.
• Subscribing companies would use the software and computer hardware provided by the service
as the technical platform for their systems.
• In another form of outsourcing, a company could hire an external vendor to design and create the
software for its system, but that company would operate the system on its own computers.
• The outsourcing vendor might be domestic or in another country.
• Domestic outsourcing is driven primarily by the fact that outsourcing firms possess skills,
resources, and assets that their clients do not have.
• Installing a new supply chain management system in a very large company might require hiring
an additional 30 to 50 people with specific expertise in supply chain management software,
licensed from a vendor.
• Rather than hire permanent new employees, most of whom would need extensive training in the
software package, and then release them after the new system is built, it makes more sense, and
is often less expensive, to outsource this work for a 12-month period.
• In the digital firm environment, organizations need to be able to add, change, and retire their
technology capabilities very rapidly to respond to new opportunities.
• Companies are starting to use shorter, more informal development processes that provide fast
solutions.
• In addition to using software packages and external service providers, businesses are relying more
heavily on fast-cycle techniques such as rapid application development, joint application design,
agile development, and reusable standardized software components that can be assembled into
a complete set of services for e-commerce and e-business.
• Object-oriented software tools, reusable software, prototyping, and fourth generation language
tools are helping systems builders create working systems much more rapidly than they could
using traditional systems-building methods and software tools.
• The term rapid application development (RAD) is used to describe this process of creating
workable systems in a very short period of time.
• RAD can include the use of visual programming and other tools for building graphical user
interfaces, iterative prototyping of key system elements, the automation of program code
generation, and close teamwork among end users and information systems specialists.
• Simple systems often can be assembled from prebuilt components. The process does not have to
be sequential, and key parts of development can occur simultaneously.
• Sometimes a technique called joint application design (JAD) is used to accelerate the generation
of information requirements and to develop the initial systems design.
• JAD brings end users and information systems specialists together in an interactive session to
discuss the system’s design.
• Properly prepared and facilitated, JAD sessions can significantly speed up the design phase and
involve users at an intense level.
• Agile development focuses on rapid delivery of working software by breaking a large project into
a series of small subprojects that are completed in short periods of time using iteration and
continuous feedback.
• Each mini-project is worked on by a team as if it were a complete project, including planning,
requirements analysis, design, coding, testing, and documentation.
• Object-oriented development has benefit for building systems that can respond to rapidly
changing business environments, including Web applications.
• To further expedite software creation, groups of objects have been assembled to provide
software components for common functions such as a graphical user interface or online ordering
capability that can be combined to create large-scale business applications.
• This approach to software development is called component-based development, and it enables
a system to be built by assembling and integrating existing software components.
• Increasingly, these software components are coming from cloud services.
• Businesses are using component-based development to create their e-commerce applications by
combining commercially available components for shopping carts, user authentication, search
engines, and catalogs with pieces of software for their own unique business requirements.
• Web services are loosely coupled, reusable software components that enable one application to
communicate with another with no custom programming required to share data and services.
• In addition to supporting internal and external integration of systems, Web services can be used
as tools for building new information system applications or enhancing existing systems.
• Because these software services use a universal set of standards, they promise to be less
expensive and less difficult to weave together than proprietary components.
• Web services can perform certain functions on their own, and they can also engage other Web
services to complete more complex transactions, such as checking credit, procurement, or
ordering products.
• By creating software components that can communicate and share data regardless of the
operating system, programming language, or client device, Web services can provide significant
cost savings in systems building while opening up new opportunities for collaboration with other
companies.