Meilleures pratiques pour les applications computationnelles et intensives en données
Apprends les meilleures pratiques pour améliorer le développement dans les projets de recherche axés sur les données.
― 7 min lire
Table des matières
- Pourquoi les bonnes pratiques sont importantes
- Caractéristiques clés de la recherche en CDI
- La collaboration est cruciale
- Identifier les bonnes pratiques
- Bonne pratique 1 : Intégration personnalisée pour les experts
- Bonne pratique 2 : Comprendre l'environnement académique
- Bonne pratique 3 : Élargir la gamme de compétences
- Bonne pratique 4 : Assistance collaborative
- Bonne pratique 5 : Combler le fossé terminologique
- Bonne pratique 6 : Comprendre le problème de domaine
- Bonne pratique 7 : Prioriser les exigences essentielles
- Bonne pratique 8 : Suivre efficacement les problèmes
- Bonne pratique 9 : Gérer le code source efficacement
- Bonne pratique 10 : Réaliser des revues de code
- Bonne pratique 11 : Adopter le développement piloté par les tests
- Bonne pratique 12 : Maintenir la Documentation
- Bonne pratique 13 : Mettre en œuvre l'intégration continue
- Bonne pratique 14 : Assurer la reproductibilité
- Bonne pratique 15 : Utiliser la parallélisation
- Bonne pratique 16 : Se concentrer sur la Durabilité
- Bonne pratique 17 : Engager avec les communautés utilisateurs
- Collecter des données
- Conclusion
- Source originale
- Liens de référence
Les applications computationnelles et intensives en données sont super importantes pour les recherches dans plein de domaines. Elles aident les chercheurs à gérer de grandes quantités de données et à faire des calculs complexes. Cependant, il manque des directives claires sur comment développer ces applications efficacement. Cet article présente plusieurs bonnes pratiques qui peuvent améliorer le processus de développement et encourager le travail d'équipe entre experts de différents domaines.
Pourquoi les bonnes pratiques sont importantes
Les bonnes pratiques sont cruciales parce qu'elles fournissent un cadre pour les développeurs. Elles aident à s'assurer que les applications sont créées efficacement, de haute qualité et répondent aux besoins des utilisateurs. Dans le contexte des projets computationnels et intensifs en données, ces pratiques deviennent encore plus essentielles à cause des défis uniques, comme gérer de gros volumes de données et la nécessité de collaboration entre différentes disciplines scientifiques.
Caractéristiques clés de la recherche en CDI
Domaines de problèmes complexes : Ces projets de recherche s'attaquent souvent à des défis spécialisés qui nécessitent des connaissances spécifiques.
Collaboration interdisciplinaire : Les équipes sont typiquement composées d'experts de divers domaines, pas seulement en informatique.
Intensif en données : De grands ensembles de données sont courants, nécessitant des techniques de gestion et de traitement des données robustes.
Grande demande computationnelle : Les projets exigent souvent une puissance de calcul significative pour faire tourner des simulations ou analyser des données.
La collaboration est cruciale
Dans la recherche en CDI, il est important que les scientifiques de domaine et les experts techniques, souvent appelés Xperts, travaillent en étroite collaboration. Cette coopération est différente du développement logiciel traditionnel, où l'accent est principalement mis sur le codage. Au lieu de ça, les applications CDI nécessitent une communication continue pour résoudre les problèmes en temps réel et s'assurer que tout le monde est aligné sur les objectifs et les besoins du projet.
Identifier les bonnes pratiques
Après avoir recueilli des avis d'une grande variété de professionnels, dix-sept bonnes pratiques ont été identifiées pour développer des applications computationnelles et intensives en données. Ces pratiques sont conçues pour aider les développeurs, les chercheurs et les Xperts dans leur travail.
Bonne pratique 1 : Intégration personnalisée pour les experts
Développez un processus d'intégration personnalisé pour les nouveaux membres de l'équipe, en tenant compte de leurs antécédents. Cela les aide à être productifs plus rapidement. Il est essentiel d'évaluer les compétences de chacun et de créer des programmes de formation qui se concentrent sur les domaines où ils ont besoin d'amélioration, comblant ainsi les lacunes de connaissances.
Bonne pratique 2 : Comprendre l'environnement académique
Faites en sorte que les membres de l'équipe se familiarisent avec l'environnement académique. Comprendre comment fonctionne le financement de la recherche, l'importance de la publication et les dynamiques au sein des équipes académiques peut aider les experts techniques à aligner leur travail avec les objectifs des scientifiques de domaine.
Bonne pratique 3 : Élargir la gamme de compétences
Encouragez la collaboration avec des experts externes pour s'assurer que toutes les compétences nécessaires soient couvertes. Cela peut impliquer d'assister à des ateliers, conférences ou événements de réseautage. Il est essentiel que les équipes aient accès à un large éventail de compétences pour relever les défis divers qu’elles pourraient rencontrer.
Bonne pratique 4 : Assistance collaborative
Facilitez les collaborations à court terme où les experts travaillent en étroite collaboration avec des scientifiques de domaine. Cette approche pratique permet aux équipes de résoudre des problèmes ensemble et mène à une meilleure compréhension du travail de chacun. C'est bénéfique pour les deux parties de construire des connaissances et d'améliorer la communication.
Bonne pratique 5 : Combler le fossé terminologique
Travaillez pour éliminer la confusion qui peut surgir des différentes terminologies utilisées en informatique et en science des domaines. Simplifier le langage et clarifier les termes clés peut éviter les malentendus et garantir que tout le monde soit sur la même longueur d'onde.
Bonne pratique 6 : Comprendre le problème de domaine
Investissez du temps pour bien comprendre le problème de domaine. Cela signifie développer un plan de projet clair basé sur des Exigences bien définies. Examinez régulièrement ces exigences au fur et à mesure que le projet progresse pour s'assurer qu'elles restent pertinentes.
Bonne pratique 7 : Prioriser les exigences essentielles
Concentrez-vous sur les fonctionnalités essentielles qui s'alignent avec les objectifs du projet. Au fur et à mesure que de nouvelles idées émergent, soyez prêt à réviser les priorités pour refléter les besoins changeants des parties prenantes.
Bonne pratique 8 : Suivre efficacement les problèmes
Mettez en place un système pour suivre les exigences du projet et tous les rapports de bugs. Cela aidera à s'assurer que chaque demande est notée et gérée efficacement, maintenant la clarté tout au long de la phase de développement.
Bonne pratique 9 : Gérer le code source efficacement
Utilisez des systèmes de contrôle de version pour suivre les changements dans le logiciel. Cette pratique est cruciale pour maintenir un historique du projet et pour la collaboration entre les membres de l'équipe.
Bonne pratique 10 : Réaliser des revues de code
Encouragez chaque membre de l'équipe à examiner le code écrit par les autres. Cette pratique améliore la qualité du logiciel et favorise une compréhension partagée des exigences du projet entre les experts.
Bonne pratique 11 : Adopter le développement piloté par les tests
Définissez des cas de test avant d'écrire le code de l'application. Cette stratégie aide à clarifier les exigences du projet et mène à un code plus propre et plus facile à maintenir.
Documentation
Bonne pratique 12 : Maintenir laCréez une documentation de projet complète, facile d'accès et à comprendre. Cela garantit le succès à long terme en permettant à d'autres de continuer le travail sur le projet même après que les développeurs originaux soient partis.
Bonne pratique 13 : Mettre en œuvre l'intégration continue
Intégrez régulièrement du nouveau code dans l'application principale. Cela aide à détecter les problèmes tôt et à s'assurer que les nouvelles fonctionnalités sont accessibles aux autres membres de l'équipe dès qu'elles sont développées.
Bonne pratique 14 : Assurer la reproductibilité
Documentez et partagez les méthodes et le workflow des expériences. Permettre à d'autres de reproduire les résultats renforce la confiance dans les conclusions de la recherche et permet d'explorer davantage le sujet.
Bonne pratique 15 : Utiliser la parallélisation
Commencez avec du code sériel bien testé avant d'ajouter des capacités parallèles. Cette approche minimise la complexité et aide les développeurs à gérer les subtilités de la programmation parallèle, ce qui est essentiel pour les performances des applications intensives en données.
Durabilité
Bonne pratique 16 : Se concentrer sur laConcevez des applications avec la durabilité à l'esprit. Cela signifie considérer comment le logiciel peut être maintenu dans le temps et s'assurer qu'il ne devienne pas obsolète à mesure que les technologies évoluent.
Bonne pratique 17 : Engager avec les communautés utilisateurs
Recherchez régulièrement des retours d'expérience de la part des utilisateurs. Engager avec les utilisateurs aide les développeurs à affiner leurs applications pour mieux répondre aux besoins, favorisant l'adoption et garantissant la satisfaction avec le produit final.
Collecter des données
Pour évaluer ces bonnes pratiques, des retours ont été recueillis à l'aide de diverses méthodes, y compris des enquêtes ciblant des chercheurs et des experts. Les résultats indiquent de façon constante que ces pratiques ont un impact positif sur le processus de développement.
Conclusion
En mettant en œuvre ces bonnes pratiques, les développeurs peuvent améliorer significativement leur travail dans les applications computationnelles et intensives en données. Ils peuvent favoriser une collaboration efficace entre les experts de domaine et les spécialistes techniques, menant à des applications de meilleure qualité et à des avancées plus rapides dans la recherche. Un engagement continu avec la communauté aidera à affiner ces pratiques à mesure que la technologie évolue et que de nouveaux défis émergent dans le domaine.
Titre: Best Practices for Developing Computational and Data-Intensive (CDI) Applications
Résumé: High-quality computational and data-intensive (CDI) applications are critical for advancing research frontiers in almost all disciplines. Despite their importance, there is a significant gap due to the lack of comprehensive best practices for developing such applications. CDI projects, characterized by specialized computational needs, high data volumes, and the necessity for cross-disciplinary collaboration, often involve intricate scientific software engineering processes. The interdisciplinary nature necessitates collaboration between domain scientists and CDI professionals (Xperts), who may come from diverse backgrounds. This paper aims to close the above gap by describing practices specifically applicable to CDI applications. They include general software engineering practices to the extent that they exhibit substantial differences from those already described in the literature as well as practices that have been called pivotal by Xperts in the field. The practices were evaluated using three main metrics: (1) participants' experience with each practice, (2) their perceived impact, and (3) their ease of application during development. The evaluations involved participants with varying levels of experience in adopting these practices. Despite differing experience levels, the evaluation results consistently showed high impact and usability for all practices. By establishing a best-practices guide for CDI research, the ultimate aim of this paper is to enhance CDI software quality, improve approaches to computational and data-intensive challenges, foster interdisciplinary collaboration, and thus accelerate scientific innovation and discovery.
Auteurs: Parinaz Barakhshan, Rudolf Eigenmann
Dernière mise à jour: 2024-06-03 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2406.01780
Source PDF: https://arxiv.org/pdf/2406.01780
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.