221 |
A Systematic Way to Develop the Software Architecture based on Architecture VisionFaried, Muhammad Aamir, Ilyas, Mustafa January 2010 (has links)
In the software development life cycle, changes are inevitable. Designing the architecture of the software and writing the source code does not end the software life cycle. The software system evolves as changes in the environment and requirements are incorporated in the system. If these changes are not managed properly, the architecture of the software deteriorates and leads to architecture erosion. This study is an effort to address the problem of architecture erosion and to keep the software architecture live and up to date. In this study we propose a method to minimize or avoid architecture erosion. This method provides a systematic way to design the architecture of the software system. It is based on the concept of architecture vision that is the ideal representation of the architecture of the software in hand. This method treats architecture document and architecture design document as two completely different documents. Moreover this study presents an effort to establish a relationship between the implemented architecture of the system, the architecture design document and an architecture vision. The dynamic validation of the devised method shows that this method is suitable for medium to large scale projects that have several releases. All the activities of this method revolve around the efforts to keep the architecture of the software aligned with an architecture vision. The iterative nature of the method and synchronization of the implemented architecture with the architecture vision helps to detect and reduce architecture erosion. This method does not conflict with or replaces any development or management process or method (like RUP, agile, water fall etc), but exists parallel to them. / 0739 229 759 - Aamir 0737 351 062 - Mustafa
|
222 |
Towards Pattern Based Architectural Conformance CheckingOlsson, Tobias January 2016 (has links)
Patterns are a source of knowledge when architecting software systems. They provide abstract and time-tested solutions that show how a system should be structured to achieve needed qualities. However, when developing software there is a chance that small mistakes are introduced in the source code. Over time, these mistakes can accumulate and break the structure of the pattern and its qualities are lost. There are methods that can help find such errors, but none of these provide a pattern abstraction. In this work, we describe a method that raises the level of abstraction from checking individual dependencies to checking key dependencies in the pattern. We implement our method, apply it to check the Model-View-Controller pattern. We show that the method can find architectural problems in real source code and examine how removal of detected erosions affects the source code. We conducted an experiment in a software project setting to determine if using the method affects the number of architectural problems. Some project teams were randomly assigned to use a software service that automated our method. It checked how well their implementation conformed to Model-View-Controller every time they updated the source code. The experiment showed that developers that used the tool had significantly fewer detected architectural problems during the course of the project. Our method makes conformance checking easier to use. This might help increase the adoption of conformance checking in industry.
|
223 |
Software Architecture SimulationMårtensson, Frans, Jönsson, Per January 2002 (has links)
A software architecture is one of the first steps towards a software system. A software architecture can be designed in different ways. During the design phase, it is important to select the most suitable design of the architecture, in order to create a good foundation for the system. The selection process is performed by evaluating architecture alternatives against each other. We investigate the use of continuous simulation of a software architecture as a support tool for architecture evaluation. For this purpose, we study a software architecture of an existing software system in an experiment, where we create a model of it using a tool for continuous simulation, and simulate the model. Based on the results from the simulation, we conclude that the system is too complex to be modeled for continuous simulation. Problems we identify are that we need discrete functionality to be able to correctly simulate the system, and that it is very time-consuming to develop a model for evaluation purposes. Thus, we find that continuous simulation is not appropriate for evaluating a software architecture, but that the modeling process is a valuable tool for increasing knowledge and understanding about an architecture.
|
224 |
Evaluation and Selection of Software Architectures : A Case Study of Positioning SystemsGuerra, Adrien, Peirone, Sebastien January 2002 (has links)
The explosion of the mobile telecommunications market has resulted in the apparition of multiple applications and services. However the particular business pressure has often lead to that these systems have poor quality design and, consequently, implementation. Software system builders have realized the importance of the overall system organization to address quality requirements. Practically, they started to use, idiomatically, a number of commonly recognized solutions to guide their design of system structures. This report analyses and evaluates these solutions and comments on the result obtained when one of them was carefully selected and applied to a system of mobile positioning services. / +46708576448
|
225 |
Architectural Design of a Conformative Authentication Service for Security PlatformsHermansson, Mikael January 2013 (has links)
Authentication services in security platforms often need to handle different types of systems which have various requirements regarding the authentication. These requirements can often interfere with each other and the issue here is that the authentication service often needs to be manually adjusted to comply with these requirements. Therefore there is a need for a flexible architectural design which enables changes and could open up for new emerging technologies and possibilities. This thesis presents an architectural design of a conformative authentication service based on SAML 2.0 to be used in security platforms. In this thesis a requirements analysis was performed and an architectural design was developed. The architectural design presented in this thesis is conformative in various aspects, e.g. usage of various authentication methods, versatile handling of attributes, handling of various SAML 2.0 profiles, possibilities to participate in various identity federations and handling of legacy systems not supporting SAML. In addition, an evaluation comparing the candidate architectural design presented in this thesis with a currently active architectural design was performed. This evaluation showed that the candidate architectural design was considered better for more usage scenarios.
|
226 |
Performance Modeling of ASP.Net Web Service Applications: an industrial case studyde Gooijer, Thijmen January 2011 (has links)
During the last decade the gap between software modeling and performancemodeling has been closing. For example, UML annotations have been developed to enable the transformation of UML software models to performance models, thereby making performance modeling more accessible. However, as of yet few of these tools are ready for industrial application. In this thesis we explorer the current state of performance modeling tooling, the selection of a performance modeling tool for industrial application is described and a performance modeling case study on one of ABB's remote diagnostics systems (RDS) is presented. The case study shows the search for the best architectural alternative during a multi-million dollar redesign project of the ASP.Net web services based RDS back-end. The performance model is integrated with a cost model to provide valuable decision support for the construction of an architectural roadmap. Despite our success we suggest that the stability of software performance modeling tooling and the semantic gap between performance modeling and software architecture concepts are major hurdles to widespread industrial adaptation. Future work may use the experiences recorded in this thesis to continue improvement of performance modeling processes and tools for industrial use.
|
227 |
Architectural Rules Conformance with ArCon and Open-SourceModeling ToolsFridell, Emil January 2012 (has links)
In software development it is often crucial that the system implementationfollows the architecture dened through design patterns and a constraint set.In Model-Driven development most artefacts are created using models, butthe architectural design rules is one area where no standard to model therules exists. ArCon, Architecture Conformance Checker, is a tool to checkconformance of architectural design rules on a system model, dened in UML,that implements the system or application. The architectural design rules aredened in a UML model but with a specic meaning, dierent from standardUML, proposed by the authors of ArCon. Within this thesis ArCon wasextended to be able to check models created by the Open-Source modelingtool Papyrus, and integrated as a plugin on the Eclipse platform. The methodused by ArCon, to dene architectural rules, was also given a short evaluationduring the project to get a hint of its potential and future use. The case-studyshowed some problems and potential improvements of the used implementationof ArCon and its supported method.
|
228 |
Software Product Line Architectures: Reviewing the Literature and Identifying Bad SmellsAndrade, Hugo January 2013 (has links)
The Software Product Line (SPL) paradigm has proven to be an effective way to achieve large scale reuse in different domains. It takes advantage of common aspects between different products, while also considering product specific features. The architecture plays an important role in SPL engineering, by providing means to better understand and maintain the product-derivation environment. However, it is difficult to evolve such architecture because it is not always clear where and how to refactor. The contribution of this thesis is twofold. First, the current state of the art of software Product Line Architectures (PLAs) is investigated through a systematic mapping study. It provides an overview of the field through the analysis, and categorization of evidence. The study identifies gaps, trends and provides future directions for research. Furthermore, this thesis addresses the phenomenon of architectural bad smells in the context of SPLs. A case study provides an investigation on the implications of such structural properties in a variability-based environment. Prior to the search for smells, the architecture of a sample SPL in the text editor domain is recovered from the source code. / Software Product Line (SPL) paradigmet har bevisat sig vara ett effektivt sätt att uppnå storskalig återanvändning i olika domäner. Den drar nytta av gemensamma aspekter mellan olika produkter, och överväger samtidigt även produktspecifika egenskaper. Arkitekturen spelar en viktig roll i SPL tekniken, genom att tillhandahålla medel för att bättre förstå och underhålla "product-derivation" miljön. Det är dock svårt att vidareutveckla sådan arkitektur för att det inte alltid är tydligt var och hur den kan omstruktureras. Bidraget från denna avhandling är tvåfaldigt. För det första, den aktuella situationen för "software Product Line Architectures" (PLAs) undersöks genom en systematisk kartläggning. Den ger en översikt av fältet genom analys, och kategorisering av bevis. Studien identifierar luckor, trender och ger framtida riktlinjer för forskning. Vidare adresserar denna avhandling fenomenet arkitektoniska "bad smells" inom kontexten för SPLs. En fallstudie ger en utredning av implikationer av sådana strukturella egenskaper i en variabilitet-baserad miljö. Innan sökningen av "smells", är arkitekturen från en sampel SPL i textredigerar domänen återvunnen från källkoden.
|
229 |
Synthèse d’architectures logicielles pour systèmes-de-systèmes : une méthode automatisée par résolution de contraintes / Synthesis of software architectures for systems-of-systems : an automated method by constraint solvingMargarido, Milena 27 September 2017 (has links)
Les systèmes-de-systèmes (Systems-of-Systems, SoS) interconnectent plusieurs systèmes indépendants qui travaillent ensemble pour exécuter une action conjointe dépassant leurs compétences individuelles. Par ailleurs, les descriptions architecturales sont des artefacts qui décrivent des architectures logicielles jouant dans le contexte SoS un rôle important dans la promotion de l’interaction des éléments constituants tout en favorisant la communication parmi les intéressés et en soutenant les activités d’inspection et d’analyse dès le début de leur cycle de vie. Le principal problème traité dans cette thèse est le manque de descriptions architecturales adéquates pour les SoS qui sont développés sans l’attention nécessaire à leur architecture logicielle. Puisque les systèmes constituants ne sont pas forcément connus pendant la conception du projet à cause du développement évolutionnaire des SoS, la description architecturale doit définir à la conception même du projet quelles coalitions entre les systèmes constituants seront possibles pendant son exécution. En outre, comme plusieurs de ces systèmes sont développés pour le domaine critique de sécurité, des mesures supplémentaires doivent être mises en place pour garantir l’exactitude et la complétude de la description architecturale. Afin de résoudre ce problème, nous nous servons du SosADL, un langage formel créé spécialement pour le domaine SoS et qui permet de décrire les architectures logicielles comme des associations dynamiques entre systèmes indépendants où les interactions doivent être coordonnées pour réaliser une action combinée. Notamment, une nouvelle méthode formelle, nommée Ark, est proposée pour systématiser les étapes nécessaires dans la synthèse d’architectures concrètes obéissant à cette description. Dans ce dessein, cette méthode crée un modèle formel intermédiaire, nommé TASoS, qui décrit l’architecture du SoS en tant que problème de satisfaisabilité de restrictions, rendant ainsi possible la vérification automatique d’un ensemble initial de propriétés. Le résultat obtenu par cette analyse peut s’utiliser en raffinements et révisions ultérieurs de la description architecturale. Un outil logiciel nommé SoSy a été aussi développé pour automatiser la génération de modèles intermédiaires et d’architectures concrètes, en cachant l’utilisation de solveurs de contraintes dans le projet de SoS. Particulièrement, cet outil intègre un environnement de développement plus important et complet pour le projet de SoS. Cette méthode et son outil ont été appliqués dans un modèle de SoS de surveillance de rivières urbaines où la faisabilité d’architectures abstraites a été étudiée. En formalisant et en automatisant les étapes requises pour la synthèse architecturale de SoS, Ark contribue à l’adoption de méthodes formelles dans le projet d’architectures SoS, ce qui est nécessaire pour atteindre des niveaux plus élevés de fiabilité. / Systems-of-Systems (SoS) encompass diverse and independent systems that must cooperate with each other for performing a combined action that is greater than their individual capabilities. In parallel, architecture descriptions, which are the main artifact expressing software architectures, play an important role in fostering interoperability among constituents by facilitating the communication among stakeholders and supporting the inspection and analysis of the SoS from an early stage of its life cycle. The main problem addressed in this thesis is the lack of adequate architectural descriptions for SoS that are often built without an adequate care to their software architecture. Since constituent systems are, in general, not known at design-time due to the evolving nature of SoS, the architecture description must specify at design-time which coalitions among constituent systems are feasible at run-time. Moreover, as many SoS are being developed for safety-critical domains, additional measures must be placed to ensure the correctness and completeness of architecture descriptions. To address this problem, this doctoral project employs SoSADL, a formal language tailored for the description of SoS that enables one to express software architectures as dynamic associations between independent constituent systems whose interactions are mediated for accomplishing a combined action. To synthesize concrete architectures that adhere to one such description, this thesis develops a formal method, named Ark, that systematizes the steps for producing such artifacts. The method creates an intermediate formal model, named TASoS, which expresses the SoS architecture in terms of a constraint satisfaction problem that can be automatically analyzed for an initial set of properties. The feedback obtained in this analysis can be used for subsequent refinements or revisions of the architecture description. A software tool named SoSy was also developed to support the Ark method as it automates the generation of intermediate models and concrete architectures, thus concealing the use of constraint solvers during SoS design and development. The method and its accompanying tool were applied to model a SoS for urban river monitoring in which the feasibility of candidate abstract architectures is investigated. By formalizing and automating the required steps for SoS architectural synthesis, Ark contributes for adopting formal methods in the design of SoS architectures, which is a necessary step for obtaining higher reliability levels.
|
230 |
SecMVC : a model for secure software design based on the model-view-controller patternColesky, Michael Robert January 2014 (has links)
Current advances in the software development industry are growing more ubiquitous by the day. This has caused for security, not only in the broader sense, but specifically within the design and overall development of software itself, to become all the more important. An evidently prevalent problem in the domain of software development is that software security is not consistently addressed during design, which undermines core security concerns, and leads to the development of insecure software. This research seeks to address this issue via a model for secure software design, which is based on a software design pattern, namely, the Model-View-Controller (MVC) pattern. The use of a pattern to convey knowledge is not a new notion. However, the ability of software design patterns to convey secure software design is an idea worth investigating. Following identification of secure software design principles and concepts, as well as software design patterns, specifically those relating to the MVC pattern, a model was designed and developed. With the MVC pattern argued as being a suitable foundation for the model, the security conscious MVC (SecMVC) combines secure software design principles and concepts into the MVC pattern. Together herewith, the MVC pattern’s components in the MVC Compound pattern, namely: the Observer pattern, the Strategy pattern, and the Composite pattern, have provided further sub-models for less abstraction and greater detail. These sub-models were developed, as a result of the SecMVC model’s evaluation in the validation for this study, an expert review. Argued in the light of similar research methods, the expert review was chosen – along with a process that included the use of two expert participants to validate the SecMVC model. It was determined through the expert review that the SecMVC model is of sufficient utility, quality, and efficacy to constitute research value. The research methodology process followed was design science, in which the SecMVC model, which includes its related sub-models, serves as the artefact and research output of this study. This research study contributes evidence of the feasibility for integrating knowledge into software design patterns. This includes the SecMVC model itself. In addition, it argues for the use of an expert review, as an evaluative research method for such an artifact.
|
Page generated in 0.1028 seconds