2.0 The Origins of Software
2.0 The Origins of Software
1
Information Technology Service Firms
• I T service firms help companies develop customer information systems for internal use
• These firms employ skilled I T people
Table 2-1: Leading Software Firms and Their Development Specializations
2
• Cloud computing examples include:
• Google docs, Sheets, and Slides
• Share, create docs, spreadsheets, presentations
• SalesForce.com (Customer relationship management)
• Allows software as a service (S a a S)
• Benefits include:
• Freeing internal staff
• Faster access to applications
• Lower-cost to corporate-quality applications
• Concerns include security and reliability
Open-Source Software
• Freely available, including source code
• Developed by a community of interested people
• Performs the same functions as commercial software
• Examples: Linux, my S Q L, Firefox
• Two ways to make money with open-source software:
– Provide maintenance and services
– Sell a more full-featured version of the free software
In-House Development
• Involves using an organization’s staff to create systems
• Can lead to more maintenance needs
• Not unusual to incorporate a hybrid of in-house and purchased components as seen in the
table on the next slide
Table 2-2 Comparison of Six Different Sources of Software Components
3
Choosing Off-the-Shelf Software
• Criteria to consider when choosing off-the shelf software:
– Cost (compare developing in-house versus. purchasing or licensing the software
package)
– Functionality (the tasks that the software can perform and the mandatory,
essential, and desired system features)
– Vendor Support (can vendor provide support and how much it can provide)
Validating Purchased Software Information
• Request for Proposal (R F P) – document provided to vendors asking them to propose
hardware and system software that will meet the requirements of a new system
• If soliciting R F Ps from more than one vendor be sure to:
– Create a scoring value for each item requested
– Calculate a total score for each vendor after R F Ps are received
– Select a vendor with a high score
Reuse
• Reuse – the use of previously written software resources, especially objects and
components, in new applications
• Reuse is commonly applied to two different development technologies:
– Object-oriented development
▪ Object class encapsulates data and behavior of common organizational
entities (e.g., employees)
– Component-based development
▪ Components can be as small as objects or as large as pieces of software
that handle single business functions
• Reuse has become a standard part of corporate development
• Factors relating to successful reuse include:
– Knowledge of the domain in which reuse is to occur
– Customer support
– Commitment and understanding of senior management
– Sound organizational processes
– Skilled and experienced developers
4
Figure 2-4: Investments Necessary to Achieve Reusable Components
Source: Royce, Walker, Software Project Management: A Unified Framework, 1 st ed., ©1998. Reprinted and
electronically reproduced by permission of Pearson Education, Inc. Upper Saddle River, New Jersey)
5
Table 2-3: Four Approaches to Reuse