Unformatted text preview:

INFM 700: Session 13 System Building IssuesToday’s TopicsThe System Life CycleDecisions, DecisionsDifferent ArchitecturesRequirementsThe Waterfall ModelSlide 8The Spiral ModelSlide 10Unpleasant RealitiesA Hybrid ModelSlide 13TestingManagement IssuesThings will go wrong…TCOWhat is open source?Basic DefinitionsProprietary SoftwareOpen Source PrinciplesOpen Source vs. ProprietaryOpen Source is already here…ExamplesServer vs. DesktopOpen Source: ProsPros in DetailSlide 28Slide 29Cons of Open SourceCons in DetailSlide 32Open Source Business ModelsMature? YesSustainable? YesOpen Source in GovernmentIt comes down to cost…The TCO DebateIs open source right for you?How much data?How do you crunch all that?Data Centers: CentralizationChallengesGoogle’s SolutionIt’s just divide and conquer!Why should you care?Utility ComputingUtility Computing IssuesSlide 49INFM 700: Session 13System Building IssuesJimmy LinThe iSchoolUniversity of MarylandMonday, April 28, 2008This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United StatesSee http://creativecommons.org/licenses/by-nc-sa/3.0/us/ for detailsiSchoolToday’s TopicsDevelopment ModelsManaging SystemsOpen source softwareCloud ComputingDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolThe System Life CycleUnderstanding user needsFormative evaluation: figuring out what to buildGoing out to build it (and other options)Making sure it addresses user needsSummative evaluation: does it work as intended?Keeping it runningDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolDecisions, Decisions“Buy” or “Build”“Off-the-shelf” or “Custom”“In-house” or “Out-source”“Integrated Solution” or “Best of Breed”“Proprietary” or “Open Source”DevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolDifferent ArchitecturesDesktop applicationsWhat we normally think of as softwareBatch processing (e.g., recall notices)Save it up and do it all at onceTimesharing (e.g., OPAC)Everyone uses the same machineClient-Server (e.g., databases)Some functions done centrally, others locallyPeer-to-Peer (e.g., Kazaa)All data and computation is distributedWeb service (e.g., Gmail)DevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolRequirementsAvailabilityMean Time Between Failures (MTBF)Mean Time To Repair (MTTR)Measured for each component and for entire systemCapacityNumber of users (typical and maximum)Response time (typical and maximum)FlexibilityUpgrade pathInteroperability with other applicationsDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolThe Waterfall ModelKey idea: upfront investment in designAn hour of design can save a week of debugging!Five stages:Requirements: figure out what needs to be builtDesign: figure out how the software will workImplementation: actually build the softwareVerification: makes sure that it worksMaintenance: makes sure that it keeps workingDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolThe Waterfall ModelRequirementsDesignImplementationVerificationMaintenanceDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolThe Spiral ModelKey idea: iteratively build prototypesEach prototype is closer to the final productSteps:Define requirementsDevelop first prototype quicklyRevaluate requirements based on prototypeBuild second prototype based on lessons learnedIterate (until you run are happy or run out of money)DevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolThe Spiral Model1.00.52.03.01.11.22.12.22.3DevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolUnpleasant RealitiesThe waterfall model doesn’t work wellRequirements usually incomplete or incorrectThe spiral model is expensiveRedesign leads to recoding and retestingDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolA Hybrid ModelGoal: explore requirementsRecognizing that they will change laterStart with part of the functionalityThat will (hopefully) yield insight on the requirementsBuild a prototypeFocus on functionalitySave for later: efficiency, making it “pretty”Use the prototype to refine the requirementsRepeat the process, expanding functionalityDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolA Hybrid ModelUpdateRequirementsChooseFunctionalityBuildPrototypeInitialRequirementsWriteSpecificationCreateSoftwareWriteTest PlanDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolTestingComponent testingEnd-to-end testingFormal verificationUser testingDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolManagement IssuesMaintenance and administrationBeware of recurring costsRetrospective conversionMoving from “legacy systems”Even converting electronic information is expensive!Management informationLog data, audit trails, etc.Sometimes costs more to collect than it is worth!Sometimes easy to collect, difficult to analyzeTrainingStaff, end usersPrivacy, SecurityDevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolThings will go wrong…No software is defect-free. Why?Sheer sizeExample: Windows XP (2002) was ~40M lines of codeAlmost impossible to predict all possible use contextsExample: driver incompatibilitiesConcurrencyExample: lots of applications running at the same timeThe importance of disaster recoveryBackups (periodicity, storage location)Tradeoffs between “safety” and “being close by”DevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolTCOTCO = “Total cost of ownership”Buying/developing software isn’t the only cost!Other (hidden) costs:Planning, installation, integrationDisruption and migrationOngoing support and maintenanceTraining (of staff and end users)DevelopmentModelsManagingSystemsOpen SourceSoftwareCloud ComputingiSchoolWhat is open source?Proprietary vs. open source softwareOpen source used to be a crackpot idea:Bill Gates on Linux (3/24/1999):“I don’t really think in the commercial market, we’ll see it in any significant way.”MS 10-Q quarterly filing


View Full Document

UMD INFM 700 - System Building Issues

Download System Building Issues
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view System Building Issues and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view System Building Issues 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?