You are on page 1of 47

Building Information


Group Members
M. Amir Mushtaq


Ayesha Asif


Mehroz Arshad


M. Zeeshan Munir


Khurram Minhas

EMBA-Fall -09-022

M. Imran

EMBA-Fall -09-036

M. Amir Mushtaq

Concept of a systems development life cycle (SDLC).
Compare and contrast prototyping, rapid application development
(RAD), joint application design (JAD), and traditional SDLC
approaches to systems development.
Advantages and disadvantages of object-oriented (OO)

Describe component-based development

Contents (cont.)
Evaluate alternatives to in-house systems development.
Major strategies, methods, and tools for building e-commerce
Advantages and disadvantages of CASE tools.
Alternative approaches to software process quality improvement.

Systems Development Life Cycle

Systems Development Life Cycle (SDLC) represents a set of
general categories that show the major steps, over time, of an
information systems development project.
There is no universal, standardized version of the SDLC, but the
phrase has two distinct meanings.
An SDLC can be a general conceptual framework for all the
activities involved in systems development or acquisition.
An SDLC can also be a very structured and formalized design and
development process.

An Eight-Stage SDLC

Stages 1 & 2
Stage 1: Project Initiation
Stage 2: Systems Analysis & Feasibility Studies
Systems Analysis - the investigation of the existing situation.
Feasibility Studies - the major areas of feasibility investigation are;
Organizational factors
Legal, ethical, and other constraints

Stages 3 & 4
Stage 3: Logical Analysis and Design
Systems analysts determine 2 major aspects of the system:
(1) what it needs to do
(2) how it will accomplish these functions.

Logical Design the design of an IS from the users point of

Physical Design -translates the abstract logical model into
the specific technical design (the blueprints)

Stage 4: Actual Acquisition or Development

The logical design of the new system guides the actual development
or acquisition

Stages 5 & 6
Stage 5: Implementation
Approaches to conversion from a previous system include:

Parallel conversion
Direct cutover
Pilot conversion
Phased (or modular) conversion

Stage 6: Operation
After a successful conversion, the system will operate for an
indefinite period of time.


Stages 7 & 8
Stage 7: Post-audit Evaluation
An organization should evaluate all its larger system projects
after their completion.
These post-audits introduce an additional element of
discipline into the development process.

Stage 8: Maintenance
Every system needs two kinds of maintenance:
Fixing bugs
Updating systems to accommodate changes in the

Ayesha Asif


Implementing SDLCs
IS groups considering the implementation of a formal SDLC
methodology should look for the following characteristics:

Minimal overhead
Flexibility and responsiveness
Concurrent tasks
Focused analysis


Alternatives to Conventional SDLCs

Four Possibilities:

Joint application design
Rapid application


Instead of spending a lot of time producing very detailed
specifications, the developers find out only what the users want.
Developers quickly create a prototype.
This contains portions of the system of most interest to the users,
or is a small-scale working model of the entire system.

After reviewing the prototype with the users, the developers

refine & extend it.
This approach is also known as evolutionary development.

Joint Application Design

Joint application design (JAD) is a group-based method for
collecting user requirements and creating system designs.
JAD is most often used within the systems analysis and systems
design stages of the SDLC.

In contrast to the SDLC requirements analysis, JAD has a group

meeting in which all users meet simultaneously with analysts.
An electronic JAD session can be conducted offsite/online with
technology support.
JAD may not be an easy task for Web site design since in some
cases the stakeholders may be outside of an organization.

Rapid Application Development

Requirement planning phase
User Design Phase

Construction Phase
Cutover Phase


Rapid Application Development (cont.)


Mehroze Arshad


Object-Oriented Development
An object-oriented (OO) system begins not with the task to be
performed, but with the aspects of the real world that must be modeled
to perform that task.
Object technology enables the development of purchasable, sharable,
and reusable information assets (objects) existing in a worldwide
network of interorganizational information systems.
The techniques and notations that are incorporated into a standard
object-oriented language are called unified modeling language or UML.
The object-oriented approach is ideal for developing Web applications.


Component-based Development
Components are self-contained packages of functionality that have
clearly defined, open interfaces with high-level application services.
E.g., interface icons (small), online ordering (a business component)

Components can be distributed dynamically for reuse across multiple

applications and heterogeneous computing platforms.
The major reasons for using components-based development are:

Code reusability, which make programming faster, with fewer errors.

Support for heterogeneous computing infrastructure and platforms.
Rapid assembly of new business applications
Ability of an application to scale.

Systems Developed Outside the ISD

Many organizations are using approaches that shift the

construction task from the IS department to others.
Of the various ways of doing this, three are most common:

Let users build their own systems

Outsource the entire systems development process
Let end-users and/or the ISD use packages


Trends Favoring End-User Development

The following list presents existing factors that lead to higher levels of
end-user development:.

Increasingly powerful
desktop hardware
Declining hardware costs
Increasingly diverse
software capabilities

Increasingly computerliterate population

Backlog of IS projects
Development speed

Business orientation
Small applications
Apparent cost savings


Firms that provide outsourcing
cite numerous benefits:

Outsourcing can also create

problems for companies:

Hardware economies of scale

Limited economies of scale

Staffing economies of scale

Tax benefits

Lack of business expertise
Contract problems
Internal cost reduction


Khurram Minhas


External Acquisition of Software

The choice between developing software in-house and
purchasing existing software is called the make-or-buy decision.
The initial cost of off-the-shelf software is often lower and the
software should be of high quality, because many customers
have used and helped debug it.
However, buying off-the-shelf software may mean that an
organization has to pay for features and functions that are not

External Acquisition of Software (cont.)

The most prominent advantages of
buying off-the-shelf software are:

Full functionality

The following outcomes are also


User acceptance
Favorable costs-to-benefits ratio
Low maintenance
Integration with other systems
Minimal negative cross-impacts


Managerial Considerations
The traditional SDLC approach often works well for large projects with
well-defined requirements, where there is not a lot of time pressure.
Prototyping requires effective management to make sure that the
iterations of prototyping do not continue indefinitely.
RAD may be less appropriate than conventional programming
languages for larger projects, or those with a lot of real-time
JAD is easy for senior management to understand, yet it is difficult and
expensive to get all people in the same place at the same time.

Managerial Considerations (cont.)

Object-Oriented development is becoming increasingly popular, but
usage is limited by a shortage of personnel with OO skills.
A component-based application architecture provides several business
benefits, but the execution of component-based development requires
special training and skill.
End-user development is also a possibility for larger projects whose
priorities are not high enough to lead to a timely response from the
central IS unit.
Outsourcing should always be considered by large and complex
systems with a significant risk of failure, yet the disadvantages should
be reviewed carefully.

The Development of EC Applications


The Development of EC Applications (cont.)

Step 1: System Analysis
Step 2: Select a Development Option
Step 3: Installation, Connection, and More
Step 4: Deployment
Step 5: Operation and Maintenance


Zeshan Munir


Development Strategies for EC Applications

1. Buy the EC Applications
The following are the major criteria for consideration in buying ecommerce applications:

The functionalities of development packages & criteria of choice

Information requirements
Hardware and software resources
Maintenance services
Vendor quality

Development Strategies for EC Applications

2. Lease the EC Applications
Leasing is advantageous in cases where extensive maintenance
is required, or where the cost of buying is very high.
Two ways to lease:

Lease the application from an outsourcer and install it on the

companys premises.
Lease from either an application service provider or a CSP.

3. Develop EC Applications In House: Insourcing

Build from scratch.
Build from components.
Enterprise application integration.

Other Development Options

Join An E-Marketplace
Join An Auction or Reverse Auction Third-Party Site
Joint Ventures
Join a Consortium
Hybrid Approach


Application Service Provider

An Application service provider
(ASP) is an agent who assembles
functionality needed by enterprises,
and packages it with outsourced
development, operation,
maintenance, and other services.
The essential difference between
an ASP and an outsourcer is that
an ASP will manage application
servers in a centrally controlled
location, rather than on a
customers site.

Benefits & Risks of ASP Leasing



Potential Risk


Reduces the need to attract and

retain skilled IT professionals.

Loss of control and high level of

dependence on ASP.

Enables company to concentrate

on strategic use of IT.

Inability of ASP to deliver quality of

service: lack of skills and experience.

Fast and easy application


Level of customization and legacy

application integration offered by ASP
may be insufficient.

Higher degree of application


Reliability and speed of delivery due to

bandwidth limitations.

Low total cost of ownership.

Pricing changes by ASP unpredictable

for application updates and services.




Criteria for Selecting an ASP Vendor

Track record

Support services

Scope of service


Application & data


Database format &



M. Imran


Java Programming Language

Java has established itself as the most important programming
language for putting extra features into Web pages.
Java is an object-oriented language.

The Java Web page programs, called applets, need to be relatively

small to avoid delays in transmitting them over the Internet.
Prototyping is probably the most suitable approach for developing

Java applets.


CASE Tools
Computer-aided software engineering (CASE) tools are
marketed as individual items or in a set (toolkit) that automates
various aspects of the development process.
CASE can be used in two different ways:
To automate certain SDLC activities on a piecemeal basis.
To provide an integrated (I-CASE) package for IS groups.

The relatively high turnover rate among systems personnel

creates problems for use of I-CASE systems as new employees
will need to take the time to learn the integrated package.


Software Quality

The International Organization for Standardization (ISO) first published its

quality standards in 1987, and then republished an updated version in 2000.

The ISO allows organizations to use any SDLC that includes the following:

Contract review

Testing and validation

Purchasers requirements


Development planning

Replication, delivery, and


Quality planning


Design and implementation


Project Planning
Project planning provides an
overall framework with which
the systems development life
cycle can be planned,
scheduled, and controlled.

Milestones, or checkpoints,
are established to allow a
periodic review of progress.


Project Planning (cont.)

Critical Path Method (CPM), PERT, and Gantt Charts.
These generic project management tools are suitable for systems
development projects.

Project Properties and Priorities

The following five properties most significantly influence the overall
nature of an IT project:

Predefined structure
Stability of technology
User proficiency
Developer proficiency

Managerial Issues
Importance. Functional managers
must participate in the development
process and should understand all
the phases.

Ethical and legal issues.

Developing systems across
organizations and countries could
result in problems in any phase of
system development.

Building interorganizational and

international information systems
can be very complicated.


Managerial Issues (cont.)

User involvement is important.

Quality assurance vs.


Traditional approaches vs.


Behavior problems.

Tool use by developers.

Perpetual development.