DOMAINE : économie et gestion informatique



Documents pareils
Chapitre VI- La validation de la composition.

UE Programmation Impérative Licence 2ème Année

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

AGRÉGATION «ÉCONOMIE ET GESTION»

DOMAINE : économie et gestion comptable

Baccalauréat professionnel vente (prospection - négociation - suivi de clientèle) RÉFÉRENTIEL DE CERTIFICATION

UE 8 Systèmes d information de gestion Le programme

Application web de gestion de comptes en banques

Diplôme de Comptabilité et de Gestion. D é c r e t N d u 2 2 d é c e m b r e A r r ê t é d u 8 m a r s

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programmation Objet Java Correction

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Cours 1 : Qu est-ce que la programmation?

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Bases de données documentaires et distribuées Cours NFE04

Brique BDL Gestion de Projet Logiciel

Premiers Pas en Programmation Objet : les Classes et les Objets

Entraînement au concours ACM-ICPC

Auto-évaluation Programmation en Java

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Machines virtuelles Cours 1 : Introduction

Programmer en JAVA. par Tama

Programme de la formation. Écrit : 72hdepréparation aux épreuves d admissibilité au CRPE

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

Arbres binaires de recherche

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Chapitre 2. Classes et objets

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

M Études et développement informatique

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

TP1 : Initiation à Java et Eclipse

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Année Universitaire 2009/2010 Session 2 de Printemps

Programmation avec des objets : Cours 7. Menu du jour

DIF VAE Technicien Supérieur de Support en Informatique

Languedoc - Roussillon

Introduction au langage C

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Baccalauréat technologique

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Évaluation et implémentation des langages

Chapitre 10. Les interfaces Comparable et Comparator 1

Compte Rendu d intégration d application

Cours 1: Java et les objets

L objectif de ce cycle est de former des techniciens supérieurs spécialisés dans l administration et la gestion de bases de données et des réseaux.

La gestion des exceptions

Mercredi 15 Janvier 2014

Traduction des Langages : Le Compilateur Micro Java

Théorie et codage de l information

Le langage C. Séance n 4

CQP Développeur Nouvelles Technologies (DNT)

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Guide du Tuteur Banque et Assurance

The Mozilla Art Of War. David Teller. 20 septembre Laboratoire d Informatique Fondamentale d Orléans. La sécurité des extensions.

Université de Bangui. Modélisons en UML

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

UE8 Systèmes d information de gestion Corrigé indicatif

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Livret du Stagiaire en Informatique

Cours d Algorithmique et de Langage C v 3.0

Générer du code à partir d une description de haut niveau

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Gestion des risques de crédit. Termes de référence (TDR)

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

L informatique en BCPST

Solutions du chapitre 4

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

M Études et développement informatique

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Création et Gestion des tables

Soutien technique en informatique

S8 - INFORMATIQUE COMMERCIALE

IV- Comment fonctionne un ordinateur?

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

BACHELIER EN INFORMATIQUE DE GESTION

Page 1 Domaine commercial filière informatique de gestion 2 sur 16

1 Modélisation d une base de données pour une société de bourse

Séminaires Paris le 14 et 15 mars 2007 Grenoble le 21 et 22 Mars 2007

TD/TP PAC - Programmation n 3

BACHELOR DEVELOPPEUR WEB

Chapitre VIII. Les bases de données. Orientées Objet. Motivation


Gestion distribuée (par sockets) de banque en Java

Transcription:

CONCOURS DE L'AGREGATION INTERNE «ECONOMIE ET GESTION» SESSION 2002 EPREUVE PORTANT SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PEDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation : 4 heures Vous disposez d'une durée maximale de 30 minutes pour présenter oralement la solution de l'étude qui vous est proposée. Au cours de l'entretien qui suivra, outre les précisions qui peuvent être demandées sur votre exposé, vous seront posées des questions d'ordre pédagogique en liaison avec le thème étudié. AVERTISSEMENT Si le texte du sujet, de ses questions ou de ses annexes, vous conduit à formuler une ou plusieurs hypothèses, il vous est demandé de la (ou les) mentionner explicitement lors de votre exposé.

Dans une entreprise importante, la direction financière effectue un certain nombre de placements en valeurs mobilières de placement ; ces valeurs sont pour l instant des actions et obligations cotées sur le marché financier. Le choix de la constitution du portefeuille est réévalué tous les trois mois en général mais des achats ou ventes ponctuelles peuvent intervenir a n importe quel moment. Le service financier utilise un logiciel spécifique développé sur tableur. Suite au départ du collaborateur qui a développé le logiciel et aux problèmes inextricables de reprise de ce logiciel ( peu de documentation, code spaghetti, modifications acrobatiques, beaucoup trop de saisie a effectuer), le directeur financier, adepte des nouveautés et bien au courant des tendances informatiques est attiré par des développements utilisant une démarche objet et des langages objets type VB.net ou JAVA ou C++. Les objectifs essentiels pour le directeur financier, outre les fonctionnalités demandées sont : Une maintenabilité améliorée La possibilité d étendre l application (en particulier vers de nouveaux types de valeur ) L utilisation de composant existant.. En outre, il a été décidé de prendre une base de données relationnelle pour stocker les données, certainement SQL Server car ce logiciel existe déjà dans l entreprise. Des éléments ont déjà été conçu par un consultant extérieur dont certains travaux sont indiqués ultérieurement. Celui-ci a surtout créé le package de classe Valorisation qui permet de connaître la valeur d un titre a une date donnée. Ce package est maintenant fiable. Vous êtes chargé de concevoir une application prototype avec les éléments existant, en prenant en compte l évolution suivante, l achat ou la vente d options sur actions pour gérer la volatilité des cours. QUESTIONS : 1) A partir du schéma actuel construisez la structure de la base de données qui permettra de stocker les données sur le portefeuille et l historique des opérations. 2) Avec la base construite précédemment, implémentez sous forme d algorithme la méthode getvaleuractuelle() et la méthode de classe getvaleurduportefeuille(), (ou quel algorithme pour calculer la valeur actuelle d un titre en portefeuille et la valeur actuelle du portefeuille). Vous indiquerez les possibles modifications a faire sur la conception ou l implémentation présentée pour rendre la solution plus opérationnelle, plus souple, plus robuste. 3) Indiquez la structure de la base de données pour prendre en compte les options sur actions et le suivi de scénarios ainsi que les modification à l architecture de l application pour tenir compte du composant optionvaleur(nouvelles classes ou ajouts de fonctions/méthodes, etc). 4) Développez le principe d un algorithme permettant de donner la valeur acquise d un capital placé à intérêt simple, dont l intérêt est variable par période : par exemple sur 30 jours le taux annuel est de 5,50% puis ensuite sur 60 jours de 6% enfin sur 30 jours de 6,30% ( on supposera l année de 365 jours) et d indiquer le taux effectif du placement sur la totalité de la période par exemple ici sur les 120 jours. Remarque : Le directeur informatique a un lourd passé (d échec ou de solution miraculeuse catastrophique) avec l informatique et sait qu il est difficile de construire une solution robuste aussi il demande une argumentation claire sur les choix faits et reste tout à fait ouvert aux critiques bien fondées sur l ébauche de solution présentée et aux propositions de solutions pertinentes. Bref une solution non objet pertinente est possible.

Schéma actuel de l application ( vue partielle) valorisation ValeurEnPortefeuille ValeurHelper gettype -codesicovam +getvaleuractuelle() +getvaleurduportefeuille () 0..1 0..1 Action +getvaleuractuelle() Obligation +getvaleuractuelle() Une valeur en portefeuille avec un ensemble d opération d achat ou de vente 1..n Operation -dateopération -quantité -montanttotal -frais +getdateoperation() +getquantite() +getmontanttotal() +getfrais() Achat -nomordonnateur Vente

Schéma actuel de l application En raison du manque de temps et de la difficulté à le rendre robuste, seul le package Valorisation a été développé, testé et fiabilisé. Le reste de l application et en particulier les classes ValeurEnPortefeuille et Opérations sont plutôt une ébauche de solution. Classe ValeurEnPortefeuille{ variable d objet privée entier codeinterne privée chaine de caractère : codageexterne // par exemple le code Sicovam pour les actions obligations privée Action action // null si ce n est pas cela privée Obligation : obligation privée nombreopération ; privée tableau de Operation :taboperation //null si ce n est pas cela // tableau d objets Operation qu on suppose constitué a la création de //l objet ValeurEnPortefeuille // on peut très bien utiliser des Collection tel que des Vecteur ou ArrayListetc méthode de classe //donne la valeur du portefeuille de l entreprise en prenant la valeur Actuelle de chacun des titres par le // nombre de titres en portefeuille publique statique getvalorisationportefeuille() : decimal // donne la valeur du portefeuille de l entreprise en prenant la valeur Actuelle de chacun des titres par //le nombre de titre en portefeuille publique statique getvaleurenportefeuille() :decimal //donne la valeur totale actuelle du titre en portefeuille= quantité en portefeuille* valeur actuelle publique getvaleuractuelle() :decimal. classe abstraite Operation{ variable d objet privée chaîne de caractère dateoperation privée entier quantité privée decimal montanttotal privée decimal frais publique getdateoperation() : chaine de caractère publique getquantite() : entier publique getmontanttotal() : decimal publique getfrais() : decimal. classe Achat hérite Operation{ variable d objet // correspond à celui qui a donné l ordre d achat car cela peut être un des dirigeants privée chaîne de caractère NomOrdonnateur //indique les raisons de l achat en particulier si ce n est pas la direction financière privée chaîne de caractères : commentaire publique constructeur Achat(chaine de caractère date,entier quantite, decimal montanttotal,decimal frais, chaine de caractère nomordonnateur) publique getnomordonateur() :chaîne de caractère publique getcommentaire() :chaîne de caractère classe Vente hérite Operation{ publique constructeur Vente(chaine de caractère date,entier quantite, decimal montanttotal, decimal frais)

le package ou module Valorisation Les classes Action, Obligation ont été développées par un Consultant extérieur et encapsulent un service de valorisation des titres (ces classes se chargent du service d accès à des bases de données sur les titres du marché) grâce aux méthodes ou fonctions getvaleuractuelle().la classe ValeurHelper permet d avoir des renseignements divers sur les valeurs Remarques : -le service financier dispose des codes source écrits par le consultant et des outils pour compiler, tester, exécuter les programmes. -le package fourni est entièrement implémenté et est considéré comme fiable. classe Action { méthode de classe //permet la création d un objet Action si le code Sicovam est reconnu sinon déclenche une exception publique statique createaction(chaine de caractère codesicovam) : Action throws CodeInconnuException // donne la dernière valeur connue de la valeur publique getvaleuractuelle() :decimal // il existe d autres méthodes spécifiques aux actions.. classe Obligation{ méthode de classe //permet la création d un objet Obligation si le code Sicovam est reconnu sinon déclenche une exception publique statique createobligation(chaine de caractère codesicovam):obligation throws CodeInconnuException // donne la dernière valeur connue de la valeur publique getvaleuractuelle() :decimal // il existe d autres méthodes spécifiques aux obligations. classe ValeurHelper{ variable de classe publique statique entier INCONNU=0 ; publique statique entier ACTION=1 ; publique statique entier OBLIGATION=2 ; méthode de classe //donne pour le code indiqué le type de la valeur sinon déclenche une erreur si la valeur est inconnue publique statique gettype(chaine de caractère codesicovam):entier throws CodeInconnuException remarque sur les Exception : toutes les exceptions sont des sous-classes de la classe Exception et possèdent une méthode getmessageerreur() qui donne une chaîne de caractère avec la raison de l erreur.

Options On veut pouvoir intégrer les options sur actions achetées ou vendues. Vous disposez de documents expliquant les options sur actions. Les options ne sont achetées que si le titre existe déjà dans le portefeuille Il peut être envisagé d acheter des composants logiciels auprès de sociétés spécialisées pour avoir la valeuractuelle() d une option en particulier le composant suivant : Remarque : on ne dispose que du composant binaire (pas des sources) Classe OptionValeur{ méthode de classes publique statique getinstanceoptionvaleur(chaine caractère codeoption,chaine caractère dateecheance,decimal prixexercice) : OptionValeur méthode objet // donne la valeur actuelle d une option sur un titre publique valorisationactuelle() :decimal Scénarios Les opérations d achats et ventes sur le portefeuille ont lieu en général tous les 3 mois et on fait différentes hypothèses appelés scénarios avant d en choisir un réellement. On souhaite pouvoir faire et conserver des scénarios pour permettre d évaluer différentes politiques. Plus précisément, lors d achats (voire de ventes) on peut avoir plusieurs scénarios Exemple : Scénario 1 du 1 mars 2002 Achat de 1000 michelins Achats de 1000 peugeots Contrats pour options de vente sur 1000 michelins Scénario 2 du 1 mars 2002 Achats de 1000 canal+ Etc. Scénario 1 du 1 juin 2002 Achats de 2000 vivendi Etc.. Scénario 2 du 1 juin 2002 Vente de 100 michelins On souhaite voir l impact des différents scénarios sur l évaluation de la valeur du portefeuille. C est à dire en décembre 2002 la valeur du portefeuille si le scénario 1 du 1 mars 2002 et le scénario 2 du 1 juin 2002 avait été exécutés. Donc il est nécessaire de conserver ces informations.

Annexe 1