<p>Objektorienterade mönster och omkonstruktion är två olika designstrategier som har ett gemensamt mål: att göra mjukvarusystem mer förändringsbara och mindre komplexa. Mönster tillämpas för att förebygga utvecklingen av komplexitet i mjukvara. Omkonstruktioner görs för att reducera komplexitet som redan uppstått i mjukvarans inre struktur. Denna rapport identifierar fyra grundläggande strukturproblem som gör mjukvara onödigt komplex och svår att förändra: duplicerad kod, villkorslogik, långa metoder och bristande inkapsling. Rapporten visar hur objektorienterade mönster kan införas i mjukvara genom omkonstruktion och göra mjukvara mer förändringsbar genom att reducera de fyra nämnda strukturproblemen. Som en fallstudie om mönsterbaserade omkonstruktioner, omkonstrueras en del av systemet INCA genom att tillämpa mönstren Template Method och Strategy.</p> / <p>Object oriented patterns and refactoring are two different approaches to software design that both share a common objective: to increase software modifiability and reduce its complexity. Patterns are applied to prevent the development of software complexity. Refactorings are applied to reduce complexity that has already found its way into the internal structures of software. This report identifies four fundamental structural problems that make software unnecessarily complex and hard to maintain: duplicated code, conditional logic, long methods and poor encapsulation. The report shows how object oriented patterns can be introduced in software by means of refactoring and make software more modifiable by reducing the four mentioned structural problems. As a case study of pattern based refactorings, a part of the INCA system is refactored by applying the patterns Template Method and Strategy.</p>
Identifer | oai:union.ndltd.org:UPSALLA/oai:DiVA.org:kau-927 |
Date | January 2007 |
Creators | Jonsson, Andréas |
Publisher | Karlstad University, Faculty of Economic Sciences, Communication and IT |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, text |
Page generated in 0.0015 seconds