Technologies for Developing Systems Lecture 21 Technologies for

  • Slides: 58
Download presentation
Technologies for Developing Systems Lecture 21

Technologies for Developing Systems Lecture 21

Technologies for Developing Systems n Technologies for developing systems reviews the evolution of system

Technologies for Developing Systems n Technologies for developing systems reviews the evolution of system development to provide an understanding of the underlying principles of building applications n It discusses: ¨ Underlying technologies ¨ Development methodologies, and ¨ Internet-based systems n Case examples include Du Pont Cable Management Services, MGM, Colgate-Palmolive, a telecommunications firm, Hong Kong Exchanges and Clearing and Bekins, with a discussion case on Exxon. Mobil

Today’s Lecture n Introduction n Foundations of Systems Development ¨ Structured Development ¨ Fourth-Generation

Today’s Lecture n Introduction n Foundations of Systems Development ¨ Structured Development ¨ Fourth-Generation Languages ¨ Software Prototyping ¨ Computer-Aided Software Engineering (CASE) ¨ Object-Oriented Development ¨ Client-Server Computing

Today’s Lecture. . n System Integration ¨ ERP Systems ¨ Middleware

Today’s Lecture. . n System Integration ¨ ERP Systems ¨ Middleware

Introduction n Developing new systems = difficult job “if anything can go wrong, it

Introduction n Developing new systems = difficult job “if anything can go wrong, it will!” though there is progress in improving the process of buildings systems – ¨ 1970 s: system development life cycle ¨ 1980 s: friendly languages and automation of parts of development such as code generation ¨ 1990 s: n reliance increased on packages Developer productivity & maintenance

Introduction cont. n Business process reengineering movement = growth on integrated enterprise systems &

Introduction cont. n Business process reengineering movement = growth on integrated enterprise systems & adoption of enterprise resource planning systems (ERP) n Late 1990 s; sudden emergence of e-business and Internet based systems n 2000 s - Internet brought need for faster systems development and integrated enterprise systems, ¨ Hence new tools for rapid development became available – n Relying on reusable components & open systems architecture

Introduction cont. n n These days, virtually every application is a network application, since

Introduction cont. n n These days, virtually every application is a network application, since the network is becoming the system Web-based applications were the first generation of Internet-centric computing The new field, “Web Services” (or whatever people are calling it), is touted as the second In addition, the increasing interconnectedness of supply chains is leading companies to build inter-organizational systems ¨ Far more complex undertaking than any singlecompany systems

Foundations of Systems Development n n n In the early years, systems development was

Foundations of Systems Development n n n In the early years, systems development was considered a ‘craft’ Then = Discipline through structured development Figure 9 -1 is the classic system development life cycle (waterfall approach) ¨ Much ‘touted’ but rarely (purely) used ¨ Developers really always followed the spiral approach as in Figure 9 -2

Foundations of Systems Development cont. n The Traditional Application Development Approach (characteristics): 1. Hand

Foundations of Systems Development cont. n The Traditional Application Development Approach (characteristics): 1. Hand coding in third generation language, e. g. COBOL 2. “Structured Programming” development methodology 3. Automated Project management system 4. A database management system

Foundations of Systems Development cont. 5. 6. 7. 8. 9. 10. A mix of

Foundations of Systems Development cont. 5. 6. 7. 8. 9. 10. A mix of online and batch applications in the same system Development of mostly mainframe applications Programming by professional programmers only Various automated, but not well integrated s/w tools A well-defined sign-off process for system delivery User participation mainly in require definition and installation phases

System Development A Quest!

System Development A Quest!

Foundations of Systems Development Structured Development n Structured development methodologies accompanied this system development

Foundations of Systems Development Structured Development n Structured development methodologies accompanied this system development life cycle in an attempt to manage the complexities of systems design and 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

Foundations of Systems Development Structured Development ¨ More efficient use of resources: thorough project

Foundations of Systems Development Structured Development ¨ More efficient use of resources: thorough project management approaches resulted in: n Cost savings n Increased productivity n Better allocation of human resources n Reduced the tendency for system development project overruns – ALL = STILL A PROBLEM!!!!

Foundations of Systems Development Fourth. Generation Languages n Early 1980 s – 4 GLs

Foundations of Systems Development Fourth. Generation Languages n Early 1980 s – 4 GLs and Prototyping n 4 GLs are more than just a computer language, they are programming environments. As seen in Figure 9 -3 n 1980 s development – fourth generation languages (4 GLs). These allowed: – End users to develop some programs – Programmers to use different development method = Prototyping

Foundations of Systems Development Software Prototyping n n A live, working system ¨ Performs

Foundations of Systems Development Software Prototyping n n A live, working system ¨ Performs actual work ¨ May become actual production system n Or replaced by a (newly) coded one Purpose: to test assumptions about: ¨ Users’ requirements ¨ Application design, or ¨ Program logic

Foundations of Systems Development Software Prototyping n n n Software system created quickly: language

Foundations of Systems Development Software Prototyping n n n Software system created quickly: language creates code Iterative process ¨ Each version performs function in an increasingly efficient manner Both 4 GLs and prototyping have proven to be important underpinnings for today’s application development world

Foundations of Systems Development Computer-Aided Software Engineering (CASE) n The advent of Computer Aided

Foundations of Systems Development Computer-Aided Software Engineering (CASE) n The advent of Computer Aided Software Engineering (CASE) occurred to automate structured techniques and reduce tediousness of the 1970 s structured programming and analysis techniques. ¨ Components: n Information repository: stores and organizes all information needed to create, modify, and develop software system

Foundations of Systems Development Computer-Aided Software Engineering (CASE) n Front-end tools: used in all

Foundations of Systems Development Computer-Aided Software Engineering (CASE) n Front-end tools: used in all phases that lead up to coding, (“uppercase”) n Back-end tools: used to automatically generate source code (“lowercase”) n Development workstation: the more powerful the better

Foundations of Systems Development Computer-Aided Software Engineering (CASE) cont. n A late ’ 80

Foundations of Systems Development Computer-Aided Software Engineering (CASE) cont. n A late ’ 80 s use of CASE (not ‘standard’!) is Timeboxing ¨ Timeboxing: Technique that uses CASE to guarantee delivery of a system within 120 days n Today, IS departments that aim for speed over complexity are turning to a development technique like: ¨ Rapid Application Development (RAD)

MIDAS/EEA CASE Tool

MIDAS/EEA CASE Tool

DUPONT CABLE MANAGEMENT SERVICES Case Example: Rapid Application Development (RAD) n To manage its

DUPONT CABLE MANAGEMENT SERVICES Case Example: Rapid Application Development (RAD) n To manage its telephones and wiring in its many offices, Du. Pont needed a cable management system n No packages on the market could handle its needs, so it called on a Du. Pont subsidiary to use CASE and timeboxing to build a custom system ¨ Day One was the go-ahead

DUPONT CABLE MANAGEMENT SERVICES Case Example: Rapid Application Development (RAD) ¨ Days 2 -30

DUPONT CABLE MANAGEMENT SERVICES Case Example: Rapid Application Development (RAD) ¨ Days 2 -30 defined the components of the system ¨ Days 31 -90 designed the specs, prototyped the system, and refined the prototype (which became the production system) ¨ Days 91 -120 installed the system, and a second timebox followed n The resulting system, which took nine months, took others two to three years to develop in-house

Foundations of Systems Development Object-Oriented Development n n Object-oriented (OO) development was a revolutionary

Foundations of Systems Development Object-Oriented Development n n Object-oriented (OO) development was a revolutionary change in the late 1980 s – develop objects that can be reused It allowed point-and-click programming of graphical user interfaces It is not so much a coding technique as a codepackaging technique ¨ Object: n Receives request (message) n Chooses and executes operation, then n Returns the results to the requester It is very modular, so a change in one part of a system need not affect the other parts

Foundations of Systems Development Client-Server Computing and Web Based Development n n In the

Foundations of Systems Development Client-Server Computing and Web Based Development n n In the 1990 s, two developments became the major news: 1. Client-server systems 2. Web-based or network centric development Underlying these two (continuing) trends is the increasing use of packages and system integration ¨ As much as possible, companies prefer to buy a package rather than build an application in-house ¨ To develop large applications, they integrate (various) hardware and software components

Foundations of Systems Development Client-Server Computing n n These systems split work between a

Foundations of Systems Development Client-Server Computing n n These systems split work between a client and a server Far more flexibility than mainframe-based systems ¨ Desktop: graphics, animation, video ¨ Servers: production updating Didn’t always live up to their promise! Clever way to meld the pizzazz of the PC world with the necessary back-end production strengths of the ‘mainframe’ world

Client Server Computing

Client Server Computing

MGM Case Example: Client Server Computing (and Intranet) n MGM has a huge library

MGM Case Example: Client Server Computing (and Intranet) n MGM has a huge library of TV shows and movies ¨ Previously n had over 26 disparate systems on PCs Its first client-server application collected and consolidated all data on the film library so that MGM would know what films they have rights to license to whom

MGM Case Example: Client Server Computing (and Intranet) n n MGM’s film rights salespeople

MGM Case Example: Client Server Computing (and Intranet) n n MGM’s film rights salespeople could visit the head of a cable TV network: ¨ Play 20– 30 second clips of their films using the built-in CD-ROM ¨ Browse the laptop’s inventory database to verify availability of films ¨ Print the licensing deal memo on the spot The system had a three-tier architecture and was built via prototyping using a RGL development tool

MGM Case Example: Client Server Computing (and Intranet) cont. n Partnering is mandatory with

MGM Case Example: Client Server Computing (and Intranet) cont. n Partnering is mandatory with client-server computing ¨ Role of IS at MGM changed from systems development and delivery to one of cooperating and partnering n Required a huge cultural shift in the roles and attitudes of the IS staff

MGM Case Example: Client Server Computing (and Intranet) cont. n Hardware was cheaper, development

MGM Case Example: Client Server Computing (and Intranet) cont. n Hardware was cheaper, development was faster and software was cheaper (significant!) n Operating costs were more expensive than MGM expected ¨ Version control of client-server software and service ¨ and systems management were more costly

Foundations of Systems Development Summary n These technologies: ¨ Structured development ¨ 4 GLs

Foundations of Systems Development Summary n These technologies: ¨ Structured development ¨ 4 GLs ¨ Prototyping ¨ CASE ¨ OO development

Foundations of Systems Development Summary ¨ Client Server systems have all proven to be

Foundations of Systems Development Summary ¨ Client Server systems have all proven to be foundations of today's system development environment n We now turn to that (today’s) environment, beginning first by discussing the main method of building systems: system integration

Systems Integration n Integration is by far the biggest software problems CIOs face ¨

Systems Integration n Integration is by far the biggest software problems CIOs face ¨ = Why offerings that integrate systems generate so much interest CIOs (and all CXOs!) have long strived to integrate the information systems in their organizations Integration = ¨ Complex ¨ Expensive ¨ Risky

Systems Integration n The project report explains systems integration as an issue which has

Systems Integration n The project report explains systems integration as an issue which has arisen from the development of computer information systems for administration (Student Records, Finance, Human Resources, etc) and teaching (VLEs, etc) n The report says that over the last 10 to 15 years institutions have moved from using systems built in house to using systems bought from vendors, and need to make these systems interoperable

Why to institutions want to integrate systems? The survey lists these as the main

Why to institutions want to integrate systems? The survey lists these as the main drivers for integration: n To improve institutional information management n To support the student experience more seamlessly n To avoid duplicating and re-entering data

Systems Integration n n Three approaches stand out: ¨ Database Management Systems: allow applications

Systems Integration n n Three approaches stand out: ¨ 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 Typically = use a combination of all three

Systems Integration ERP n n An ERP system aims to integrate corporate systems by

Systems Integration ERP n n An ERP system aims to integrate corporate systems by providing a single set of applications from a single vendor operating with a single database ¨ The goal – provide the means to integrate business departments and functions across an organization History of ERP contains both successes and failures, many of which have been especially notable: ¨ Average cost overrun – 179% ¨ Average schedule overrun 230%

Systems Integration ERP ¨ Functionally 59% below expectations ¨ 10% projects completed on time

Systems Integration ERP ¨ Functionally 59% below expectations ¨ 10% projects completed on time & in budget ¨ 35% projects cancelled n Common to hold systems large size and complexity responsible as well as: ¨ Too much attention to ‘technical’ aspects ¨ Not enough to organizational aspects

ERP Example

ERP Example

Well linked systems n n n n 100% of institutions had links between Finance

Well linked systems n n n n 100% of institutions had links between Finance and Student Management (Student Records) 100% had links between Library and Student Management 95% had linked Finance and Human Resources 91% had linked Student Management and Timetable 90% had linked Student Management and VLE 83% had linked Finance and Estates 75% had linked Human Resources and Research Support

Approaches to integration n n In house: DIY approach to systems and integration Buying

Approaches to integration n n In house: DIY approach to systems and integration Buying external systems from a small number of vendors, thereby either reducing integration issues or passing them on to vendors Ad hoc integration using data dumps and data adaptors Using a central hub between systems sharing data SOA – “This approach, in which resources on a network are made available as independent services that can be accessed without knowledge of the underlying platform implementation, was generally noted as an aspiration or destination rather than a currently existing strategy. ”

Barriers to further integration n n Lack of resources (costs of staff etc) Lack

Barriers to further integration n n Lack of resources (costs of staff etc) Lack of in house skills Resistance from academic and service departments wanting to do their own thing and protect “their” data Lack of representation of the system integration issue at senior level Lack of understanding in parts of the organization about the multiple uses of data and too much focus on data being used for local purposes only

Risks of integration n n n More errors Good integration can make integration invisible,

Risks of integration n n n More errors Good integration can make integration invisible, so unappreciated by end users Talk of integration can lead to overambitious user expectations Integration doesn’t always result in more user engagement Vendors can lose enthusiasm leaving organizations with large bills and unfinished work Integration projects can spiral out of scope

COLGATE PALMOLIVE Case Example: Successful ERP n n n 1990 s = competitive crisis

COLGATE PALMOLIVE Case Example: Successful ERP n n n 1990 s = competitive crisis Used a decentralized structure ¨ Expensive to coordinate ¨ Slow to respond to market changes ¨ Constraint on company growth Vision: “Become a truly global company, with an integrated business environment and standardized business processes. ”

COLGATE PALMOLIVE Case Example: Successful ERP cont. n After setting up a prototype environment

COLGATE PALMOLIVE Case Example: Successful ERP cont. n After setting up a prototype environment in the US, SAP R/3 module convincingly proved itself as being functional and flexible worldwide for ¨ Sales & distribution ¨ Materials management ¨ Finance ¨ Human resources n Savings have been made in IT operations – complex decentralized IT infrastructure was streamlined

COLGATE PALMOLIVE Case Example: Successful ERP cont. n Implementation took five years and cost

COLGATE PALMOLIVE Case Example: Successful ERP cont. n Implementation took five years and cost $430 million, but it was a success. The product delivery cycle dropped and purchasing and other costs were cut n Data centers around the world were closed, from 75 down to 2 n The complexity of its global data networks was also simplified n Success of ERP stems from senior management convincing employees that the company was in crisis and only dramatic change could remedy it

Systems Integration Middleware n Most organizations have a wide range of applications ¨ New

Systems Integration Middleware n Most organizations have a wide range of applications ¨ New and old ¨ From a variety of vendors ¨ Running n on numerous platforms Replacing or rewriting these systems not an option

Systems Integration Middleware n One option = employ a class of products known as

Systems Integration Middleware n One option = employ a class of products known as middleware ¨ Software that works between and connects applications allowing them to share data ¨ Needed as wide range of applications used and run on numerous platforms ¨ Simplifies development by acting as the “glue” that binds the components together ¨ There is a wide variety available as illustrated in Figure 9 -4

Systems Integration Middleware cont. n One type of ‘middleware’ that has gained popularity: Enterprise

Systems Integration Middleware cont. n One type of ‘middleware’ that has gained popularity: Enterprise Application Integration (EAI): ¨ Typically use a message broker to transfer data between applications ¨ Add a new level of functionality that distinguishes them

Systems Integration Middleware cont. ¨ Allow users to define business processes and make data

Systems Integration Middleware cont. ¨ Allow users to define business processes and make data integration subject to rules that govern those processes n e. g. a rule might state that data can only move from purchasing to accounts receivable when ‘X’ has signed off on the purchase

A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration n Processing customer requests for new

A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration n Processing customer requests for new and updated services = major cost and source of customer dissatisfaction ¨ n It has been estimated that 65 percent of new and change orders in the telephone industry have errors that must be corrected after the fact ($$$) Rather than build a new system, the company looked to EAI to automate the process using three existing systems:

A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration 1. The customer relationship management system

A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration 1. The customer relationship management system (which contains the customer information) 2. The ERP system (which retrieves information for the application to validate the request and ensures that the new service is compatible with the customer’s existing services), and 3. The accounting system (which contains the pricing information)

A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration cont. n n Therefore resolution =

A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration cont. n n Therefore resolution = ¨ Customer request service at the call center via the CRM ¨ Customer’s name and address passed onto ERP system, which retrieve necessary info Mission accomplished ¨ Decreased processing costs ¨ Errors eliminated ¨ Reduced customer churn ¨ No new applications needed ¨ Existing applications not altered

Summary n n Foundations of Systems Development ¨ Structured Development ¨ Fourth-Generation Languages ¨

Summary n n Foundations of Systems Development ¨ Structured Development ¨ Fourth-Generation Languages ¨ Software Prototyping ¨ Computer-Aided Software Engineering (CASE) ¨ Object-Oriented Development ¨ Client-Server Computing System Integration ¨ ERP Systems ¨ Middleware