Slide Number 1Time Spent in Software Development ActivitiesMaintenance Costs of Software Systems Are LargePrinciples:Principles:Principle:Principle:Impact of Errors made during Software DevelopmentErrors in a Stable Software SystemErrors in an Unstable Software SystemProgramming PersonalitiesSoftware DevelopmentAnalyzeDesignImplementInstallFrom Applying Software Engineering Principles, David MarcaTime Spent in Software Development Activities• Analysis – 30%• Design – 30%• Implementation 20%• Installation – 20%Maintenance Costs of Software Systems Are LargeDevelopment – 33%Maintenance – 67%Principles:• Change, even to well built software systems is inevitable.– Some changes occur because the system still has some errors• Late Software may not be useable.Principles:• Controlled Change– Modifiability means controlled change• Planning– Any plan is better than no planPrinciple:• Verification is NOT Validating– Verifying a program correct means that the program will generate correct outputs for all inputs.• the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase– Validating is checking to see if the program answers questions about its subject correctly.• the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirementsPrinciple:Build Software in Stages (that can be tested)Percent of FunctionalityTimeStage 1Stage 2Stage 3Impact of Errors made during Software DevelopmentWhen an error was made:Analysis Design Implementation InstallationWhen an Error was MadeCost to Fix After InstallationErrors in a Stable Software SystemTimeNumber of ErrorsErrors in an Unstable Software SystemTimeNumber of ErrorsProgramming PersonalitiesAwareness of Real World FactorsEstablished PurposeSoftware EngineerSeriousProgrammerUndirectedProgrammerCompulsive
View Full Document