Author
priscilla-roberts
View
225
Download
0
Embed Size (px)
DATA FLOW DIAGRAM:DATA FLOW DIAGRAM:
GENERATE BILL
CUSTOMER
GENERATE BALANCE
GENERATE REPORT
MANAGER
PAYMENTFILE
CUSTOMERFILE
• Appraise system building alternativesAppraise system building alternatives• Compare strengths, weaknesses of Compare strengths, weaknesses of
approachesapproaches• Assess solutions to problems created by Assess solutions to problems created by
approachesapproaches• Describe tools, methodologies of systems Describe tools, methodologies of systems
developmentdevelopment
**
Learning ObjectivesLearning Objectives
System LifecycleSystem Lifecycle
• Project definition:Project definition: is there a problem? Can is there a problem? Can it be solved with a project?it be solved with a project?
• System study:System study: analyze problems in analyze problems in existing systems; Define objectives existing systems; Define objectives evaluate alternativesevaluate alternatives
• Design:Design: logical & physical specifications logical & physical specifications for systems solutionfor systems solution
• Programming:Programming: develop software codedevelop software code**
System LifecycleSystem Lifecycle
• Installation:Installation: construct, test, train, construct, test, train, convert to new systemconvert to new system
• Post-installation:Post-installation: on-going evaluation, on-going evaluation, modifications for improvement to modifications for improvement to meet new requirementsmeet new requirements
These steps are necessary for large, These steps are necessary for large, complex systems & projectscomplex systems & projects
**
System LifecycleSystem Lifecycle
• Can be costly, time consumingCan be costly, time consuming• May encourage freezing specifications May encourage freezing specifications
early in developmentearly in development• May not be suitable for small, less May not be suitable for small, less
structured systemsstructured systems
**
Alternative System-Alternative System-building Approachesbuilding Approaches
• PrototypingPrototyping• Application software Application software
packagespackages• End-user developmentEnd-user development• OutsourcingOutsourcing
**
PrototypingPrototyping Process of building experimental Process of building experimental
system to demonstrate, evaluate system to demonstrate, evaluate approach; Users refine needsapproach; Users refine needs
• Prototype:Prototype: preliminary working preliminary working version of information system for version of information system for demonstration, evaluation purposesdemonstration, evaluation purposes
• Iterative processIterative process**
Application Software PackagesApplication Software Packages
Prewritten, pre-coded application software, Prewritten, pre-coded application software, commercially available for sale or leasecommercially available for sale or lease
• Geared to common requirements Geared to common requirements (significant few; Canned functions)(significant few; Canned functions)
• Customization:Customization: modification of software to modification of software to meet organization’s needs (trivial many; meet organization’s needs (trivial many; Use programming tools)Use programming tools)
• Must weigh costs / benefitsMust weigh costs / benefits**
Selected Examples Of Selected Examples Of Application ProgramsApplication Programs
Accounts receivable; Accounts receivable; Bond & stock management; Bond & stock management; Computer-aided design (CAD) ; Computer-aided design (CAD) ; document document imaging;imaging; E- mail; E- mail; EnterpriseEnterprise.Resource planning Resource planning (ERP); (ERP); Groupware; Groupware; Health care; Health care; HotelHotel.Management; Management; Internet telephone; Internet telephone; Inventory Inventory control; control; Job costing; Job costing; Library systems; Library systems; Life Life insurance; insurance; Mailing labels; Mailing labels; Mathematical / Mathematical / statistical modeling; statistical modeling; Order processing; Order processing; Payroll; Payroll; Process control;Process control;Tax accounting; Web browser;Tax accounting; Web browser; Word processing; BannerWord processing; Banner
**
0
2
4
6
8
10
0.5 1 2 3 4 5
% LINES OF CODE CONVERTED% LINES OF CODE CONVERTED
TO
TA
L IM
PL
EM
EN
TA
TIO
NT
OT
AL
IMP
LE
ME
NT
AT
ION
CO
ST
SC
OS
TS
Effects Of Customizing Software Effects Of Customizing Software On Total Implementation CostsOn Total Implementation Costs
End-user DevelopmentEnd-user Development
End-users develop information system End-users develop information system themselves, with little help from themselves, with little help from technical specialists; Using 4th technical specialists; Using 4th generation toolsgeneration tools
(Part III of this course)(Part III of this course)
**
End-user DevelopmentEnd-user DevelopmentStrengths:Strengths:• Improved requirements determinationImproved requirements determination• Increased user involvement & satisfactionIncreased user involvement & satisfaction• Reduced application backlogReduced application backlog
**
End-user DevelopmentEnd-user DevelopmentWeaknesses:Weaknesses:• Relatively inefficientRelatively inefficient• Slow transaction processingSlow transaction processing• May carry high/hidden costMay carry high/hidden cost• Nonprocedural approach makes it difficult Nonprocedural approach makes it difficult
for others to understand or updatefor others to understand or updateManagers are not really programmers; Take Managers are not really programmers; Take
them away from their REAL work.them away from their REAL work.**
OutsourcingOutsourcing
Contracting:Contracting:• Computer center operationsComputer center operations• Telecommunications networksTelecommunications networks• Application developmentApplication development To external vendors (allow others to hold To external vendors (allow others to hold
you by your throat?)you by your throat?)
**
System Building System Building MethodologiesMethodologies
• Structured methodologies (ER approach Structured methodologies (ER approach to SDLC)to SDLC)
• Object-oriented software development Object-oriented software development (BMIS 342)(BMIS 342)
• Computer aided software engineering Computer aided software engineering (CASE, BMIS 342)(CASE, BMIS 342)
• System analysis and design (BMIS 444)System analysis and design (BMIS 444)
**
Structured MethodologiesStructured Methodologies
Top down, step by step, each step Top down, step by step, each step builds on previousbuilds on previous
• Structured analysisStructured analysis
• Structured designStructured design
• Structured programmingStructured programming
• FlowchartsFlowcharts
**
Structured AnalysisStructured Analysis
• Defines system inputs, processes, outputsDefines system inputs, processes, outputs• Partitions system into subsystems or Partitions system into subsystems or
modulesmodules• Logical, graphical model of information Logical, graphical model of information
flowflow• Data flow diagram:Data flow diagram: graphical display of graphical display of
component processes, flow of datacomponent processes, flow of data
**
SYMBOLS FOR DATA FLOW DIAGRAMS (DFD):SYMBOLS FOR DATA FLOW DIAGRAMS (DFD):
DATA FLOWDATA FLOW
PROCESSPROCESS
SOURCESOURCEOR SINKOR SINK
FILEFILE
DATA FLOW DIAGRAM:DATA FLOW DIAGRAM:
GENERATE BILL
CUSTOMER
GENERATE BALANCE
GENERATE REPORT
MANAGER
PAYMENTFILE
CUSTOMERFILE
Structured AnalysisStructured Analysis
• Data dictionary:Data dictionary: controlled definitions of controlled definitions of descriptions of all data, such as variable descriptions of all data, such as variable names & types of datanames & types of data
• Process specifications:Process specifications: describes logic of describes logic of processes at module level processes at module level
**
Program Flowchart Symbols:Program Flowchart Symbols:
BEGIN OREND
DIRECTION
PROCESS
DECISION
INPUT OROUTPUT
SUBROUTINE
MANUALOPERATION
CONNECTOR11.32
Program flowchart:Program flowchart:PROCESS A
PROCESS B
SEQUENCESEQUENCE
PROCESS CPROCESS D
R
TRUE
SELECTIONSELECTION
PROCESS E
S
TRUE
ITERATIONITERATION
PROGRAM FLOWCHART:PROGRAM FLOWCHART:1
END
REPORT
MORE?2
1
2START
READ
>$10,000
<$10,000
PROCESS A
PROCESS B
Object - Oriented Software Object - Oriented Software DevelopmentDevelopment
• De-emphasizes procedures (“what needs De-emphasizes procedures (“what needs to be done” rather than “how to do it”)to be done” rather than “how to do it”)
• Shifts focus from models & data toShifts focus from models & data to objectsobjects, which combine data & procedures, which combine data & procedures
• ““Reusable” objectsReusable” objects
Reduces development time & costReduces development time & cost
**
Software EngineeringSoftware Engineering
• The establishment and use of sound The establishment and use of sound engineering principles in order to engineering principles in order to obtain economically software that is obtain economically software that is reliable and works efficiently on real reliable and works efficiently on real machinesmachines
• Engineering: solution based on Engineering: solution based on theoretical knowledgetheoretical knowledge
Software Software ReReengineeringengineering
• Salvages & upgrades aging softwareSalvages & upgrades aging software
• Delays expensive replacementDelays expensive replacement
• Reverse engineering:Reverse engineering: converting converting existing programs, files, database for existing programs, files, database for use in new applicationsuse in new applications
**
Software ReengineeringSoftware Reengineering
• Revise design & program specificationsRevise design & program specifications• Forward engineering:Forward engineering: use revised use revised
materials to generate new, structured materials to generate new, structured code; Structured & maintainable systemcode; Structured & maintainable system
**