4 research outputs found

    Caractérisation de projets de développement logiciel dans une perspective de flux de connaissances

    Get PDF
    RÉSUMÉ Face aux ratés auxquelles fait face l'industrie du développement logiciel et l'incapacité des différentes approches de processus logiciels à régler ces problèmes, il s‘avère intéressant de se baser, d‘une part, sur les acquis du domaine des processus logiciels et, d‘autre part, de s‘inspirer des innovations de domaines connexes. En particulier, la gestion des connaissances appliquée au génie logiciel est un sujet présentement en émergence. Une meilleure compréhension des mécanismes de création et de conversion de connaissances au sein d'un projet de développement logiciel est une avenue de recherche prometteuse. L'objectif principal de cette thèse de doctorat est donc de caractériser les projets de développement logiciel dans une perspective de flux de connaissances. Cette thèse par articles propose d'atteindre l'objectif de recherche par la présentation de trois articles en plus d'un chapitre détaillant des résultats complémentaires. Le premier article présente et justifie la méthodologie utilisée dans le cadre des travaux de recherche de cette thèse. Plus précisément, l'article détaille la méthodologie ATS (activity time slip), une approche à partir de laquelle des développeurs logiciels doivent enregistrer leurs activités dans une perspective de connaissances. Les données recueillies sont ensuite codifiées selon le modèle de flux de connaissances, qui est inspiré du modèle de création de connaissances de Nonaka & Takeuchi (1995) et qui définit six facteurs cognitifs dans le cadre d'un projet de développement logiciel: l'acquisition, la cristallisation, la validation, la réalisation, la vérification et l'organisation du travail. Une étude de cas multiples est présentée, afin de démontrer l'originalité et la pertinence de la méthodologie proposée. Le second article présente l'utilisation du modèle de flux de connaissances, dans le cadre d'une étude de cas, afin d'analyser les conséquences de la qualité de la documentation lors de la réutilisation de composants FLOSS (free/libre open source software). L'analyse de l'étude de cas permet de déterminer les conséquences négatives d'une documentation inadéquate sur le flux de connaissances au sein d'un projet de développement logiciel. Le troisième article vise à comprendre les mécanismes menant aux divergences observées entre la conception et l'implémentation d'un projet de développement logiciel. L'utilisation de la méthodologie ATS et du modèle de flux de connaissances facilite l'analyse de l'étude de cas. Ainsi, les discordances entre les artefacts de conception et l'implémentation s'expliquent par le fait que la conception n'est qu'une image de possibilités. Les résultats de recherche complémentaires permettent de caractériser trois projets intégrateurs de développement logiciel, à la manière d'une étude de cas multiples de type exploratoire reposant sur la méthodologie ATS et la modélisation par flux de connaissances. Ainsi, l'analyse des jetons d'activité (ATS) permet de porter un jugement sur la rigueur des développeurs et donc sur la fiabilité des jetons, selon les trois profils identifiés. De plus, les facteurs cognitifs sont caractérisés selon leur caractère individuel et participatif. Par ailleurs, le séquencement cognitif permet l'identification de quatre profils de développeurs: le cristallisateur, le codeur, le polyvalent et l'agent libre. Finalement, une forte corrélation a été observée entre un effort d'acquisition élevé et une productivité du code source faible, ce qui constitue une contribution majeure, de par son originalité et ses conséquences théoriques et pratiques.----------ABSTRACT Given the failures faced by the software development industry and the inability of different software process approaches to solve these problems, it is interesting to rely, on the one hand, on achievements in the software process field and, on the other hand, learn from innovations in related fields. In particular, knowledge management applied to software engineering is a subject currently emerging. A better understanding of knowledge creation and conversion's mechanisms in software development projects is promising. The main objective of this thesis is to characterize software development projects from a knowledge flow perspective. This doctoral thesis intends to achieve the research goal by presenting three papers and additional complementary results. The first paper presents and justifies the methodology used in this thesis. The paper details the ATS (activity time slip) methodology, where software developers must log their activities from a knowledge perspective. Data are then codified based on the knowledge flow model, which is related to Nonaka and Takeuchi‘s (1995) knowledge creation model and which defines six cognitive factors: acquisition, crystallization, validation, implementation, verification and work organization. A multiple case study is presented to demonstrate the originality and relevance of the proposed methodology. The second paper presents a case study using the knowledge flow model to analyze the consequences of documentation quality in FLOSS components reuse. The case study's analysis allows the identification of negative consequences on a software development project's knowledge flow resulting from inadequate documentation. The third paper focuses on understanding the mechanisms leading to discrepancies between design and implementation in a software development project. The use of the ATS methodology and the knowledge flow model facilitates the case study's analysis. The discrepancies between design artifacts and implementation can be explained by the fact that design is an image of possibilities. Complementary research results allow the characterization of three software development capstone projects by means of an exploratory multiple case study based on the ATS methodology and the knowledge flow model. The analysis of the activity time slips (ATS) allows to judge the developers' rigor and therefore the reliability of their activity time slips, according to three identified patterns. Also, cognitive factors are characterized from a individual and participative viewpoint. Furthermore, cognitive sequencing allows the identification of four developers profiles: the crystallizer, the coder, the "versatile", and the free agent. Moreover, a strong correlation was observed between high acquisition effort and low source code productivity, which is a major contribution, because of its theoretical and practical implications

    An Empirical Study of Programmer Learning during Incremental Software Development

    No full text
    The paper presents a case study that investigates programmer learning during incremental program development. Dialog based protocol and protocol analysis are used to explore the learning from the point of view of self-directed learning theory. The replicated case study confirmed that the Bloom’s levels of cognitive domain and the cognitive activities of absorption, denial, reorganization, and expulsion characterize the programmer learning and give insight into the differences between experts and intermediate level programmers. 1

    The Design and Evaluation of an Educational Software Development Process for First Year Computing Undergraduates

    Get PDF
    First year, undergraduate computing students experience a series of well-known challenges when learning how to design and develop software solutions. These challenges, which include a failure to engage effectively with planning solutions prior to implementation ultimately impact upon the students’ competency and their retention beyond the first year of their studies. In the software industry, software development processes systematically guide the development of software solutions through iterations of analysis, design, implementation and testing. Industry-standard processes are, however, unsuitable for novice programmers as they require prior programming knowledge. This study investigates how a researcher-designed educational software development process could be created for novice undergraduate learners, and the impact of this process on their competence in learning how to develop software solutions. Based on an Action Research methodology that ran over three cycles, this research demonstrates how an educational software development methodology (termed FRESH) and its operationalised process (termed CADET which is a concrete implementation of the FRESH methodology), was designed and implemented as an educational tool for enhancing student engagement and competency in software development. Through CADET, students were reframed as software developers who understand the value in planning and developing software solutions, and not as programmers who prematurely try to implement solutions. While there remain opportunities to further enhance the technical sophistication of the process as it is implemented in practice, CADET enabled the software development steps of analysis and design to be explicit elements of developing software solutions, rather than their more typically implicit inclusion in introductory CS courses. The research contributes to the field of computing education by exploring the possibilities of – and by concretely generating – an appropriate scaffolded methodology and process; by illustrating the use of computational thinking and threshold concepts in software development; and by providing a novel evaluation framework (termed AKM-SOLO) to aid in the continuous improvement of educational processes and courses by measuring student learning experiences and competencies

    Diretrizes para design de interface de aplicativos em smartphones para alemão como língua estrangeira : um estudo sobre mobile learning

    Get PDF
    Orientadora: Profª. PhD. Stephania PadovaniDissertação (mestrado) - Universidade Federal do Parana, Setor de Artes, Comunicação e Design, Programa de Pós-Graduação em Comunicação. Defesa: Curitiba, 30/05/2014Inclui referênciasÁrea de concentração : Sistemas de InformaçãoResumo: O surgimento da tecnologia computacional móvel como paralela e alternativa à tecnologia computacional fixa representa mais do que a simples troca dos dispositivos fixos por dispositivos portáteis. Ela influencia grande parte da relação humano-computador, bem como proporciona maior facilidade de comunicação e acesso à informação. Outra área influenciada por esta nova alternativa é a educacional, com o surgimento do aprendizado através de dispositivos móveis, chamado mobile learning. Nesta perspectiva, vêm emergindo diversos aplicativos feitos por vários desenvolvedores, alguns autônomos, outros ligados realmente à pesquisa em educação. A maioria deles volta-se ao ensino de línguas. Porém ainda não se observa muitos trabalhos que incluam o design como elemento de conexão entre o setor da educação mobile e as possibilidades de projetos para interfaces dos dispositivos móveis. Este trabalho teve como objetivo propor diretrizes para o design de interface de aplicativos m-learning em smartphones, tomando como objeto de estudo o idioma alemão. Para tanto, foi investigado, inicialmente, o tema mobile learning: definição, contexto de uso, características dos usuários, atividades dos aprendizes de m-learning. O modelo FRAME (KOOLE, 2009), de análise da educação mobile, norteou o estudo analítico de aplicativos de alemão, que constituiu a primeira fase da pesquisa. A segunda fase, de inclusão do usuário, se desenvolveu em três técnicas: com o questionário de sondagem foi possível ter uma "visão macro" do público potencialmente usuário de apps de m-learning, possibilitando traçar o perfil de um grupo menor, que constituiu os participantes do diário do usuário. Esta técnica garantiu uma coleta de dados não-intrusiva, feita pelos próprios usuários, ao interagirem com os apps selecionados, revelando suas experiências de uso e apontando "pontos positivos" e "pontos negativos" nos aplicativos, na opinião de cada um. O focus group, última técnica da inclusão do usuário, complementou os dados do diário, produzindo, ao final, tópicos classificados pelos próprios participantes como "vantagens", "desvantagens" e "aspectos a melhorar" nos atuais aplicativos para o aprendizado de alemão como língua estrangeira. Com os resultados provenientes do estudo analítico somados aos dados da inclusão do usuário obteve-se material para a formação de diretrizes. Elas abordaram desde questões de caráter técnico (e.g. o uso de certos objetos de interação no design de interface auxilia na articulação do usuário aprendiz com o app de alemão), como questões de caráter pedagógico (e.g. possibilitar o "efeito de espaçamento" e a "repetição de conteúdo", como estratégias de passagem de conteúdo). Palavras-chave: Smartphones. Mobile learning. Mobile-Assisted Language Learning. Aplicativos de alemão como língua estrangeira. Design de interface. Diretrizes.Abstract: The arising of mobile computing technology as an alternative to desktop computing technology represents more than a change from desktop devices to mobile and portable devices. It affects most of human-computer interaction, as well as provides greater ease of communication and access to information, anytime, anywhere. One of the main fields affected by this new alternative is Education, with the introduction of learning through mobile devices, i.e., "mobile learning". Thus, plenty of applications designed by various developers (some of whom freelancers, others related to research in education) are emerging. Most of such applications focus on language learning. However, there are no projects that include visual design as a link between mobile education approach and mobile user interface approach. This study aims to propose guidelines for user interface design of smartphone m-learning applications, using the German language as its object of study. Initially, we investigated the subject "mobile learning": definition, use context, user's characters, m-learner's activities. This was followed by an analytical study (first stage of research) for analysis of mobile education German apps based on the "FRAME Model" (KOOLE, 2009). The second stage was "user inclusion" and consisted of three techniques: questionnaire, diary and focus group. Through survey questionnaires we had an apps m-learning user "macro vision", from which we delineated a smaller group of representative users, who were invited to take part on "diary studies". Diary was a non-intrusive technique of data gathering, made by the users themselves, who reported on their usage experiences and pointed out positive and negative aspects for each app. Focus group, the last technique, supplemented "diary studies" data and brought topics sorted by the participants themselves as "advantages", "disadvantages" and "areas for improvement" in the current applications for German as a foreign language. User inclusion data in addition to analytical study data allowed us to propose design guidelines. These guidelines approach both design issues (e.g., interface design aspects that help learners to interact with their German app) and pedagogical issues (e.g., spacing effect and content repetition that improve learning). Keywords: Smartphones. Mobile learning. Mobile-Assisted Language Learning. German as foreign language applications. Graphical User Interface design. Guidelines
    corecore