0% ont trouvé ce document utile (0 vote)
29 vues4 pages

Solution Manual For Software Engineering PDF

Le document aborde divers modèles de processus logiciels et leur adéquation pour différents types de systèmes. Il traite des raisons pour lesquelles deux activités d'ingénierie des exigences sont nécessaires pour les processus basés sur la réutilisation, de la distinction entre les exigences des utilisateurs et les exigences système, ainsi que des exemples d'activités qui aident à prédire et à accueillir les changements dans des systèmes complexes tels que la modélisation de design et le refactoring de code. Les avantages de la séparation des vues statiques et dynamiques du processus logiciel dans le Rational Unified Process sont également décrits.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues4 pages

Solution Manual For Software Engineering PDF

Le document aborde divers modèles de processus logiciels et leur adéquation pour différents types de systèmes. Il traite des raisons pour lesquelles deux activités d'ingénierie des exigences sont nécessaires pour les processus basés sur la réutilisation, de la distinction entre les exigences des utilisateurs et les exigences système, ainsi que des exemples d'activités qui aident à prédire et à accueillir les changements dans des systèmes complexes tels que la modélisation de design et le refactoring de code. Les avantages de la séparation des vues statiques et dynamiques du processus logiciel dans le Rational Unified Process sont également décrits.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

télécharger instantanément sur www.easysemester.

com
Ingénierie Logicielle 9 – Manuel des Solutions 7

2 Processus Logiciels

2.1 Donner des raisons pour votre réponse en fonction du type de système étant
développé, suggérer le modèle de processus logiciel générique le plus approprié
qui pourrait être utilisé comme base pour gérer le développement du
systèmes suivants :

• Un système de contrôle du système de freinage antiblocage dans une voiture


• Un système de réalité virtuelle pour soutenir la maintenance des logiciels
• Un système comptable universitaire qui remplace un système existant
• Un système de planification de voyage interactif qui aide les utilisateurs à planifier des trajets
avec le plus faible impact environnemental

1. Système de freinage antiblocage Ceci est un système critique pour la sécurité donc nécessite beaucoup de
une analyse préalable avant la mise en œuvre. Cela nécessite certainement un plan structuré
une approche du développement avec les exigences soigneusement analysées. Un
Le modèle en cascade est donc l'approche la plus appropriée à utiliser, peut-être.
avec des transformations formelles entre les différentes étapes de développement.

2. Système de réalité virtuelle. C'est un système où les exigences changeront.


et il y aura une vaste gamme de composants d'interface utilisateur. Incrémental
le développement avec, peut-être, un peu de prototypage UI est le plus approprié
un modèle. Un processus agile peut être utilisé.

3. Système comptable universitaire. C'est un système dont les exigences sont


assez bien connu et qui sera utilisé dans un environnement en conjonction
avec de nombreux autres systèmes comme un système de gestion des subventions de recherche.
Par conséquent, une approche basée sur la réutilisation est susceptible d'être appropriée pour cela.

4. Système de planification de voyage interactif avec une interface utilisateur complexe mais
qui doit être stable et fiable. Une approche de développement incrémental est
le plus approprié car les exigences du système changeront en tant qu'utilisateur réel
une expérience avec le système est acquise.

2.3 Considérez le modèle de processus basé sur la réutilisation montré dans la Figure 2.3. Expliquez pourquoi il
il est essentiel d'avoir deux activités d'ingénierie des exigences séparées dans le
processus.
téléchargez instantanément sur www.easysemester.com
8 Génie Logiciel 9 – Manuel des Solutions

Dans un processus basé sur la réutilisation, vous avez besoin de deux activités d'ingénierie des exigences parce que
il est essentiel d'adapter les exigences du système en fonction des capacités du
système/composants à réutiliser. Ces activités sont :
1. Une activité initiale où vous comprenez le fonctionnement du système et définissez
définir les grandes exigences concernant ce que le système devrait faire. Celles-ci devraient être
exprimées avec suffisamment de détails pour que vous puissiez les utiliser comme base pour décider de
un système/composant satisfait à certaines des exigences et peut donc être
réutilisé.
2. Une fois les systèmes/composants sélectionnés, vous avez besoin d'une version plus détaillée
activité d'ingénierie des exigences pour vérifier que les fonctionnalités du réutilisé
le logiciel répond aux besoins de l'entreprise et pour identifier les changements et ajouts qui
sont requis.

2.4 Suggérez pourquoi il est important de faire une distinction entre le développement de
exigences de l'utilisateur et développement des exigences système dans les exigences
processus d'ingénierie.

Il y a une différence fondamentale entre les exigences des utilisateurs et les exigences du système.
cela signifie qu'ils doivent être considérés séparément.

1. Les exigences utilisateurs sont destinées à décrire les fonctions du système et


des fonctionnalités du point de vue de l'utilisateur et il est essentiel que les utilisateurs comprennent
ces exigences. Elles doivent être exprimées en langue naturelle et peuvent
ne pas être exprimé en détail, pour permettre une certaine flexibilité d'implémentation.
Les personnes impliquées dans le processus doivent être en mesure de comprendre l'utilisateur.
environnement et domaine d'application.
2. Les exigences du système sont beaucoup plus détaillées que les exigences des utilisateurs.
et sont destinés à être une spécification précise du système qui peut faire partie
d'un contrat système. Ils peuvent également être utilisés dans des situations où
le développement est sous-traité et l'équipe de développement a besoin d'un complet
spécification de ce qui doit être développé. Les exigences système sont
développé après que les exigences de l'utilisateur ont été établies.

2.6 Expliquez pourquoi le changement est inévitable dans les systèmes complexes et donnez des exemples.
(en dehors du prototypage et de la livraison incrémentale) du processus logiciel
activités qui aident à prévoir les changements et à rendre le logiciel en cours de développement
plus résilient au changement.

Les systèmes doivent changer car, une fois installés dans un environnement, le
l'environnement s'adapte à eux et cette adaptation génère naturellement de nouveaux/différents
téléchargez instantanément sur www.easysemester.com
Ingénierie logicielle 9 – Manuel de solutions 9

exigences du système. De plus, l'environnement du système est dynamique et


génère constamment de nouvelles exigences à la suite de changements dans le
affaires, objectifs commerciaux et politiques commerciales. À moins que le système ne soit adapté à
réfléchir à ces exigences, ses installations deviendront déphasées par rapport aux installations
nécessaire pour soutenir l'entreprise et, par conséquent, cela deviendra moins utile.
Des exemples d'activités de processus qui soutiennent le changement sont :

1 Enregistrement de la justification des exigences afin que la raison pour laquelle une exigence est
inclus est connu. Cela aide avec le changement futur.
2. La traçabilité des exigences qui montre les dépendances entre les exigences
et entre les exigences et la conception/le code du système.
3. Modélisation du design où le modèle de design documente la structure de la
logiciel.
4. Refactoring de code qui améliore la qualité du code et le rend donc plus accessible
à changer.

2.9 Quels sont les avantages de fournir des vues statiques et dynamiques de la
processus logiciel comme dans le Processus Unifié Rational ?

Une approche de modélisation des processus qui est simplement basée sur des activités statiques, telles que
les exigences, la mise en œuvre, etc. forcent ces activités à être énoncées dans une séquence
ce qui peut ne pas refléter la manière dont ceux-ci sont appliqués dans une organisation donnée.
Dans la plupart des cas, les activités statiques montrées dans la Figure 2.13 sont en réalité entrelacées, de sorte qu'un
le modèle de processus séquentiel ne décrit pas avec précision le processus utilisé. Par
séparant ceux-ci du point de vue dynamique, c'est-à-dire les phases de développement, vous
on peut ensuite discuter de la façon dont chacune de ces activités statiques peut être utilisée à chaque phase de la
processus. De plus, certaines des activités qui sont nécessaires pendant certaines des
Les phases système s'ajoutent aux activités statiques centrales montrées dans la Figure 2.13.
Ceci varie d'une organisation à une autre et il n'est pas approprié d'imposer un
processus particulier dans le modèle.
téléchargement instantané sur www.easysemester.com
10 Ingénierie Logicielle 9 – Manuel des Solutions

3 Logiciel Agile
Développement

3.2 Expliquez comment les principes sous-jacents des méthodes agiles mènent à l'accélération.
développement et déploiement de logiciels.

Les principes sous-jacents au développement agile sont :

1. Individus et interactions plutôt que processus et outils. En tirant parti


des compétences et des capacités individuelles et en veillant à ce que l'équipe de développement
savoir ce que chacun fait, les frais généraux de la communication formelle
et l'assurance des processus sont évités. Cela signifie que l'équipe peut se concentrer sur
le développement de logiciels fonctionnels.

2. Logiciel fonctionnel plutôt que documentation complète. Cela contribue à


développement accéléré car le temps n'est pas passé à développer, vérifier et
gestion de la documentation. Au contraire, le temps du programmeur est concentré sur le
développement et test de code.
3. Collaboration avec le client plutôt que négociation de contrat. Au lieu de passer
temps de développement, d'analyse et de négociation des exigences à inclure dans un
contrat système, les développeurs agiles soutiennent qu'il est plus efficace d'obtenir
retour d'information des clients directement pendant le développement sur ce qui est
nécessaire. Cela permet de développer et de fournir des fonctionnalités utiles
plus tôt que ce serait possible si des contrats étaient requis.
4. Répondre au changement plutôt que de suivre un plan. Les développeurs Agile soutiennent
(à juste titre) que réagir au changement est plus efficace que de suivre un
processus basé sur un plan car le changement est inévitable, quel que soit le processus utilisé.
Il y a un coût significatif à changer de plans pour s'adapter au changement et
l'inflexibilité d'un plan signifie que des travaux peuvent être effectués qui sont par la suite
écarté.

Vous aimerez peut-être aussi