Chapter10 - YSU Computer Science & Information Systems

advertisement
Chapter 10
Development and Acquisition
Alternatives
Introduction
E-business is changing the way business
operates. Managers must have a firm
understanding of e-business systems:
– Development
– Acquisition
– Operation
– Web hosting
– ASPs
Advances in Programming Tools
and Techniques
Language Generations
– 1st – Machine Code
– 2nd – Assembly Language
– 3rd – Standard Language Prototypes
• COBOL, BASIC, FORTRAN
– 4th – SQL, FOCUS, RPG
• These languages increase programmer
productivity, not necessarily execution speed
CASE Methodology
CASE stands for Computer-Aided Software
Engineering
– A set of tools and processes to support
requirement definition, application development,
and application maintenance
• These tools assist in diagramming, modeling, code
generation, test vector development, report generation,
and screen layout
• Implemented through multiple workstations and LANs to
tie a project’s developers, clients, and managers together
CASE Tools
CASE tools are not only for new
development
– Used to enhance existing programs
– Port programs from older languages to
newer ones
– Used to profile program flow and
selectively optimize highly used sections
CASE Tools
Upper CASE tools – used for early program life
cycle development (front-end)
Lower CASE tools – support code generation
and test vector construction (back-end)
I-CASE tools – integrated platforms for the entire
life cycle
There are also tools for management that gather
statistics, generate reports, and enhance team
communications
The Object Paradigm
Object-oriented programming
approaches a problem from a more
abstract perspective
– Objects are modular segments of code
• Objects are grouped into classes
• All objects inherit properties from the class
– Objects are the foundation of reusable
code segments
• C++ and Java are object-oriented
Java Programming
Object-oriented programming language
– Platform independent (OS, hardware)
– Secure by design
– Reusable code
– Rapid design and prototyping
– Open specification
– No run time royalties
– Built expressly for Internet applications
Linux
Open-source UNIX-like operating
system
– No licensing fees
– No run time royalties
– Built to be portable
– Under development for 10 years, it is the
operating system running greater than 40%
of the servers connected to the Internet
HTML
HyperText Markup Language
– A text based coding language for documents
– Uses embedded characters in conjunction with the
browser to interpret and display the document
• The same document will display differently in different
browsers
– Open standard and non-proprietary
– Derived from an earlier language, SGML
XML
Extensible Markup Language
– Instead of a predefined set of markup tags,
XML enables users and groups to define
custom tags. These tags allow
• more efficient searches
• better portability between browsers
• creation of richer content
– XML is more self-documenting and allows
reusability of code
Prototyping
Changing project specifications when design
work has begun is the leading cause of cost
and time overruns
Prototyping allows developers and users to
more realistically model program functions
and create tight design specifications
This is a rapid turn cycle requiring CASE-like
tools and skilled manpower
The Prototyping Process
Other Development
Methodologies
RAD – Rapid Application Development
JAD – Joint Application Development
Blends
– Depending on the specific application, blends of
the life cycle approach and others discussed will
yield a more optimal path
– Using what works is more important than purity of
approach; a sign of good management is flexibility
in problem solving
Improving Programming
Quality
NIST reported inadequate software
testing costs developers $21.2 billion
and users $38.3 billion annually
– Rigorous testing could potentially save
$22.3 billion annually
– All software bugs cost $293 billion annually
The Programming Craft
Programming is an individual endeavor
A six sigma defect rate is 3 errors per million
lines of code
– Current measurements are in KLOCs (thousand
lines of code) and poor programmers create code
with 100 defects per 1000 lines
Process, feedback, and change are all
necessary to improve the quality of coding
Process Improvements for
Software
Humphrey Maturity Model
– Initial Level (1) – little formalization exists
– Repeatable Level (2) – statistical measures are used
to exert quality control
– Defined Level (3) – establish quality and cost
parameters, use databases to track progress
– Managed Level (4) – analyze and scrutinize
programming processes, and initiate changes
– Optimized Level (5) – improve process measures
based on prior experience and optimize processes
further
Subcontract Development
Subcontracting enables a firm to trade money
for skill
– Allows firms to engage in larger development
projects without increasing permanent staffing
– Can decrease project development time
– Causes internal company knowledge to
disseminate outside the company
Requires very mature project management
skills
Purchased Applications
In the mid 1990s, the number of internally
developed software applications began to
decline
– Availability of high-function, commercially
developed applications for PC use was an
important factor
– Purchased applications are becoming more
commonly used in mini-computer and centralized
mainframe installations
– Firms would rather buy than develop
Advantages of Purchased
Applications
Purchased applications have several
advantages:
–
–
–
–
–
–
–
Early availability
Well-known functions
Available documentation
Periodic updates
Availability of maintenance
Known cost
Education and training programs
Disadvantages
Purchased applications have several
disadvantages:
– Functional deficiencies
– Difficulty customizing to local environment,
leading to inefficiencies
– Contain unnecessary features
– After the sale support may be poor
– Vendor may go out of business or stop
development of the product line
Internet Systems and Technology
E-business is built upon open standards
and technology
– HTML, XML
– Java, .NET
– PHP, PERL, and Python
– TCP/IP
– E-mail, instant messaging
– Secure services (cryptology)
Web Hosting
Companies that establish and operate Web
sites for others
– Provide, maintain, and manage the hardware,
applications, security, and connectivity
– Allow rapid entry onto the Web, without the need
to hire Web server personnel or purchase
hardware
– Create an offsite presence for the firm that can be
secure, redundant, and highly available
Application Service Providers
Install, host, manage, and rent access
to packaged application programs
Customers can use applications without
investing in licenses, hardware, or
operational resources
ASPs are rapidly growing
– $3 billion in revenue in 2001 to $16 billion
in 2005
Additional Alternatives
Alliances
– Firms can look to share development costs
across competitive lines within the same
industry
– Firms can develop partnerships with
customers and suppliers in a B2B type of
arrangement
Managing the Alternatives
Prioritization processes often reveal that
programming talent is the constrained
resource and money is a lesser constraint
Managers must use a thorough methodology
before selecting the optimum alternative
The result is a balanced approach to
application prioritization and development or
acquisition
Identifying the Optimum
Selection
1. Which applications can be processed at an
ASP or outsourcer, saving people and
computer resources?
2. Of the applications needing development or
replacement, which can be purchased or
leased to save programming resources or
time?
3. Can the firm enter into agreements with
others, through contracts or joint
development, to optimize the firm’s
resources?
Identifying the Optimum
Selection
4. Can new development tools and techniques
improve development productivity?
5. What alternatives can increase the human
resources available for application
development?
Summary
Application acquisition offers IT and user
managers opportunities to optimize the firm’s
resources
– Response is rooted in a clear vision of the
application portfolio’s contribution to the firm’s
success
– All opportunities present risk along with gain
– Risks must be understood and mitigated
– ASPs offer another possibility to managers beyond
build or buy
Download