You are on page 1of 52

1 D. Suleiman H.

Mustafa
UNIT 01

Systems Development
Foundations

Reviewed and Modified


by Dr. Suleiman H. Mustafa
UNIT 01
(Part-2)

System Outsourcing and


Software Reuse

Reviewed and Modified


by Dr. Suleiman H. Mustafa
Software Development
Outsourcing
• Outsourcing is the practice of turning over
some or all responsibility for information
systems applications and operations to
another firm.
• Examples:
– Outsourcing firm develops and runs applications
on their computers (Payroll application)
– Outsourcing firm runs applications at your site on
your computers.
• Needs to be considered during systems
analysis

5 D. Suleiman H. Mustafa
6 D. Suleiman H. Mustafa
Why Outsourcing?
• Outsourcing the critical software tasks and
projects is an efficient approach. Potential
advantages of outsourcing software
development may include:
– Cost saving on project execution
– Time-efficient project execution and smooth project
delivery within the given time and budget.
– Better Experience and Resources
– Risk reduction and flexible services which can be
adjusted to the demands and needs.

7 D. Suleiman H. Mustafa
8 D. Suleiman H. Mustafa
9 D. Suleiman H. Mustafa
10 D. Suleiman H. Mustafa
11 D. Suleiman H. Mustafa
Six Sources of Software
1. Information technology service firms
2. Packaged software providers (off-the-shelf
software)
3. Vendors of enterprise solutions software (ERP)
4. Cloud computing providers
5. Open-source software solutions
6. In-house development (build it yourself)

13 D. Suleiman H. Mustafa
14 D. Suleiman H. Mustafa
15 D. Suleiman H. Mustafa
16 D. Suleiman H. Mustafa
• Utilize when
– Organization lacks resources to develop in-
house
– Suitable off-the-shelf solution is not available
• What they do?
• Develop custom information systems
• Develop, host and run applications
• Can provide domain expertise
• They employ consultants with domain-specific
experience
• See Table 2-1 for a list of top 10 firms

17 D. Suleiman H. Mustafa
18 D. Suleiman H. Mustafa
19 D. Suleiman H. Mustafa
• Produce pre-packed or Commercial Off-the-
Shelf (COTS) systems
– MS Project, Intuit QuickBooks,
• Products range from broad-based packages
(MS Office) to industry specific packages
(AP/AR)
• COTS software can meet up to 70% of an
organization’s needs.
• Two types of software applications:
– Turnkey: not modified, one size fits all
– Customized (non-turnkey): modified by vendor to
meet great portion of user needs

20 D. Suleiman H. Mustafa
21 D. Suleiman H. Mustafa
COTS vs. Custom Software
• Custom software development is the process of
designing, creating, deploying and maintaining
software for a specific set of users, functions or
organizations.
• In contrast to commercial off-the-shelf software
(COTS), custom software development aims at a
narrowly defined set of requirements.
• Custom software addresses users’ specific
needs more comprehensively than traditional off-
the-shelf packages.
22 D. Suleiman H. Mustafa
Off-the-Shelf vs. Custom Software

23 D. Suleiman H. Mustafa
 Criteria
› Cost / Benefit - In-house versus purchase
› Functionality
› Vendor Support
› Viability of Vendor
› Flexibility
› Documentation
› Response Time
› Ease of Installation

24 D. Suleiman H. Mustafa
25 D. Suleiman H. Mustafa
 Information from vendor
› Documentation
› Marketing literature
› Questionnaire
 Request for Proposal (RFP)
 Software test drive
 Feedback from other users
 Independent software testing services

26 D. Suleiman H. Mustafa
• Enterprise software or ERP (Enterprise
Resource Planning) System is a collection of
computer programs that have
– common business applications, organization
modeling tools, and application development tools.
• The software is intended to solve an enterprise-
wide problem, rather than a departmental
problem.
– It aims to improve the enterprise's productivity and
efficiency by providing business logic support
functionality.
27 D. Suleiman H. Mustafa
28 D. Suleiman H. Mustafa
• ERP system consists of a series of integrated
modules
• Accounting
• Distribution
• Manufacturing
• Human Resources
• Integrated to focus on business processes rather
than business functional areas
– Enables an organization to integrate all parts of a
business process in a unified information system
– E.g. - All aspects of an order transaction occur
seamlessly in single information system

29 D. Suleiman H. Mustafa
30 D. Suleiman H. Mustafa
31 Purchase Order
D. Suleiman H. Mustafa
– Benefits
• Single repository for all aspects of a business
process
– Ensures more consistent and accurate data
– Less maintenance
• Flexibility of modules
– Additional modules can be added as needed
– Immediately integrated into existing system
– Disadvantages
• Complexity and time of implementation
• Reliance upon consultants
• Often, organizations must change the way that they do
business in order to use systems
– ERP vendors
• SAP AG, Oracle Corp

32 D. Suleiman H. Mustafa
• Cloud computing is the delivery of different
computer system resources and services
through the Internet, including
– data storage, servers, databases, networking, and
software.
• Cloud computing is the on-demand availability of
resources and services without direct active
management by the user.
• Cloud-based storage makes it possible to save
files to a remote database and retrieve them on
demand.
33 D. Suleiman H. Mustafa
34 D. Suleiman H. Mustafa
35 D. Suleiman H. Mustafa
• Five essential characteristics
– On-demand self-service (no vendor interaction)
– Broad network access
– Resource pooling
– Rapid scalability (option to increase/decrease service)
– Measured Service

• Some examples:
– Three vendors dominate the public cloud computing
market: Amazon Web Services (AWS), Microsoft
Azure, and Google Cloud Platform (GCP),
36 D. Suleiman H. Mustafa
• Pay for use (software as a service):
dynamically rent software from third party
providers (runs on remote servers = the cloud)
• Pay for service: Applications bought, installed
and maintained by service provider
• Pay for platform (hardware as a service):
dynamically rent platform and manage your
own virtual data centre

• Users pay per-use or month-to-month license

37 D. Suleiman H. Mustafa
› Benefits:
› Freeing internal IT staff
 Faster access to applications than internal
development
 Lower-cost access to corporate-quality
applications
› Concerns
 Reliability
 Security of information
 Compliance with government regulations

38 D. Suleiman H. Mustafa
• Open-source software (OSS) is computer
software that is released under a license in
which the copyright holder grants users the
rights to use, study, change, and distribute the
software and its source code to anyone and for
any purpose.
• Open-source software may be developed in a
collaborative public manner.

39 D. Suleiman H. Mustafa
› Freely available
› Includes source-code
› Maintained by a group of interested individuals
› Some examples
– Linux
– Firefox
– mySQL

40 D. Suleiman H. Mustafa
41 D. Suleiman H. Mustafa
 In-House Development
› Complete system
› Hybrid systems
› Off the shelf PLUS custom code

42 D. Suleiman H. Mustafa
43 D. Suleiman H. Mustafa
44 D. Suleiman H. Mustafa
45 D. Suleiman H. Mustafa
Software Reuse
 Use of previously written software resources in
new applications

 Most often applied to object-oriented and


component-based development
 Reuse of object classes
› Increases productivity
› Reduces defect density
› Reduces rework
 Reuse plan must be matched with companies
47
strategic business goals
D. Suleiman H. Mustafa
48 D. Suleiman H. Mustafa
49 D. Suleiman H. Mustafa
 Four Approaches
1. Ad hoc Reuse
2. Facilitated Reuse
3. Managed Reuse
4. Designed Reuse

50 D. Suleiman H. Mustafa
51 D. Suleiman H. Mustafa
END

52 D. Suleiman H. Mustafa

You might also like