This chapter presents the following content: Foundations of systems development, structured development, fourth-generation languages, software prototyping, computer-aided software engineering (case), object-oriented development, client-server computing.
Trang 1Technologies for Developing Systems
Lecture 21
Trang 2Technologies 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
telecommunications firm, Hong Kong Exchanges and
Clearing and Bekins, with a discussion case on
ExxonMobil
Trang 4Today’s Lecture
n System Integration
¨ ERP Systems
¨ Middleware
Trang 5n Developing new systems = difficult job
-“if anything can go wrong, it will!”
though there is progress in improving the process of buildings systems –
¨ 1970s: system development life cycle
¨ 1980s: friendly languages and automation of parts of development such as code generation
¨ 1990s: reliance increased on packages
n Developer productivity & maintenance
Trang 6Introduction cont.
n Business process reengineering movement = growth on integrated enterprise systems & adoption of enterprise
resource planning systems (ERP)
n Late 1990s; sudden emergence of e-business and Internet based systems
n 2000s - 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
Trang 7Introduction cont.
n These days, virtually every application is a network
application, since the network is becoming the system
n Web-based applications were the first generation of
¨ Far more complex undertaking than any
single-company systems
Trang 8Foundations of Systems Development
n In the early years, systems development was considered
a ‘craft’
n Then = Discipline through structured development
n 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
Trang 11Foundations of Systems Development
3. Automated Project management system
4. A database management system
Trang 12Foundations of Systems Development
cont.
5 A mix of online and batch applications in the same
system
6 Development of mostly mainframe applications
7 Programming by professional programmers only
8 Various automated, but not well integrated s/w tools
9 A well-defined sign-off process for system delivery
10 User participation mainly in require definition and
installation phases
Trang 13System Development A Quest!
Trang 14Foundations 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
Trang 15Foundations of Systems Development
n Better allocation of human resources
n Reduced the tendency for system development project overruns
– ALL = STILL A PROBLEM!!!!
Trang 16Foundations of Systems Development
Fourth-Generation Languages
n Early 1980s – 4GLs and Prototyping
n 4GLs are more than just a computer language, they are programming environments As seen in Figure 9-3
n 1980s development – fourth generation languages
(4GLs) These allowed:
– End users to develop some programs
– Programmers to use different development method = Prototyping
Trang 18Foundations of Systems Development
Software Prototyping
n A live, working system
¨ Performs actual work
¨ May become actual production system
n Or replaced by a (newly) coded one
n Purpose: to test assumptions about:
¨ Users’ requirements
¨ Application design, or
¨ Program logic
Trang 19Foundations of Systems Development
Trang 20Foundations 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 1970s structured
programming and analysis techniques
Trang 21Foundations of Systems Development Computer-Aided Software Engineering
Trang 22Foundations of Systems Development
Computer-Aided Software Engineering (CASE)
cont.
n A late ’80s 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)
Trang 23MIDAS/EEA CASE Tool
Trang 24DUPONT CABLE MANAGEMENT SERVICES Case Example: Rapid Application Development
(RAD)
n To manage its telephones and wiring in its many
offices, DuPont needed a cable management
system
n No packages on the market could handle its needs,
so it called on a DuPont subsidiary to use CASE
and timeboxing to build a custom system
¨ Day One was the go-ahead
Trang 25DUPONT 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
Trang 26Foundations of Systems Development
Object-Oriented Development
n Object-oriented (OO) development was a
revolutionary change in the late 1980s – develop objects that can be reused
n It allowed point-and-click programming of graphical user interfaces
n It is not so much a coding technique as a
code-packaging technique
¨ Object:
n Receives request (message)
n Chooses and executes operation, then
n Returns the results to the requester
n It is very modular, so a change in one part of a
system need not affect the other parts
Trang 27Foundations of Systems Development Client-Server Computing and Web Based
Development
n In the 1990s, two developments became the major
news:
1. Client-server systems
2. Web-based or network centric development
n 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
Trang 28Foundations of Systems Development
Client-Server Computing
n These systems split work between a client and a server
n Far more flexibility than mainframe-based systems
¨ Desktop: graphics, animation, video
¨ Servers: production updating
n Didn’t always live up to their promise!
n Clever way to meld the pizzazz of the PC world with the necessary back-end production strengths of the
‘mainframe’ world
Trang 29Client Server Computing
Trang 30MGM Case Example: Client Server Computing
(and Intranet)
n MGM has a huge library of TV shows and movies
¨ Previously had over 26 disparate systems on PCs
n 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
Trang 31MGM Case Example: Client Server Computing
¨ Print the licensing deal memo on the spot
n The system had a three-tier architecture and was built via prototyping using a RGL development tool
Trang 32MGM 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
Trang 33MGM 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
Trang 34Foundations of Systems Development
Trang 35Foundations 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
Trang 37Systems 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
Trang 38Why 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
Trang 39Systems Integration
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
n Typically = use a combination of all three
Trang 40Systems Integration
ERP
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
n History of ERP contains both successes and failures, many of which have been especially notable:
¨ Average cost overrun – 179%
¨ Average schedule overrun 230%
Trang 41Systems 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
Trang 42ERP Example
Trang 43Well linked systems
n 100% of institutions had links between Finance and Student Management (Student Records)
n 100% had links between Library and Student
Management
n 95% had linked Finance and Human Resources
n 91% had linked Student Management and Timetable
n 90% had linked Student Management and VLE
n 83% had linked Finance and Estates
n 75% had linked Human Resources and Research Support
Trang 44Approaches to integration
n In house: DIY approach to systems and integration
n Buying external systems from a small number of
vendors, thereby either reducing integration issues or passing them on to vendors
n Ad hoc integration using data dumps and data adaptors
n Using a central hub between systems sharing data
n 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.”
Trang 45Barriers to further integration
n Lack of resources (costs of staff etc)
n Lack of in house skills
n Resistance from academic and service departments
wanting to do their own thing and protect “their” data
n Lack of representation of the system integration issue at senior level
n 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
Trang 46Risks of integration
n More errors
n Good integration can make integration invisible, so
unappreciated by end users
n Talk of integration can lead to overambitious user
Trang 47COLGATE PALMOLIVE Case Example: Successful ERP
n 1990s = competitive crisis
n Used a decentralized structure
¨ Expensive to coordinate
¨ Slow to respond to market changes
¨ Constraint on company growth
n Vision:
“Become a truly global company, with an integrated business environment and standardized business
processes.”
Trang 48COLGATE 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
Trang 49COLGATE 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
Trang 50Systems Integration
Middleware
n Most organizations have a wide range of applications
¨ New and old
¨ From a variety of vendors
¨ Running on numerous platforms
n Replacing or rewriting these systems not an option
Trang 51Systems 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
Trang 53Systems 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
Trang 54Systems 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
Trang 55A TELECOMMUNICATIONS FIRM Case
Example: Enterprise Application
Integration
n Processing customer requests for new and updated
services = major cost and source of customer
dissatisfaction
¨ 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 ($$$)
n Rather than build a new system, the company looked to
EAI to automate the process using three existing
systems:
Trang 56A 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)
Trang 57A TELECOMMUNICATIONS FIRM Case Example: Enterprise Application Integration
cont.
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
n Mission accomplished
¨ Decreased processing costs
¨ Errors eliminated
¨ Reduced customer churn
¨ No new applications needed
¨ Existing applications not altered