SMarty is a variability management approach for UML-based software product lines. It allows the identification, representation and tracing of variabilities in several UML models by means of an UML profile, the SMartyProfile, and a systematic process, the SMartyProcess, with guidelines to provide user directions for applying such a profile. The existing UML-based variability management approaches in the literature, including SMarty, do not provide empirical evidence of their effectiveness, which is an essential requirement for technology transfer to industry. Therefore, this paper presents empirical evidence of the SMarty approach at class level. In addition, this paper demonstrates how SMarty has evolved, by means of its profile and guidelines, based on the obtained results of an experiment and the subjects feedback analysis.
Variability management is an essential activity to ensure which products can be instantiated from the core assets of Software Product lines (SPLs). Stereotype-based Management of Variability (SMarty) is one of the several approaches to manage variabilities specified in UML diagrams. SMarty, in its fourth version, supports variability management specification in use case, class, activity and components diagrams. However, it lacked the representation of dynamic aspects of a SPL. The inclusion of UML interaction diagrams in the core assets allows the representation of an important abstraction level. Therefore, this paper presents a proposal for extending SMarty to manage variabilities in UML sequence diagrams. In addition, it presents an experimental validation that provides evidences of the effectiveness of this extension which supports its use both in academic and industrial environment.
Variability modeling is an essential activity for the success of software product lines. Although existing literature presents several variability management approaches, there is no empirical evidence of their effectiveness for representing variability at component level. SMarty is an UML-based variability management approach that currently supports use case, class, activity, sequence and component models. SMarty 5.1 provides a fully compliant UML profile (SMartyProfile) with stereotypes and tagged-values and a process (SMartyProcess) with a set of guidelines on how to apply such stereotypes towards identifying and representing variabilities. At component level, SMarty 5.1 provides only one stereotype, variable , which means that any classes of a given component have variability. Such a stereotype is clearly not enough to represent the extent of variability modeling in components, ports, interfaces and operations. Therefore, this paper presents how the improved version (5.2) of SMarty can identify and represent variability on such component-related elements, as well as an experimental study that provides evidence of the SMarty effectiveness.
A Unified Modeling Language (UML) tem sido ensinada em grande parte dos cursos de (pós-)graduação em Ciência da Computação, especialmente naqueles com ênfase em Engenharia de Software. No entanto, pouco se sabe sobre o alinhamento entre como a UML tem sido ensinada e como ela tem sido utilizada na indústria de software. Este artigo apresenta os resultados de dois surveys: um com 23 docentes sobre como a UML tem sido ensinada em Instituições de Ensino Superior de Maringá e Região e um com 43 profissionais da mesma região sobre como a UML tem sido aprendida e usada na prática. Os resultados são discutidos e fornecem suposições e direções para melhorar o ensino de UML e atender às necessidades reais do mercado.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.