systems development life

Post on 11-Apr-2015

2.088 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Systems Development Life

TRANSCRIPT

Systems Development Life

Cycle (SDLC)

Systems Development Life Cycle (SDLC)

The traditional methodology used to develop, maintain, and replace information systems. [HOFF96]

The evolution of process that is followed in implementing a computer-based information system subsystem. [MCLE93]

Also known as Systems Life Cycle, SystemsDeve-lopment Methodology, Project Life Cycle, Methodology.

Participants

Their participation depends on the strategic value of the project

Systems AnalystDatabase AdministratorNetwork SpecialistProgrammerOperations Personnel

Participants...

MIS/IS Steering CommitteeEstablishes policies, provides fiscalcontrol, resolves conflictProject TeamHeaded by a Team LeaderExecutives

Purpose

to define the activities to be carried out in a systems development project

to introduce consistency among many systems development projects in the same organization

to provide checkpoints for management control for go/no-go decisions

SDLC Phases

Planning Phases

Steps:1. Recognize the problem What is a problem? When is a problem advantageous?2. Define the problem Is it the correct problem?3. Set system objectives How will you solve the problem?4. Identify system constraints What are the boundaries/limitations of the

system?

Planning Phases...

Conduct a feasibility study Is the system feasible?

Feasibility Areas: Economic Technical Operational Schedule Legal and Contractual Political

Planning Phases...

Elements of Project PlanningDescribing project scope, alternatives and feasibility

Dividing project into manageable tasksEstimating resources and creating resource plan

Developing a preliminary scheduleDeveloping a communication plan

Planning Phases...

Elements of Project Planning...Determining project standards and procedures

Identifying and Asssessing RiskCreating Preliminary BudgetDeveloping a Statement of WorkSetting a Baseline Project Plan

Requirements Determination

Formal process of using research, interview, questionnaires, sampling and other techniques to collect information about system, requirements and preferences

SA team collects information on what the system should do from as many sources as possible: from users of the current system, from observing users and from existing reports, forms and procedures information gathering, data collection, data gathering

Analysis Phases

The study of the existing system for the purpose of designing a new or improved system

Steps: Announce the systems study

what is the reason of the study? what benefits will the employees and the

organization get from the study?

Analysis Phases....

Organize the project team who does what? define the information needs - what kind of information will be needed? - what tools should be used to get the information effectively? define the system performance criteria prepare the design proposal

Analysis Phases....

ActivitiesIdentify and describe complete problem

specificationStudies and documents the current system – in

terms of its problems, requirements and processesPrepares a list of requirements for the new systemDiagrams the functions of the existing system

necessary for the development of the new system

Design Phase

The determination of the processes and data that are required by a new system

Steps: 1. Prepare the detailed systems design

2. Identify alternative system configurations 3. Evaluate alternative system configurations 4. Select the best configuration 5. Prepare the implementation proposal 6. Approve or reject the proposal

Implementation Phase

The acquisition and integration of the physical and conceptual resources that produce a working system

Steps: 1. Plan the implementation 2. Announce the implementation

3. Obtain the hardware resources4. Obtain the software resources5. Prepare the database6. Prepare the physical facilities7. Educate the participants and users

Implementation Phase...

Conversion Methods: Immediate/Direct Outright conversion from old system to new system

applicable to small firms/systems Phased The new system put into use one part at a time

popular to large-scale systems Parallel Old system is implemented simultaneously with the

new one greatest assurance against failure but most expensive

Maintenance Phase

Steps:Use the systemAudit the system

Conduct a post implementation review

Maintain the systemCorrect the errors keep the system current improve the system

Classical Project Life Cycle

Features: Uses bottom-up implementation also known as the

“waterfall life cycle” Has a number of difficulties:

nothing’s done until it’s all done most trivial bugs are found at the beginning of the

testing period, and most serious bugs are found last

Classical Project Life Cycle...

Has a number of difficulties:(cont...) debugging tends to be extremely difficult

during the final stages of system testing requirement for computer test time usually rises exponentially at the final stages of testing

Phases progress sequentially Relies on outdated techniques

Semi-Structured Project Life Cycle

Features: Uses top-down implementation Uses structured design

Terminators: Users Managers Operations Personnel

Semi-Structured Project Life Cycle...

Activities:1. Survey

Identification of users & development of initial system scope

Identification of current deficiencies in the user’s environment

Establishment of goals/objectives for a new system

Determination of feasibility to automate preparation of project charter

Structured Project Life Cycle...

2. Analysis Transformation of user policy & project charter

into a structured specification Development of system models (environmental,

behavioral, essential) Preparation of budgets & cost-benefit

calculations

Structured Project Life Cycle...

3. Design Allocation of essential model to appropriate

processors & tasks Transformation of ER data models into a

database design Development of user implementation model

Structured Project Life Cycle...

ImplementationCoding & integration of modules

Acceptance Test GenerationGeneration of acceptance test cases from the

structured specification Quality Assurance

Final or acceptance testing Procedure Description

Generation of a user’s manual Database Conversion Installation

Prototyping Project Life Cycle

An iterative process of systems development in which requirements are converted to a working system that is continually revised through close work between an analyst and users

Tools * Fourth-Generation Languages (4GLs) * Database Management System * Computer-Aided Software Engineering

(CASE) Tools

Prototyping Project Life Cycle...

Advantages of Prototyping Involves the user in analysis and design to a large

extent Captures requirements in concrete, rather than

verbal or abstract form Changing the system early in its development Scrapping undesirable systems Designing a system for users’ needs and

expectations

Prototyping Project Life Cycle...

Disadvantages of PrototypingManaging the projectAdopting an incomplete system as complete

Guidelines for Developing a PrototypeWork in manageable modulesBuild the prototype rapidlyModify the prototype in successive iterations

stress the user interface

Prototyping Project Life Cycle...

Candidates for Prototyping user is unable/unwilling to examine abstract paper models

user does not know what he wants but can recognize it when he sees it

system is intended to be on-line with full screen terminals

system does not require massive details

Prototyping Project Life Cycle...

Kinds of Information Sought During Prototyping

initial user reactions user suggestions Innovations revision plans

Prototyping Project Life Cycle..

Kinds of Prototype1. Patched-up an inefficient and inelegant working system that is

patched together2. Non-operational a non-working scale model for the purpose of

testing certain aspects of the design

Prototyping Project Life Cycle..

Kinds of Prototype (cont...)3. First of a Series creating a pilot with the aim of implementing it

in a series of other locations4. Selected Feature building an operational model thatincludes

some but not all of the features that the final system will have

Information Engineering Project Life Cycle

Phases Planning provides general direction & strategic plans to explain why the enterprise exists Analysis determines what must be accomplished to satisfy strategic plans

Information Engineering Project Life Cycle..

Phases (cont...) Design transforms the results into implementable information system & determines how the systems operate in the enterprise Construction builds & maintains the information system

Joint Application Design (JAD)

started in the late 1970s at IBM a structured process in which users, managers, and

analysts work together for several days in a series of intensive meetings to specify or review system requirements

similar to a group interview but follows a particular structure of roles and agenda during which analysts control the sequence of questions answered by users

Joint Application Design (JAD)...

sessions are usually conducted in a location other than the place where people involved normally work

sessions are held in special-purpose rooms where participants sit around horseshoe-shaped tables

Joint Application Design (JAD)...

Sponsor takes care of the expenses incurred during the

JAD attends usually only at the very beginning or the

endSystems Analysts

has a limited participation and are there to learn from users and managers

Joint Application Design (JAD)...

Scribe takes notes during the JAD sessions

IS Staff programmers, database analysts, IS planners, and

data center personnel learns from the discussions and contribute their

ideas on the technical aspects of the project

Rapid Applications Development (RAD)

A systems development methodology created to radically decrease the time needed to design and implement information systems

Relies on heavy user involvement, JAD sessions, prototyping, integrated CASE tools, and code generators

Components Tools People Methodology Management

Rapid Applications Development (RAD)...

Advantages: has shorter development cycle involves smaller development teams increases system quality

Disadvantages only works well for systems that have to be

developed quickly overlooks important software engineering

concepts, such as interface consistency, programming standards, module reuse, scalability, and systems administration

top related