sdlc. information systems development terms sdlc - the development method used by most organizations...

21
SDLC

Post on 22-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

SDLC

Information Systems Development Terms

SDLC - the development method used by most organizations today for large, complex systems

Systems Analysts - IS professionals who specialize in analyzing and designing information systems

Programmers - IS professionals who modify existing computer programs or write new computer programs to satisfy user requirements

Technical Specialists - experts in a certain type of technology, such as databases or telecommunications, who help create information systems

The Traditional SDLCA waterfall approach

(1) Systems Investigation

(2) Systems Analysis

(3) Systems Design

(4) Programming

(5) Testing

(6) Implementation

(7) Operation

(8) Maintenance

Go Back to a previous Stage or Stop

An eight-stage systems development life cycle (SDLC)

Key aspects with SDLC

Active end-user involvement– Throughout development process

Top Management Support– Steering committee represents top management

and all functional areas affected by project

How will you measure system success?– Should be established up-front

Phases in SDLC

System Investigation– Feasibility study determines the probability of

success of proposed system’s development project. Includes …

Technical feasibility (will we be able to build the system?)

Economic feasibility (how much will it cost to build the system and how much will it benefit us?)

Behavioral feasibility (if we build the system, will it be accepted and used?)

Phases in SDLC (continued)

Systems Analysis– Examines the business problem(s) that the

organization plans to solve with information systems– Determines what the new system must do by

examining: Strengths and weaknesses of the existing system Functions that the new systems must have to solve the

business problem(s) User information requirements for the new system

– Develops initial working relationship with current end users

Phases in SDLC (continued)

Systems Design– Describes how the system will fulfill the user

requirements – Develop both logical design and physical design– Output => technical design or system specification…

system outputs, inputs, and user interfaces hardware, software, databases, telecommunications,

personnel, and procedures how these components are integrated

Phases in SDLC (continued)

Systems Design (cont’d)– Factors to consider during make-or-buy decision

On-time/On-budget Full functionality User acceptance Favorable costs-to-benefits ratio Low maintenance Scalability Integration with other systems Minimal negative cross-impacts Reusability Customization (is source code available?)

Phases in SDLC (continued)

Programming– the translation of the design specifications into

computer code– structured programming techniques improve the

logical flow of the program by decomposing the computer code into modules

– issue of open-source vs proprietary development tools

Phases in SDLC (continued)

Testing (quality assurance)– Checks to see if the computer code will produce the

expected and desired results under certain conditions– Use combinations of black-box and white-box testing

Phases in SDLC (continued)

Implementation– The process of converting from the old system to the new

system– Four major conversion strategies

Parallel conversion: the old and new systems operate simultaneously for a period of time

Direct conversion: the old system is cut off and the new systems is turned on at a certain point in time

Pilot conversion: introduces the new system in one part of the organization

Phased conversion: introduces components of the new system in stages

Phases in SDLC (continued)

SDLC Phases

Operation– the new system will operate for a period of time,

until it no longer meets its objectives

Maintenance (simultaneous with Operation)– debugging the programs– updating the system to accommodate changes in

business conditions– adding new functionality to the system

Alternatives to the SDLC

Prototyping– Starts with only a general idea of user requirements, and

develops models of the system ‘until it’s right’– Advantages:

Speeds up the development approach Gives the users the opportunity to clarify their information

requirements Useful in the development of decision support systems and

executive information systems

– Disadvantages: Replaces the systematic analysis and design stages of the SDLC -

quality may be sacrificed Can result in an excess of iterations

Alternatives to the SDLC -- continued

Alternatives to the SDLC -- continued

Joint Application Design (JAD)– A group-based method for collecting user

requirements and creating staged designs– Advantages:

Saves time Greater support for, and acceptance of new systems Produces higher quality systems Easier implementation Lower training costs

– Disadvantages: Very difficult to get all users to JAD meetings All the problems that may be caused by any group process

Alternatives to the SDLC -- continued

Integrated Computer-Assisted Software Engineering (ICASE) Tools

– Automate many of the tasks in the SDLC– Advantages:

Produces systems with a longer effective operational life Speeds up the development process and result in systems that are

more flexible and adaptable to changing business conditions Results in excellent documentation

– Disadvantages: More expensive to build and maintain initial system Requires more extensive and accurate definition of user needs and

requirements Difficult to customize and may be difficult to use with existing

systems

Alternatives to the SDLC -- continued

Rapid Application Development (RAD)– A method that can combine JAD, prototyping, and

integrated CASE tools, to rapidly produce a high-quality system

– Advantages: Active involvement of users in the development process Speeds the development process Reduces development costs Can create applications that are easier to maintain and

modify

– Disadvantages: May result in systems with limited functionality and

adaptability for change

Alternatives to the SDLC -- continued

End User Development– Users perform ad hoc programming to solve business problems– Factors that drive the trends toward increased end-user

computing and end-user development More powerful, inexpensive desktop hardware Increasingly diverse software capabilities Increasingly computer literate population Backlog of IS projects Apparent cost savings

– End-users (usually) don’t produce adequate documentation or perform adequate testing

– Security may be breached

Alternatives to the SDLC -- continued

Application Service Providers (ASPs)– Software obtained via subscription– Software resides on ASP’s systems– Software is accessed via Web or VPN– Subscriber does not have to host software on

existing computer systems– Updates and bug fixes are provided by the ASP– ASP can provide help-desk support

Alternatives to the SDLC -- continued

Web Services– Dynamic pages replicate software functionality– Eases maintenance

Do not need to touch each machine when installing updates