WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'un système d'information de gestion académique, cas de l'institut supérieur de commerce de Kinshasa, en sigle l'I.S.C./kin.

( Télécharger le fichier original )
par Limex LIMEKA LI-MABILA
Institut Supérieur de commerce de Kinshasa - ISC/KIN - Licence en informatique de gestion, option conception des systèmes d'information 2003
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.2. LE MODELE PHYSIQUE DE TRAITEMENTS

Gestion Académique

Barre de menus

Préparation résultats

Pré

inscription

Impression

Validation dossier

Préparation résultats

Quitter

Enrôlement

Aperçu avant impression

Menu
Inscription

Menu
Concours

Menu Scolarité

Confirmation inscription

Complément ation dossier

Menu
Délibération

Harmonisatio n des points

Suivi
délibérations

Saisie -- Enseignant

Menu Sécurité

Modification des comptes

Paramètres académiques

Création des comptes ut.

Login

Mot de passe

Nom de l'utilisateur Domaine d'activité

Dans le cadre de ce mémoire, nous allons jongler un peu entre la structuration par des menus et surtout le regroupement d'ULT en programmes en fonction de la nature des ULT et des objectifs de modularité. En d'autres termes, nous exécuterons notre projet dans l'environnement Windows tout en regroupant les grandes fonctions de celui-ci dans des menus et ces derniers sont structurés en fonction de la nature des ULT et des objectifs de modularité prévus. Cela étant, le modèle physique de traitements (MPT) issu du projet de la « Gestion Académique » tenant compte des objectifs fondamentaux de l'informatisation ("Gestion des inscriptions et scolarité" et "Préparation et suivi des délibérations") du système d'information se présente comme suit :

174

Le modèle physique des traitements a été réalisé par le langage de programmation orientée objet Visual C++ 6.0 comme nous l'avons explicité ci-dessus. Visual C++ utilise un certain nombre des fichiers, comme par exemple : les fichiers .cpp et .rc. Les codes associés à ce MPT en ce qui concerne le fichier MainFrm.cpp de la classe de base CMainFrame se présentent comme suit :

// MainFrm.cpp : implementation of the CMainFrame class //

#include "stdafx.h"

#include "GESTAC.h"

#include "MainFrm.h"

//Mes classes en-têtes

#include "PreInscriptionDlg.h"

#include "PreparationDeliDlg.h"

#include "SaisieCoteDlg.h"

#include "SuiviDeliDlg.h"

#include "ValidationInscDlg.h"

#include "PreInscriptionDlg.h"

#include "EnrolementDlg.h"

#include "ConcoursDlg.h"

#include "ComplementationDossierDlg.h"

#include "ConfirmationInsDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

///////////////////////////////////////////////////////////////////////////// // CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)

//{{AFX_MSG_MAP(CMainFrame)

ON_WM_CREATE()

ON_COMMAND(ID_CONCOURS_PRPARATIONRSULTATS, OnConcoursPrparationrsultats) ON_COMMAND(ID_DLIBRATION_PRPARATIONRSULTATS, OnDlibrationPrparationrsultats) ON_COMMAND(ID_DLIBRATION_SAISIEENSEIGNANT, OnDlibrationSaisieenseignant) ON_COMMAND(ID_DLIBRATION_SUIVIDLIBRATION, OnDlibrationSuividlibration) ON_COMMAND(ID_INSCRIPTION_ENRLEMENT, OnInscriptionEnrlement) ON_COMMAND(ID_INSCRIPTION_PRINSCRIPTION, OnInscriptionPrinscription) ON_COMMAND(ID_INSCRIPTION_VALIDATIONDOSSIER, OnInscriptionValidationdossier) ON_COMMAND(ID_SCOLARIT_COMPLMENTATIONDOSSIER,

OnScolaritComplmentationdossier)

ON_COMMAND(ID_SCOLARIT_CONFIRMATIONINSCRIPTION,

OnScolaritConfirmationinscription)

ON_COMMAND(ID_SCURITGESTAC_CRATIONDESCOMPTESUTILISATEURS,

OnScuritgestacCrationdescomptesutilisateurs)

ON_COMMAND(ID_SCURITGESTAC_MODIFICATIONCOMPTE,

OnScuritgestacModificationcompte)

ON_COMMAND(ID_SCURITGESTAC_PARAMTRESACADMIQUES,

OnScuritgestacParamtresacadmiques)

ON_COMMAND(ID_APP_EXIT, OnAppExit)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

175

}

static UINT indicators[] = {

ID_SEPARATOR, // status line indicator

ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, };

///////////////////////////////////////////////////////////////////////////// // CMainFrame construction/destruction

CMainFrame::CMainFrame()

{

// TODO: add member initialization code here

}

CMainFrame::~CMainFrame()

{

}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CFrameWnd::OnCreate(lpCreateStruct) == -1)

return -1;

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

{

TRACE0("Failed to create toolbar\n");

return -1; // fail to create

}

if (!m_wndStatusBar.Create(this) ||

!m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))

{

TRACE0("Failed to create status bar\n");

return -1; // fail to create

}

// TODO: Delete these three lines if you don't want the toolbar to // be dockable

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

EnableDocking(CBRS_ALIGN_ANY);

DockControlBar(&m_wndToolBar);

return 0;

}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if( !CFrameWnd::PreCreateWindow(cs) )

return FALSE;

// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT cs

return TRUE;

176

}

///////////////////////////////////////////////////////////////////////////// // CMainFrame diagnostics

#ifdef _DEBUG

void CMainFrame::AssertValid() const

{

CFrameWnd::AssertValid();

}

void CMainFrame::Dump(CDumpContext& dc) const

{

CFrameWnd::Dump(dc);

}

#endif //_DEBUG

///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers

void CMainFrame::OnConcoursPrparationrsultats()

{

// TODO: Add your command handler code here

CPreparationDeliDlg prepdeli;

prepdeli.DoModal();

}

void CMainFrame::OnDlibrationPrparationrsultats()

{

// TODO: Add your command handler code here

CConcoursDlg conco;

conco.DoModal();

}

void CMainFrame::OnDlibrationSaisieenseignant()

{

// TODO: Add your command handler code here

CSaisieCoteDlg saiscot;

saiscot.DoModal();

}

void CMainFrame::OnDlibrationSuividlibration()

{

// TODO: Add your command handler code here

CSuiviDeliDlg suivi;

suivi.DoModal();

}

void CMainFrame::OnInscriptionEnrlement()

{

// TODO: Add your command handler code here

CEnrolementDlg enrol;

enrol.DoModal();

}

void CMainFrame::OnInscriptionPrinscription()

{

// TODO: Add your command handler code here

CPreInscriptionDlg preinsc;

preinsc.DoModal();

}

void CMainFrame::OnInscriptionValidationdossier()

{

// TODO: Add your command handler code here

CValidationInscDlg valdoss;

valdoss.DoModal();

177

void CMainFrame::OnScolaritComplmentationdossier() {

// TODO: Add your command handler code here CComplementationDossierDlg complem; complem.DoModal();

}

void CMainFrame::OnScolaritConfirmationinscription()

{

// TODO: Add your command handler code here

CConfirmationInsDlg confins;

confins.DoModal();

}

void CMainFrame::OnScuritgestacCrationdescomptesutilisateurs()

{

// TODO: Add your command handler code here

}

void CMainFrame::OnScuritgestacModificationcompte()

{

// TODO: Add your command handler code here

}

void CMainFrame::OnScuritgestacParamtresacadmiques()

{

// TODO: Add your command handler code here

}

void CMainFrame::OnDlibrationHarmonisationetprquation()

{

// TODO: Add your command handler code here

}

void CMainFrame::OnAppExit()

{

// TODO: Add your command handler code here

AfxMessageBox("Nous vous remercions d'avoir choisi GESTAC. Nous vous souhaitons une bonne détente.",MB_OK+MB_ICONINFORMATION);

exit(1);

}

En outre, nous vous présentons ci-dessous les codes du fichier LonginDlg.cpp de la classe CLonginDlg héritant les propriétés de la classe de base CDialog.

// LonginDlg.cpp : implementation file

//

#include "stdafx.h"

#include "GESTAC.h"

#include "LonginDlg.h"

//Mes classes

#include "SecuriteSet.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

178

}

///////////////////////////////////////////////////////////////////////////// // CLonginDlg dialog

CLonginDlg::CLonginDlg(CWnd* pParent /*=NULL*/)

: CDialog(CLonginDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CLonginDlg)

m_Motdepasse = _T("");

m_Nomutilisateur = _T("");

m_Initiales = _T("");

m_Domainedactivite = _T("");

m_MatriculeComboBoxString = _T("");

//}}AFX_DATA_INIT

}

void CLonginDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CLonginDlg)

DDX_Control(pDX, IDC_COMBO1, m_MatriculeComboBoxCtrl);

DDX_Control(pDX, IDC_BUTTON1, m_Abandonner);

DDX_Text(pDX, IDC_EDIT5, m_Motdepasse);

DDX_Text(pDX, IDC_EDIT2, m_Nomutilisateur);

DDX_Text(pDX, IDC_EDIT3, m_Initiales);

DDX_Text(pDX, IDC_EDIT4, m_Domainedactivite);

DDX_CBString(pDX, IDC_COMBO1, m_MatriculeComboBoxString);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CLonginDlg, CDialog)

//{{AFX_MSG_MAP(CLonginDlg)

ON_BN_CLICKED(IDC_BUTTON1, OnAbandonner)

ON_CBN_CLOSEUP(IDC_COMBO1, OnCloseupCombo1)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CLonginDlg message handlers

void CLonginDlg::OnAbandonner()

{

// TODO: Add your control notification handler code here

AfxMessageBox("Nous vous remercions d'avoir choisi GESTAC. Nous vous souhaitons une bonne détente.",MB_OK+MB_ICONINFORMATION);

exit(1);

}

BOOL CLonginDlg::OnInitDialog() {

CDialog::OnInitDialog();

// TODO: Add extra initialization here UpdateData(TRUE); CSecuriteSet secur; secur.m_strSort="[Matricule_Utilisateur]"; if (!secur.IsOpen())

secur.Open();

if(secur.IsEOF() || secur.IsBOF())

{

secur.Close();

secur.m_strSort="";

179

else

{

secur.MoveFirst();

CString Tempo ="";

while(!secur.IsEOF())

{

if(Tempo != secur.m_Matricule_Utilisateur)

{

m_MatriculeComboBoxCtrl.AddString(secur.m_Matricule_Utilisateur);

Tempo = secur.m_Matricule_Utilisateur;

}

secur.MoveNext();

}

secur.Close();

secur.m_strSort="";

}

UpdateData(FALSE);

return TRUE; // return TRUE unless you set the focus to a control

// EXCEPTION: OCX Property Pages should return FALSE

}

void CLonginDlg::OnCloseupCombo1()

{

// TODO: Add your control notification handler code here

UpdateData(TRUE);

CSecuriteSet secur;

secur.m_strFilter ="[Matricule_Utilisateur]='"+m_MatriculeComboBoxString+"'";

if (!secur.IsOpen())

secur.Open();

m_Nomutilisateur = _T(secur.m_Nom_Utilisateur);

m_Initiales = _T(secur.m_Initiales_Utilisateur);

m_Domainedactivite = _T(secur.m_Domaine_Activit_);

m_MatriculeComboBoxString = _T(secur.m_Matricule_Utilisateur);

secur.Close();

UpdateData(FALSE);

}

void CLonginDlg::OnOK()

{

// TODO: Add extra validation here

UpdateData(TRUE);

CSecuriteSet secur;

secur.m_strFilter ="[Mot_de_passe]='"+m_Motdepasse+"' AND

[Matricule_Utilisateur]='"+m_MatriculeComboBoxString+"'";

if (!secur.IsOpen())

secur.Open();

if (m_Nomutilisateur == _T("") || m_Initiales == _T("") || m_Domainedactivite == _T("") ||

m_MatriculeComboBoxString == _T(""))

{

AfxMessageBox("Veuillez sélectionner un numéro matricule avant de continuer. S.V.P.",MB_OK+MB_ICONINFORMATION);

return;

}

if (m_Motdepasse != secur.m_Mot_de_passe || m_MatriculeComboBoxString != secur.m_Matricule_Utilisateur)

{

int iResult =

MessageBox("Nous sommes désolés ! Votre mot de passe n'est pas correct. Si vous voulez essayer de nouveau, appuyez sur le bouton OUI.",

180

"Mot de passe incorrect !",

MB_YESNO+MB_ICONEXCLAMATION);

if (iResult == IDYES)

{

m_Motdepasse = _T("");

return;

}

if (iResult == IDNO)

{

AfxMessageBox("Merci d'avoir bien voulu essayer d'y accéder. La prochaine fois vous y parviendrez.",MB_OK+MB_ICONEXCLAMATION);

exit(1);

}

}

secur.Close();

UpdateData(FALSE);

CDialog::OnOK();

}

Pour clore, voici les codes du fichier SecuriteSet de la classe CSecuriteSet héritant les propriétés de la classe de base CRecordset.

// SecuriteSet.cpp : implementation of the CSecuriteSet class

//

#include "stdafx.h"

#include "GESTAC.h"

#include "SecuriteSet.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

///////////////////////////////////////////////////////////////////////////// // CSecuriteSet implementation IMPLEMENT_DYNAMIC(CSecuriteSet, CRecordset) CSecuriteSet::CSecuriteSet(CDatabase* pdb)

: CRecordset(pdb)

{

//{{AFX_FIELD_INIT(CSecuriteSet) m_Matricule_Utilisateur = _T(""); m_Nom_Utilisateur = _T(""); m_Domaine_Activit_ = _T(""); m_Initiales_Utilisateur = _T(""); m_Mot_de_passe = _T("");

m_nFields = 5;

//}}AFX_FIELD_INIT

m_nDefaultType = snapshot;

}

CString CSecuriteSet::GetDefaultConnect() {

return _T("ODBC;DSN=BDD Gestion Académique");

}

CString CSecuriteSet::GetDefaultSQL()

{

return _T("[Tbl_SECURITE]");

}

void CSecuriteSet::DoFieldExchange(CFieldExchange* pFX)

181

{

//{{AFX_FIELD_MAP(CSecuriteSet)

pFX->SetFieldType(CFieldExchange::outputColumn);

RFX_Text(pFX, _T("[Matricule_Utilisateur]"), m_Matricule_Utilisateur); RFX_Text(pFX, _T("[Nom_Utilisateur]"), m_Nom_Utilisateur); RFX_Text(pFX, _T("[Domaine_Activité]"), m_Domaine_Activit_); RFX_Text(pFX, _T("[Initiales_Utilisateur]"), m_Initiales_Utilisateur); RFX_Text(pFX, _T("[Mot_de_passe]"), m_Mot_de_passe); //}}AFX_FIELD_MAP

}

/////////////////////////////////////////////////////////////////////////////

// CSecuriteSet diagnostics

#ifdef _DEBUG

void CSecuriteSet::AssertValid() const

{

CRecordset::AssertValid();

}

void CSecuriteSet::Dump(CDumpContext& dc) const

{

CRecordset::Dump(dc);

}

#endif //_DEBUG

182

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Les esprits médiocres condamnent d'ordinaire tout ce qui passe leur portée"   François de la Rochefoucauld