DOC PREVIEW
MSU CSE 470 - process
Course Cse 470-
Pages 20

This preview shows page 1-2-19-20 out of 20 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Software Engineering PhasesDefinitionDefinition (cont.)DevelopmentDevelopment (cont.)MaintenanceUmbrella ActivitiesSoftware Engineering CostsSlide 9Relative Costs to Fix ErrorsWaterfall Process ModelPrototyping Process ModelWhen to use prototyping?Spiral Process ModelProcess ModelsCapability Maturity ModelWhy is software development so difficult?Why is software development difficult? (cont.)SummaryBottom LineSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess1Software Engineering PhasesSoftware Engineering PhasesDefinition: What?Development: How?Maintenance: Managing changeUmbrella Activities: Throughout lifecycleSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess2DefinitionDefinitionRequirements definition and analysisDeveloper must understandApplication domainRequired functionalityRequired performanceUser interfaceSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess3Definition (cont.)Definition (cont.)Project planningAllocate resourcesEstimate costs Define work tasksDefine scheduleSystem analysisAllocate system resources toHardwareSoftwareUsersSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess4DevelopmentDevelopmentSoftware designUser interface designHigh-level designDefine modular componentsDefine major data structuresDetailed designDefine algorithms and procedural detailSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess5Development (cont.)Development (cont.)CodingDevelop code for each moduleUnit testingIntegrationCombine modulesSystem testingSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess6MaintenanceMaintenanceCorrection - Fix software defectsAdaptation - Accommodate changesNew hardwareNew company policiesEnhancement - Add functionalityPrevention - make more maintainableSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess7Umbrella ActivitiesUmbrella ActivitiesReviews - assure qualityDocumentation - improve maintainability Version control - track changesConfiguration management - integrity of collection of componentsSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess8Software Engineering CostsSoftware Engineering CostsMaintenanceDevelopmentDefinitionSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess9Software Engineering CostsSoftware Engineering CostsPreventionEnhancementAdaptionCorrectionIntegrationCodingDesignSpecificationRequirementsSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess10Relative Costs to Fix ErrorsRelative Costs to Fix Errors0 20 40 60 801st QtrRequirementsDesignCodingTestingAfter DeliverySoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess11Waterfall Process ModelWaterfall Process ModelRequirementsDesignMaintenanceCodingTestingSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess12Prototyping Process ModelPrototyping Process ModelRequirementsQuick DesignPrototypeEvaluateDesignSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess13When to use prototyping?When to use prototyping?Help the customer pin down the requirementsConcrete model to “test out”Often done via the user interfaceExplore alternative solutions to a troublesome componente.g., determine if an approach gives acceptable performanceImprove moralePartially running system provides visibility into a projectSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess14Spiral Process ModelSpiral Process ModelPlanning Risk AnalysisEngineeringCustomerEvaluationSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess15Process ModelsProcess ModelsIdealized views of the processDifferent models are often used for different subprocessesmay use spiral model for overall developmentprototyping for a particularly complex component waterfall model for other componentsSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess16Capability Maturity ModelCapability Maturity ModelLevel 1: Initialsuccess depends on peopleLevel 2: Repeatabletrack cost, schedule, functionalityLevel 3: Defineduse standardized processesLevel 4: Managedcollect detailed metricsLevel 5: Optimizingcontinuous process improvement“built-in” process improvementSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess17Why is software development so difficult?Why is software development so difficult?CommunicationBetween customer and developerPoor problem definition is largest cause of failed software projectsWithin development teamMore people = more communicationNew programmers need trainingProject characteristicsNoveltyChanging requirements5 x cost during developmentup to 100 x cost during maintenanceHardware/software configurationSecurity requirementsReal time requirementsReliability requirementsSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess18Why is software development difficult? (cont.)Why is software development difficult? (cont.)Personnel characteristicsAbilityPrior experienceCommunication skillsTeam cooperationTrainingFacilities and resourcesIdentificationAcquisitionManagement issuesRealistic goalsCost estimationSchedulingResource allocationQuality assuranceVersion controlContractsSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess19SummarySummarySoftware lifecycle consist ofDefinition (what)Development (how)Maintenance (change)Different process models concentrate on different aspectsWaterfall model: maintainabilityPrototype model: clarifying requirementsSpiral model: identifying riskMaintenance costs much more than developmentSoftware Engineering CSE470: PSoftware Engineering CSE470: Processrocess20Bottom LineBottom LineU.S. software is a major part of our societal infrastructureCosts upwards of $200 billion/yearNeed to Improve software qualityReduce software


View Full Document

MSU CSE 470 - process

Course: Cse 470-
Pages: 20
Download process
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 process 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 process 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?