systems development infsy 570 dr. ocker. what we mean by software quality software quality...

48
Systems Development Infsy 570 Dr. Ocker

Upload: winifred-booth

Post on 17-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Development

Infsy 570

Dr. Ocker

Page 2: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

What we Mean by Software QualityWhat we Mean by Software Quality

Software Quality

Effective-ness

Usability Efficiency ReliabilityMaintain-

ability

Understandability

Modifiability Testability

Page 3: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Techniques for Information Gatheringin Systems Analysis

Techniques for Information Gatheringin Systems Analysis

InformationGathering

Techniques

InterviewingQuestionnairesGroup Decision-Making Processes

Data AnalysisDocument AnalysisObservationParticipation

Business Systems PlanningCritical Success FactorsDecision Analysis

“Throwaway” PrototypingEvolutionary Development

Deriving fromthe Analysis of

the Business Area

Askingthe Users

Deriving from anExisting System

Experimentingwith the System

under Dev.

Page 4: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Development Methods

Systems development - refers to all the activities that go into producing an information systems solution to an organizational problem or opportunity

Page 5: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Various methods for building information systems

I. traditional - systems development life cycle

II. prototyping III. application software packages IV. outsourcing

Page 6: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

I. systems development life cycle (SDLC) oldest method for building systems assumes that system has a life cycle with a

beginning, middle, and end structured type of problem solving with

distinct stages, activities, and deliverables each stage consists of activities which must

be completed before next stage begins

Page 7: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Development Life CycleSystems Development Life Cycle Feasibility

Study

TasksTasks

SystemsAnalysis

SystemsDesign

Programming(Construction)

Installation

(SystemOperationand Maintenance)

RequirementsAnalysis

LogicalDesign

PhysicalDesign

Coding andTesting

Conversion

Postimplemen-tation Review

Recommendation to Proceed andSystem Proposal orRecommendation to Abandon

Development StagesDevelopment Stages DeliverablesDeliverables

Requirements Specifications

Conceptual Designor Programs and Databases

Detailed Design of SystemModules and DatabasesSpecification of System Hardware and Software

Accepted System with Complete Documentation

Installed Operational System

Recom. for Enhancement of the System and of the Dev. MethodRecom. for Org. Adjustment

Page 8: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Analysis

Determine what the system will do (as opposed to how )

2 stages 1. Feasibility study (preliminary

investigation) 2. Requirements Analysis

Page 9: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Feasibility Study Objective is to establish whether the

proposed system is feasible/desirable before resources are committed

systems analyst perform a preliminary investigation of the business problem/opportunity

takes about 5-10% of project’s resources (time & money)

Page 10: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Feasibility Study Tasks

Define problem/opportunity establish overall objectives of system identify users of system establish scope of system

Page 11: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Outcome of Feasibility Study

Recommendation to proceed or to abandon the project

Page 12: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Requirements Analysis

Objective is to produce the requirements specifications for the system

details about what the system will do

Page 13: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Requirements Analysis establishes Outputs of system inputs to system processing steps needed to transform

inputs into outputs files and databases needed to store

data

Page 14: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Requirements Analysis establishes The volumes of data to be handled numbers of users file and database capacities

Page 15: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Information gathering techniques

1. Ask users 2. Derive from existing system 3. Derive from analysis of business

area 4. Experimenting (i.e., prototype)

Page 16: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Design

details how the system will meet the requirements as determined by the systems analysis

like a blueprint for a house - details all the specifications that give the system its form and structure

Page 17: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Design

Must look at:– Hardware & Software– Program & Modules– Specifications of the modules– Design the Data base– Design the USER interface– Develop the system procedures

Page 18: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Systems Design

2 types of design logical physical

Page 19: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Logical Design

A more macro level design conceptual activities include

– devising alternative solutions to problem and choosing an alternative

– user interface design– logical/conceptual design of database

Page 20: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Physical Design

Objective is – to produce a complete specification of all

system modules and of interfaces between them

– to perform the physical design of the database

Page 21: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Physical Design When the physical design is complete, the

following aspects will be specified:– system outputs (e.g., report layouts, screen designs)– system inputs – user interface– platforms (HW, SW)– program design– detailed test plan– database– conversion plan

Page 22: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Programming

programming and documenting code

Page 23: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Testing

System pieces and later, the entire system, are run for purpose of finding errors

Page 24: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Conversion

Plan to move from old system to new system– parallel - old and new systems run together– direct - turn off old, turn on new– phased - convert new system in increments

by function– pilot - introduce system to one organizational

area before proceeding to the remainder of the org.

Page 25: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Post-implementation Review

evaluating system after it is in production (i.e. after installed and in use for awhile)

post-implementation audit– Did we do what we said we would

do?

Page 26: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Cyclical nature of SDLC

when an analyst finishes one phase and proceeds to the next, the discovery of a problem may force the analyst to go back to the previous phase

Page 27: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Limitations of SDLC

appropriate for building large transaction processing and management information systems where requirements are highly structured and well-defined

also used for complex technical systems (e.g. air traffic control) where formal and rigorous requirements are needed, along with tight controls

Page 28: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Drawbacks

1. resource intensive - takes lots of time to gather detailed information and prepare volumes of specifications

Page 29: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Drawbacks

2. approach is inflexible and inhibits change -– to make changes/ correct errors - repeat

appropriate life cycle activities, but must generate more documents - substantially increase development time and costs

– encouraged to freeze system specifications early in development process - so changes not encouraged

Page 30: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Drawbacks

3. approach not suited for decision making applications

decision making tends to be unstructured;

requirements change/uncertain so difficult to specify requirements

Page 31: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

II. Prototyping

building an experimental system rapidly and inexpensively for users to evaluate

working version of an IS or part of the system

preliminary model

Page 32: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Prototyping

iterative process of development build preliminary design try it out refine it try it out etc.

Page 33: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Prototyping

prototyping much more iterative than SDLC

promotes design changes less formal approach than SDLC quickly generate working model of

system no detailed specifications

Page 34: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Steps in prototyping

1. identify users’ basic requirements designer works with user only long

enough to capture basic needs 2. develop working prototype designer creates prototype quickly

Page 35: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Steps in prototyping

3. use prototype user works with prototype to determine

how well it meets his/her needs user suggests improvements

Page 36: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Steps in prototyping

4. revise and enhance prototype designer refines prototype based on

users’ input repeat steps 3-4 until user satisfied

Page 37: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Prototyping

Approved prototype becomes basis for final specifications of the system

more rapid, iterative and informal than SDLC

Page 38: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Advantages of prototyping

useful when uncertainty about information requirements or design solutions

e.g. requirements for decision-oriented systems can be vague -- difficult to specify

Page 39: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Advantages of prototyping

good for design of user interface (part of system that end-users interact with)

encourages user involvement throughout systems development

Page 40: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Disadvantages of Prototyping

should not substitute for careful requirements analysis

better suited for smaller applications

Page 41: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

III. Application software packages develop a system by purchasing an

application software package application software package - set of

prewritten, precoded application software programs that are commercially available

packages available for common functions such as payroll, accounts receivable, inventory control, etc.

Page 42: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Choose packages when

1. functions common to many companies

2. information systems resources for in-house development in short supply

3. developing desktop applications for end-users

Page 43: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Advantages of packages

buying completed, working system

require less internal resources - upgrades received from software supplier

reduce bottlenecks in systems development

Page 44: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Disadvantages of Packages

can lack sophistication

lack of integration of several functions

may require customization - modify package to meet specific needs

Page 45: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

IV. Outsourcing

hire external organization to build and/or operate systems

can outsource all or some of systems function

advantages and disadvantages

Page 46: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Advantages of Outsourcing

economy - less costly service quality - may get better service

than from internal development predictability - outsourcing contract with

fixed price flexibility - growth without making major

changes in IT infrastructure

Page 47: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Advantages of Outsourcing

making fixed costs variable - pay only for amount of services used rather than for maintaining internal system

freeing human resources for other projects

freeing financial capital - can sell technology to vendor

Page 48: Systems Development Infsy 570 Dr. Ocker. What we Mean by Software Quality Software Quality Effective- ness UsabilityEfficiencyReliability Maintain- ability

Disadvantages of Outsourcing

loss of control over IS function vulnerability of strategic information -

trade secrets, proprietary information dependency on viability of vender - i.e.

financial, quality of services provided loss of knowledge and expertise