Технология разработки программного обеспечения

“Санкт-Петербургский государственный университет аэрокосмического приборостроения”



















Курсовая работа по дисциплине:

«Технология разработки программного обеспечения»











Выполнил

студент заочного отделения (10 факультет) 

Группа №z6432k

Цирель Дмитрий Федорович











Санкт – Петербург

2011г.


Содержание



1 Введение

1.1 Обзор системы

2. Написание диаграмм информационной системы на языке UML

2.1 Описание прецедентов

2.1.1 Выдача ИНН физ лицу

2.1.2 Выдача ИНН юр лицу

2.1.3 Восст ИНН юр и физ лица

2.1.4 Подача налоговой декларации

2.1.5 Проверка р лица

2.1.6 Отправка жалобы на юр лицо

2.2 Диаграмма использования (Use Case)

2.3 Диаграмма последовательности (Sequence Diagram)

2.3.1 Абстрактная диаграмма последовательностей

2.3.2 Переделанная диаграмма последовательностей

2.4 Диаграмма классов

2.4.1 Модель предметной области

2.4.2 Диаграмма классов

3. Заключение

Используемая литература

Приложение 1. Описание классов на языке С++


Введение



В настоящей работе с использованием языка UML описывается информационная система налоговой инспекции. Суть заключается в том, что автоматизации подвергается работа налоговых инспекторов с физическими и юридическими лицами, а так же с базами данных.



Обзор системы



Данная информационная система предназначается для автоматизации работы государственной инспекции по налогам и сборам. В частности работы с ИНН и налоговыми декларациями.

Система выполняет различные задачи, например: работа с БД ИНН по юридическим и физическим лицам, в случае необходимости подача жалобы в налоговую полицию, ускорение процесса выдачи и восстановления ИНН физическим и юридическим лицам. 

Пользователями данной информационной системы являются работники налоговой инспекции.


2.Написание диаграмм информационной системы на языке UML



В данной курсовой работе, чтобы описать информационную систему мы использовали диаграммы прецедентов, диаграммы классов, диаграммы использования, диаграммы последовательностей.

Словарь UML включает два вида блоков: отношение связи и сущности. 

Оценка диаграммы производиться по формуле:







где S -оценка диаграммы,

  -оценка элементов диаграмм,

 -оценка связей

 -количество объектов на диаграмме,

  -количество типов объектов,

  -количество типов связей,

В случае, если диаграмма содержит большое количество связей одного типа, то их можно не учитывать:







Если на диаграмме классов указаны для класса атрибуты и операции, то к оценке классов добавляется следующая составляющая:







Где Op - число операций классов,

 Atr - число атрибутов класса,

Оценки элементов диаграмм и типов связей берутся из таблицы 1-2. Диапазоны оптимальных оценок диаграмм приведены в таблице3. 



Таблица 1

Оценки элементов диаграмм UML

Тип элемента

Оценка элемента

Класс 

Варианты использования

5

2



Таблица 2

Оценки типов связей диаграмм UML

Тип связи

Оценка 

Зависимость 

Ассоциация

Агрегация

Обобщение

2

1

2

3



Таблица 3

Диапазоны оптимальных оценок диаграмм UML

Диаграмма 

Оценка элемента

Диаграмма классов с атрибутами операциями 

Диаграмма классов

Диаграмма использования

Диаграмма последовательностей

5- 5.5

3- 3.5

2.5- 3

3- 3.5



2.1 Описание прецедентов



В прецедентах рассматривается типовое поведение актёров и их взаимодействие с системой. Существует основной поток сценария прецедента, который отражает наиболее часто встречаемою последовательность действий. Завершение такого потока считается успешным. 

В данной работе сначала описывается основной поток сценария, затем заинтересованные лица и их обязанности, предусловия и постусловия и альтернативные варианты.

1) Заинтересованные лица и их обязанности - актёры заинтересованные в успешном завершении прецедента , а так же исполняемые ими обязанности.

2) Предусловия - условия, которые должны быть выполнены перед началом прецедента 

3) Постусловие - условия, выполненные после завершения прецедента.

4) Альтернативные варианты – это отклонения от основного сценария прецедента. 



2.1.1 Выдача ИНН физическому лицу:

1.Основной исполнитель:

Основным исполнителем является работник налоговой инспекции.

2.Заинтересованные лица и их обязанности:

- физические лица (для них является обязательным предоставление всех необходимых данных при подаче заявления на получение ИНН)

3.Предусловия:

- физ. лицо имеет паспорт

- имеет прописку по месту обращения

4.Тело прецедента:

а)Физ. лицо подает завку на ИНН 

б)Занесение паспортных данных

в)Система генерирует номер ИНН по алгоритму

г)Печать спецбланка с ИНН

д)Выдача спец. бланка с ИНН

5.Постусловия:

- Бланк с ИНН на руках

- данные и ИНН в базе





2.1.2 Выдача ИНН юридическому лицу:

1.Основной исполнитель:

Основным исполнителем данной информационной системы является работник налоговой инспекции

2.Заинтересованные лица и их обязанности:

- юридические лица (для них является обязательным предоставление всех необходимых сведений для подачи заявления на регистрацию)

3.Предусловия:

- предъявлены все необходимые данные

- объявлены юр и физ. Адреса

4.Тело прецедента:

Юр лицо подает заявку на регистрацию

Система проверяет данные и занесение в регистр юридических лиц

Система Генерирует номера ИНН по алгоритму

Печать спецбланка с рег информацией

Выдача регистрационной информации, в том числе и ИНН

5.Постусловия:

- бланк с рег. Информацией выдан

- информация - в регистре юр лиц



2.1.3 Восстановление ИНН физ. и юр лицу:

1.Основной исполнитель:

Основным исполнителем данной информационной системы является работник налоговой инспекции.

2.Заинтересованные лица и их обязанности:

-физические лица (для них является обязательным предоставление всех необходимых данных при подаче заявления на восстановление ИНН)

-юридические лица (для них является обязательным предоставление всех необходимых сведений для подачи заявления на восс. ИНН)

3.Предусловия:

- информация на физ. лицо уже имеется

- наличие паспорта

4.Тело прецедента:

а)Юр/физ лицо подает заявку на восст

б)Прием заявления на восстановление

в)Система производит поис данных

г)Печать бланка

д)Выдача утраченного номера ИНН

5.Постусловия:

- бланк с ИНН выдан



2.1.4 Подача налоговой декларации:

1.Основной исполнитель:

Основным исполнителем данной информационной системы является работник налоговой инспекции

2.Заинтересованные лица и их обязанности:

- юридические лица (для них является обязательным предоставление всех необходимых сведений для подачи своевременная подача декларации, документов на проверку)

3.Предусловия:

- все необходимые сведения заполнены в декларацию

4.Тело прецедента

а)Сбор сведений о доходах и расходах

б)Отправка документации 

в)Камеральная проверка

г)Прием декларации

5.Постусловия:

- декларация принята на проверку


Осуществление проверки документации юр лица:

1.Основной исполнитель:

Основным исполнителем данной информационной системы является работник налоговой инспекции.

2.Заинтересованные лица и их обязанности:

- юридические лица (для них является обязательным предоставление всех необходимых сведений для подачи документов на проверку)

3.Предусловия:

- уведомление о проверке послано заранее

4.Тело прецедента:

а)Отправка уведомления о проверке

б)Прием документации 

в)Проверка

г)Отправка результата проверки

5.Постусловия:

- результат проверки отправлен



2.1.6 Отправка жалобы в налоговую полицию:

1.Основной исполнитель:

Основным исполнителем данной информационной системы является работник налоговой инспекции

2.Заинтересованные лица и их обязанности:

- налоговая полиция(обязательным является своевременное уведомление о результате разбирательства с юр лицом)

3.Предусловия:

- в документации юр лица имеются несоответствия

4.Тело прецелента:

а) Отправка данных юр лица

б) Отправка обнаруженного несоответствия

в) Прием результатов разбирательства

5. Постусловия:

- отчет о разбирательстве послан в налоговую инспекцию



2.2 Диаграмма использования (Use Case)



Диаграмма использования состоит из следующих элементов:

Прецедент использования

Актёры т.е заинтересованные лица

Связи между сущностями







Здесь мы расставляем все прецеденты и актёров и затем связываем их.

Оценка диаграммы использования высчитывается по формуле, которая была приведена выше S=3.5. Данная оценка попадает в пределы оптимального диапазона, это говорит о том что диаграмма не перегружена. То что надо.


2.3 Диаграмма последовательности (Sequence Diagram)



Данная диаграмма учитывает фактор времени и показывает как система функционирует во времени. К примеру, диаграммы классов и использования – это статические диаграммы.

Таких диаграмм всего шесть т.е для каждого прецедента своя диаграмма.

Вначале мы делали диаграмму последовательностей в абстракции, взаимодействия между актёрами и системой в целом. Далее после построения диаграммы классов мы вместо системы вставляли реальные классы, это характерно взаимодействиям объектов на программном уровне.



2.3.1Абстрактная диаграмма последовательностей




Восстановление ИНН юр. лица


















2.3.2 Переделанная диаграмма последовательностей



















Оценки диаграмм:

S1= 3.79

S2= 3.8

S3= 3.7

S4= 3.65

S5= 3.67

6) S6=3.65



2.4 Диаграмма классов



Диаграммы классов служат для представления статической структуры системы. Они являются основой объектно-ориентированного подхода и показывают связи между объектами предметной области, не учитывая временные аспекты. Для каждого класса указываются имя, атрибуты и методы (операции). Далее эти классы связываются тремя типами связей таких как: ассоциации, агрегации, обобщения.

Это задание делиться на два этапа: описание предметной области и непосредственно самой диаграммы классов.

2.4.1 Модель предметной области

При построении модели предметной области, на диаграмму выносятся основные исполнители прецедентов (актёры) тем самым преобразуясь в классы и создаются основные классы являющиеся сущностями с которыми происходит взаимодействие в системе. Для каждого класса прописываются атрибуты. Между классами проставляются связи, которые показывают их взаимодействия. Данные связи подписываются, как один класс влияет на другой и проставляется количество взаимодействий.







2.4.2 Диаграмма классов

Диаграмма классов преобразуется из модели предметной области. Теперь каждый атрибут должен иметь свой тип. Помимо этого необходимо указать роли каждого класса. Оценка класса S=6,3






Заключение



В результате работы было получено описание информационной системы для налоговой инспекции на языке UML. Для описания были использованы диаграммы использования последовательности, классов. В целом была раскрыта простейшая система автоматизации работы налоговой инспекции.

Приложение 1



Описания основных классов на языке С++.



Класс Инспектор:

//## begin module%1.2%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.2%.codegen_version



//## begin module%436F9EDA03D8.cm preserve=no

//	 %X% %Q% %Z% %W%

//## end module%436F9EDA03D8.cm



//## begin module%436F9EDA03D8.cp preserve=no

//## end module%436F9EDA03D8.cp



//## Module: Inspector%436F9EDA03D8; Pseudo Package body

//## Source file: C:\Program Files\Rational\Rose 2000\C++\source\Inspector.cpp



//## begin module%436F9EDA03D8.additionalIncludes preserve=no

//## end module%436F9EDA03D8.additionalIncludes



//## begin module%436F9EDA03D8.includes preserve=yes

//## end module%436F9EDA03D8.includes



// Inspector

#include "Inspector.h"

//## begin module%436F9EDA03D8.additionalDeclarations preserve=yes

//## end module%436F9EDA03D8.additionalDeclarations



// Class Inspector 



Inspector::Inspector()

 //## begin Inspector::Inspector%436F9EDA03D8_const.hasinit preserve=no

 //## end Inspector::Inspector%436F9EDA03D8_const.hasinit

 //## begin Inspector::Inspector%436F9EDA03D8_const.initialization preserve=yes

 //## end Inspector::Inspector%436F9EDA03D8_const.initialization

{

 //## begin Inspector::Inspector%436F9EDA03D8_const.body preserve=yes

 //## end Inspector::Inspector%436F9EDA03D8_const.body

}



Inspector::Inspector(const Inspector &right)

 //## begin Inspector::Inspector%436F9EDA03D8_copy.hasinit preserve=no

 //## end Inspector::Inspector%436F9EDA03D8_copy.hasinit

 //## begin Inspector::Inspector%436F9EDA03D8_copy.initialization preserve=yes

 //## end Inspector::Inspector%436F9EDA03D8_copy.initialization

{

 //## begin Inspector::Inspector%436F9EDA03D8_copy.body preserve=yes

 //## end Inspector::Inspector%436F9EDA03D8_copy.body

}



Inspector::~Inspector()

{

 //## begin Inspector::~Inspector%436F9EDA03D8_dest.body preserve=yes

 //## end Inspector::~Inspector%436F9EDA03D8_dest.body

}



Inspector & Inspector::operator=(const Inspector &right)

{

 //## begin Inspector::operator=%436F9EDA03D8_assign.body preserve=yes

 //## end Inspector::operator=%436F9EDA03D8_assign.body

}



int Inspector::operator==(const Inspector &right) const

{

 //## begin Inspector::operator==%436F9EDA03D8_eq.body preserve=yes

 //## end Inspector::operator==%436F9EDA03D8_eq.body

}



int Inspector::operator!=(const Inspector &right) const

{

 //## begin Inspector::operator!=%436F9EDA03D8_neq.body preserve=yes

 //## end Inspector::operator!=%436F9EDA03D8_neq.body

}



//## Other Operations (implementation)

Integer Inspector::Poluchit_regist_inform ()

{

 //## begin Inspector::Poluchit regist inform%438213E30148.body preserve=yes

 //## end Inspector::Poluchit regist inform%438213E30148.body

}



Integer Inspector::Poluchit_utrach_INN ()

{

 //## begin Inspector::Poluchit utrach INN%43946A5500BB.body preserve=yes

 //## end Inspector::Poluchit utrach INN%43946A5500BB.body

}



Integer Inspector::Poluchit_INN ()

{

 //## begin Inspector::Poluchit INN%43946A360128.body preserve=yes

 //## end Inspector::Poluchit INN%43946A360128.body

}



String Inspector::Otpr_zhalobu_na_jur_lico ()

{

 //## begin Inspector::Otpr zhalobu na jur lico%438214B90186.body preserve=yes

 //## end Inspector::Otpr zhalobu na jur lico%438214B90186.body

}



String Inspector::Otpr_rez_t_proverki ()

{

 //## begin Inspector::Otpr rez-t proverki%43821528000F.body preserve=yes

 //## end Inspector::Otpr rez-t proverki%43821528000F.body

}



Double Inspector::Poluch_danniye_dohod_rashod ()

{

 //## begin Inspector::Poluch danniye dohod rashod%4382154503B9.body preserve=yes

 //## end Inspector::Poluch danniye dohod rashod%4382154503B9.body

}



Double Inspector::Prover_danniye_dohod_rashod ()

{

 //## begin Inspector::Prover danniye dohod rashod%438215A8031C.body preserve=yes

 //## end Inspector::Prover danniye dohod rashod%438215A8031C.body

}



Double Inspector::Otpr_rez_t_proverki_doh_ras ()

{

 //## begin Inspector::Otpr rez-t proverki doh-ras%438215C80128.body preserve=yes

 //## end Inspector::Otpr rez-t proverki doh-ras%438215C80128.body

}



Integer Inspector::Poluchit_daklaraciyu ()

{

 //## begin Inspector::Poluchit daklaraciyu%43946D9000EA.body preserve=yes

 //## end Inspector::Poluchit daklaraciyu%43946D9000EA.body

}



// Additional Declarations

 //## begin Inspector%436F9EDA03D8.declarations preserve=yes

 //## end Inspector%436F9EDA03D8.declarations



//## begin module%436F9EDA03D8.epilog preserve=yes

//## end module%436F9EDA03D8.epilog



Класс Дексларация:



// Deklaraciya

#include "Deklaraciya.h"

//## begin module%436F9FB703D8.additionalDeclarations preserve=yes

//## end module%436F9FB703D8.additionalDeclarations



// Class Deklaraciya 



Deklaraciya::Deklaraciya()

 //## begin Deklaraciya::Deklaraciya%436F9FB703D8_const.hasinit preserve=no

 //## end Deklaraciya::Deklaraciya%436F9FB703D8_const.hasinit

 //## begin Deklaraciya::Deklaraciya%436F9FB703D8_const.initialization preserve=yes

 //## end Deklaraciya::Deklaraciya%436F9FB703D8_const.initialization

{

 //## begin Deklaraciya::Deklaraciya%436F9FB703D8_const.body preserve=yes

 //## end Deklaraciya::Deklaraciya%436F9FB703D8_const.body

}



Deklaraciya::Deklaraciya(const Deklaraciya &right)

 //## begin Deklaraciya::Deklaraciya%436F9FB703D8_copy.hasinit preserve=no

 //## end Deklaraciya::Deklaraciya%436F9FB703D8_copy.hasinit

 //## begin Deklaraciya::Deklaraciya%436F9FB703D8_copy.initialization preserve=yes

 //## end Deklaraciya::Deklaraciya%436F9FB703D8_copy.initialization

{

 //## begin Deklaraciya::Deklaraciya%436F9FB703D8_copy.body preserve=yes

 //## end Deklaraciya::Deklaraciya%436F9FB703D8_copy.body

}



Deklaraciya::~Deklaraciya()

{

 //## begin Deklaraciya::~Deklaraciya%436F9FB703D8_dest.body preserve=yes

 //## end Deklaraciya::~Deklaraciya%436F9FB703D8_dest.body



}



Deklaraciya & Deklaraciya::operator=(const Deklaraciya &right)

{

 //## begin Deklaraciya::operator=%436F9FB703D8_assign.body preserve=yes

 //## end Deklaraciya::operator=%436F9FB703D8_assign.body

}





int Deklaraciya::operator==(const Deklaraciya &right) const

{

 //## begin Deklaraciya::operator==%436F9FB703D8_eq.body preserve=yes

 //## end Deklaraciya::operator==%436F9FB703D8_eq.body

}



int Deklaraciya::operator!=(const Deklaraciya &right) const

{

 //## begin Deklaraciya::operator!=%436F9FB703D8_neq.body preserve=yes

 //## end Deklaraciya::operator!=%436F9FB703D8_neq.body

}



//## Other Operations (implementation)

Double Deklaraciya::Proverit_zadekl_danniye ()

{

 //## begin Deklaraciya::Proverit zadekl danniye%43946E5C0138.body preserve=yes

 //## end Deklaraciya::Proverit zadekl danniye%43946E5C0138.body

}



// Additional Declarations

 //## begin Deklaraciya%436F9FB703D8.declarations preserve=yes

 //## end Deklaraciya%436F9FB703D8.declarations



//## begin module%436F9FB703D8.epilog preserve=yes

//## end module%436F9FB703D8.epilog



Класс Физическое лицо:



// Fiz lico

#include "Fiz lico.h"

//## begin module%436F9D0102CE.additionalDeclarations preserve=yes

//## end module%436F9D0102CE.additionalDeclarations

// Class Fiz_lico 



Fiz_lico::Fiz_lico()

 //## begin Fiz_lico::Fiz_lico%436F9D0102CE_const.hasinit preserve=no

 //## end Fiz_lico::Fiz_lico%436F9D0102CE_const.hasinit

 //## begin Fiz_lico::Fiz_lico%436F9D0102CE_const.initialization preserve=yes

 //## end Fiz_lico::Fiz_lico%436F9D0102CE_const.initialization

{

 //## begin Fiz_lico::Fiz_lico%436F9D0102CE_const.body preserve=yes

 //## end Fiz_lico::Fiz_lico%436F9D0102CE_const.body

}



Fiz_lico::Fiz_lico(const Fiz_lico &right)

 //## begin Fiz_lico::Fiz_lico%436F9D0102CE_copy.hasinit preserve=no

 //## end Fiz_lico::Fiz_lico%436F9D0102CE_copy.hasinit

 //## begin Fiz_lico::Fiz_lico%436F9D0102CE_copy.initialization preserve=yes

 //## end Fiz_lico::Fiz_lico%436F9D0102CE_copy.initialization

{

 //## begin Fiz_lico::Fiz_lico%436F9D0102CE_copy.body preserve=yes

 //## end Fiz_lico::Fiz_lico%436F9D0102CE_copy.body

}



Fiz_lico::~Fiz_lico()

{

 //## begin Fiz_lico::~Fiz_lico%436F9D0102CE_dest.body preserve=yes

 //## end Fiz_lico::~Fiz_lico%436F9D0102CE_dest.body

}



Fiz_lico & Fiz_lico::operator=(const Fiz_lico &right)

{

 //## begin Fiz_lico::operator=%436F9D0102CE_assign.body preserve=yes

 //## end Fiz_lico::operator=%436F9D0102CE_assign.body

}



int Fiz_lico::operator==(const Fiz_lico &right) const

{

 //## begin Fiz_lico::operator==%436F9D0102CE_eq.body preserve=yes

 //## end Fiz_lico::operator==%436F9D0102CE_eq.body

}



int Fiz_lico::operator!=(const Fiz_lico &right) const

{

 //## begin Fiz_lico::operator!=%436F9D0102CE_neq.body preserve=yes

 //## end Fiz_lico::operator!=%436F9D0102CE_neq.body

}



//## Other Operations (implementation)

Integer Fiz_lico::Poluchit_passport_dannye ()

{

 //## begin Fiz_lico::Poluchit passport dannye%43946A0C0000.body preserve=yes

 //## end Fiz_lico::Poluchit passport dannye%43946A0C0000.body

}



// Additional Declarations

 //## begin Fiz_lico%436F9D0102CE.declarations preserve=yes

 //## end Fiz_lico%436F9D0102CE.declarations



//## begin module%436F9D0102CE.epilog preserve=yes

//## end module%436F9D0102CE.epilog



Класс Юридическое Лицо:



// Jur lico

#include "Jur lico.h"

//## begin module%436F9D9401C5.additionalDeclarations preserve=yes

//## end module%436F9D9401C5.additionalDeclarations





// Class Jur_lico 



Jur_lico::Jur_lico()

 //## begin Jur_lico::Jur_lico%436F9D9401C5_const.hasinit preserve=no

 //## end Jur_lico::Jur_lico%436F9D9401C5_const.hasinit

 //## begin Jur_lico::Jur_lico%436F9D9401C5_const.initialization preserve=yes

 //## end Jur_lico::Jur_lico%436F9D9401C5_const.initialization

{

 //## begin Jur_lico::Jur_lico%436F9D9401C5_const.body preserve=yes

 //## end Jur_lico::Jur_lico%436F9D9401C5_const.body

}



Jur_lico::Jur_lico(const Jur_lico &right)

 //## begin Jur_lico::Jur_lico%436F9D9401C5_copy.hasinit preserve=no

 //## end Jur_lico::Jur_lico%436F9D9401C5_copy.hasinit

 //## begin Jur_lico::Jur_lico%436F9D9401C5_copy.initialization preserve=yes

 //## end Jur_lico::Jur_lico%436F9D9401C5_copy.initialization

{

 //## begin Jur_lico::Jur_lico%436F9D9401C5_copy.body preserve=yes

 //## end Jur_lico::Jur_lico%436F9D9401C5_copy.body

}



Jur_lico::~Jur_lico()

{

 //## begin Jur_lico::~Jur_lico%436F9D9401C5_dest.body preserve=yes

 //## end Jur_lico::~Jur_lico%436F9D9401C5_dest.body

}



Jur_lico & Jur_lico::operator=(const Jur_lico &right)

{

 //## begin Jur_lico::operator=%436F9D9401C5_assign.body preserve=yes

 //## end Jur_lico::operator=%436F9D9401C5_assign.body

}



int Jur_lico::operator==(const Jur_lico &right) const

{

 //## begin Jur_lico::operator==%436F9D9401C5_eq.body preserve=yes

 //## end Jur_lico::operator==%436F9D9401C5_eq.body

}



int Jur_lico::operator!=(const Jur_lico &right) const

{

 //## begin Jur_lico::operator!=%436F9D9401C5_neq.body preserve=yes

 //## end Jur_lico::operator!=%436F9D9401C5_neq.body

}



//## Other Operations (implementation)

String Jur_lico::Poluchit_rez_t_proverki ()

{

 //## begin Jur_lico::Poluchit rez-t proverki%43946AC8032C.body preserve=yes

 //## end Jur_lico::Poluchit rez-t proverki%43946AC8032C.body

}



// Additional Declarations

 //## begin Jur_lico%436F9D9401C5.declarations preserve=yes

 //## end Jur_lico%436F9D9401C5.declarations



//## begin module%436F9D9401C5.epilog preserve=yes

//## end module%436F9D9401C5.epilog



Класс ИНН



// INN

#include "INN.h"

//## begin module%436FA23800EA.additionalDeclarations preserve=yes

//## end module%436FA23800EA.additionalDeclarations



// Class INN 



INN::INN()

 //## begin INN::INN%436FA23800EA_const.hasinit preserve=no

 //## end INN::INN%436FA23800EA_const.hasinit

 //## begin INN::INN%436FA23800EA_const.initialization preserve=yes

 //## end INN::INN%436FA23800EA_const.initialization

{

 //## begin INN::INN%436FA23800EA_const.body preserve=yes

 //## end INN::INN%436FA23800EA_const.body

}



INN::INN(const INN &right)

 //## begin INN::INN%436FA23800EA_copy.hasinit preserve=no

 //## end INN::INN%436FA23800EA_copy.hasinit

 //## begin INN::INN%436FA23800EA_copy.initialization preserve=yes

 //## end INN::INN%436FA23800EA_copy.initialization

{

 //## begin INN::INN%436FA23800EA_copy.body preserve=yes

 //## end INN::INN%436FA23800EA_copy.body

}



INN::~INN()

{

 //## begin INN::~INN%436FA23800EA_dest.body preserve=yes

 //## end INN::~INN%436FA23800EA_dest.body

}



INN & INN::operator=(const INN &right)

{

 //## begin INN::operator=%436FA23800EA_assign.body preserve=yes

 //## end INN::operator=%436FA23800EA_assign.body

}



int INN::operator==(const INN &right) const

{

 //## begin INN::operator==%436FA23800EA_eq.body preserve=yes

 //## end INN::operator==%436FA23800EA_eq.body

}

int INN::operator!=(const INN &right) const

{

 //## begin INN::operator!=%436FA23800EA_neq.body preserve=yes

 //## end INN::operator!=%436FA23800EA_neq.body

}



//## Other Operations (implementation)

INN INN::Oformit_INN ()

{

 //## begin INN::Oformit INN%43946C4E0280.body preserve=yes

 //## end INN::Oformit INN%43946C4E0280.body

}



INN INN::Nayti_INN ()

{

 //## begin INN::Nayti INN%43946C810290.body preserve=yes

 //## end INN::Nayti INN%43946C810290.body

}



INN INN::Pechat_INN ()

{

 //## begin INN::Pechat INN%43946CDE0128.body preserve=yes

 //## end INN::Pechat INN%43946CDE0128.body

}



// Additional Declarations

 //## begin INN%436FA23800EA.declarations preserve=yes

 //## end INN%436FA23800EA.declarations



//## begin module%436FA23800EA.epilog preserve=yes

//## end module%436FA23800EA.epil

og



Класс Налоговая полиция:



// Nalog Policia

#include "Nalog Policia.h"

//## begin module%436FA114003E.additionalDeclarations preserve=yes

//## end module%436FA114003E.additionalDeclarations



// Class Nalog_Policia 



Nalog_Policia::Nalog_Policia()

 //## begin Nalog_Policia::Nalog_Policia%436FA114003E_const.hasinit preserve=no

 //## end Nalog_Policia::Nalog_Policia%436FA114003E_const.hasinit

 //## begin Nalog_Policia::Nalog_Policia%436FA114003E_const.initialization preserve=yes

 //## end Nalog_Policia::Nalog_Policia%436FA114003E_const.initialization

{

 //## begin Nalog_Policia::Nalog_Policia%436FA114003E_const.body preserve=yes

 //## end Nalog_Policia::Nalog_Policia%436FA114003E_const.body

}



Nalog_Policia::Nalog_Policia(const Nalog_Policia &right)

 //## begin Nalog_Policia::Nalog_Policia%436FA114003E_copy.hasinit preserve=no

 //## end Nalog_Policia::Nalog_Policia%436FA114003E_copy.hasinit

 //## begin Nalog_Policia::Nalog_Policia%436FA114003E_copy.initialization preserve=yes

 //## end Nalog_Policia::Nalog_Policia%436FA114003E_copy.initialization

{

 //## begin Nalog_Policia::Nalog_Policia%436FA114003E_copy.body preserve=yes

 //## end Nalog_Policia::Nalog_Policia%436FA114003E_copy.body

}



Nalog_Policia::~Nalog_Policia()

{

 //## begin Nalog_Policia::~Nalog_Policia%436FA114003E_dest.body preserve=yes

 //## end Nalog_Policia::~Nalog_Policia%436FA114003E_dest.body

}



Nalog_Policia & Nalog_Policia::operator=(const Nalog_Policia &right)

{

 //## begin Nalog_Policia::operator=%436FA114003E_assign.body preserve=yes

 //## end Nalog_Policia::operator=%436FA114003E_assign.body

}



int Nalog_Policia::operator==(const Nalog_Policia &right) const

{

 //## begin Nalog_Policia::operator==%436FA114003E_eq.body preserve=yes

 //## end Nalog_Policia::operator==%436FA114003E_eq.body

}



int Nalog_Policia::operator!=(const Nalog_Policia &right) const

{

 //## begin Nalog_Policia::operator!=%436FA114003E_neq.body preserve=yes

 //## end Nalog_Policia::operator!=%436FA114003E_neq.body

}



//## Other Operations (implementation)

Integer Nalog_Policia::Poluchit_danniye_na_jur_lico ()

{

 //## begin Nalog_Policia::Poluchit danniye na jur lico%4382161D0290.body preserve=yes

 //## end Nalog_Policia::Poluchit danniye na jur lico%4382161D0290.body

}



String Nalog_Policia::Otpr_rez_t_razberatelstva ()

{

 //## begin Nalog_Policia::Otpr rez-t razberatelstva%43821632000F.body preserve=yes

 //## end Nalog_Policia::Otpr rez-t razberatelstva%43821632000F.body

}



// Additional Declarations

 //## begin Nalog_Policia%436FA114003E.declarations preserve=yes

 //## end Nalog_Policia%436FA114003E.declarations



//## begin module%436FA114003E.epilog preserve=yes

//## end module%436FA114003E.epilog


Класс Несоответствие:



// Nesootvetstviye

#include "Nesootvetstviye.h"

//## begin module%43998F1A0203.additionalDeclarations preserve=yes

//## end module%43998F1A0203.additionalDeclarations



// Class Nesootvetstviye 



Nesootvetstviye::Nesootvetstviye()

 //## begin Nesootvetstviye::Nesootvetstviye%43998F1A0203_const.hasinit preserve=no

 //## end Nesootvetstviye::Nesootvetstviye%43998F1A0203_const.hasinit

 //## begin Nesootvetstviye::Nesootvetstviye%43998F1A0203_const.initialization preserve=yes

 //## end Nesootvetstviye::Nesootvetstviye%43998F1A0203_const.initialization

{

 //## begin Nesootvetstviye::Nesootvetstviye%43998F1A0203_const.body preserve=yes

 //## end Nesootvetstviye::Nesootvetstviye%43998F1A0203_const.body

}



Nesootvetstviye::Nesootvetstviye(const Nesootvetstviye &right)

 //## begin Nesootvetstviye::Nesootvetstviye%43998F1A0203_copy.hasinit preserve=no

 //## end Nesootvetstviye::Nesootvetstviye%43998F1A0203_copy.hasinit

 //## begin Nesootvetstviye::Nesootvetstviye%43998F1A0203_copy.initialization preserve=yes

 //## end Nesootvetstviye::Nesootvetstviye%43998F1A0203_copy.initialization

{

 //## begin Nesootvetstviye::Nesootvetstviye%43998F1A0203_copy.body preserve=yes

 //## end Nesootvetstviye::Nesootvetstviye%43998F1A0203_copy.body

}



Nesootvetstviye::~Nesootvetstviye()

{

 //## begin Nesootvetstviye::~Nesootvetstviye%43998F1A0203_dest.body preserve=yes

 //## end Nesootvetstviye::~Nesootvetstviye%43998F1A0203_dest.body

}



Nesootvetstviye & Nesootvetstviye::operator=(const Nesootvetstviye &right)

{

 //## begin Nesootvetstviye::operator=%43998F1A0203_assign.body preserve=yes

 //## end Nesootvetstviye::operator=%43998F1A0203_assign.body

}



int Nesootvetstviye::operator==(const Nesootvetstviye &right) const

{

 //## begin Nesootvetstviye::operator==%43998F1A0203_eq.body preserve=yes

 //## end Nesootvetstviye::operator==%43998F1A0203_eq.body

}



int Nesootvetstviye::operator!=(const Nesootvetstviye &right) const

{

 //## begin Nesootvetstviye::operator!=%43998F1A0203_neq.body preserve=yes

 //## end Nesootvetstviye::operator!=%43998F1A0203_neq.body

}



// Additional Declarations

 //## begin Nesootvetstviye%43998F1A0203.declarations preserve=yes

 //## end Nesootvetstviye%43998F1A0203.declarations



//## begin module%43998F1A0203.epilog preserve=yes

//## end module%43998F1A0203.epilog



Класс Заявка на ИНН:



// Zayavka na INN

#include "Zayavka na INN.h"

//## begin module%436F9E530261.additionalDeclarations preserve=yes

//## end module%436F9E530261.additionalDeclarations



// Class Zayavka_na_INN 



Zayavka_na_INN::Zayavka_na_INN()

 //## begin Zayavka_na_INN::Zayavka_na_INN%436F9E530261_const.hasinit preserve=no

 //## end Zayavka_na_INN::Zayavka_na_INN%436F9E530261_const.hasinit

 //## begin Zayavka_na_INN::Zayavka_na_INN%436F9E530261_const.initialization preserve=yes

 //## end Zayavka_na_INN::Zayavka_na_INN%436F9E530261_const.initialization

{

 //## begin Zayavka_na_INN::Zayavka_na_INN%436F9E530261_const.body preserve=yes

 //## end Zayavka_na_INN::Zayavka_na_INN%436F9E530261_const.body

}



Zayavka_na_INN::Zayavka_na_INN(const Zayavka_na_INN &right)

 //## begin Zayavka_na_INN::Zayavka_na_INN%436F9E530261_copy.hasinit preserve=no

 //## end Zayavka_na_INN::Zayavka_na_INN%436F9E530261_copy.hasinit

 //## begin Zayavka_na_INN::Zayavka_na_INN%436F9E530261_copy.initialization preserve=yes

 //## end Zayavka_na_INN::Zayavka_na_INN%436F9E530261_copy.initialization

{

 //## begin Zayavka_na_INN::Zayavka_na_INN%436F9E530261_copy.body preserve=yes

 //## end Zayavka_na_INN::Zayavka_na_INN%436F9E530261_copy.body

}



Zayavka_na_INN::~Zayavka_na_INN()

{

 //## begin Zayavka_na_INN::~Zayavka_na_INN%436F9E530261_dest.body preserve=yes

 //## end Zayavka_na_INN::~Zayavka_na_INN%436F9E530261_dest.body

}



Zayavka_na_INN & Zayavka_na_INN::operator=(const Zayavka_na_INN &right)

{

 //## begin Zayavka_na_INN::operator=%436F9E530261_assign.body preserve=yes

 //## end Zayavka_na_INN::operator=%436F9E530261_assign.body

}



int Zayavka_na_INN::operator==(const Zayavka_na_INN &right) const

{

 //## begin Zayavka_na_INN::operator==%436F9E530261_eq.body preserve=yes

 //## end Zayavka_na_INN::operator==%436F9E530261_eq.body

}



int Zayavka_na_INN::operator!=(const Zayavka_na_INN &right) const

{

 //## begin Zayavka_na_INN::operator!=%436F9E530261_neq.body preserve=yes

 //## end Zayavka_na_INN::operator!=%436F9E530261_neq.body

}



// Additional Declarations

 //## begin Zayavka_na_INN%436F9E530261.declarations preserve=yes

 //## end Zayavka_na_INN%436F9E530261.declarations



//## begin module%436F9E530261.epilog preserve=yes

//## end module%436F9E530261.epilog



Класс Заявка на восст. ИНН:



// Zayavka na vosst INN

#include "Zayavka na vosst INN.h"

//## begin module%436F9F5A00DA.additionalDeclarations preserve=yes

//## end module%436F9F5A00DA.additionalDeclarations



// Class Zayavka_na_vosst_INN 



Zayavka_na_vosst_INN::Zayavka_na_vosst_INN()

 //## begin Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_const.hasinit preserve=no

 //## end Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_const.hasinit

 //## begin Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_const.initialization preserve=yes

 //## end Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_const.initialization

{

 //## begin Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_const.body preserve=yes

 //## end Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_const.body

}



Zayavka_na_vosst_INN::Zayavka_na_vosst_INN(const Zayavka_na_vosst_INN &right)

 //## begin Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_copy.hasinit preserve=no

 //## end Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_copy.hasinit

 //## begin Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_copy.initialization preserve=yes

 //## end Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_copy.initialization

{

 //## begin Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_copy.body preserve=yes

 //## end Zayavka_na_vosst_INN::Zayavka_na_vosst_INN%436F9F5A00DA_copy.body

}



Zayavka_na_vosst_INN::~Zayavka_na_vosst_INN()

{

 //## begin Zayavka_na_vosst_INN::~Zayavka_na_vosst_INN%436F9F5A00DA_dest.body preserve=yes

 //## end Zayavka_na_vosst_INN::~Zayavka_na_vosst_INN%436F9F5A00DA_dest.body

}



Zayavka_na_vosst_INN & Zayavka_na_vosst_INN::operator=(const Zayavka_na_vosst_INN &right)

{

 //## begin Zayavka_na_vosst_INN::operator=%436F9F5A00DA_assign.body preserve=yes

 //## end Zayavka_na_vosst_INN::operator=%436F9F5A00DA_assign.body

}



int Zayavka_na_vosst_INN::operator==(const Zayavka_na_vosst_INN &right) const

{

 //## begin Zayavka_na_vosst_INN::operator==%436F9F5A00DA_eq.body preserve=yes

 //## end Zayavka_na_vosst_INN::operator==%436F9F5A00DA_eq.body

}



int Zayavka_na_vosst_INN::operator!=(const Zayavka_na_vosst_INN &right) const

{

 //## begin Zayavka_na_vosst_INN::operator!=%436F9F5A00DA_neq.body preserve=yes

 //## end Zayavka_na_vosst_INN::operator!=%436F9F5A00DA_neq.body

}



// Additional Declarations

 //## begin Zayavka_na_vosst_INN%436F9F5A00DA.declarations preserve=yes

 //## end Zayavka_na_vosst_INN%436F9F5A00DA.declarations



//## begin module%436F9F5A00DA.epilog preserve=yes

//## end module%436F9F5A00DA.epilog



Класс Жалоба на юр лицо:



// Zhaloba na jur lico

#include "Zhaloba na jur lico.h"

//## begin module%436FA051031C.additionalDeclarations preserve=yes

//## end module%436FA051031C.additionalDeclarations



// Class Zhaloba_na_jur_lico 



Zhaloba_na_jur_lico::Zhaloba_na_jur_lico()

 //## begin Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_const.hasinit preserve=no

 //## end Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_const.hasinit

 //## begin Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_const.initialization preserve=yes

 //## end Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_const.initialization

{

 //## begin Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_const.body preserve=yes

 //## end Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_const.body

}



Zhaloba_na_jur_lico::Zhaloba_na_jur_lico(const Zhaloba_na_jur_lico &right)

 //## begin Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_copy.hasinit preserve=no

 //## end Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_copy.hasinit

 //## begin Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_copy.initialization preserve=yes

 //## end Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_copy.initialization

{

 //## begin Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_copy.body preserve=yes

 //## end Zhaloba_na_jur_lico::Zhaloba_na_jur_lico%436FA051031C_copy.body

}



Zhaloba_na_jur_lico::~Zhaloba_na_jur_lico()

{

 //## begin Zhaloba_na_jur_lico::~Zhaloba_na_jur_lico%436FA051031C_dest.body preserve=yes

 //## end Zhaloba_na_jur_lico::~Zhaloba_na_jur_lico%436FA051031C_dest.body

}



Zhaloba_na_jur_lico & Zhaloba_na_jur_lico::operator=(const Zhaloba_na_jur_lico &right)

{

 //## begin Zhaloba_na_jur_lico::operator=%436FA051031C_assign.body preserve=yes

 //## end Zhaloba_na_jur_lico::operator=%436FA051031C_assign.body

}



int Zhaloba_na_jur_lico::operator==(const Zhaloba_na_jur_lico &right) const

{

 //## begin Zhaloba_na_jur_lico::operator==%436FA051031C_eq.body preserve=yes

 //## end Zhaloba_na_jur_lico::operator==%436FA051031C_eq.body

}



int Zhaloba_na_jur_lico::operator!=(const Zhaloba_na_jur_lico &right) const

{

 //## begin Zhaloba_na_jur_lico::operator!=%436FA051031C_neq.body preserve=yes

 //## end Zhaloba_na_jur_lico::operator!=%436FA051031C_neq.body

}

//## Other Operations (implementation)

Integer Zhaloba_na_jur_lico::Otpr_danniye_jur_lica ()

{

 //## begin Zhaloba_na_jur_lico::Otpr danniye jur lica%4394702601B5.body preserve=yes

 //## end Zhaloba_na_jur_lico::Otpr danniye jur lica%4394702601B5.body

}



// Additional Declarations

 //## begin Zhaloba_na_jur_lico%436FA051031C.declarations preserve=yes

 //## end Zhaloba_na_jur_lico%436FA051031C.declarations



//## begin module%436FA051031C.epilog preserve=yes

//## end module%436FA051031C.epilog







8