1 / 17

Identifying Architectural Bad Smells

Contribution. Definition of notion Architectural SmellDefinition of four concrete architectural smellsQuality impact of each smell. 2. Motivation. Successful systems are maintained over multiple yearsSystem's Life-Cycle Properties worsen over timeUnderstandabilityTestabilityExtensibilityReusa

tynice
Download Presentation

Identifying Architectural Bad Smells

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Identifying Architectural Bad Smells Joshua Garcia, Daniel Popescu, George Edwards and Nenad Medvidovic University of Southern California

    2. Contribution Definition of notion Architectural Smell Definition of four concrete architectural smells Quality impact of each smell 2

    3. Motivation Successful systems are maintained over multiple years Systems Life-Cycle Properties worsen over time Understandability Testability Extensibility Reusability Restructuring/Refactoring helps to improve life-cycle properties What structures need to be refactored? 3 Software systems live over multiple years (different goals, different software maintainer) Architecture erodesSoftware systems live over multiple years (different goals, different software maintainer) Architecture erodes

    4. Code Smells Code smells are implementation structures that negatively affect system lifecycle properties Defined in terms of implementation-level constructs Classes Methods Statements Examples Long parameter list Large methods Code smells do not address architectural decisions 4

    5. Software Architecture Software systems architecture is the set of principal design decisions made about the system Usually includes system decomposition Subsystems/Components Services offered and required by a component Component interactions 5

    6. Examples of Architectural Decompositions 6

More Related