Hence, tools that enable architects to design an architecture and then put the design into a format that is comprehensible to business people are important. Also, there is ,more need for stable integrated environment that incorporates modelling, text composition, and knowledge management features for supporting architectural practices, which could be improved by using standardised languages and better tools. For instance Artisan tool can generate all the archi- tecture description and models into World format and the table into Excel format. However, the generated report format, needs more effort by the Artisan vendor (PTC Inc.), to be able to produce better reports.
2.6.2.3 Architecture modelling Challenges
The use of modelling approaches, such as MDA to develop software architecture and its evaluation has its challenges,France et al.[2007] explained the challenges that face MDE ap- proaches (including MDD and MDA) during the Future of Software Engineering-(FOSE) work- shop.
The categories below show the challenges that researchers have faced when trying to make the MDE vision a reality:
1. Modelling Language challenges;these are the problems that result as a failure to provide support for creation, the use of problem-level abstractions in modelling languages, and during the models analysis.
2. Separation of concerns challenges;the challenges here are as a result of problems associ- ated with modelling systems that use multiple overlapping viewpoints to analyse hetero- geneous languages. Thus, we should pay attention during this study, while proposing a solution, because we could face the overlapping problem between viewpoints.
3. Model manipulation and management challenge;this is as a result of problems linked with: 1) defining, analysing, and usage of model transformations; 2) while trying to maintain traceability links between different model elements that support evolution and round trip engineering; 3) maintaining consistency among different viewpoints 4) tracking versions and lastly; 5) use of models during runtime.
More discussion about how MDE could influence the architecture evaluation has been il- lustrated in several resources such as model driven software development,Rech et al.[2009].
This suggests that the development of an architectural evaluation model/framework/profile, will be critically influenced by many factors that have to be considered during this research program.
2.7
Conclusion and Conjecture
In summary, this chapter draws attention to the challenges facing software architecture de- scription and evaluation. The effort being put into this problem area, increases the importance of finding an optimal solution. That is still a long way off, but nonetheless reachable.
Currently the precision of SA documentation, description, evaluation, tools, frameworks, and models vary from language to another. However, there are no general standardised auto- mated evaluation mechanisms available, which could deter the utilisation of SA artefacts. In- formation presented in this chapter regarding the current SA standardisation, integration, eval- uation, and modifiability increases the necessity for more investigation and proposals for new solution concepts.
The main contribution, from this research, to addressing these issues is to i) target software developers’ minds and knowledge to improve their awareness and develop a common vision regarding new SA and SAE challenges; ii) offer new conceptual solutions, through the results of deeper analysis; iii) share additional knowledge gained from employing survey and field study methods; and iv) prove the problem involvement in industry through an analysis of a known reference architecture.
An approach concentrating on improving human (software devel- opers) knowledge and offering a new initial SAE concept, based on interdisciplinary knowledge, which can be developed using several research methods, frameworks, and standards, is sought, in order to provide better SAE techniques to help in building better comput- erised products.
Part
II
Chapter
3
The dilemma of Software Pattern
descriptions with partial solution
It is commonly said that a pattern, however it is written, has four essential parts: a statement of thecontextwhere the pattern is useful, theproblemthat the pattern addresses, theforcesthat play in forming a solution, and thesolutionthat resolves those forces.
3.1
Introduction
The aim of the development of a Software Pattern (SP) is to provide a reliable and reusable framework for solving similar (software) problems within distinct contexts. To accomplish this objective competently, it is imperative to document patterns effectively, in order to facilitate the comprehension of their concepts to their users, thereby encouraging their utilisation over and over again. Thus, the documentation of SPs needs to be explicitly explained, together with their relationships with any Quality Attribute (QA) that they support or hinder, in order to better satisfy the implementation of stakeholders’ requirements.
This chapter illustrates how SPs are inconsistentlydefined, categorised, and linked to QAs, through deep analysis of six well-known SPs resources. Also highlighted are some important factors that impact pattern usability, followed by a proposed solution.
In order, to provide a reliable method for maintaining and easily representing the research work, I have created a database application containing all required information. This database should serve future research endeavours and thence help in developing software/systems with less con- fusion and predictable characteristics.
Is this study worthwhile?
The main SP issues in relation to Software Architecture (SA) were started with a few questions that are illustrated in Figures 3.1a and 3.1b.
Also, this study received a positive response as per the findings of a question- naire. The result of a bipolar scale (Likert scale) for the statement: “Studying re- lationships between patterns and quality attributes based on the current reliable SP references, and creating a database to store these relationships on the basis of stan- dardised quality attribute definitions, is valuable knowledge”, is significant, where t = 6.34, p-value < .01; hence, there is strong agreement with this statement, which makes this work worthwhile.