Evaluation of DCI Architectural Style for Feature-Oriented Software Development
Hoseini, Seyed Abolfazl (2014)
Avaa tiedosto
Lataukset:
Hoseini, Seyed Abolfazl
2014
Master's Degree Programme in Information Technology
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2014-03-05
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201402051077
https://urn.fi/URN:NBN:fi:tty-201402051077
Tiivistelmä
Developers often spend large amounts of time working on implementing complex func-tions and features. Increment of the implemented features will result in growth of the complexity. Therefore, it is important to restrict the list of functional requirements to those that have value to the user or client and to ensure that requirements are phrased in a language that the user or client can understand. Object-Oriented Programming (OOP) was expected to help programmers to decrease the complexity by introducing class and object concepts, but the hope is not totally realized.
A new approach called Data-Context-Interaction (DCI) has been proposed as a solution. Thus, in this thesis I study DCI in order to understand if DCI can effectively and efficiently support Feature-Oriented Software Development (FOSD) in terms of adding a new feature and removing an old feature. The main goal of this work was to investigate the feasibility of DCI for software development practice where new features can flexibly added and removed. Through a comprehensive literature study and implementation of messaging example in both JavaScript and C#, my research has concluded that DCI is a useful paradigm but it is not applicable for all programming languages. Furthermore, it is not a suitable paradigm for all the possible use case scenarios.
A new approach called Data-Context-Interaction (DCI) has been proposed as a solution. Thus, in this thesis I study DCI in order to understand if DCI can effectively and efficiently support Feature-Oriented Software Development (FOSD) in terms of adding a new feature and removing an old feature. The main goal of this work was to investigate the feasibility of DCI for software development practice where new features can flexibly added and removed. Through a comprehensive literature study and implementation of messaging example in both JavaScript and C#, my research has concluded that DCI is a useful paradigm but it is not applicable for all programming languages. Furthermore, it is not a suitable paradigm for all the possible use case scenarios.