More From Leandro Fernandes da Mota. Grady Booch Software Architecture and the Uml 5. Leandro Fernandes da Mota. Lenine Reinaldo. Popular in Information Age.
Manika Singh. Sock the Cat. Juan Pablo Guerrero Cueva. Yasir Anwar. Getie Tesfaye Zelie. Jake Simon. Smart Railways Dr Self Help. Mouhcine Azouli. Mahesh VP. Miguel Mari Baroja. Varun Kalse. Jedediah Phiri. Er Sachin Safale. Raviraj kundekar. Saw Gyi. DeBrastagi Pulse. Quick navigation Home. New notation for concurrency and branching using combined fragments.
Components can no longer be directly deployed to nodes. Artifacts should be deployed instead. Implementation has been replaced by « manifest ».
Artifacts can now manifest any packageable element not just components, as before. It is now possible to deploy to nodes with an internal structure. New metaclasses were added: connector, collaboration use, connector end, device , deployment specification, execution environment , accept event action, send object action, structural feature action, value pin, activity final, central buffer node, data stores, flow final, interruptible regions, loop nodes, parameter, port , behavior, behaviored classifier, duration, interval, time constraint, combined fragment, creation event, destruction event, execution event, interaction fragment, interaction use, receive signal event, send signal event, extension, etc.
Integration between structural and behavioral models was improved with better support for executable models. There are no longer two separate infrastructure and superstructure documents, the UML 2. Package merge is no longer used within the specification. UML 2. Information flows , models , and templates are no longer auxiliary UML constructs. At the same time, use cases , deployments , and the information flows became " supplementary concepts " in UML 2.
They updated description for multiplicity and multiplicity element, clarified definitions of aggregation and composition, and finally fixed wrong «instantiate» dependency example for Car Factory. They also moved and rephrased definition of qualifiers. There are few clarifications and fixes for stereotypes, state machines, and activities. Use cases are no longer required to express some needs of actors and to be initiated by an actor.
You can proceed to UML 2. Section III explains and reviews background and related works. Section B. Related Works IV describes the research methodology of this paper.
In section Documentation plays an important role in software develop- V we introduce and describe UML-Ninja in detail. Section VI ment to describe the product at all levels of development [31]. Section VII discusses the findings and relate representing the software system on an abstract level [14] them to the related works. Section VII highlights the conclu- which helps software developers in understanding the software sions of this paper and presents possible future works.
The research questions consist of one that could accurately depict quality of documentation [9], [32]. The two The research done by Aversano et al. The to identify metrics related to software documentation that research questions are formulated as follows: contributes towards improving software quality.
Moreover, his research does not detail UML documentation indicators that are an essential RQ1 aims to find a new approach and it is formulated in part of documentation. This research produced various indicators about the software documentation but on the other The scope of SQ1,1 refers to documentation process and hand does not emphasize UML indicators in contrast to our documentation content.
Documentation process includes e. Indicators for UML are a key focus of our research. Documentation content in- cludes e. To achieve this, a field content. UML process includes e. The authors includes e. The III. Our study is different from this study as we are taking a further step to assess the documentation in the project and A. The overall vision of his Regarding analysis UML models, Tsiolaki [12] produced research is aimed towards improving quality of documentation metrics for analysis of UML Class Diagrams based on the in software projects which is applicable to this research as model elements such as class, operations, associations etc.
In the research [16], they extracted 93, UML files In comparison to our research, this research does not focus from 24, GitHub projects. They conducted a survey with on automation of analysis and mainly uses mathematical contributors of GitHub projects in order to identify the use representations through graph transformation to calculate the of UML in OSS projects.
It was found that UML is generally metrics whereas our research focuses on automating the pro- perceived as supportive to new project contributors, but it has cess of the assessments. Define Objective of a Solution that focuses on assessing technical documentation of software projects. Metrics such as clone detection, usage profile, struc- Objectives of a solution is about why the solution is needed ture, and metric analysis were used to analyse the documenta- and what is the aim of the solution for the problem described tion.
The study mainly focussed on composing and identifying in step A. In our case, the objective of the solution is to various metrics used to assess documentation quality. SDMetrics is an object-oriented obtain relevant information regarding documentation quality.
It is capable of measuring 34 well as UML documentation practices, which resulted out of types of class diagram metrics [17]. SDMetrics is only focused research and discussions carried out with our supervisors. The on content of UML models. Moreover, our research aims at automating the Further discussions with them concluded that documenta- analysis in order to conserve time required for analysis of tion can be divided into two parts with sub-parts in order to documentation and interpretation of results.
Scratch is an in- general and it is divided into two sub-parts: troductory and visual programming language aimed to help children learn to code. This related work is most relevant to side the document. Due to not having access to our field of study in terms of automation of assessment of a software documentation of each project along with software project.
In contrast to our project, their focus is only time constraints of this project, the contents of the on assessing Scratch projects and not documentation or OSS document were not analysed but indicators that affect projects. Identify problems and motivate model being used to depict software architecture in Problem identification and motivation emphasises on the open source projects [11].
In our case, as mentioned in the previous The indicators for both parts were produced by looking sections, there is lack of tools that automatically assess docu- through already done research along with consulting our mentation practices in OSS and facilitates the easy integration supervisors who have done multiple researches concerning of different types of indicators.
A solution that automates UML documentation and its use [8], [11], [16]. It also enables Table 1 shows the indicators this paper researched about. Description column describes the indicator in orderly structure. Raw Output contains the range of values that results from calculation of the indicator.
Reference column states the source of the indicator. Data availability restrictions were also a reason to choose this metric. Ratio between number of private and protected attirbutes and The metric has been empirically analyzed to accurately predict cohesiveness of a UML Content Data Access Metric 6 total number of attributes 0.
Or forward engineered? Project memebrs Document Process Version Controlled Does the project use versioning system such as GitHub for can review and compare document with other version if the document is under 16 documentation Boolean Supervisor Yes version control.
Boolean [13] No Level of content analysis is out of scope for this research Structure analysis is used to analyze the technical Document Content Structure Analysis documentation is structured, with respect to chapters, sections, Different documents have different structures that they follow which is hard to 19 paragraphs, etc. Layout Structure [13] No normalize, especially if they use different documents with different structures. User input required to assess readability for each documentation which is not Document Content Readability The ease with which a user can read the text written in the feasable for this research.
Design and develop were also asked questions regarding limitations of the tool and Design and development step focuses on the development possible indicators that could be implemented in UML-Ninja. In our case, the aim Part 2 of the questions was focused on evaluating the usability is to develop a tool for automatic assessment of software of the tool using System Usability Scale SUS [19] standard documentation quality.
The tool facilitates an easy integration questions. SUS is one the standard and reliable ways to evalu- of different types of indicators for assessing documentation ate usability [22], it consists of 10 questions with five response practices in OSS. Demonstration refers to showing and using the developed Evaluating usability is important because we want UML-Ninja artefact.
In our case, we demonstrate the tool by testing it to be user friendly and easy to use. The interview participants with 10 OSS projects. These projects were chosen based on mainly consisted of academic professionals, and researchers the availability of their data on the two databases that we had at university of Gothenburg. Moreover, committee members access to. Student and developer inputs were E.
Evaluation also taken into consideration for this evaluation due to them Evaluation, emphasises on evaluating the artefact with being a prospective user of this tool.
Students that had been regards to if and how it solves the identified problem. During with the assessment of our tool. Table 2 shows the number meetings, we also discussed and received continuous and user profiles of the participants. The interview questions consisted of two parts. Part 1 consisted of 8 open-ended questions concerning the usefulness of the tool. The participants were asked if and how the tool could help them in accomplishing their tasks in terms of assessing quality of documentation in a project.
Communication Communication focuses disseminating the research carried User Profile Number of Participants out to academia and the industry through, for example aca- demic research papers like this one.
The main design goals for UML-Ninja are divided into two Developer 4 categories: usefulness and usability. Preference for the evaluation was given to an in-person A. Tool Data Collection interview with each session being recorded with the intervie- The data required to analyse the projects and calculate the wee. Due to several constraints, this was not possible for each chosen indicators were obtained by combining data from two interviewee therefore a Skype interview was the alternative databases that our supervisors provided to us.
One of the used for assessment with the entire call also being recorded databases [33] contained data regarding the number of UML for analysis purposes. The structure of the evaluation for in- commits, number of contributor and miscellaneous data about person interviews or Skype calls was divided as such - the project that was obtained using GitHub API4. The interviewee was in- projects that we had chosen to assess. To obtain the data for the formed on the procedure and had the right to discontinue UML class diagrams in the projects, the tools Img2UML [27] the interview at any time they wished to.
Tool Data Analysis to the list of prospective users of this tool along with the tasks related to each user. They were requested to From the 21 indicators that we researched about in this answer as one of the prospective users. The interviewee paper, we implemented The analysis of the data was was then posed with open-ended questions regarding the done based on the data available and the chosen indicators. Details about the indicators and If neither of the preferences were suitable for the intervie- the implementation choice is shown in table 2.
The questions asked during any of these methods of gathering input were the same. Regarding the implemented indicators for UML process, indicator can achieve based on the level value. The reason the OSS projects, time constraints and the level of complexity of converting the values into a 0 to 1 ratio was to have all of indicator.
Data regarding OSS project is different than a the values on the same scale. For example, for UML contributor transform them to number y in the range [c, d], the following ratio we had access to the data about the number of people calculation is required: who added and updated the UML models as well as the total number of project contributors.
The metrics that are used for The use of levels to rate the indicators is inspired by Dr. Using levels is a type of gamification, for Attributes. These metrics are a part of Genero et al. Information on how the levels are calculated the following study done by Piattini et al. Piattini et can be found in appendix B. According such as modifiability, understandability and analysability.
The Table 3 shows the implementation details regarding the project that is being assessed receives 2 more points for each implemented indicator in UML-Ninja. Calculation and diagram if they exist in the project. We chose the number Analysis Method column describes the method with which of points to be rewarded as 2 for this because primarily, the indicator is calculated.
Level Value is the range of values an indicator can be in. Moreover, the indicator of these information modal containing information regarding that types award points to a project based on their existence in the particular indicator, as shown in Fig. The raw value Based on the implemented indicators in the current version of each indicator is also shown in the graph modal, as of UML-Ninja, the maximum overall score is 62 points. The shown in Fig. The sum of indicator scores is divided by the maximum overall score, which is 62, and converted into a percentage.
0コメント