6 research outputs found

    A mapping study on documentation in Continuous Software Development

    Get PDF
    Context: With an increase in Agile, Lean, and DevOps software methodologies over the last years (collectively referred to as Continuous Software Development (CSD)), we have observed that documentation is often poor. Objective: This work aims at collecting studies on documentation challenges, documentation practices, and tools that can support documentation in CSD. Method: A systematic mapping study was conducted to identify and analyze research on documentation in CSD, covering publications between 2001 and 2019. Results: A total of 63 studies were selected. We found 40 studies related to documentation practices and challenges, and 23 studies related to tools used in CSD. The challenges include: informal documentation is hard to understand, documentation is considered as waste, productivity is measured by working software only, documentation is out-of-sync with the software and there is a short-term focus. The practices include: non-written and informal communication, the usage of development artifacts for documentation, and the use of architecture frameworks. We also made an inventory of numerous tools that can be used for documentation purposes in CSD. Overall, we recommend the usage of executable documentation, modern tools and technologies to retrieve information and transform it into documentation, and the practice of minimal documentation upfront combined with detailed design for knowledge transfer afterwards. Conclusion: It is of paramount importance to increase the quantity and quality of documentation in CSD. While this remains challenging, practitioners will benefit from applying the identified practices and tools in order to mitigate the stated challenges

    Knowledge and Artifact Representation in the Scientific Lifecycle

    Get PDF
    This thesis introduces SKOs (Scientific Knowledge Object) a specification for capturing the knowledge and artifacts that are produced by the scientific research processes. Aiming to address the current existing limitations of scientific production this specification is focused on reducing the work overhead of scientific creation, being composable and reusable, allow continuous evolution and facilitate collaboration and discovery among researchers. To do so it introduces four layers that capture different aspects of the scientific knowledge: content, meaning, ordering and visualization

    Contribution à la modélisation des applications temps réel d'aide à la conduite

    Get PDF
    Advanced Driver Assistance Systems (ADAS) manage an important volume of data that must be updated regularly. However, ADAS don't store, nor manage efficiently these data. For these reasons, we propose to integrate a real-time (RT) database system into ADAS. The integration of the RT database system allows improving the fault tolerance, reducing the number of transactions and minimizing their response time. The management of a lot of data makes these systems complex, thus, their design is highly difficult. To tackle this problem, we have proposed three patterns based on the pattern development process. This process allows defining the steps to follow in order to determine the functionalities and the requirements of the driver assistance domain on one hand, and defining the unification rules for the generation of the UML class and sequence diagrams, on the other hand. In order to represent these patterns, we have proposed UML-RTDB2 profile, which allows (i) expressing the variability of patterns, (ii) representing the real time constraints and the non functional properties and (iii) identifying the role played by each pattern element in a pattern instance. Once the proposed patterns are created, they can be reused by designers to model a specific application. For this reason, we have proposed a process to assist the applications designers when instantiating the patterns solutions. Finally, we have evaluated these patterns based on two categories of metrics.Les systèmes d'aide à la conduite gèrent un grand volume de données qui doivent être mises à jour régulièrement. Cependant, ces systèmes ne permettent, ni de les stocker, ni de les gérer d'une manière efficace. Pour ces raisons, nous proposons l'intégration d'un système de bases de données temps réel (TR) dans les systèmes d'aide à la conduite. Cela permet d'améliorer la tolérance aux fautes, de réduire le nombre de transactions et de réduire leur temps de réponse. La gestion d'un grand volume de données et leurs contraintes TR rend ces systèmes plus complexes, ce qui rend leur modélisation plus difficile. Pour remédier à cette complexité, nous avons proposé trois patrons de conception en nous basant sur un processus de création de patrons. Ce processus permet de définir les étapes à suivre pour déterminer les fonctionnalités et les exigences du domaine d'aide à la conduite, d'une part, et de définir les règles d'unification pour générer les diagrammes UML de classes et de séquence, d'autre part. Pour représenter ces patrons, nous avons proposé le profil UML-RTDB2, pour tenir compte : (i) de l'expression de la variabilité des patrons, (ii) de la représentation des contraintes TR et des aspects non fonctionnels et (iii) des éléments instanciés à partir des patrons lors de la modélisation d'une application cible. Une fois les patrons créés, ils peuvent être réutilisés par les concepteurs pour modéliser des systèmes spécifiques. Pour cela, nous avons proposé un processus de réutilisation pour guider les concepteurs d'applications lors de la réutilisation des solutions de patrons. Enfin, nous avons procédé à l'évaluation de ces patrons en utilisant deux catégories de métriques

    Preparing ESL students for university level writing : the influence of using an electronic portfolio as a learning tool on ESL students' writing motivation and perforrmance

    Get PDF
    Thousands of English as a Second Language students in Western universities strive to meet the daily challenge of preparing written assignments. These texts need to comply with the demands and preferences of their university lecturers with regard to clarity of meaning, the logical flow of ideas and the use of an academic vocabulary. However, a characteristic of ESL students’ written work is a weakness of content and a lack of logical organisation of their ideas (Roberts and Cimasko 2008). In many intensive English language programmes, students are taught to use the process-writing approach, the success of which is related to how it is perceived and introduced to the students (Lefkowitz 2009). Atkinson (2003) emphasised that the process-writing approach perceives writing to be a cognitive process that is highly private or individualistic, where writers use specific cognitive phases, such as pre-writing, drafting, and revising, to generate their text. However, writing has been increasingly recognized as a socially and culturally situated activity connecting people with each other in ways that carry particular social meanings (Hyland 2003). Despite this view of writing as a social act, Lefkowitz (2009) claimed that many English Language Programme Centres (ELPCs) superficially implement process-writing in class by aiding students in revising their essays to achieve grammatical accuracy; however the generation, formation and revision of ideas are considered to be of less importance. This study investigates the use of an electronic portfolio (TaskStream e-portfolio) in an ESL writing course as a tool to support students as they work through the key phases of the writing process. The aim was to help them adopt a consistent approach to their writing practice (self-consistency), to encourage a positive view of the value and importance of writing (self-belief), to foster a realistic appraisal of their strengths and weaknesses as writers (self-judgement), and to examine the relationship between these characteristics and the students’ overall writing performance. To that end, the study addressed four main questions: • Does utilising a web-based learning platform encourage a change in ESL learners’ writing self-belief? • Does utilising a web-based learning platform encourage a change in ESL students’ writing self-efficacy? • Does utilising a web-based learning platform encourage ESL students to consistently apply a process approach to writing? • Does utilizing a web-based learning platform lead to a change in ESL students’ overall writing performance? Using a non-equivalent pre-/post-test quasi-experimental research design, 46 ESL students from the same English Language Centre were recruited. The students were divided into a control group and an experimental group and the study ran during the spring and summer terms of 2010. A mixed methodology was used, consisting of an online questionnaire, writing sampling, online tracking and interviews in order to collect relevant data. The findings from the pre-test showed no significant differences between the participants in the two groups. The post-intervention results indicated no significant improvement among the control group’s motivational constructs and performance in writing, whereas significant differences were found in the experimental group’s writing performance and in the students’ perceived value with regard to writing, writing self-concept, writing self-efficacy and writing process approach self-consistency, following the implementation of the web-based course. However, no significant differences in ESL students’ anxiety about writing were observed. These findings suggested that e-portfolio software has the potential to promote change in ESL students’ writing self-belief and performance. Limitations of the study are discussed, implications of the findings explored, and recommendations for further research in this field are suggested.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Analysis of the Software Architectural Support of the Usability of Mobile Applications

    Get PDF
    Rasante Innovationszyklen, kurze Produkteinführungszeiten und ein hoher Konkurrenzdruck sind typische Rahmenbedingungen für die Entwicklung mobiler Anwendungen. Dies sind Anwendungen, die auf mobilen Endgeräten laufen und in verschiedenen Umgebungen verwendet werden. Usability (Benutzbarkeit) kann durch die Softwarearchitektur einer Anwendung unterstützt, aber auch behindert werden. Je später im Softwareentwicklungsprozess Usability beachtet wird, umso aufwendiger werden Änderungen an der Softwarearchitektur. Um dieses Risiko zu verringern, ist es nötig, so früh wie möglich offenzulegen, ob Usability-Anforderungen architektonisch unterstützt werden. Potenziell hohe Architekturänderungen werden mit Methoden zur szenario-basierten Softwarearchitekturanalyse ermittelt; es wird dabei verifiziert, dass ein Qualitätsmerkmal architektonisch berücksichtigt wurde. Frühere Methoden bezüglich Usability erreichen dieses Ziel, erscheinen aber sehr komplex: Sie erfordern zum einen Wissen über Patterns und zum anderen sind die Freiheitsgrade beim Erstellen, Auswählen und Evaluieren von Szenarios hoch. Wie die früheren Methoden Usability-Attribute verwenden, behindert zudem eine engere Kooperation mit dem Usability Engineering, für das gemeinsame Begriffe und Vorgehensweisen grundlegend wären. Deshalb ist es notwendig, eine Methode zu konstruieren, die einfacher und interdisziplinärer ausgerichtet ist. Aufgrund dessen werden in dieser Forschungsarbeit mittels Literaturstudien zuerst Forschungsfragen, dann Hilfsmittel und schließlich eine theoretisch fundierte Methode erarbeitet. Um diese zu validieren und zu vereinfachen, durchläuft sie - mit kanonischer anwendungsnaher Forschung - zwei Fallstudien zu mobilen Anwendungen. Ergebnis ist die szenario-basierte Methode SATURN („SoftwareArchitekTuranalyse von Usability-anfoRderungeN“), in der anfangs mittels Nutzungskontextanalyse die Interaktionsszenarios erstellt werden, die für Anwender relevant sind. Hilfsmittel umfassen die Faktoren des mobilen Nutzungskontexts und einen Katalog von 50 potenziell architektursensitiven Interaktionsszenarios. Diese sind von Patterns abgeleitet, referenzieren sie und unterliegen einem definierten Lebenszyklus. Die Analyse stützt sich auf die verwendete Architekturdefinition und auf das Prinzip der Sichtenmodelle. Bewertet wird, inwiefern Struktur oder Verhalten von architektonischen Elementen verhindern können, dass ein Interaktionsszenario (hypothetisch) durchgeführt werden kann. Betrachtet wird dabei, wie Usability berücksichtigt wurde, welche vor- und nachteiligen Architekturentscheidungen und welche Austauschbeziehungen mit anderen Qualitätsmerkmalen bestehen. Die Ergebnisse von SATURN fließen zurück zur Erstellung der Softwarearchitektur und zum Usability Engineering. Die Methode ist auch mit einem Nutzertest kombinierbar. Mit SATURN ist die Analyse der architektonischen Unterstützung für die Usability mobiler Anwendungen einfacher als mit früheren Arbeiten. Dies inspiriert zu weiterer Forschung, wie beispielsweise Fallstudien zum Zusammenhang zwischen Usability und Softwarearchitektur, die Ausrichtung der Methode auf andere Qualitätsmerkmale, neue konstruktive Möglichkeiten in agilen Prozessen oder allgemein die Koordination von Usability Engineering und Softwareentwicklung.The software development of mobile applications, i.e. applications which run on mobile devices and are used in various environments, faces a fast time to market, high competitive pressure, short technical innovation cycles, and high user expectations regarding usability. The software architecture of an application can support but also constrain usability. The later in software development usability is considered, the costlier architectural modifications become. In order to reduce this risk, it is necessary to discover usability requirements that are not supported architecturally as early as possible. Potentially high architectural changes are elicited using scenario-based software architecture analyses; it is verified, that a quality factor was considered architecturally. Earlier works regarding usability achieve this, though they appear very complex: they depend on the knowledge of patterns and leave room for interpretation while creating, selecting and evaluating scenarios. Also, respective uses of usability attributes hinder a further cooperation with usability engineering, because common terms and methods are a prerequisite for this. Therefore, it is necessary to construct a new method which is easier to use and more interdisciplinary-oriented. In order to describe research questions, means for the method and a first version of the method itself, literature studies are conducted. Afterwards, the method is validated and improved through two case studies with mobile applications adhering to canonical action research. In the new scenario-based method SATURN („Software ArchitecTure analysis of Usability-RequiremeNts“), interaction scenarios that are relevant from a users’ point of view are depicted and selected based on a usage context analysis. This is facilitated by providing factors of the mobile usage context and a catalog of 50 interaction scenarios that are potentially architectural sensitive (derived from patterns, referring to them, and complying to a scenario life cycle). The analysis of the architecture itself is based on the principle of view models. We analyze, in what way structure or behavior of architectural elements can constrain the interaction described by a specific interaction scenario. Results verify that usability was considered architecturally, explain disadvantageous and advantageous architectural decisions as well as trade-offs with other quality factors. Thus, results can flow back to architectural design and usability engineering. Additionally, the method is combined with a user test. With this research, analyzing and assessing the architectural support for the usability of mobile applications is easier than with earlier works. This inspires further research, for example, more case studies regarding the relationship between usability and software architecture, other quality factors and software architecture, new possibilities for construction in agile processes, and the cooperation amongst the fields usability engineering and software engineering in general
    corecore