8/7/2019 MIS12
1/61
Introduction to MIS
Copyright 1998-2004 by Jerry Post
Introduction to MIS
Chapter 12
Systems Development
Technology Toolbox: Programming in Excel
Technology Toolbox: Business AnalysisCases: Government Agencies
8/7/2019 MIS12
2/61
Introduction to MIS
Outline How do you create the software tools needed for your
organization? What main options exist for building informationsystems?
How do you control a major development project?Why is control so important?
Is SDLC always the best approach? What othermethodologies could be used?
How do you analyze and annotate a process-basedsystem?
How is object-oriented design different from processdesign?
Can software be located in different places?
8/7/2019 MIS12
3/61
Introduction to MIS
Systems Development
8/7/2019 MIS12
4/61
Introduction to MIS
Primary Methodology Choices
Prototyping
End user development
Systems development life cycle
Large projects,formal control
Single user,reports and one-time computations
Decision support,analyses, andreports
8/7/2019 MIS12
5/61
Introduction to MIS
Build or Buy Options
Purchasecompletesolution
Assemblefromcomponents
Outsource orcontractprogrammers
Customprogramming
Developmenttime
Longer development time means more risk,
possibly higher costs. But it also enables you to
create a more customized solution.
8/7/2019 MIS12
6/61
Introduction to MIS
Programming Basics
Sequential execution: Statements are executed in order.
Parallel execution: Groups of code are executed at the same time.Variables: Containers to hold dataComputations
Conditions: If Then ElseLoops: While End
Subroutines and Functions: Break code into manageable pieces.Input/Output: Transferring data
Objects: Code pieces purchased or created to do specific tasks.
8/7/2019 MIS12
7/61Introduction to MIS
Sample Code Structure
Variable Total = 0
Open Sales
While NOT Sales.EOF
Total = Total + Sales.Value
Sales.MoveNext
End
Print Total
Close Sales
Declare and initialize variable
Loop through file/query one row ata time until end of fileRetrieve value and accumulate inTotal variable
Memory SpaceTotal: 0
Sales Query/FileValue13
221817
Open/start
Total = Total + Sales.Value
13 = 0 + 13
13
8/7/2019 MIS12
8/61Introduction to MIS
Project Evaluation (given a discount factor)
Get list of cost items from the user (Description, value, time-incurred, probability-factor, category . . .)Examine each item in the list:
Compute the present value of the cost: PV = Cost / ( (1 + rate) ^ time)
Multiply by the probability factor: EV = probability * PVIf item is in a special category,
Then add or subtract correction:category = Land Add 10%
category = Overhead Subtract 5%
category = Labor Add 15%End IfAccumulate the total value
End of listReturn the Total value
Individual Development: Pseudocode
8/7/2019 MIS12
9/61
8/7/2019 MIS12
10/61Introduction to MIS
Sample Javascript Web Event
function ShowMessage(msg){alert(msg);
}
This simple code runs.But it is a terrible user interface.
The art of programming revolvesaround building applications thatsolve problems and are easy to use.
SampleJavaScript.html
http://samplejavascript.html/http://samplejavascript.html/8/7/2019 MIS12
11/61Introduction to MIS
Object name:
Object attributes/properties:
Object functions/methods:
Interest RateMonthly Fees
Pay InterestCompute ChargesPrint Quarterly Statement
Number Beginning BalanceName Ending BalanceClient Current BalanceManager Interest RateDate Opened
Open Acct Accept DepositsClose Acct Withdrawal
Pay Interest
Lowest Balance in MonthBad Check ChargesAuthorized Signature
Print Monthly StatementSend Bad Check Notice
Pay InterestBudget Saver
Savings
Account
Checking
Money Market
Senior Citizen CDFixed Fee
Student
Volume
Object-Oriented Programming Encapsulation Object Hierarchies
Inheritance
Polymorphism
8/7/2019 MIS12
12/61Introduction to MIS
Management
Functions
Operations
Databases
Programs Programs Programs
Functions
Operations Operations
DatabasesDatabases Databases Databases
Programs
Programs
Programs
ProgramsProgramsPrograms
Top-down and Bottom-up Identify
Management Functions and
Operations
Entire Organization
Design Systems
Data Programs
Standards!
Integrate Write code
Build DB
Find a problem
8/7/2019 MIS12
13/61Introduction to MIS
$
2010 2012
Runaway Projects
Technical measures
2 - 5 times over budget 2 - 5 times behind schedule
Missing technical objectives
Design problems
Duplication of efforts Incompatibilities
User/designer conflicts2008
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
2013
8/7/2019 MIS12
14/61
Introduction to MIS
Common Problems
Confusion over who is working on each part.
Program portions do not work together. Users have minimal and conflicting input.
Programmers and developers leave.
Work is duplicated or discarded.
Goals are uncertain or changing.
8/7/2019 MIS12
15/61
Introduction to MIS
Cafasso 1994
Success & Failure Reasons for Success
User Involvement
Executive managementsupport
Clear requirements
Proper planning
Realistic expectations
Reasons for Failure Lack of user input
Incomplete requirements
Changing requirements andspecifications
Lack of executive support
Lack of technical skills
8/7/2019 MIS12
16/61
Introduction to MIS
Existing System
Systems Maintenance: Incremental changes
Feasibility &
Planning
SystemsAnalysis
Systems
Design
SystemsImplementationProblems &
Improvements
New System
Proposal
Goals & plans
Business requirements
Technical Design
problemsrevisions problems revisions
Systems Development Life Cycle
8/7/2019 MIS12
17/61
Introduction to MIS
Blue Print/Planning
Development Controls
Detailed work plan
Performance targets Practices & procedures
User input & control
8/7/2019 MIS12
18/61
Introduction to MIS
Purpose, Classification, Object Orientation, Decomposition
Comparison of Diagrams Data Flow Diagram
Show process and flow ofdata.
Process
No
Increasingly detailed levelsof process.
Structure Chart or VTOC Show modules and usage
flow.
Module structure
No
By program structure orusage steps.
Entity Relationship Diagram Describe
Data structures.
Yes
By entities or objectinheritance.
8/7/2019 MIS12
19/61
Introduction to MIS
Education and training
ChangingBusiness operations
Systems Implementation Final testing
Involve users
Education and training
Flexibility
Recognize how the systemwill affect the business
Encourage users to change Implementation plans
8/7/2019 MIS12
20/61
Introduction to MIS
new
old
new
new
Direct cutover
Parallel
Pilot
new
Phased
old
dept or component 1dept or component 2
dept or component 3
dept or component 4
store 1
store 2
store 3
store 4
Implementation Options
old
old
new
new
new
8/7/2019 MIS12
21/61
Introduction to MIS
System EvaluationFeasibility Comparison
Cost and Budget Compare actual costs to budget estimates.
Time Estimates Was project completed on time?
Revenue Effects Does system produce additional revenue?
Maintenance Costs How much money and time are spent on changes?
Project Goals Does system meet the initial goals of the project?
User Satisfaction How do users (and management) evaluate thesystem?
System Performance
System Reliability Are the results accurate and on time?System Availability Is the system available on a continuous basis?
System Security Does the system provide access only to authorizedusers?
8/7/2019 MIS12
22/61
Introduction to MIS
SDLC Advantages & Disadvantages Advantages
Control & targets
Formality
Financial controls
User input
Documentation
Testing Ease of maintenance
Disadvantages Increased costs
Increased time
Hard for DSS
Requires definitions up front
Rigid
8/7/2019 MIS12
23/61
Introduction to MIS
Capability Maturity Model
1. Initial. Ad hoc development with undefined processes.Often driven by individual programmers.
2. Managed. Standard project management tools to trackcosts and schedules. Basic processes to ensuredevelopment is repeatable.
3. Defined. Management and development is defined andstandardized. Processes are documented and followed.
4. Quantitatively Managed. Detailed measures are collectedand evaluated.
5. Optimizing. Continuous improvement methods are appliedto fine tune and improve the development process
http://www.sei.cmu.edu/cmmi/
http://www.sei.cmu.edu/cmm/cmm.sum.htmlhttp://www.sei.cmu.edu/cmm/cmm.sum.htmlhttp://www.sei.cmu.edu/cmmi8/7/2019 MIS12
24/61
Introduction to MIS
Build Initial Prototype
Use Prototype
Modify PrototypeRequest changes
New Version
MIS Designer
Initial Interview
Process repeats until:
1) User is satisfied
2) User and designer give up3) Formal system is built from prototype4) Need for application is removed5) Process never ends
Prototyping
User
8/7/2019 MIS12
25/61
Introduction to MIS
Prototyping Evaluation Advantages
Get a working system earlier
User has more input
Designed to be modified
Problems
Need 4GL trained MIS staff Too many users
Too many analysts
Never finish
"Loss" of management
control
Best uses Single user
Reports
Input screens
Self-contained applications
8/7/2019 MIS12
26/61
Introduction to MIS
Extreme Programming and Agile Development
time
Inputs: 16, 7, 19
Output: 91
Test cases
Paired programming
Release 1.0 Release 1.1
Target release dates.
Build test cases.
Write code and test it.
Release product.
Add features for next release.
8/7/2019 MIS12
27/61
Introduction to MIS
Developing systems is generally a teameffort among MIS developers and
business users. Groupware, CASE, anddevelopment tools are often used tofacilitate communication andcoordination.
Developing Systems with Teams
8/7/2019 MIS12
28/61
Introduction to MIS
Joint Application Design
GoalsPrimary NeedsComputations
FormsDatabase
Get everyone together to
identify the primary
elements of the design with
no distractions.
8/7/2019 MIS12
29/61
Introduction to MIS
CoordinationTechnology
ControlInformation
SharingChange
Monitoring
AccessControl
DataSharing
ConsistencyEnforcement
ConcurrencyControl
Product User
Teamwork Development
8/7/2019 MIS12
30/61
Introduction to MIS
End-user Development
Advantages
Faster Cheaper
Get what you want
Disadvantages/Problems Lack of documentation
Individual/personal differences
Pre-packaged software limitations
Takes User time
8/7/2019 MIS12
31/61
Introduction to MIS
End-user Development
When to Call for Help
Many people use the system PC versus central computer
Need documentation
Individual user differences
Need to train users Commercial software limits
User time is expensive
Mission critical application Additional testing
Many modifications Need security & control
Need to integrate Use corporate data
Tie to existing software
Connect to network
Database Integrity Avoid duplicate data
Changes to corporate data
8/7/2019 MIS12
32/61
Introduction to MIS
Who Should Develop Systems? MIS
Size: Many users
Complexity: Differentdepartments
Long development time SDLC large project controls
Cost of user time
Critical Information Major changes to central
data base Formal testing
Expensive hardware
Formal feasibility Compatibility
Specialized knowledge
End User One-time code
Can purchase pre-packagedsolutions
Highly trained users
How Can MIS Help? Easy access todata/database
Advice and help
Testing & quality control
Training & tutorials
Support/Help Center
8/7/2019 MIS12
33/61
Introduction to MIS
Choosing Methodologies
SDLC RAD Extreme
Programming
JAD Prototyping End User
Control Formal MIS Time Joint User User
Time frame Long Short Short Medium Short Short
Users Many Few Few Few One or two One
MIS staff Many Few Many Few One or two None
Trans/DSS Trans. Both Both/DSS DSS DSS DSS
Interface minimal Minimal Good Crucial Crucial Crucial
Document. &Training
Good Limited Variable Limited Weak None
Integrity &Security
Vital Vital Unknown Limited Weak Weak
Re-usability Limited Some Maybe Limited Weak None
8/7/2019 MIS12
34/61
Introduction to MIS
Basic Systems
Input Process Output
A Systems Approach to Process Analysis
Systems
Input, Process, Output Divide and Conquer
Goals and Objectives
Control and Feedback
Diagramming Systems
Common Systems Problems
8/7/2019 MIS12
35/61
Introduction to MIS
System boundary: The Zoo
MembersDonorsVisitors
Other Zoos
Education
Visitor Counts
EducationalMaterials
BabyAnimals
RegistrationPapers
Health DataTheZoo
Money
SuppliersRequests& Comments
Animal Feed
Invoices
8/7/2019 MIS12
36/61
Introduction to MIS
Subsystems: The Zoo
AnimalCare
Donor &Public
Relations
ManageFacilities
Produce
ManagementReports
ManageHuman
Resources
8/7/2019 MIS12
37/61
Introduction to MIS
Goals and Feedback
FeedbackControl
Analyze
ProcessInput Output Goal
8/7/2019 MIS12
38/61
Introduction to MIS
Data Flow Diagram Objects
External Entity
Data Flow
Feedback and Control Data
External Entity
Process
Data Store (file)
Data Flow
Feedback and Control Data
8/7/2019 MIS12
39/61
Introduction to MIS
The Zoo: Level 0public/
zoo visitors donors
zoo boostermembers
1donor and
public relations
2produce
mgt. reports
3managehuman
resources
4animalcare
5managefacilities
other zoos& breeders
certificationagenciesmanagement
money &requests
PR datareceiptsetc.
public requests
needs & budgets animal requests
health research
maintenanceschedule
maint. &buildingrequest
specialistrequest
employee
schedule
spec
ialistreq
uest
emp.s
chedule
emp. reports
employees
animalstatus
hours,benefits,etc.
pay data, requests
receipts
Usagereports
Managementreports
8/7/2019 MIS12
40/61
Introduction to MIS
The Zoo: Level 1public/zoo visitors
donorszoo boostermembers
1.2handledonor
requests
1.1produce PR& outreachprograms
1.3org. boosterservices &meetings
1.4track needsand donor
programs
1.5produce
accounting& reports
adopt an animalfiles
receipts
money &comments
PR datareceiptsetc.
money &requests
newsletternotices, etc.money &suggestions
boosterrequests
needs &plans
public requests
needs & budgets
needs &plans
donorrequestsdonor
lists
expenses & budget
money, data,visitor statistics
accountingreports
public requestsanimalneeds
8/7/2019 MIS12
41/61
Introduction to MIS
Systems: Data Dictionary
Processes
Animal Care Description Donor & Public Relations . . .
Employee Relations . . .
Entities Certification Agencies . . .
Donors . . .
Data Accounting Reports . . .
Certification Reports . . .
8/7/2019 MIS12
42/61
Introduction to MIS
Data Dictionary
8/7/2019 MIS12
43/61
Introduction to MIS
System Problems
Do not includedata flowsbetween externalentities. Dropthe line or makeone of theentities internal.
A processcannot inventdata. It must
have a data flowcoming in to it.
A processcannot be ablack hole--datamust flow out of
the process.Maybe it shouldbe a file instead.
Manufacturer Customer
Sell ProductsInvoices sales receipt
orderspurchase orders
warranty registration
Modify Reports
weekly report
daily sales
Save Reports
Store reports
Inventory list
8/7/2019 MIS12
44/61
Introduction to MIS
Boundaries
DistributeEducational
Materials
CreateEducational
Materials
Visitors
Problem Boundary
Problem: Shortages of Educational Materials
Zoo system boundary
8/7/2019 MIS12
45/61
Introduction to MIS
Common Systems Problems
Defective subsystems
Wrong Data
Errors in Data
Missing feedback andcontrol
Not responding toenvironment
ReceiveOrders
CheckCustomer
Credit
CheckOrders
for Errors
8/7/2019 MIS12
46/61
Introduction to MIS
Identifying
Cause
& Effect
donors
zoo boostermembers
money &requests
public requests
needs & budgets
adopt an animalfiles
money &suggestions newsletter,
notices,etc.
donor listsdonor requests
needs &
plans
needs &plans
booster requests
expenses & budget donor list &
animal needsanimal needs& plans
ProblemsSome animal budgets have excess $Some animal budgets have no money
1.2Handledonor
requests
1.3Booster
services &meetings
PR datareceipts
etc.
1.4Track needs
& donorprograms
8/7/2019 MIS12
47/61
Introduction to MIS
x Object Orientationq
Propertiesq Methods
q Inheritance
q Polymorphism
x
Business Objects and Processes
Object Orientation
8/7/2019 MIS12
48/61
Introduction to MIS
SDLC versus Object Oriented
0
10
20
30
40
50
60
Requirements Analysis Design Implementation
%time
SDLC
Object Oriented
SDLC v. Object Oriented
8/7/2019 MIS12
49/61
Introduction to MIS
Events Methods Objects
SaleRecord Sale
Update Inventory
Notify Customer
Service
Transaction LogAccounts & LedgersInventoryCustomersEmployees (commissions)
InventoryOrder/JIT
Notify Suppliers
Schedule Payment
Accounts & LedgersSuppliersShipping/Receiving
Installation& Maintenance
Objects & Events
8/7/2019 MIS12
50/61
Introduction to MIS
Rolling Thunder Order Entry Process
Bicycle
BikeParts
BikeTubes
Components
Order EntryClerk
Customer
Retail Store
Retaildata
Custo
mer
Choic
es
BikeSizes
Est.
sizes
Pricing
Select
Select
Neworder
8/7/2019 MIS12
51/61
Introduction to MIS
Rolling Thunder Manufacturing Process
Bicycle
BikeParts
BikeTubes
Components
TubeMaterial
QOH
FrameAssembler Painter
Installer
Install
Build P
aint
Insta
ll
QOH
Customer
CustomerTransaction
Ship
8/7/2019 MIS12
52/61
Introduction to MIS
Rolling Thunder Purchasing Process
PurchaseOrder
PurchaseItemsPurchase Order
Employee
Receive
ComponentsQOH
Dock employeeManufacturer
ManufacturerTransaction
Payable
8/7/2019 MIS12
53/61
Introduction to MIS
Some Classes for Rolling Thunder
Customer
CustomerID
PhoneFirstNameLastNameAddressZIPCodeCityIDBalanceDue
CustomerBicycle
SerialNumber
CustomerIDModelTypePaintIDFrameSizeOrderDateStartDate
ShipDateShipEmployeeFrameAssemblerPainterConstructionWaterBottle
CustomNameLetterStyleIDStoreIDEmployeeID
CustomerBikeTubes
SerialNumber
TubeNameTubeIDLength
BikeParts
SerialNumber
ComponentIDSubstituteIDLocationQuantity
ManufacturerManufacturerID
ManufacturerNameContactNamePhone
Components
ComponentID
ManufacturerIDProductNumberRoadCategoryLengthHeightWidth
WeightDescriptionListPriceEstimatedCostQuantityOnHand
1
**
1
*
*1
1
1*
Rolling Thunder Bicycle Class Diagram
8/7/2019 MIS12
54/61
Introduction to MIS
g y g
Rolling Thunder Bicycle Class DiagramBi l
Groupo
8/7/2019 MIS12
55/61
Introduction to MIS
SerialNumberTubeID
Quantity
CustomerIDPhoneFirstNameLastNameAddressZIPCodeCityIDBalanceDue
Customer
CustomerID
TransDateEmployeeIDAmountDescriptionReference
CustomerTrans
StoreID
StoreNamePhoneContactFirstNameContactLastNameAddressZIPCodeCityID
RetailStore
State
TaxRate
StateTaxRate
SerialNumber
CustomerIDModelTypePaintIDFrameSizeOrderDateStartDateShipDate
ShipEmployeeFrameAssemblerPainterConstructionWaterBottleCustomNameLetterStyleIDStoreIDEmployeeIDTopTubeChainStayHeadTubeAngleSeatTubeAngle
ListPriceSalePriceSalesTaxSaleStateShipPriceFramePriceComponentList
Bicycle
CityIDZipCodeCityStateAreaCodePopulation1990Population1980CountryLatitudeLongitude
City
ModelType
DescriptionComponentID
ModelType
Paint
EmployeeIDTaxpayerIDLastNameFirstNameHomePhoneAddressZIPCodeCityIDDateHiredDateReleasedCurrentManager
SalaryGradeSalaryTitleWorkArea
Employee
BicycleTube
ModelTypeMSize
TopTubeChainStayTotalLengthGroundClearanceHeadTubeAngleSeatTubeAngle
ModelSize
LetterStyle
Description
LetterStyle
PurchaseID
EmployeeIDManufacturerIDTotalListShippingCostDiscountOrderDateReceiveDateAmountDue
PurchaseOrder
SerialNumberTubeName
TubeIDLength
BikeTubes
SerialNumber
ComponentIDSubstituteIDLocationQuantityDateInstalledEmployeeID
BikeParts
PurchaseID
ComponentIDPricePaidQuantityQuantityReceived
PurchaseItem
ManufacturerIDManufacturerNameContactNamePhoneAddressZIPCodeCityIDBalanceDue
Manufacturer
CompGroupGroupNameBikeTypeYearEndYearWeight
Groupo
ComponentIDManufacturerIDProductNumberRoadCategoryLengthHeightWidthWeight
YearEndYearDescriptionListPriceEstimatedCostQuantityOnHand
Component
ManufacturerIDTransactionDateEmployeeIDAmountDescriptionReference
ManufacturerTrans
TubeIDMaterialDescriptionDiameterThicknessRoundnessWeight
StiffnessListPriceConstruction
TubeMaterial
GroupID
ComponentID
GroupCompon
ComponentNameAssemblyOrderDescription
ComponentName
PaintIDColorNameColorStyleColorListDateIntroducedDateDiscontinued
8/7/2019 MIS12
56/61
Introduction to MIS
Simple Object Access Protocol
Bank Server
Your Company Server
Manager or Client
The Internet
Your Financial ApplicationYear Revenue Cost
2000 34,231 27,333
2001 39,983 32,132
2002 36,421 31,456
Sales and Costs
-
10,000
20,000
30,000
40,000
50,000
2000 2001 2002
Revenue
Cost
Bank Service
Currencyconverter:Date,InCurrency,Outcurrency
SOAP
8/7/2019 MIS12
57/61
Introduction to MIS
Technology Toolbox: InfoPath
Use the sample Expense Report to create a form.Use the designer to verify or alter the design.Publish it and e-mail to test it.
8/7/2019 MIS12
58/61
Introduction to MIS
Quick Quiz
1. What standard business forms would you want to createelectronically?
2. What security conditions would you impose wheninstalling expense report forms on a SharePoint server?
3. What are the benefits of using digital forms instead ofpaper forms?
BlackScholesVB.xls
http://blackscholesvb.xls/http://blackscholesvb.xls/8/7/2019 MIS12
59/61
Introduction to MIS
Technology Toolbox: Programming Excel
Function BlackScholes(CallPut As String, StockPrice As Double, ExercisePrice As Double, _TimeLeft As Double, rate As Double, volatility As Double) As Double
Dim d1 As Double, d2 As Doubled1 = (Math.Log(StockPrice / ExercisePrice) + (rate + volatility ^ 2 / 2) * TimeLeft) / _
(volatility * Math.Sqr(TimeLeft))d2 = d1 - volatility * Math.Sqr(TimeLeft)If (Left(CallPut, 1) = "c") Then
BlackScholes = StockPrice * Application.WorksheetFunction.NormSDist(d1) _- ExercisePrice * Exp(-rate * TimeLeft) * Application.WorksheetFunction.NormSDist(d2)
ElseBlackScholes = ExercisePrice * Exp(-rate * TimeLeft) * _Application.WorksheetFunction.NormSDist(-d2) - StockPrice * _Application.WorksheetFunction.NormSDist(-d1)
End IfEnd Function
stock price 60 call 2.133368
exercise price 65 put 5.846282
time left 0.25
rate 0.08
volatility 0.3
=BlackSholes(call, B2, B3, B4, B5, B6)
8/7/2019 MIS12
60/61
Introduction to MIS
Quick Quiz: Programming in Excel
1. What does the statement If (ILeft(CallPut, 1) = c) do inthe code?
2. What security setting do you need for this function towork?
3. How can a function directly alter several cells in aspreadsheet?
8/7/2019 MIS12
61/61
Cases: Government Agencies
Annual Budget
0
2
4
6
8
10
12
14
16
18
1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
Billion$ NASA
FAAIRS