Technologies for Developing Systems Chapter 9 Information Systems Management In Practice 5E McNurlin...
-
date post
21-Dec-2015 -
Category
Documents
-
view
222 -
download
2
Transcript of Technologies for Developing Systems Chapter 9 Information Systems Management In Practice 5E McNurlin...
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