systems development infsy 570 dr. ocker. what we mean by software quality software quality...
TRANSCRIPT
Systems Development
Infsy 570
Dr. Ocker
What we Mean by Software QualityWhat we Mean by Software Quality
Software Quality
Effective-ness
Usability Efficiency ReliabilityMaintain-
ability
Understandability
Modifiability Testability
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.
Systems Development Methods
Systems development - refers to all the activities that go into producing an information systems solution to an organizational problem or opportunity
Various methods for building information systems
I. traditional - systems development life cycle
II. prototyping III. application software packages IV. outsourcing
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
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
Systems Analysis
Determine what the system will do (as opposed to how )
2 stages 1. Feasibility study (preliminary
investigation) 2. Requirements Analysis
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)
Feasibility Study Tasks
Define problem/opportunity establish overall objectives of system identify users of system establish scope of system
Outcome of Feasibility Study
Recommendation to proceed or to abandon the project
Requirements Analysis
Objective is to produce the requirements specifications for the system
details about what the system will do
Requirements Analysis establishes Outputs of system inputs to system processing steps needed to transform
inputs into outputs files and databases needed to store
data
Requirements Analysis establishes The volumes of data to be handled numbers of users file and database capacities
Information gathering techniques
1. Ask users 2. Derive from existing system 3. Derive from analysis of business
area 4. Experimenting (i.e., prototype)
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
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
Systems Design
2 types of design logical physical
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
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
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
Programming
programming and documenting code
Testing
System pieces and later, the entire system, are run for purpose of finding errors
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.
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?
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
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
Drawbacks
1. resource intensive - takes lots of time to gather detailed information and prepare volumes of specifications
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
Drawbacks
3. approach not suited for decision making applications
decision making tends to be unstructured;
requirements change/uncertain so difficult to specify requirements
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
Prototyping
iterative process of development build preliminary design try it out refine it try it out etc.
Prototyping
prototyping much more iterative than SDLC
promotes design changes less formal approach than SDLC quickly generate working model of
system no detailed specifications
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
Steps in prototyping
3. use prototype user works with prototype to determine
how well it meets his/her needs user suggests improvements
Steps in prototyping
4. revise and enhance prototype designer refines prototype based on
users’ input repeat steps 3-4 until user satisfied
Prototyping
Approved prototype becomes basis for final specifications of the system
more rapid, iterative and informal than SDLC
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
Advantages of prototyping
good for design of user interface (part of system that end-users interact with)
encourages user involvement throughout systems development
Disadvantages of Prototyping
should not substitute for careful requirements analysis
better suited for smaller applications
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.
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
Advantages of packages
buying completed, working system
require less internal resources - upgrades received from software supplier
reduce bottlenecks in systems development
Disadvantages of Packages
can lack sophistication
lack of integration of several functions
may require customization - modify package to meet specific needs
IV. Outsourcing
hire external organization to build and/or operate systems
can outsource all or some of systems function
advantages and disadvantages
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
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
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