Technologies for Developing
Systems
Lecture 21
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
ExxonMobil
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
Introduction
Developing new systems = difficult job “if anything can go wrong, it will!”
though there is progress in improving the process of
buildings systems –
n
¨ 1970s:
system development life cycle
¨ 1980s:
friendly languages and automation of parts of
development such as code generation
¨ 1990s:
n
reliance increased on packages
Developer productivity &
maintenance
Introduction 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
Introduction cont.
n
n
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 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 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.
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
System Development A Quest!
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
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 FourthGeneration 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
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 creates code
Iterative process
¨ Each version performs function in an increasingly
efficient manner
Both 4GLs 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 Software Engineering
(CASE) occurred to automate structured techniques
and reduce tediousness of the 1970s 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 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 ’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)
MIDAS/EEA CASE Tool
DUPONT 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
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