Dont Optimize Yet! - On an approach for making early performance evaluation usable to Software Engineering
Forfattere
Micheelsen, Dennis ; Hansen, René
Semester
4. semester
Uddannelse
Udgivelsesår
2005
Abstract
Mange softwareteams følger rådet 'optimer ikke endnu' og udskyder ydelsesarbejde til sent i forløbet. Men nogle ydelsesproblemer kan ikke løses med små kodeændringer alene. Software Performance Engineering (SPE) søger at imødegå dette ved at modellere ydelse allerede i designfasen, før problemer opstår. SPE er dog ikke blevet udbredt, især fordi det kræver specialiseret ekspertise. Denne afhandling foreslår en måde at integrere tidlige ydelsesovervejelser i almindelig softwareudvikling. Vi har bygget en Java 2 Micro Edition (J2ME) testapplikation, der måler centrale ydelsesegenskaber ved målmiljøet. Disse målinger giver input-estimater, som ellers skulle leveres af en SPE-specialist. Vi bruger estimaterne til at tilføje ydelsesannoteringer til aktivitetsdiagrammer efter UML Profile for Schedulability, Performance, and Time (en standard til at udtrykke tids- og ydelsesinformation i UML). Det giver tidlige forudsigelser af, hvordan det system, der er under udvikling, vil yde. Vi har afprøvet tilgangen på en J2ME-testcase.
Many software teams follow the rule 'don't optimize yet,' postponing performance work until late in development. But some performance issues cannot be fixed by code tweaks alone. Software Performance Engineering (SPE) addresses this by modeling performance during design, before problems appear. SPE has not become mainstream, largely because it depends on specialized expertise. This thesis proposes a way to make early performance work fit better into ordinary software engineering. We built a Java 2 Micro Edition (J2ME) test application that measures key performance characteristics of the target environment. The resulting measurements provide input estimates that would otherwise have to come from an SPE specialist. We use these estimates to add performance annotations to activity diagrams, following the UML Profile for Schedulability, Performance, and Time (a standard for expressing timing and performance in UML). This produces early predictions of how the system under development will perform. We evaluated the approach by applying it to a J2ME test case.
[Dette resumé er genereret ved hjælp af AI]
