Vous êtes sur la page 1sur 12

UNIVERSITE MARISTE DU CONGO

B.P. 1757
KISANGANI

FACULTE DES SCIENCES APPLIQUEES


Département de Génie Informatique

TRAVAIL PRATIQUE DE L’INTERFACE HOMME


MACHINE ET LA PROGRAMATION ORIENTE OBJET

TRAVAIL PRESENTER PAR LES ETUDIANS :


1. KANYINDA BUENDA
2. SITO MANDO TONY
3. BAYOBO MUTABALA

COURS DISPENSER PAR :


CT TSHIMANGA CHRISTOPHE

Année Académique 2017-2018


Introduction
Dans le cadre du cours de programmation parallèle et orienté objet, une série de travaux
pratique a été donner aux étudiants de deuxième année technique, pour ainsi concilier la
théorie apprise à la réalité pratique du monde de la programmation. C’est ainsi que pour le cas
qui nous concerne, nous allons travailler sur un sujet se rapportant à la gestion de personnelles
de l’U.M.C

Equipe de développement
Le travail a été divisé en M.V.C (Model Vue Controller), pour permettre à ce que le temps de
développement soit le plus court possible et profiter aussi du principe de réutilisation qu’offre
ce model
Nous avions reparti le travail de manière suivante :
NOMS ET POSTNOM Module
KANYINDA BUENDA CONTROLER
SITO MANDO VUE
BAYOBO MUTABALA MODEL
Model de développement
Nous avons jugé bon d’utiliser le model en cascade, et se compose de la manière suivant :
Initialisation :
 Analyser le problème 
L’application que nous allons mettre en place va pouvoir aider l’utilisateur à :
L’enregistrement de type de personnel ainsi que l’ajout des fonctions qu’ils
assumes
Validé le congé ainsi que les circonstances imprévisibles de personnel ;
 Définir les objectifs
L’application a pour objectif de :
 Définir les frontières
Pour le développement du projet de la gestion du personnel de l’UMC, nous- nous
sommes basé juste au niveau de la conception d’une Base de Donnée pour la gérance
de Personnels.
 Contraintes de temps.
Les contraintes de temps nous ont été donnés selon le délai de 6jours par le titulaire de
cours

Définition des besoins


On nous demande de maitre en place un système informatique pour gérer ses personnels.
 Identifier les besoins fonctionnels
Dans notre application nous avons développés les fonctions ci-après :
Ajouter personnel
Traiter congé
Ajouter fonction
Ajouter l’administrateur
Ajouté les circonstances
Analyse : Analyser les besoins.

Conception : Conception détaillée UML.


Frontière du module
Ce module ne gère pas tout ce qui est lié à la gestion de l’université en dehors de la gestion de
personnels. C’est-à-dire, l’inscription des étudiants, la gestion de frais académique, la gestion
de cours ainsi que la gestion des salles sont gérés par un autre système.

Cahier de charge
L’UMC lance un appel d’offre à toute personnes étant capable de travaillé au sein
de son institution ; les dossiers de candidat postulant sons reçus par la commuté de gestion et
la dite commuté établie un rapport au conseil administratif ; Le chancelier étant le chef
principal nome le candidat réussi aux épreuves de test d’embauche ; Le congé est donné selon
de le type de personnel ; le personnel scientifique reçoit le congé à la fin de l’année
académique Hormis la circonstance imprévue comme deuil, mariage etc.

Gestion du projet
I.ARCHITECTURE GLOBAL DU SYSTEME
Eléments du processus sont :
Enregistrer les personnels
Valider la situation de circonstances de congé

Intervenants majeurs sont :


 Agent (Administrateur de base de donnée) ;

ESQUICE DE PROJET

ADMINISTR
ATEUR DE
BD UMC SECURITE

BASE DE
Légende :
1 : INTRANTS ;
2 : INTERROGATION.

ENUMERATION DE POINTS DE FONCTIONS

 INTRANTS

Désignation Attributs Complexité Valeur


Nom C 6
Post-nom
PERSONNEL Prénom
Sexe
Fonction
Type
Congé Nom Personnel 4
Nom Demande M
Circonstance
Date
Supprimer Nom Personnel M 4
Personnel Nom Fonction
Type Personnel
Fonction Personnel

1. Faculté
2. Interrogation
Désignation Attributs Complexité Valeur
Nom Personnel S 4
Vérifier Personnel Nom admin
Fonction
Sexe
Nom Personnel S 4
Valider Congé Fonction Personnel
Type de congé
Circonstance

ƩV= Nombre de points de fonctions brut = 22


1 Point de fonction brut = 200 LOC
22 points de fonctions brut = 200 * 22 = 4400LOC
D’où la taille du logiciel est de 4400LOC = 4,4KLOC
VII. Effort total en utilisant la méthode de COCOMO 2
 Evaluation des facteurs d’ajustement

Facteur Degré d’influence Justification


Réutilisation 6 Besoin de l’administrateur
satisfait
Portabilité 5 Logiciel tourne sur n’importe quel
système d’exploitation
Efficacité des interfaces 4 Trop Ergonomique
utilisateurs
Utilisabilité 6 Interface homme machine
Manipulation de données 6 Facilité des communications

Degré d’influence (DI) = 27


Le point de fonction net = F.A × P.F
F.A= 4,4 + (0,01×22) = 6,6
PF net = FA × PF = 6,6 × 22 =145,2PF net
Taille net = PF× 200 = 145,2× 200 = 29040Loc=29,04Kloc
Degré d’influence (DI) = 27
Le point de fonction net = F.A × P.F
F.A= 4 ,4 + (0,01×27) = 4 ,67
PF net = FA × PF = 4,67 × 27 = 126
PF net= FA × PF= 4,4+(0,01×27) = 4,67
PF net= FA×PF=4,67×22=102,7
Taille net = PF × 200 =102,7× 200 = 20540 Loc=20,54 Kloc
Estimation coût
0,5$ × 20540= 10270 $
Modélisation UML Cas d’utilisation

Diagramme de model conceptuel de donnée


Interface de Lancement de l’application avec une barre de progression

Formulaire de connexion Administrateur

Accueil de l’application GEPERS

Formulaire Ajout Personnel et Affichage liste de personnels


Formulaire traitement congé

Formulaire d’ajout de Fonction


Formulaire d’ajout d’administrateur

Formulaire d’ajout de circonstance

Code source
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package tp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import static tp.connectionBD.getConnection;
/**
*
* @author Evariste KANYINDA
*/
public class connectionBD {
//String urlbd="jdbc:mysql://localhost/tp_poo";
//String user="root";
//String pass="";
// crzation de la fonction pour la connection à la base de données
public static Connection getConnection(){
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con =
DriverManager.getConnection("jdbc:mysql://localhost/tp_poo","root","");
} catch (Exception e)
return con;}
public HashMap<String, Integer> populateCombo(){// pour le combo fonction
HashMap<String,Integer> map = new HashMap<String,Integer>();
Connection con = getConnection();
Statement st;
ResultSet res;
try {
st = con.createStatement(); res = st.executeQuery("SELECT `id_fonction`,
`fonction`, `id_super` FROM `fonction`");
ComboItem cm;
while(res.next()){
cm = new ComboItem(res.getInt(1), res.getString(2));
map.put(cm.getCateNom(),cm.getCatId()); }
} catch (SQLException ex) {
Logger.getLogger(connectionBD.class.getName()).log(Level.SEVERE, null, ex); }
return map;} public HashMap<String, Integer> populateComboper(){// pour le
combo TYPE PErSONNEL
HashMap<String,Integer> map = new HashMap<String,Integer>();
Connection con = getConnection();
Statement st;
ResultSet res;
try { st = con.createStatement(); res = st.executeQuery("SELECT `id_type`,
`type_perso`, `id_super` FROM `type_pers`");
ComboItem cm;
while(res.next()){
cm = new ComboItem(res.getInt(1), res.getString(2));
map.put(cm.getCateNom(),cm.getCatId()); }
} catch (SQLException ex) {
Logger.getLogger(connectionBD.class.getName()).log(Level.SEVERE, null,
ex);}
return map; }
public HashMap<String, Integer> populateConge(){// pour le combo TYPE PErSONNEL
HashMap<String,Integer> map = new HashMap<String,Integer>();
Connection con = getConnection();
Statement st;
ResultSet res;
try {
st = con.createStatement();
res = st.executeQuery("SELECT * FROM personnels");
ComboItem cm;
while(res.next()){
cm = new ComboItem(res.getInt(1), res.getString(2));
map.put(cm.getCateNom(),cm.getCatId()); }
} catch (SQLException ex)
Logger.getLogger(connectionBD.class.getName()).log(Level.SEVERE, null, ex); }
return map;
} public HashMap<String, Integer> populateCirconstance(){// pour le combo TYPE
PErSONNEL
HashMap<String,Integer> map = new HashMap<String,Integer>();
Connection con = getConnection();
Statement st;
ResultSet res; try {
st = con.createStatement();
res = st.executeQuery("SELECT * FROM circonstance");
ComboItem cm;
while(res.next()){cm = new ComboItem(res.getInt(1), res.getString(2));
map.put(cm.getCateNom(),cm.getCatId());}
} catch (SQLException ex) {
Logger.getLogger(connectionBD.class.getName()).log(Level.SEVERE,null,ex);}
return map; }}
Code de Progress bar de lancement d’application

Code de la connexion de BD à Java

Vous aimerez peut-être aussi