【Document du département】Sur le modèle de développement logiciel et son application

sujet

Sur le modèle de développement logiciel et son application

présentation du sujet

Le modèle de développement logiciel (modèle de développement logiciel) fait référence au cadre structurel de l'ensemble du processus, des activités et des tâches de développement logiciel. Le processus de développement logiciel comprend des phases telles que les exigences, la conception, le codage, les tests et parfois la maintenance. Le modèle de développement logiciel peut exprimer clairement et intuitivement l'ensemble du processus de développement logiciel, stipule clairement les principales tâches et activités à accomplir et sert de base au travail du projet logiciel. Pour différents projets logiciels, différents modèles de développement peuvent être adoptés en fonction de différentes exigences telles que les exigences de l'application, la complexité et l'échelle du projet, et des stratégies d'organisation du personnel, des méthodes de gestion, des outils et des environnements correspondants peuvent être adoptés.

Veuillez vous concentrer sur le sujet "Modèle de développement logiciel et application", et en discuter à tour de rôle à partir des trois aspects suivants.

  • Décrivez brièvement les projets de développement de logiciels auxquels vous avez participé et les principaux travaux que vous avez entrepris.
  • Énumérez plusieurs modèles de développement logiciel typiques et discutez brièvement des idées principales
    et des caractéristiques techniques de chaque modèle de développement logiciel.
  • Selon le modèle de développement logiciel utilisé dans le projet auquel vous avez participé, expliquez en détail la méthode d'utilisation et l'effet de mise en œuvre.

Points de thèse

Points clés pour la question 1 :

  • Les grandes lignes du système logiciel : le contexte du système, l'initiateur, la finalité, le cycle de développement, les produits livrés, etc.
  • Le rôle du "je" et le travail principal.

Points clés pour la question 2 :

  • Modèles de développement couramment utilisés : modèle en cascade, modèle de prototypage rapide, modèle évolutif, modèle incrémental, modèle en spirale, modèle en fontaine, méthode agile.
  • Les idées principales et les caractéristiques techniques de chaque modèle de développement logiciel.
    Points clés pour la question 3 :
  • Le modèle de développement adopté dans le projet et l'effet spécifique de mise en œuvre.
  • Quoi d'autre mérite d'être amélioré ou amélioré.

Préparation des supports théoriques

Modèles et fonctionnalités de développement communs :

Modèle en cascade : suivez strictement la séquence fixe des étapes du cycle de vie du logiciel et entrez dans une autre étape après avoir terminé une étape. Son avantage est qu'il peut rendre le processus plus standardisé, ce qui est propice à la révision ; l'inconvénient est qu'il est trop idéal, manque de flexibilité et est sujet à des écarts de demande.
Modèle de prototypage rapide : Ce modèle est plus adapté à de nombreux projets dont les exigences ne sont pas assez claires. Il adopte une méthode de définition dynamique des besoins, en établissant rapidement un prototype de logiciel pouvant refléter les principaux besoins des utilisateurs, permettant aux utilisateurs de l'utiliser sur l'ordinateur, d'en comprendre le contour, puis de le modifier en fonction des résultats des retours, afin qu'il puisse refléter pleinement les besoins des utilisateurs, la participation et la prise de décision.
Modèle évolutif : C'est aussi une sorte de développement de prototypage, mais différent du prototypage rapide, le modèle de prototypage rapide abandonnera le prototype lorsque la demande réelle sera obtenue. Le modèle évolutif n'est pas le cas, il évoluera progressivement du modèle initial au produit logiciel final, qui est une méthode de prototypage "progressif".
Modèle incrémental : Il adopte un modèle « incrémental », qui divise le produit logiciel en une série de composants incrémentaux, qui sont conçus, codés, intégrés et testés séparément.
Modèle en spirale : Il combine les avantages du modèle en cascade et du modèle évolutif, et la principale caractéristique est qu'il ajoute une analyse des risques. Il est composé du cycle de planification, d'analyse des risques, d'ingénierie de mise en œuvre, d'évaluation du client, et il démarre initialement la première spirale du projet de concept.
Modèle de fontaine : Il est principalement utilisé pour décrire le processus de développement orienté objet, et la caractéristique principale est l'itération. Toutes les activités de développement n'ont pas
de frontières évidentes, ce qui permet de mener à bien diverses activités de développement.
Processus unifié (UP): Le processus unifié est un cadre de processus général qui peut être utilisé pour une grande variété de systèmes logiciels, différents domaines d'application, différents types d'organisation, différents niveaux de performance et différentes tailles de projet. UP est basé sur des composants.Lors de la modélisation de systèmes logiciels, UP utilise UML. Par rapport à d'autres processus logiciels, UP présente trois caractéristiques notables, à savoir axées sur les cas d'utilisation, centrées sur l'architecture, itératives et incrémentales.
Méthode Agile : La méthode Agile est une méthode de développement centrée sur les personnes, itérative, étape par étape. Dans la méthode agile, la construction du projet logiciel est divisée en plusieurs sous-projets, et les résultats de chaque sous-projet ont été testés et ont des caractéristiques d'intégration et d'exploitation. Dans les méthodologies agiles, du point de vue du développeur, les principales préoccupations sont les réunions courtes et rapides, les petites versions, moins de documentation, plus de collaboration, l'implication directe des clients, les tests automatisés, les ajustements de plan adaptatifs et la programmation en binôme ; Du point de vue d'un gestionnaire, le les principales préoccupations sont le développement piloté par les tests, l'intégration continue et la refactorisation.

modèle d'essai

Résumé

  Basé sur la pratique de l'auteur, cet article traite de l'application du modèle de développement logiciel dans le système ERP de la maison d'édition. À l'ère de l'information sur Internet, l'industrie de l'édition traditionnelle a été touchée, et les types et le volume de distribution de livres sont en déclin. L'environnement commercial actuel oblige les maisons d'édition à abandonner les anciennes méthodes de gestion grossière et à gérer et contrôler les ressources de l'entreprise grâce à des idées de gestion systématiques. Il est impératif d'améliorer le processus commercial de la maison d'édition et d'améliorer la compétitivité de base de l'entreprise grâce au système ERP. La complexité du système ERP est relativement élevée, si vous voulez assurer le succès du projet, vous devez systématiquement utiliser le modèle de développement logiciel comme guide. Dans cet article, le système ERP de la maison d'édition est d'abord brièvement décrit. Ensuite, il énumère plusieurs modèles de développement principaux, et les caractéristiques de ces modèles, et analyse quel modèle est le plus adapté au projet ERP de la maison d'édition. Enfin, couplé au système ERP de notre maison d'édition, il analyse spécifiquement la méthode d'utilisation, l'effet de mise en œuvre et les enseignements tirés de la méthode de prototypage rapide. Lors du développement de ce système, j'ai agi à titre de directeur technique.

texte

  L'unité pour laquelle je travaille est un groupe multinational d'édition et de distribution, et l'édition de livres est l'un des segments d'activité importants de notre groupe. Il y a sept maisons d'édition dans notre groupe.Puisque chaque maison d'édition est principalement engagée dans des livres dans différentes directions, il y a aussi de grandes différences dans les affaires. Afin de renforcer le contrôle interne de l'entreprise, de standardiser les processus commerciaux de chaque presse et d'améliorer le niveau de gestion et l'efficacité du travail, notre groupe a commencé à construire le système ERP de la maison d'édition en août 2015. J'ai pris le rôle de responsable technique dans ce projet. Le système ERP de la maison d'édition est principalement composé de quatre sous-systèmes : édition, édition, distribution et finance . Parmi eux, le système éditorial est responsable de la production du contenu des livres, le système de l'édition est responsable de l'impression et de la production des livres finis , le système de distribution est le système de vente en gros des livres ; Les utilisateurs des systèmes financiers et de distribution étant relativement figés, le métier de chaque maison d'édition dans ces deux secteurs est peu différent. Parallèlement, ces deux systèmes doivent souvent effectuer des opérations complexes de tables imbriquées, ils sont donc conçus comme architecture C/S et développement VB .NET. Les utilisateurs du système éditorial et de publication passeront par les différents départements commerciaux de la maison d'édition, et il existe de grandes différences dans le processus de production des différentes maisons d'édition, nous concevons donc ces deux sous-systèmes comme une architecture B/S et utilisons un ensemble de Java Implémentation d'un moteur de flux de travail basé sur le workflow (JBPM). Les bases de données des quatre sous-systèmes sont Oracle 10 G. Afin d'éliminer les "îlots d'information isolés", l'entrepôt de données est utilisé pour l'intégration des données. Le système s'interface avec le système de gestion de commerce de détail e-commerce et le système logistique externe et échange des données via Webservice. (Description du projet)

  Nous savons que le développement de systèmes est un travail très complexe et nécessite un travail d'équipe. Afin d'assurer le taux de réussite du projet, une méthodologie systématique doit être utilisée pour guider le travail de développement. En tant que cadre structurel pour guider l'ensemble du processus, des activités et des tâches de développement logiciel, le modèle de développement logiciel peut exprimer clairement et intuitivement l'ensemble du processus de développement logiciel, stipule clairement les principales tâches et activités à accomplir et est utilisé comme base. pour le travail de projet logiciel. Pour différents projets logiciels, différents modèles de développement peuvent être adoptés en fonction de différentes exigences telles que les exigences de l'application, la complexité et l'échelle du projet, et des stratégies d'organisation du personnel, des méthodes de gestion, des outils et des environnements correspondants peuvent être adoptés. Les principaux modèles de développement sont : (principaux modèles de développement)

  1. Modèle en cascade . En ce qui concerne les modèles de développement de logiciels, il faut mentionner le modèle en cascade, produit de l'ère du développement structuré et de la première méthode mature utilisée pour guider le développement de systèmes. Le modèle en cascade est une méthode structurée qui définit strictement le processus logiciel comme la planification du logiciel, l'analyse des exigences, la conception du logiciel, le codage du programme, les tests du logiciel et les étapes d'exploitation et de maintenance. Chaque phase a son propre travail, ses livrables. C'est une caractéristique de ce modèle que l'étape suivante ne peut être lancée qu'après l'achèvement d'une étape de travail. La plus grande limitation du modèle en cascade est que les problèmes potentiels de l'étape précédente ne sont souvent pas facilement exposés avant l'étape suivante. Corriger le problème à un stade ultérieur est souvent très coûteux. Par conséquent, le modèle en cascade est plus adapté aux projets logiciels avec des exigences très claires et peu de changements. (modèle cascade)

  2. Modèle en spirale . Le modèle en spirale adopte une approche cyclique du développement du système. Un cycle complet comprend la définition des exigences, l'évaluation des risques, la réalisation du projet et la revue des utilisateurs. L'ensemble du développement du système comprend un certain nombre de cycles d'itérations, qui sont progressivement affinés d'une manière étape par étape, et enfin les résultats de développement qui passent l'examen de l'utilisateur sont dérivés. En raison de la définition itérative des exigences, le modèle en spirale peut faire face à l'ambiguïté des exigences des utilisateurs. L'introduction de l'évaluation des risques est la différence la plus significative entre ce modèle et les autres modèles de développement. La limitation du modèle en spirale est que le nombre d'itérations est incontrôlable, et la période de temps pour terminer l'ensemble du développement du système est très longue et le coût est élevé. Par conséquent, le modèle en spirale est généralement utilisé dans des projets complexes à grande échelle où les exigences ne peuvent pas être entièrement confirmées. (modèle en spirale)

  3. Modèle incrémental . Le modèle incrémental a quelque chose en commun avec d'autres modèles de développement évolutif et est de nature itérative. Mais ce qui est différent des autres modèles, c'est que le modèle incrémental met l'accent sur la sortie d'un produit qui peut être utilisé par les utilisateurs à chaque fois, ce qui fait que le modèle n'a pas à attendre que tous les utilisateurs aient besoin d'être confirmés. Tant qu'un package incrémentiel d'exigence est confirmé, cette partie du travail de développement peut être lancée. Le modèle incrémentiel peut donner la priorité à la publication de fonctions ou de fonctions essentielles dont l'utilisateur a besoin de toute urgence, et chaque version incrémentielle testera les fonctions précédentes, ce qui permet également au travail de développement dans le cadre du modèle incrémental d'obtenir une meilleure qualité. Le modèle incrémentiel exige que chaque composant fusionne progressivement dans l'architecture logicielle existante, et les composants nouvellement ajoutés ne peuvent pas détruire les parties système existantes, ce qui oblige le logiciel à avoir une architecture ouverte. Dans le même temps, le modèle incrémental est difficile à gérer et il est facile de tomber dans le mode de faire des changements en faisant, de sorte que le contrôle du processus logiciel perd son intégrité. (modèle incrémental)

  4. Modèle de prototype . La méthode de prototypage remplace les spécifications rigides par une interface intuitive et interactive qui peut être construite rapidement. Selon que le système prototype est mis au rebut pendant le processus de développement du système, la méthode du prototype peut être divisée en la méthode du prototype mis au rebut et la méthode du prototype évolutif. Les utilisateurs peuvent fournir des commentaires réels et spécifiques aux développeurs via le système de prototype d'essai exécuté sur l'ordinateur, ce qui confère à la méthode du prototype des avantages inhérents face aux besoins incertains des utilisateurs. La méthode de prototypage est conforme à la loi de la compréhension des choses par les gens, et le développement du système est progressif et répété, ce qui peut assurer une meilleure satisfaction des utilisateurs. Le cycle et le coût de développement sont relativement inférieurs au modèle en spirale, qui est plus conforme à la situation du système ERP de notre maison d'édition, nous avons donc finalement choisi le modèle de méthode prototype comme cadre de développement. Ce modèle est également une méthode de développement qui est généralement bien accueillie dans l'industrie. (modèle de prototype)

  Dans le processus de développement du système ERP de la maison d'édition, l'utilisation de la méthode prototype est la suivante : (Résumé et déficience)

  1. Construisez un prototype . Comme il y a sept maisons d'édition dans notre groupe, les métiers sont différents. Afin de construire rapidement un prototype de système exploitable par les utilisateurs, nous avons d'abord sélectionné comme objet de développement une maison d'édition avec des activités relativement standardisées, des produits grand public et principalement des livres de sciences sociales et culturelles. Grâce à une série de brèves recherches sur la demande de chaque département métier de la maison d'édition, nous avons utilisé JBPM (un moteur de workflow basé sur JAVA) pour construire le flux métier du système de publication et du système de publication de la maison d'édition et les nœuds d'approbation sur chaque flux d'affaires. Grâce à l'analyse des documents historiques de la maison d'édition, ajoutez des éléments de données qui doivent être remplis par l'utilisateur lors du processus d'utilisation pour chaque nœud du flux de travail, comme le formulaire de demande de sélection de sujet rempli dans le processus de demande de sélection de sujet, le formulaire de libération du manuscrit lors de la troisième révision et de la troisième relecture, etc. Grâce à ces tâches, un prototype de système pouvant être utilisé et essayé par les utilisateurs des maisons d'édition a été construit. (construire un prototype)

  2. Confirmer les exigences à l'aide de prototypes . Après avoir construit le prototype du système, nous avons organisé une réunion conjointe des backbones métiers et des chefs de service des différents départements métiers de la maison d'édition, ainsi que des dirigeants de la maison d'édition. Tout d'abord, le système prototype a été présenté au personnel de la maison d'édition, puis les avis de modification des utilisateurs de la maison d'édition ont été écoutés. Une fois la modification confirmée terminée, le personnel de la maison d'édition sera organisé pour effectuer des tests fonctionnels du système, et le système prototype sera modifié et ajusté en fonction des commentaires des utilisateurs. Après plusieurs séries d'itérations, nos développeurs de systèmes et les utilisateurs finaux de la maison d'édition ont une compréhension claire des exigences, et le système prototype est relativement proche du résultat final. Sur la base du système prototype, l'équipe du projet a élaboré une spécification des exigences qui a été approuvée par les dirigeants de la maison d'édition. (Confirmer les exigences à l'aide de prototypes)

  3. Selon la spécification des besoins , nous affinons davantage le système prototype. Reconcevoir la base de données, trier la relation entre les éléments de données dans chaque processus métier et l'autorité de chaque nœud de flux de travail, et enfin former un environnement système formel pouvant être exécuté en ligne. Après avoir résolu une maison d'édition, nous utilisons le système de la maison d'édition comme prototype pour réaliser le projet de système ERP d'autres maisons d'édition. (selon le cahier des charges)

  Le système ERP de notre maison d'édition a été entièrement lancé en octobre 2016. Après plus de six mois d'utilisation, il fonctionne actuellement normalement, et les fonctions et performances du système ont répondu aux exigences des utilisateurs et ont reçu les éloges unanimes des utilisateurs de diverses maisons d'édition. La réception définitive du projet est en cours de préparation. En résumant l'application de la méthode du prototype dans ce projet, nous pensons qu'il y a plusieurs points clés. Tout d'abord, l'environnement de développement est très important . Étant donné que le système éditorial et le système de publication sont développés à l'aide de JBPM, le système prototype ne peut être construit rapidement que par le flux de travail rapide des composants. Cependant, le système financier et le système d'édition ne pouvaient pas construire un système prototype pouvant être utilisé par les utilisateurs au début du projet de la première maison d'édition, mais ne pouvaient fournir qu'une interface de travail dessinée, et l'effet n'était pas aussi bon que cela. du système éditorial et du système de publication. La seconde est la participation des utilisateurs . Dans le processus de construction et de validation des prototypes, les utilisateurs doivent être encouragés à participer activement, afin d'aider les utilisateurs à vraiment comprendre leurs besoins. Le troisième est d'orienter la demande . Même si les utilisateurs participent au projet, nous devons analyser si les opinions des utilisateurs sont raisonnables et contrôler les exigences, sinon le modèle prototype deviendra un modèle modifié en le faisant. Grâce à la mise en œuvre harmonieuse du projet, j'ai beaucoup bénéficié de l'analyse du système et de l'application du modèle de méthode de prototypage. Je comprends également profondément que nos travailleurs techniques doivent continuer à apprendre et à travailler dur pour se préparer à des tâches plus complexes dans le avenir. (résumé et lacunes)

Connaissances supplémentaires de la thèse

JBPM : JBPM (JBoss Business Process Manager) est un framework de gestion de processus open source basé sur Java pour définir, gérer et exécuter des processus métier. JBPM fournit un cadre de processus complet, comprenant des définitions de processus, des instances de processus, des tâches, des rôles, des ressources, une surveillance, etc., qui peut aider les entreprises et les organisations à créer des processus métier robustes, efficaces et évolutifs. JBPM est largement utilisé dans le développement d'applications d'entreprise, l'architecture de services, le cloud computing, le big data et d'autres domaines.

Je suppose que tu aimes

Origine blog.csdn.net/qq_44033208/article/details/130789400
conseillé
Classement