Introduction to MIS - Chapter 12: Systems Development

Challenges in Building Information Systems Systems Development Lifecycle (SDLC) Alternatives to SDLC Prototyping Teamwork Extreme Programming End-User Development Analyzing Systems Process Analysis Object-Oriented Design Cases: Government Agencies Appendix: Visual Basic

ppt54 trang | Chia sẻ: candy98 | Lượt xem: 443 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Introduction to MIS - Chapter 12: Systems Development, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Introduction to MISChapter 12Systems DevelopmentSystems DevelopmentOperationsTacticsStrategyEnterpriseinformationsystemDecisionsupportsystemTransactionprocessingSystems development life cycleEnd user developmentPrototypingOutlineChallenges in Building Information SystemsSystems Development Lifecycle (SDLC)Alternatives to SDLCPrototypingTeamworkExtreme ProgrammingEnd-User DevelopmentAnalyzing SystemsProcess AnalysisObject-Oriented DesignCases: Government AgenciesAppendix: Visual BasicProject 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 * PV If item is in a special category, Then add or subtract correction: category = Land Add 10% category = Overhead Subtract 5% category = Labor Add 15% End If Accumulate the total valueEnd of listReturn the Total valueIndividual Development: PseudocodeManagementFunctionsOperationsDatabasesProgramsProgramsProgramsFunctionsOperationsOperationsDatabasesDatabasesDatabasesDatabasesProgramsProgramsProgramsProgramsProgramsProgramsTop-down and Bottom-upIdentify ManagementFunctions andOperationsEntire OrganizationDesign SystemsDataProgramsStandards!IntegrateWrite codeBuild DBFind a problem$199820012002Runaway ProjectsTechnical measures2 - 5 times over budget2 - 5 times behind scheduleMissing technical objectivesDesign problemsDuplication of effortsIncompatibilitiesUser/designer conflictsCafasso 1994Success & FailureReasons for SuccessUser InvolvementExecutive management supportClear requirementsProper planningRealistic expectationsReasons for FailureLack of user inputIncomplete requirementsChanging requirements and specificationsLack of executive supportLack of technical skillsExisting SystemSystems Maintenance: Incremental changesFeasibility &PlanningSystemsAnalysisSystemsDesignSystemsImplementationProblems &ImprovementsNew SystemProposalGoals & plansBusiness requirementsTechnical DesignproblemsrevisionsproblemsrevisionsSystems Development Life CycleBlue Print/PlanningDevelopment ControlsDetailed work planPerformance targetsPractices & proceduresUser input & controlCustomer Order EntryEnter Salesperson DataEnter/Change Customer DataEnter Items OrderedReview and Print FormsLook up Item NumbersCheck Inventory StatusSpecial OrdersCustomer Order CopyShipping ListBack Order ListDesign Tools Visual Table of ContentsPurpose, Classification, Object Orientation, DecompositionComparison of DiagramsData Flow DiagramShow process and flow of data.ProcessNoIncreasingly detailed levels of process.Structure Chart or VTOCShow modules and usage flow.Module structureNoBy program structure or usage steps.Entity Relationship DiagramDescribeData structures.YesBy entities or object inheritance.G. Davis and M. Olson, Management Information Systems 1985.SDLC EffortEducation and trainingChangingBusiness operationsSystems ImplementationFinal testingInvolve usersEducation and trainingFlexibilityRecognize how the system will affect the businessEncourage users to changeImplementation plansoldnewoldnewnewnewnewnewDirect cutoverParallelPilotnewPhasedolddept or component 1dept or component 2dept or component 3dept or component 4store 1store 2store 3store 4Implementation OptionsSystem EvaluationSDLC Advantages & DisadvantagesAdvantagesControl & targetsFormalityFinancial controlsUser inputDocumentationTestingEase of maintenanceDisadvantagesIncreased costsIncreased timeHard for DSSRequires definitions up frontRigidBuild Initial PrototypeUse PrototypeModify PrototypeRequest changesNew VersionMIS DesignerInitial InterviewProcess repeats until:1) User is satisfied2) User and designer give up3) Formal system is built from prototype4) Need for application is removed5) Process never endsPrototypingUserPrototyping EvaluationAdvantagesGet a working system earlierUser has more inputDesigned to be modifiedProblemsNeed 4GL trained MIS staffToo many usersToo many analystsNever finish"Loss" of management controlBest usesSingle userReportsInput screensSelf-contained applicationsObject OrientationPropertiesMethodsInheritance PolymorphismBusiness Objects and ProcessesObject OrientationObject ClassesCustomersNameAddressPhoneChange AddressAdd New CustomerDelete CustomerCommercialContactAccount RepresentativeAssign Account RepFrequentContactAccount RepresentativeYear StartedAssign Account RepIndividualObjectProperties/AttributesMethods/FunctionsObject ExampleSDLC v. Object OrientedEventsMethodsObjectsSaleRecord SaleUpdate InventoryNotify Customer ServiceTransaction LogAccounts & LedgersInventoryCustomersEmployees (commissions)InventoryOrder/JITNotify SuppliersSchedule PaymentAccounts & LedgersSuppliersShipping/ReceivingInstallation& Maintenance Objects & EventsDeveloping systems is generally a team effort among MIS developers and business users. Groupware, CASE, and development tools are often used to facilitate communication and coordination.Developing Systems with TeamsCoordinationTechnologyControlInformationSharingChangeMonitoringAccessControlDataSharingConsistencyEnforcementConcurrencyControlProductUserTeamwork DevelopmentEnd-user DevelopmentAdvantagesFasterCheaperGet what you wantDisadvantages/ProblemsLack of documentationIndividual/personal differencesPre-packaged software limitationsTakes User timeEnd-user Development When to Call for HelpMany people use the systemPC versus central computerNeed documentationIndividual user differencesNeed to train usersCommercial software limitsUser time is expensiveMission critical applicationAdditional testingMany modificationsNeed security & controlNeed to integrateUse corporate dataTie to existing softwareConnect to networkDatabase IntegrityAvoid duplicate dataChanges to corporate dataWho Should Develop Systems?MISSize: Many usersComplexity: Different departmentsLong development timeSDLC large project controlsCost of user timeCritical InformationMajor changes to central data baseFormal testingExpensive hardwareFormal feasibilityCompatibilitySpecialized knowledgeEnd UserOne-time codeCan purchase pre-packaged solutionsHighly trained usersHow Can MIS Help?Easy access to data/databaseAdvice and helpTesting & quality controlTraining & tutorialsSupport/Help Center SDLC RAD Objects JAD Prototyping End User Control formal MIS standards joint user userTime frame long short any medium short shortUsers many few varies few one or two oneMIS staff many few split few one or two noneTrans./DSS Trans. both both DSS DSS DSSInterface minimal minimal Windows crucial crucial crucialDocument.& Training vital limited in objects limited weak noneIntegrity &Security vital vital in objects limited weak weakRe-usability limited some vital limited weak noneChoosing MethodologiesBasic SystemsInputProcessOutputA Systems Approach to Process AnalysisSystemsInput, Process, OutputDivide and ConquerGoals and ObjectivesControl and FeedbackDiagramming SystemsCommon Systems ProblemsSystem boundary: The ZooMembersDonorsVisitorsOther ZoosEducationVisitor CountsEducationalMaterialsBabyAnimalsRegistration PapersHealth DataTheZooMoneySuppliersRequests& CommentsAnimal FeedInvoicesSubsystems: The ZooAnimalCareDonor &PublicRelationsManageFacilitiesProduceManagementReportsManageHumanResourcesGoals and FeedbackFeedbackControlAnalyzeProcessInputOutputGoalData Flow Diagram ObjectsExternal EntityData FlowFeedback and Control DataExternal EntityProcessData Store (file)Data FlowFeedback and Control DataThe Zoo: Level 0public/zoo visitorsdonorszoo boostermembers1donor andpublic relations2producemgt. reports3managehumanresources4animalcare5managefacilitiesother zoos& breederscertificationagenciesmanagementmoney &requestsPR datareceiptsetc.public requestsneeds & budgetsanimal requestshealth researchmaintenanceschedulemaint. &buildingrequestspecialist requestemployeeschedulespecialist requestemp. scheduleemp. reportsemployeesanimal statushours,benefits,etc.pay data, requestsreceiptsUsagereportsManagementreportsThe Zoo: Level 1public/zoo visitorsdonorszoo boostermembers1.2handledonorrequests1.1produce PR & outreachprograms1.3org. boosterservices &meetings1.4track needsand donorprograms1.5produceaccounting& reportsadopt an animalfilesreceiptsmoney &commentsPR datareceiptsetc.money &requestsnewsletternotices, etc.money &suggestionsboosterrequestsneeds &planspublic requestsneeds & budgetsneeds & plansdonorrequestsdonorlistsexpenses & budgetmoney, data,visitor statisticsaccountingreportspublic requestsanimalneedsSystems: Data DictionaryProcessesAnimal Care DescriptionDonor & Public Relations . . .Employee Relations . . .EntitiesCertification Agencies . . .Donors . . .DataAccounting Reports . . .Certification Reports . . .Data DictionarySystem ProblemsDo not include data flows between external entities. Drop the line or make one of the entities internal.A process cannot invent data. It must have a data flow coming in to it.A process cannot be a black hole--data must flow out of the process. Maybe it should be a file instead.ManufacturerCustomerSell ProductsInvoicessales receiptorderspurchase orderswarranty registrationModify Reportsweekly reportdaily salesSave ReportsStore reportsInventory listBoundariesDistributeEducationalMaterialsCreateEducationalMaterialsVisitorsProblem BoundaryProblem: Shortages of Educational MaterialsZoo system boundaryCommon Systems ProblemsDefective subsystemsWrong DataErrors in DataMissing feedback and controlNot responding to environmentReceiveOrdersCheckCustomerCreditCheckOrdersfor ErrorsIdentifying Cause & Effect donorszoo boostermembersmoney &requestspublic requestsneeds & budgetsadopt an animalfilesmoney &suggestionsnewsletter,notices,etc.donor listsdonor requestsneeds &plansneeds &plansbooster requestsexpenses & budgetdonor list &animal needsanimal needs& plansProblemsSome animal budgets have excess $Some animal budgets have no money1.2Handledonorrequests1.3Boosterservices &meetingsPR datareceiptsetc.1.4Track needs& donorprogramsObject name:Object attributes/properties:Object functions/methods:Interest RateMonthly FeesPay InterestCompute ChargesPrint Quarterly StatementNumber Beginning BalanceName Ending BalanceClient Current BalanceManager Interest RateDate OpenedOpen Acct Accept DepositsClose Acct Withdrawal Pay InterestLowest Balance in MonthBad Check ChargesAuthorized SignaturePrint Monthly StatementSend Bad Check NoticePay InterestBudget SaverSavingsAccountCheckingMoney MarketSenior CitizenCDFixed FeeStudentVolumeObject-Oriented DesignEncapsulationObject HierarchiesInheritancePolymorphismRolling Thunder Order Entry ProcessBicycleBikePartsBikeTubesComponentsOrder EntryClerkCustomerRetail StoreRetail dataCustomerChoicesBikeSizesEst. sizesPricingSelectSelectNew orderRolling Thunder Manufacturing ProcessBicycleBikePartsBikeTubesComponentsTubeMaterialQOHFrameAssemblerPainterInstallerInstallBuildPaintInstallQOHCustomerCustomerTransactionShipRolling Thunder Purchasing ProcessPurchaseOrderPurchaseItemsPurchaseOrderEmployeeReceiveComponentsQOHDock employeeManufacturerManufacturerTransactionPayableSome Classes for Rolling ThunderCustomerCustomerIDPhoneFirstNameLastNameAddressZIPCodeCityIDBalanceDueCustomerBicycleSerialNumberCustomerIDModelTypePaintIDFrameSizeOrderDateStartDateShipDateShipEmployeeFrameAssemblerPainterConstructionWaterBottleCustomNameLetterStyleIDStoreIDEmployeeID CustomerBikeTubesSerialNumberTubeNameTubeIDLengthBikePartsSerialNumberComponentIDSubstituteIDLocationQuantity ManufacturerManufacturerIDManufacturerNameContactNamePhone ComponentsComponentIDManufacturerIDProductNumberRoadCategoryLengthHeightWidthWeightDescriptionListPriceEstimatedCostQuantityOnHand1**1**111*Rolling Thunder Bicycle Class DiagramCases: Government AgenciesCases: Federal Aviation Administration Internal Revenue ServiceWhat is the company’s current status?What is the Internet strategy?How does the company use information technology?What are the prospects for the industry?www.faa.govwww.irs.govAppendix: Visual BasicProgramming LogicComputationsVariablesInternal functionsConditionsLoopsInputOutputMath functionsAbs Absolute valueAtn Arc TangentCos CosineExp ExponentialFix Returns integer portionInt Converts to integerLog LogarithmRnd Random numberSgn Signum (-1, 0, 1)Sin SineSqr Square rootTan TangentString functionsStrComp Compare two stringsLCase, UCase Convert to lowercase or uppercaseLen Find length of a stringFormat Format a stringInStr, Left, LTrimMid, Right, RTrim, Trim Manipulate strings.VB: ConditionsIf (condition) Then statements if trueElse statements if falseEnd IfIf (Sales > 1000) Then Bonus = 100Else Bonus = 0End IfSelect Case Customer Case Customer = ‘Corporate’ Discount = 0.05 Case Customer = ‘Government’ Discount = 0.10 Case Else Discount = 0.01End SelectVB: Loopstotal = 0For month = 1 To 12 total = total + SalesForMonth(month)Next month month = 1sales = 0Do Until (sales > 100000) sales = sales + SalesForMonth(month) month = month + 1LoopVB: Input and OutputCould use: InputBox, MsgBox, and Printer object.Generally just use data in the application.In this example, the form collects the data and displays the result.VBA: Excel ExampleSub Macro1()' Keyboard Shortcut: Ctrl+Shift+U For Each c In Selection c.Value = PCase(c.Value) Next cEnd SubFunction PCase(txt)' Convert a text value to proper case Dim i As Integer txt = LCase(txt) Mid(txt, 1, 1) = UCase(Mid(txt, 1, 1)) i = 2 Do While (i > 0) And (i 0) And (i < Len(txt)) Then Mid(txt, i + 1, 1) = UCase(Mid(txt, i + 1, 1)) i = i + 1 End If Loop PCase = txtEnd Function