Файл: Технол_разраб_прогр_обесп_Гагарина_Кокарева.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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. Файл СЫТООС.СРР

Файл СКТООС.СРР содержит ряд дополнительных фрагментов, с которыми ранее мы не встречались.