26
Technologies for Developing Systems Chapter 9 Information Systems Management In Practice 5E McNurlin & Sprague

Technologies for Developing Systems Chapter 9 Information Systems Management In Practice 5E McNurlin & Sprague

  • View
    222

  • Download
    2

Embed Size (px)

Citation preview

Technologies for Developing Systems

Chapter 9

Information Systems Management In Practice 5EMcNurlin & Sprague

Copyright 2002 by Prentice Hall, Inc.

9-2

Foundations of System Development

Discipline through structured development Figure 9-1 is the classic system development life

cycle (waterfall approach) The Traditional Application Development

Approach (characteristics):1. Hand coding in third generation language, e.g.

COBOL2. “Structured Programming” development

methodology3. Automated Project management system4. A database management system

Copyright 2002 by Prentice Hall, Inc.

9-3

The Traditional Application Development Approach (characteristics);

5. A mix of online and batch applications in the same system

6. Development of mostly mainframe applications7. Programming by professional programmers only8. Various automated, but not well integrated s/w

tools9. A well-defined sign-off process for system

delivery10. User participation mainly in require definition

and installation phases

Foundations of System Development

Copyright 2002 by Prentice Hall, Inc.

9-4

Structured Development

More discipline: established standards for process and documentation to increase productivity and developers’ ability to deal with complexity

Higher reliability and fewer errors: to catch errors as early as possible through inspection

More efficient use of resources: thorough project management approaches resulted in cost savings, increased productivity, and better allocation of human resources; reduced the tendency for system development project overruns

Copyright 2002 by Prentice Hall, Inc.

9-5

Fourth-Generation Languages

Field turns towards ease of use - make development of small systems possible

Features and functions of 4GLs: Database management system: The heart of a

4GL provides data management and control Data dictionary: The repository for data

definitions Nonprocedural language: Permits people to

write programs using sequences of commands in the order they think rather than the order the computer requires

Copyright 2002 by Prentice Hall, Inc.

9-6

Interactive query facilities: Permits the retrieval of adhoc information using dialogues and menus

Report generator: A flexible query facility used directly by end users to retrieve information and generate reports in diverse formats

Selection and sorting: The ability to select data records using Boolean logic, to extract desired information from those records, and to sort the information as desired

Fourth-Generation Languages

Copyright 2002 by Prentice Hall, Inc.

9-7

Screen formatter: A facility to easily develop screen interactively

Word processor or text editor: Ideally, a comprehensive word processor with a full screen editor and mail-merge

Graphics: Standard routines for creating bar charts, histogram, scatter diagrams, etc.

Library of Macros: For storing sequence of commands

Programming Interface: Linkage to programming languages, to handle complex conditional logic

Fourth-Generation Languages

Copyright 2002 by Prentice Hall, Inc.

9-8

Reusable code: A facility for storing and retrieving prewritten program modules for insertion into other programs to improve productivity

Software development library: Tools for rapid system development

Backup and recovery: A facility for automatic storage backup, restart, and recovery

Security and privacy safeguards: Password protect, data encryption, and data access controls

Links to other DBMS: Links to enable transparent data transfer between database systems

Fourth-Generation Languages

Copyright 2002 by Prentice Hall, Inc.

9-9

Software Prototyping

A live,working system. Performs actual work and may become actual production system, or replaced by a coded one

Purpose: to test assumptions about user’s requirements, application design, or program logic

Software system created quickly: language creates code

Iterative process, each version performs function in an increasingly efficient manner

Copyright 2002 by Prentice Hall, Inc.

9-10

Case Example: Santa Fe Railroad

Used Mapper to create an operational system in a 4GL, unusual at the time. Used prototyping and productivity improved 8 times vs COBOL.

Management decided to teach operational railroad employees to program, rather than teach programmers the intricacies of railroad operations. Operational systems are more hardware intensive, support costs are half, but complaints to IS department nonexistent

Goal: create generic database that remains stable and used through the company. Mapper DB huge, with many small databases.

Copyright 2002 by Prentice Hall, Inc.

9-11

Computer-Aided Software Engineering (CASE)

Components Information repository: stores and

organizes all information needed to create, modify, and develop software system

Front-end tools: used in all phases that lead up to coding

Back-end tools: used to automatically generate source code

Development workstation: the more powerful the better

Copyright 2002 by Prentice Hall, Inc.

9-12

Computer-Aided Software Engineering (CASE)

Software development and project management methodology

Timeboxing: Technique that uses CASE to guarantee delivery of a system within 120 days

Rapid Application Development (RAD)

Copyright 2002 by Prentice Hall, Inc.

9-13

Case example: DuPont Cable Management Services

System was needed to maintain inventory of every wire, telephone, modem, wiring closet connection, etc. No software package could handle the scale/workload.

Custom-built software flexible to handle company expanding telecom facilities.

DuPont IEA: 4 phases to implement project (IEA and customer):

• 1: Go ahead - day 1, customer agrees to participate• 2: System definition - days 2 to 30:$ to implement• 3: ”Timebox” - 90 days, create design specs and

prototypes• 4: Installation - Day 120, customer 90 days to verify

system

Copyright 2002 by Prentice Hall, Inc.

9-14

Lessons learned about CASE

View CASE as a strategic technology To build complex mission-critical systems To cut development time To change systems quickly To solve development backlog-reuse

development components Treat CASE as a strategic technology-IS

project Create a technical support group Do not wait for the perfect tools - CASE

products will evolve.

Copyright 2002 by Prentice Hall, Inc.

9-15

The 1990s

Client-Server systems Web-based (or network-centric)

development Integration of hardware and

software (off-the-shelf)

Copyright 2002 by Prentice Hall, Inc.

9-16

Client/Server Computing

Far more flexibility than mainframe-based systems desktop: graphics, animation, video servers: production updating

Copyright 2002 by Prentice Hall, Inc.

9-17

Case Example - MGM

Previously had over 26 disparate systems on PCs

C-S could empower 20 worldwide film rights salespeople

Equipped with SQL DB on laptop and CD-ROM with video clips, license details are transmitted directly to headquarters

Architecture - three levels: AS/400 - central processor for database, transaction-based

licensing software H-P 9000 server, contains data and processing, Unix front-

end + Powerbuilder Client machines - local processing, DB, and presentation

(laptops and workstations); daily upload

Copyright 2002 by Prentice Hall, Inc.

9-18

Systems Integration: Approaches

Database Management Systems: allow applications to share data stored in a single or distributed database

Enterprise Resource Planning (ERP) Systems: all applications come from a single vendor and are specifically designed to communicate with each other

Middleware: applications communicate with each other through a third-party translation software - see Figure 9-4

Copyright 2002 by Prentice Hall, Inc.

9-19

Internet-Based Systems

The Internet is now a common medium for conducting business. Internet-based systems must be scalable, reliable, and integrated both internally and externally with systems of customers or business partners.

Copyright 2002 by Prentice Hall, Inc.

9-20

Internet-Based Systems: Application Servers

The application server has grown into a framework for developing Internet-based applications. Application server categories:

1. Business Logic Processing: the application server stores and runs business logic components for applications

2. Automation of Low-Level Core Processes: The application server can generate networking and communication code, and code for a wide range of low-level functions

Copyright 2002 by Prentice Hall, Inc.

9-21

Internet-Based Systems: Application Server Categories

Application server categories:3. Middleware: the application server becomes the back-end link to legacy systems

4. Application Development: the application server is delivering many of the capabilities provided by integrated development environment (IDE)

5. Prebuilt Components: inclusion of pre-built components (tag libraries, Java Beans) in application servers by vendors

Copyright 2002 by Prentice Hall, Inc.

9-22

Java Development Platform

Java has been in many cases the starting point for the development of Internet-based systems. Major components in Java server-side platform

Enterprise Java Beans (EJB) Java 2 Enterprise Edition (J2EE)

Microsoft components Component Object Model (COM) Distributed Component Object Model

(DCOM)

Copyright 2002 by Prentice Hall, Inc.

9-23

Applications Service Providers

ASPs are companies that rent software applications over the Internet.Advantages: applications running in a short time and little initial investmentDisadvantages: negotiating service level agreements and support during downtime Types of ASPs (see Figure 9-6)

Enterprise General Business Specialist Vertical

Copyright 2002 by Prentice Hall, Inc.

9-24

Project Management

Keys to project management success: Establish the ground rules: Define the technical and architectural specifications for the systems

Adhere to industry standards Use an open architecture Web-enable the system Power with subsystems

Discipline, planning, documentation, and management

Copyright 2002 by Prentice Hall, Inc.

9-25

Project Management

Obtain and document (the “final”) user requirements Obtain tenders from the appropriate potential vendors Working with suppliers Convert existing data Moving forward after implementation

Copyright 2002 by Prentice Hall, Inc.

9-26

Conclusion

Traditional approach from the 1960s evolved to give more discipline, control, and efficiency. Moved programming from an “art” to a “craft.” Problems: development times, low user involvement and flexibility

1970s and 1980s: data-driven development, stressed improving early phases in development; 4GL and software prototyping permitted more rapid development; CASE and object oriented (software re-use)

1990s client-server and Web-based development, integration of components and packages