ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.11.2019
Просмотров: 13451
Скачиваний: 411
Содержание
Содержание 361
Ведомость эскизного проекта 362
Пояснительная записка к эскизному проекту 363
Общие положения. 363
Основные технические решения 363
Решения по структуре системы 363
Решения по режимам функционирования,
работы системы 365
Решения по численности, квалификации
и функциям персонала АС. 365
Состав функций комплексов задач, реализуемых
системой 365
Решения по составу программных средств, языкам
деятельности, алгоритмам процедур и операций
и методам их реализации 366
Источники разработки 367
Ведомость эскизного проекта
На предыдущих стадиях разработки СУБД «Пенсионный Фонд» были составлены и утверждены следующие документы:
• Техническое задание на создание информационной системы СУБД «Пенсионный Фонд», разработанное на основании ГОСТ 34.602—89 на написание ТЗ на автоматизированные системы управления от 01.01.1990 г.
Пояснительная записка к эскизному проекту
Общие положения
Данный документ является эскизным проектом на создание Системы Управления Базой Данных для Библиотечного Фонда Российской Федерации (СУБД «Библиотека»).
Перечень организаций, участвующих в разработке системы, сроки и стадии разработки, а также ее цели и назначение указаны в техническом задании на создание информационной системы.
Основные технические решения
Решения по структуре системы
СУБД «Библиотека» будет представлять собой персональную систему управления локальной базой данных, работающей на одном компьютере.
Система будет управлять реляционной базой данных, представляющей собой набор связанных между собой таблиц в формате Paradox, доступ к которым осуществляется с помощью ключей или индексов. Сведения в одной таблице могут отражать сведения из другой, и при изменении сведений в первой таблице эти изменения немедленно отображаются во второй. Таким образом будет достигнута непротиворечивость данных.
Общая структура базы данных:
• Анкеты организации, которые зарегистрированы в данном ПФ:
-
Тип предприятия (Российская организация, Физическое лицо, Иностранная организация, Обособленное подразделение).
-
Вид предприятия (Адвокаты, Бюджетное, Единый налог 6 %, Единый налог 15 %, Сельхозпродукция, Службы занятости, Фермерское хозяйство, Прочее).
-
Регистрационный номер работодателя в ПФР (3 — 3 — 6).
-
Свидетельство: серия, номер.
-
Дата выдачи свидетельства (число__месяц_год).
-
ИНН.
-
КПП.
-
Наименование.
-
Юридический адрес:
-
Почтовый индекс.
-
Регион.
-
Район.
-
Город.
-
Населенный пункт.
-
Улица.
-
Дом.
-
Корпус.
-
Квартира.
— Адрес постоянно действующего органа (при отличии от юридического).
• Анкеты сотрудников этих организаций:
-
Фамилия.
-
Имя.
-
Отчество.
-
Пол (М/Ж).
-
Дата рождения (Дата).
-
Страховой номер.
-
Место рождения (Страна, Регион, Район, Город, Населенный пункт).
Гражданство.
-
Адрес регистрации (Страна, Почтовый индекс, Регион, Район, Город, Населенный пункт, Улица, Дом, Корпус, Квартира).
-
Адрес места жительства фактический (Страна, Почтовый индекс, Регион, Район, Город, Населенный пункт, Улица, Дом, Корпус, Квартира).
-
Телефон домашний.
-
Телефон служебный.
-
Документ (Удостовер. личность).
-
Дата выдачи (Дата).
-
Кем выдан ().
-
Дата заполнения (Дата).
-
ИНН.
• Сведения о стаже сотрудников этих организаций:
-
Страховой номер.
-
Фамилия.
-
Имя.
-
Отчество.
-
Дата рождения.
Территориальные условия проживания на
— Таблица периодов работы со следующей структурой:
-
Начало периода (дата).
-
Конец периода (дата).
-
Вид деятельности (работа, служба соцстрах, уход-дети, безр, реабилит, уход-инвд, профзаб, пересмотр).
-
Наименование организации.
-
Должность.
-
Территориальные условия.
Решения по режимам функционирования, работы системы
СУБД «Библиотека» будет функционировать в однопользовательском режиме, а также будет способна:
-
просматривать записи базы данных (в том числе и при помощи фильтров);
-
добавлять новые записи;
-
удалять записи;
-
при входе в систему будет запрашиваться пароль.
Решения по численности, квалификации и функциям персонала АС
Указанные решения должны удовлетворять требованиям, приведенным в техническом задании на разработку системы
Состав функций комплексов задач, реализуемых системой
Автоматизированная система должна выполнять следующие функции:
-
сделать запись о пенсионном удостоверении;
-
удалить информацию о пенсионном удостоверении;
-
выдать справку о всех пенсионных удостоверениях;
-
зарегестрировать новое предприятие в ПФ РФ;
-
удалить предприятие из базы данных;
-
выдать справку обо всех предприятиях, зарегистрированных в ПФ РФ;
-
подсчитать пенсию для работников предприятий на основании стажа;
-
выдать справку о пенсионных накоплениях работника.
Решения по составу программных средств, языкам деятельности, алгоритмам процедур и операций и методам их реализации
Для реализации АС будет использоваться среда программирования Boland Delphi 7.0 и язык программирования Object Pascal.
Для подсчета пенсии будет использоваться следующий алгоритм.
Вначале определяется стажевый коэффициент пенсионера. Он полагается равным 0,55 за общий трудовой стаж до текущей даты не менее 25 лет мужчинам и 20 лет женщинам. За каждый полный год стажа сверх указанного стажевый коэффициент увеличивается на 0,01, но не более чем на 0,20.
Затем определяется отношение заработка пенсионера к среднемесячной заработной плате в стране. Этот заработок может быть взят за этот отсчетный период или за любые 60 месяцев работы подряд, или тот, из которого была исчислена пенсия на момент реформы. Среднемесячная зарплата в стране берется за тот же самый период.
Отношение заработков учитывается в размере не свыше 1,2. Для пенсионеров, проживающих на Крайнем Севере, учитываемое соотношение выше: от 1,4 до 1,9 в зависимости от установленного в централизованном порядке районного коэффициента к зарплате.
Затем стажевый коэффициент умножается на соотношение заработков и на 1671 руб. — утвержденную для расчетов среднемесячную зарплату в стране за III квартал 2001 г. Это и будет пересчитанный размер трудовой пенсии по новому законодательству в обычном случае. Если он оказался менее 660 руб., то размер пенсии «доводится» до этого гарантированного минимума.
Если пенсионер является инвалидом I группы или достиг к 1 января 2002 г. возраста 80 лет и более, рассчитанный в этом порядке размер пенсии по старости увеличивается на 450 руб.
Если у пенсионера имеются лица, находящиеся на его иждивении, то рассчитанный размер пенсии увеличивается на 150 руб. на каждого иждивенца, но не более чем на трех в общей сложности.
Источники разработки
Данный документ разрабатывался на основании ГОСТ 34.698—90 на написание ТЗ на автоматизированные системы управления от 01.01.1992 г.
Приложения
СОСТАВИЛИ
Должность исполнителя
Фамилия, имя, отчество
Подпись
Дата « » . 2007 г.
Должность исполнителя
Фамилия, имя, отчество
Подпись
Дата « » 2007 г.
Должность исполнителя
Фамилия, имя, отчество
Подпись
Дата « » 2007 г.
Приложение 5
Листинги программ к лабораторной работе № 6
7. Файл CNT.CPP
// Cnt.cpp: определяет работу приложения. //
^include "stdafx.h" ^include "Cnt.h" Hnclude "MainFrm.h" ^include "CntDoc.h" ^include "CntView.h" #ifdef _DEBUG #def±ne new DEBUG__NEW #undef THIS_FILE
static char THIS_FILE[] = __FILE_; #endi£
// ССпЫЬрр
ВЕСШ__МЕЗЗАвЕ_МАР {ССпЫрр, СШпАрр) //{ (АРХ^МБв^МАР (ССпЬАрр)
ОЯ^ОММАЯБ (1Б__АРР_АВ0иТ, ОпАррАЬои^
ПРИМЕЧАНИЕ: мастер классов будет добавлять и удалять
здесь макросы схемы сообщений.
НЕ РЕДАКТИРУЙТЕ то, что здесь находится.
/ / ; }АГХ_М8С_МАР
// Стандартные операции с документами
ONjCOMMAND(ID__FILE_NEWf CWinApp OnFileNew) ON COMMAND(ID FILE OPEN, CWinApp: :OnFileOpen)
Стандартная команда задания установок принтера
ON_COmAND (ID_FILE_PRINT__SETUP , CWinApp: :OnFi1ePrintSetup) END_MESSAGE__MAP ()
Конструктор класса СспЬАрр
CCntApp::CCntApp () {
// Здесь добавьте код конструктора.
// Все наиболее важные команды инициализации
// разместите в методе Initlnstance.
;
///////////////////////////////////////////////////////
Единственный объект класса ССпЬАррССпЬАррЬЬеАрр;
Инициализация класса CcntApp BOOLCCntApp::Initinstance () f
// Инициализация библиотек OLE
if(!Afx01eInit() ) {
AfxMessageBox (IDP__OLE__INIT__FAILED) ; return FALSE; } AfxEnableControlContainer ();
// Стандартная инициализация.
// Если вам не нужны используемые здесь возможности
// и вы хотите сократить размер исполняемого файла,
// удалите ненужные команды.
tifdef __AFXDLL ЕпаЫ e3dCon trols () ;
Эта функция вызывается при динамической компоновке MFC
#else
Enable3dControlsStatic ();
эта функция вызывается при статической компоновке MFC
tiendif
// Измените раздел реестра, где будут храниться // параметры программы.
SetRegistryKey(_T("Local AppWizard-Generated Applications")); LoadStdProfileSettings();
загрузка параметров из INI-файла Регистрация шаблонов документов приложения
CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate ( IDR_MAINFRAME, RUNTIME__CLASS (CCntDoc)
RUNTIME__CLASS (CMainFrame) // основное SDJ-окно» RUNTIME___CLASS (CCntView) )
pDocTemplate->SetContainerInfo(IDR^CNTR^INPLACE) AddDocTemplate (pDocTemplate)
Анализ командной строки на предмет поиска системных команд, DDE-команд или команд открытия файлов.
CCommandLinelnfo cmdlnfo; ParseCommandLine (cmdlnf о) ;
Обработка команд, указанных в командной строке
if ( ProcessShellCommand (cmdlnfo) ) return FALSE;
Отображение окна приложения
_pMainWnd->ShowWindow (SWJSHOW) m_j>MainWnd->Upda teWindow () return TRUE; }
Класс CAboutDlg, управляющий окном About
class CAboutDlg public Cdialog { public:CAboutDlg ( )
II Данные диалогового окна
11 {(AFX_JDATA (CAboutDlg) enum { IDD = IDD_ABOUTBOX }; 11 }}AFX_J)ATA
II Виртуальные функции, сгенерированные
// мастером ClassWizard
11 { {AFX_VIRTUAL (CAboutDlg)
protected:
virtual void Do Da taEx change (CDataExchange* pDX)
11} )AFX_VIRTUAL
II Реализация
protected:
11 { i AFX_MSG (CAboutDlg)
II Обработчики сообщений отсутствуют IS})AFXMSG
DECLARE_MESSAGE__MAP ()
};
CAboutDlg: CAboutDlg () CDialog (CAboutDlg: IDD) {
II { fAFX__DATA_INIT (CAboutDlg) //}}AFX DATA INIT
}
void CAboutDlg::DoDataExchange (CDataExchange* pDX) { CDialog::DoDataExchange (pDX) ;
11 { {AFX__DATA__MAP (CAboutDlg) II}} AFX__DA TA__MAP }
BEGIN_MESSAGE_MAP (CAboutDlg, CDialog) 11 { {AFX_MSG_MAP (CAboutDlg)
II Обработчики сообщений отсутствуют / / ; } AFX_MSG_MAPEND__MESSAGE_MAP ()
Функция, управляющая выводом окна About vold ССп tApp:: OnAppAbou t() {
CAboutDlg ahoutDlg; ahou tDlg. DoModal () ; }
Другие функции класса ССпtApp
Данный листинг содержит один фрагмент, заслуживающий особого внимания. В OLE используется концепция непосредственного редактирования (in-placeediting). Это означает, что после двойного щелчка на объекте, внедренном в документ контейнера, такой как наш, строка меню и панели инструментов соответствующего OLE-сервера замещают меню и панели инструментов контейнера. Например, если в документ приложения Cnt будет внедрена электронная таблица Excel, то после двойного щелчка на ней строка меню и панели инструментов программы Excel появятся в окне программы Cnt. Смена меню происходит автоматически и обрабатывается библиотекой MFC с помощью средств OLE. Этот процесс становится возможным благодаря тому, что в приложение добавляется два ресурса меню: idr_mainfraimen idr__cntr_jnplace (имя последнего идентификатора уникально для данного приложения). По умолчанию отображается меню IDR_MAINFRAIME. Но когда внедренный объект активизируется для непосредственного редактирования, загружается меню idr_cntr_in-PLACE.
2. Файл MAINFRM.CPP
II MainFrm.cpp: реализация класса CMainFrame //
#include "stdafx.h" #include "Cnt.h"
#include "MainFrm.h" tifdef _DEBUG #define new DEBUG_NEW tundef THIS_FILE
Static char THIS_FILE[] _FILE_; #endif
СтаinFrame
IMPLEMENT_DYNCREATE (CMainFrame, CFrameWnd) i BEGIN_MESSAGE_MAP (CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP (CMainFrame)
// ПРИМЕЧАНИЕ: мастер классов будет добавлять // и удалять здесь макросы схемы сообщений. // НЕ РЕДАКТИРУЙТЕ то,что здесь находится. //}}AFX_MSG_MAPEND_MESSAGE_MAP ( )
static UINT indicators!] {
ID_SEPARATOR, // поля строки состояния
ID_INDICATOR_ACAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
ИКонструктор и деструктор класса CMainFrame CMainFrame::CMainFrame() {
Здесь добавьте код конструктора.
}
CMainFrame::-CMainFrame() f
int CMainFrame: :OnCreate (LPCREATESTRUCT
IpCreateStruct) {
if (CFrameWnd: :OnCreate (IpCreateStruct) -1) return -1;
if (!m__wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD
WS_VISIBLE I CBRS_TOP | CBRS_GRIPPER I CBRSJTOOLTIPS I
CBRS_FLYBY | CBRS_SIZE_DYNAMIC) |
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)
TRACEO ("Failed to create toolbar\n")
return-1; // создать панель инструментов не удалось
}
if (!m_wndStatusBar.Create(this) I I
!m_wndStatusBar.Setlndicators(indicators,
sizeof(indicators)/sizeof(UINT))) (
TRACEO("Failedto create status bar\n"); return -1;
// создать строку состояния не удалось}
// Удалите следующие три строки, если вы не хотите, // чтобы панель инструментов была перемещаемой.
m_wndToolBar EnableDocking (CBRS_ALIGN_ANY) EnableDocking(CBRS_ALIGN_ANY) DockControlBar (Sm_wndToolBar) return 0; }
BOOL CMainFrame: PreCreateWindow (CREATESTRUCT Ses) if(ICFrameWnd: PreCreateWindow (cs)) return FALSE;
Здесь можно модифицировать класс окна, изменяя поля структуры cs.
return TRUE;
Диагностика класса CmainFrame ttifdef _DEBUG
void CMainFrame: :AssertValid const {
CFrameWnd: :AssertValid() }
void CMainFrame::Dump(CDumpContext Sdc) const {
CFrameWnd::Dump(dc);
ttendif
// DEBUG
Обработчики сообщений класса СМа1пГгате
3. Файл СЫТООС.СРР
Файл СКТООС.СРР содержит ряд дополнительных фрагментов, с которыми ранее мы не встречались.