- •Пояснительная записка
- •1. Предметная область
- •2. Обзор методов
- •3. Модель предметной области системы
- •4. Информационная модель
- •5. Обоснование использования технических и программных средств реализации
- •6. Алгоритмы работы системы анализа рентабельности
- •7. Руководство пользователя
- •8. Пример работы
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
Список использованных источников
1) Визульные средства разработки приложений: Учеб.-метод. пособие / В.Н. Комличенко, О.П. Едемская, Н.А. Кириенко и др. - Мн.: БГУИР, 2004.
2) Давыдов В.Г. Visual C++. Разработка Windows-приложений с помощью MFС и АРI-функций / СПб.: БХВ-Петербург, 2008.
3) Карпычев В.Ю. Методология IDEF1Х и программный продукт ERWin:Учебно-методическое пособие. - Нижний Новгород: ННГУ им. Н.И. Лобачевского, 2007.
4) Анализ хозяйственной деятельности в торговле: учебник / Кравченко Л.И. – Мн, Новое знание, 2009.
5) Методология функционального проектирования IDEF0: Учеб. пособие / В.В.Бахтизин, Л.А.Глухова. – Мн.: БГУИР, 2003.
6) Структурный анализ и моделирование в среде CASE-средства BPwin: Учеб. пособие / В.В.Бахтизин, Л.А.Глухова. – Мн.: БГУИР, 2002.
Приложение а
Рисунок А.1 Контекстная диаграмма IDEF0
Рисунок А.2 Выполнение анализа рентабельности продукции предприятия
Рисунок А.3 Подсчет сводных показателей по ассортименту
Рисунок А.4 Выполнение расчета рентабельности и ее отклонений
Рисунок А.5 Определение факторов влияния
Рисунок А.6 Выполнение расчета рентабельности и ее отклонений
Рисунок А.7 Расчет рентабельности по плановым параметрам
Рисунок А.8 Расчет рентабельности по фактическим параметрам
Рисунок А.9 Расчет смешанных показателей
Приложение б
Рисунок Б.1 Информационная модель системы – логический уровень
Рисунок Б.2 Информационная модель системы – физический уровень
Приложение в
Блок-схемы алгоритмов приложений
Рисунок В.1 Рисунок В.2
Рисунок 6.3 Рисунок 6.4
Приложение г
Листинги программных кодов
1) Заголовочный файл работы сервера с сокетом MySocket.h
#if !defined(AFX_MYSOCKET_H__68F96A44_BEDC_4CB7_BC32_03AF8219935E__INCLUDED_)
#define AFX_MYSOCKET_H__68F96A44_BEDC_4CB7_BC32_03AF8219935E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MySocket.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CMySocket_ShakhnovaPP command target
class CMySocket_ShakhnovaPP : public CAsyncSocket
{
// Attributes
public:
// Operations
public:
CMySocket_ShakhnovaPP();
virtual ~CMySocket_ShakhnovaPP();
private:
CDialog* m_pWnd;
public:
void SetParent(CDialog* pWnd);
char read_buf [1025];
protected:
void OnAccept(int nErrorCode);
void OnReceive(int nErrorCode);
void OnSend(int nErrorCode);
void OnConnect(int nErrorCode);
void OnClose(int nErrorCode);
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMySocket_ShakhnovaPP)
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CMySocket_ShakhnovaPP)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
};
2) Класс сервера для работы с базой данных, и сокетами (SockDlg.h)
class CServerDlg_ShakhnovaPP : public CDialog
{
// Construction
public:
CServerDlg_ShakhnovaPP(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CServerDlg_ShakhnovaPP)
enum { IDD = IDD_SOCK_DIALOG };
CListCtrl m_List;
CButton m_ctlConnect;
CString m_strMessage;
CString m_strName;
int m_iPort;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CServerDlg_ShakhnovaPP)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CServerDlg_ShakhnovaPP)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBconnect();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
CMySocket_ShakhnovaPP m_sListenSocket;
CMySocket_ShakhnovaPP m_sConnectSocket;
char Hours[5];
public:
void OnAccept();
void OnConnect();
void OnReceive();
void OnSend() {};
void OnClose();
char* Time();
void printList(char*);
void printList(CString);
void column_dev(int a,int b, int col);
void column_min(int a,int b, int col);
void column_ren(int a,int b, int col);
void column_pokaz(int a,int b, int col);
void column_cepn(int a);
void send_int(char*);
void expMas(double*,double*);
void expMas2(double*,double*);
void send_int2(char*, int);
void send_sum(char*, int,int);
void send_sum2(char*, int,int);
double mas1[12];
double mas2[12];
};
3) Класс клиента для работы с сокетом (MySocket.h)
class CMySocket_ShakhnovaPP : public CAsyncSocket
{
// Attributes
public:
char read_buf [ 1025 ];
// Operations
public:
CMySocket_ShakhnovaPP();
virtual ~CMySocket_ShakhnovaPP();
private:
CDialog* m_pWnd;
public:
void SetParent(CDialog* pWnd);
protected:
void OnAccept(int nErrorCode);
void OnReceive(int nErrorCode);
void OnSend(int nErrorCode);
void OnConnect(int nErrorCode);
void OnClose(int nErrorCode);
// Overrides
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMySocket_ShakhnovaPP)
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CMySocket_ShakhnovaPP)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
};
4) Класс клиента позволяющий принимать данные от сервера (SockDlg.h)
class CMySocket_ShakhnovaPP : public CAsyncSocket
{
// Attributes
class CClientDlg_ShakhnovaPP : public CDialog
{
// Construction
public:
CClientDlg_ShakhnovaPP(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CClientDlg_ShakhnovaPP)
enum { IDD = IDD_SOCK_DIALOG };
CListCtrl m_List;
CButton m_ctlConnect;
CString m_strMessage;
CString m_strName;
int m_iPort;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CClientDlg_ShakhnovaPP)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CClientDlg_ShakhnovaPP)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBconnect();
afx_msg void OnBsend();
afx_msg void OnBclose();
afx_msg void OnButton1();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
CMySocket_ShakhnovaPP m_sListenSocket;
CMySocket_ShakhnovaPP m_sConnectSocket;
char Hours[5];
public:
void OnAccept();
void OnConnect();
void OnReceive();
void OnSend() {};
void OnClose();
char* Time();
void printList(char*);
void printList(CString);
// CExportPDF rep1;
char * str;
};
5) Класс клиента позволяющий экспортироватьданные в pdf (ExportPDF.h)
// SockDlg.h : header file
//
#ifndef ExportPDF_H
#define ExportPDF_H
#import "PDFCreatorPilot.dll"
using namespace PDFCreatorPilotLib;
/////////////////////////////////////////////////////////////////////////////
// CSockDlg dialog
class CExportPDF_ShakhnovaPP
{
// Construction
public:
CExportPDF_ShakhnovaPP(); // standard constructor
void reportPDF1(IPDFDocument4*);
void reportPDF2(IPDFDocument4*);
void reportPDF3(IPDFDocument4*);
void reportPDF4(IPDFDocument4*);
void reportPDF5(IPDFDocument4*);
void getData( CString);
void printData( IPDFDocument4*);
// int index;
// CString data;
IPDFDocument4* initPDF();
void Close( IPDFDocument4*);
~CExportPDF_ShakhnovaPP() ;
};
#endif
6) ВАТ-файл для запуска серверного приложения
start Sock.exe
7) SQL скрипты для генерации базы данных
CREATE TABLE `CenaEd` (
`Number` int(20) NOT NULL,
`KodProdukcii` varchar(20) NOT NULL,
`Plan` int(20) NOT NULL,
`Fakt` int(20) NOT NULL,
PRIMARY KEY (`Number`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Данные о стоимости единицы продукции';
CREATE TABLE `Produkcia` (
`KodProdukcii` char(20) NOT NULL default '',
`Naimenovanie` varchar(20) NOT NULL,
PRIMARY KEY (`KodProdukcii`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `ProizvProd` (
`Number` int(20) NOT NULL,
`KodProdukcii` varchar(20) NOT NULL,
`Plan` int(20) NOT NULL,
`Plan_Fakt` int(20) NOT NULL,
`Fakt_Plan` int(20) NOT NULL,
`Fakt` int(20) NOT NULL,
PRIMARY KEY (`Number`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Количество произведенной продукции, руб';
CREATE TABLE `ProizvSebest` (
`Number` int(20) NOT NULL,
`KodProdukcii` varchar(20) NOT NULL,
`Plan` int(20) NOT NULL,
`Plan_Fakt` int(20) NOT NULL,
`Fakt_Plan` int(20) NOT NULL,
`Fakt` int(20) NOT NULL,
PRIMARY KEY (`Number`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Себестоимость всей произведенной продукции, руб';
CREATE TABLE `SebestEd` (
`Number` int(20) NOT NULL auto_increment,
`KodProdukcii` char(20) default NULL,
`Plan` int(20) default NULL,
`Fakt` int(20) NOT NULL,
PRIMARY KEY (`Number`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=13 ;
CREATE TABLE `SebestRealiz` (
`Number` int(20) NOT NULL,
`KodProdukcii` varchar(20) NOT NULL,
`Plan` int(20) NOT NULL,
`Plan_Fakt` int(20) NOT NULL,
`Fakt_Plan` int(20) NOT NULL,
`Fakt` int(20) NOT NULL,
PRIMARY KEY (`Number`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Себестоимость реализованной продукции, руб';
CREATE TABLE `Vyruchka` (
`Number` int(20) NOT NULL,
`KodProdukcii` varchar(20) NOT NULL,
`Plan` int(20) NOT NULL,
`Plan_Fakt` int(20) NOT NULL,
`Fakt_Plan` int(20) NOT NULL,
`Fakt` int(20) NOT NULL,
PRIMARY KEY (`Number`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Выручка от реализации продукции, руб';