Exercices - Génie logiciel
28 documents à télécharger gratuitement
Exercices de génie logiciel partagés par des étudiants et des enseignants. Thèmes couverts : UML, MERISE, conception, architecture logicielle, Scrum, agile.
Le document présente une série d'exercices pour concevoir des entrepôts de données (data warehouses) en utilisant des modèles en étoile et en flocon de neige. Il explore la planification des systèmes d’information décisionnels pour diverses entreprises, suivant des axes comme les ventes, le temps, la localisation géographique, et d'autres dimensions spécifiques. Les exercices incluent la construction de modèles conceptuels et relationnels, l’intégration de nouvelles dimensions comme le genre ou la couleur dans les analyses, et la formulation de tableaux multidimensionnels pour observer les...
This document provides an in-depth exploration of UML diagrams, specifically focusing on component and deployment diagrams. Component diagrams detail the implementation and interaction of software components and define dependencies, interfaces, and representations. Deployment diagrams outline the physical architecture of software systems, describing nodes, their associations, components, and deployment configurations across varied architectures, including centralized, client-server, and three-tier systems. Exercises and solutions demonstrate real-world examples, progressively redesigning a...
This document contains exercises related to UML modeling and object-oriented design principles. It includes tasks for creating sequence diagrams for various scenarios including a person management system and a traffic light control system. Additionally, it involves modeling the order and delivery system of a pizza restaurant chain, focusing on functionalities and interactions.
This document provides an analysis of two exercises related to UML modeling. The first exercise focuses on a public transport company's system for managing customer relationships, while the second addresses the structure and organization of a research laboratory. Both exercises require the creation of class diagrams that capture the essential components and relationships within these systems.
This document contains examination exercises related to object-oriented programming and system modeling. Topics include relations between classes, use case diagrams, and system information modeling for a bookstore. It emphasizes understanding and justifying the relationships and constraints present in class diagrams and use cases.
This document includes UML exercises focused on the management of classroom reservations and agricultural work recording. It outlines the roles of teachers and agricultural workers in a school and research context. Various use cases and interactions are described for both scenarios.
Ce document présente une série d'exercices sur les diagrammes de cas d'utilisation liés à un Guichet Automatique de Banque, une calculette/convertisseur et la modélisation d'un Système d’Information pour un libraire. Chaque exercice demande d'identifier les acteurs, les cas d'utilisation et de représenter les diagrammes appropriés.
Le document traite de la modélisation d'une application pour le calcul d'itinéraires par des robots dans des zones géographiques en utilisant UML. Il présente les objectifs de l'exercice, les classes nécessaires pour modéliser cette application et les associations entre elles. Enfin, il propose des questions de réflexion sur la modélisation et les modifications nécessaires.
This document outlines exercises focused on the specification of needs and analysis/conception for the application 'Sys_vote'. It includes identifying actors, use cases, and scenarios related to voting and vote counting, along with instructions for creating diagrams. Additionally, it critiques the class diagram and asks for modifications.
This document outlines a laboratory exercise focused on version control using Git. It includes objectives such as configuring Eclipse with Git and understanding essential Git commands. The exercise involves creating a GitLab project, modifying files, and using commands like git add, git commit, and git push.
This document outlines a lab assignment focused on the use of Gradle for building projects and implementing unit tests using Mockito. It includes exercises to set up Gradle, utilize mocking in unit tests, and build a simple dice game to illustrate testing concepts. The exercises emphasize configuring environments and testing frameworks effectively.
This document outlines a lab exercise focused on unit testing using Eclipse and Test Driven Development. It includes multiple exercises, such as setting up a testing environment, implementing a reverse calculator using Polish notation, and creating tests for a Harry Potter book pricing scenario. Participants are guided to create project structures, write and execute tests, and develop code to meet requirements.
This document outlines an exam for a third-year computer science course focusing on software engineering principles. It includes exercises on unit testing through well-known programming challenges like FizzBuzz and the Berlin Uhr clock, as well as implementing a postfix calculator. Students are expected to write unit tests before developing code solutions.
The document consists of a series of UML modeling exercises aimed at mastering object-oriented design principles. It covers static relationships like generalization, composition, aggregation, and association through real-world scenarios. Each exercise includes the derivation of class and object diagrams conforming to given textual requirements, with justifications for relationships and detailed attribute and method specifications for classes. The final exercise focuses on class modeling for a university course management system, incorporating complex relationships, operations, and constraints.
This document consists of a problem set in UML-based structural modeling, targeting advanced understanding of relationships such as generalization, composition, aggregation, and association in object-oriented design. Exercises include analyzing relationships between classes and objects, justifying these relationships, and creating UML diagrams, such as class and object diagrams, to model complex systems. Topics include banking transactions, software GUI components, geometrical shapes, and educational institution management. Finally, the exercises require clear documentation of attributes, m...
This document is a structured examination focusing on structural modeling using UML. It encompasses exercises that require the identification and reasoning of relationships such as associations, generalization, aggregation, and composition in various domains, as well as the development of UML class and object diagrams. Scenarios range from geographical relationships to software design elements and organizational structures, requiring students to proficiently justify and formalize their modeling choices while adhering to UML standards.
Ce document présente une série d'exercices utilisant la méthode B pour modéliser et spécifier divers systèmes logiciels. Le premier exercice concerne la modélisation d'un réseau social sous forme de graphe, avec une gestion précise des participants et de leurs relations. Le deuxième exercice traite de la spécification d'un système de gestion de bibliothèque, en y intégrant des contraintes sur les emprunts. Le troisième exercice introduit la synchronisation des processus producteur-consommateur à l'aide de sémaphores, en garantissant l'exclusion mutuelle et l'absence de famine. Enfin, le qua...
This document focuses on partitioning specifications into equivalence classes for software testing, providing detailed methodical approaches for boundary value analysis, control-flow graph creation, and comprehensive test cases for diverse scenarios. It spans exercises related to testing algorithms, applications, and programs using criteria like instruction coverage, arc coverage, and independent path coverage. The solutions include structured test cases designed to identify edge conditions and validate proper implementations of software techniques.
The document provides an in-depth overview of structural testing techniques, particularly focusing on control flow graph coverage. It discusses both dynamic and static analysis methods for testing software, introducing concepts such as control graph coverage (e.g., node, arc, and path coverage), mutation testing, and abstract execution. Additionally, the content elaborates on test data generation, challenges in identifying executable paths, and hierarchical relationships among coverage criteria. It also includes practical exercises and examples to reinforce concepts like PLCS (Portion of Li...
This document addresses design patterns applied to common software engineering problems. It includes practical exercises covering Singleton, Composite, and Observer patterns. The first exercise demonstrates enhancing a class for managing chocolate boiler operations to a Singleton, thus ensuring safe handling of industrial processes. The second focuses on representing arithmetic expressions using the Composite pattern for tree-like structure implementations. The third exercise implements the Observer pattern to effectively manage synchronization and progress visualization in calculators, ena...
This document provides an in-depth explanation of UML use case diagrams, their structure, and significance in software development. It describes the basics of UML use cases, their graphical representation, and their association with system actors. Multiple examples and exercises are included, focusing on scenarios such as gas stations, travel agencies, and institutions handling room and equipment reservations. The document concludes with corrections and guidance for common modeling errors and effective use case practices.
The document primarily outlines modeling exercises based on real-world scenarios using UML diagrams. These scenarios include managing room and equipment reservations in schools, recording agricultural work times in research projects, handling retail transactions, managing ATMs, and other cases such as shop stock tracking, checkout processes, and academy course structuring. The methodology involves creating use-case, sequence, collaboration, and class diagrams to model these systems and ensure comprehensive data representation and process flow. Results showcase the flexibility and utility of...
This exam evaluates students' understanding of Java programming concepts through practical exercises. It includes questions on code functionality, cohesion, and coupling. Students are expected to analyze provided code snippets and suggest improvements.
This document contains an exam related to Software Engineering I at Université de la Manouba, focusing on software development processes, modeling, and validation techniques. It includes exercises comparing various software development terms, evaluating statements about software project success, and assessing appropriate development life cycles. Additionally, it explores the roles of project managers and the suitability of different development models.





















