Содержание
Содержание
Введение.5
1. ИС ОАО Авиакомпания «ЮТэйр» как объект программирования ……………….7
1.1 Описание ОАО Авиакомпания «ЮТэйр»…..7
Основные цели разработки проекта ИС пункта продажи авиационных билетов.7
2. Предварительное обследование научного отдела…..10
2.1 Разработка вопросов для предварительного обследования11
2.2 Разработка технического предложения по разрабатываемой ИС..19
3. Разработка модели TO-BE….21
4. Разработка технического задания ИС ….30
5. Разработка эскизного проекта ИС…33
5.1. Назначение и область применения ИС34
5.2. Технические характеристики ИС.34
5.3.Описание и обоснование выбранной структуры ИС..35
5.4. Расчеты, подтверждающие работоспособность ИС…40
5.5. Описание организации работ с применением разрабатываемого изделия..41
5.6.Ожидаемые технико-экономические показатели42
5.7. Уровень стандартизации и унификации..42
Заключение…..43
Литература…..44
Выдержка из текста работы
Реализовать информационную систему для компаний по продаже недвижимости. Программа должна иметь удобный пользовательский интерфейс с необходимыми пунктами меню. Работа с информацией должна производиться в окнах. Информация должна храниться в различных файлах. Необходимо хранить следующие сведения: данные о квартирах, частном секторе, нежилых помещениях, коммерческой недвижимости, а также о клиентах. Реализовать функции: добавление, удаление, редактирование данных.
Введение
Ключевым понятием C++ является класс. Класс — это тип, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline- подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В C++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем.
C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.
· Database\Commercial.cm
· Database\Flats.f
· Database\Houses.hs
· Database\Humans.hm
Данные о квартирах, частных домах и коммерческих зданий при запуске программы загружаются в компонент DataGridView. Данные о клиентах загружаются в список. Список имеет структуру показанную на рисунке 2.1. Данные хранятся в DataGridView и в списке на всём протяжении работы программы. Сохранение данных из DataGridView и списка происходит после нажатия соответствующего пункта меню.
Таблица 3.1 Поля класса FlatBase
Поле |
Тип |
Описание |
|
Addr |
wchar_t |
Адрес |
|
Square |
wchar_t |
Площадь |
|
Price |
wchar_t |
Цена |
|
IsTel |
bool |
Флаг телефона |
|
F |
FILE * |
Указатель на файл |
Таблица 3.2 Методы класса FlatBase
Метод класса |
Тип |
Описание |
|
uninit() |
Void |
Снимает привязку к файлу |
|
virtual Size() = 0 |
Long |
Чисто виртуальный метод вывода количества записей в файле |
|
virtualinput(int i, DataGridView^ dgv) = 0 |
Void |
Чисто виртуальный метод ввода данных |
|
virtualSaveToF() = 0 |
Void |
Чисто виртуальный метод сохранения в файл |
|
virtual ReadFromF(int i) = 0 |
Bool |
Чисто виртуальный метод чтения из файла i-й записи |
|
virtual view(int i, DataGridView^ dgv) = 0 |
Void |
Чисто виртуальный метод просмотра данных |
|
virtualinit(char f = ‘r’) = 0 |
Void |
Чисто виртуальный метод привязки к файлу |
3.2 Класс Flat : public FlatBase-класс квартир
Таблица 3.3 Поля класса Flat
Поле |
Тип |
Описание |
|
NumOfRoom |
wchar_t |
Количество комнат |
|
Floor |
wchar_t |
Этаж |
|
nalichremonta |
bool |
Наличие ремонта |
|
IsEmpty |
bool |
Пустая или жилая квартира |
Таблица 3.4 Методы класса Flat
Метод класса |
Тип |
Описание |
|
virtual Size() |
Long |
Виртуальный метод вывода количества записей в файле |
|
virtualinput(int i, DataGridView^ dgv) |
Void |
Виртуальный метод ввода данных |
|
virtualSaveToF() |
Void |
Виртуальный метод сохранения в файл |
|
virtual ReadFromF(int i) |
Bool |
Виртуальный метод чтения из файла i-й записи |
|
virtual view(int i, DataGridView^ dgv) |
Void |
Виртуальный метод просмотра данных |
|
virtual init(char f = ‘r’) |
Void |
Виртуальный метод привязки к файлу |
3.3 Класс House : public FlatBase. Класс частных домов
Таблица 3.5 Поля класса House
Поле |
Тип |
Описание |
|
NumOfFloors |
wchar_t |
Количество этажей |
|
TypeOfHeat |
wchar_t |
Тип отопления |
|
NumOfFlats |
wchar_t |
Количество квартир |
|
NumOfRooms |
wchar_t |
Количество комнат |
|
Sewers |
bool |
Наличие канализации |
Таблица 3.6 Методы класса House
Метод класса |
Тип |
Описание |
|
virtual Size() |
Long |
Виртуальный метод вывода количества записей в файле |
|
virtualinput(int i, DataGridView^ dgv) |
Void |
Виртуальный метод ввода данных |
|
virtualSaveToF() |
Void |
Виртуальный метод сохранения в файл |
|
virtual ReadFromF(int i) |
Bool |
Виртуальный метод чтения из файла i-й записи |
|
virtual view(int i, DataGridView^ dgv) |
Void |
Виртуальный метод просмотра данных |
|
virtual init(char f = ‘r’) |
Void |
Виртуальный метод привязки к файлу |
3.4 Класс Commercial : publicFlatBase. Класс комерческих зданий
Таблица 3.7 Поля класса Commercial
Поле |
Тип |
Описание |
|
NumOfFloors |
wchar_t |
Количество этажей |
Таблица 3.8 Методы класса Commercial
Метод класса |
Тип |
Описание |
|
virtual Size() |
Long |
Виртуальный метод вывода количества записей в файле |
|
virtualinput(int i, DataGridView^ dgv) |
Void |
Виртуальный метод ввода данных |
|
virtualSaveToF() |
Void |
Виртуальный метод сохранения в файл |
|
virtual ReadFromF(int i) |
Bool |
Виртуальный метод чтения из файла i-й записи |
|
virtual view(int i, DataGridView^ dgv) |
Void |
Виртуальный метод просмотра данных |
|
virtual init(char f = ‘r’) |
Void |
Виртуальный метод привязки к файлу |
3.5 Класс Human. Класс клиентов
Таблица 3.9 Поля класса Human
Поле |
Тип |
Описание |
|
FIO |
wchar_t |
ФИО |
|
Tel |
wchar_t |
Телефон |
|
Addr |
wchar_t |
Адрес |
|
F |
FILE * |
Указатель на файл |
Таблица 3.10 Методы класса Human
Метод класса |
Тип |
Описание |
|
Size() |
Long |
Метод вывода количества записей в файле |
|
SaveToF() |
Void |
Метод сохранения в файл |
|
ReadFromF(int i) |
Bool |
Метод чтения из файла i-й записи |
|
init(char f = ‘r’) |
Void |
Метод привязки к файлу |
|
uninit() |
Void |
Метод снятия привязки с файла |
|
Input(String^ fio, String^ tel, String^ adr) |
Void |
Метод ввода данных в объект |
|
OutFIO() |
String^ |
Метод вывода фамилии |
|
OutTel() |
String^ |
Метод вывода телефона |
|
OutAddr() |
String^ |
Метод вывода адреса |
3.6 Класс-контейнер ContH. Класс список клиентов
Таблица 3.11 Поля класса-контейнера ContH
Поле |
Тип |
Описание |
|
Next |
ContH * |
Указатель на следующий элемент списка клиентов |
|
Prev |
ContH * |
Указатель на предыдущий элемент списка клиентов |
|
H |
Human * |
Указатель на объект клиента |
Таблица 3.12 Методы класса-контейнера ContH
Метод класса |
Тип |
Описание |
|
ContH() |
— |
Конструктор класса контейнера |
|
Add(Human * h) |
ContH * |
Добавление элемента в список и возврат указателя на последний элемент |
|
Del() |
ContH * |
Удаление последнего элемента списка и возврат указателя на предпоследний |
|
Next() |
ContH * |
Переход на следующий элемент списка |
|
Prev() |
ContH * |
Переход на предыдущий элемент списка |
|
Value() |
Human * |
Возвращает указатель на объект класса клиента |
|
Item(int i, ContH * B) |
ContH * |
Возвращает i-й указатель на объект списка относительноуказателя B |
1. Начало.
2. Установка указателя на конец файла
3. Установка указателя на начало файла
4. Вычисление разности между началом и концом.
5. Вычисление количества записей в файле
6. Возврат количества записей. Конец
4.2 Метод System::Voidadd_click() — Кнопка добавить клиента
1. Начало.
2. Выделение памяти под нового клиента
3. Заполнение полей клиента
4. Добавление клиента в конец списка
5. Добавление фамилии в listBox1
6. Конец.
4.3 МетодSystem::VoidbEdit2_Click() — Событие на нажатие кнопки изменения клиента
1. Начало.
2. Если индекс выбранного клиента -1, сообщение об ошибке
3. Если textBox1 только для чтения, снять флаг только для чтения
4. Иначе меняем данные о клиенте
5. Выводим новую фамилию в listBox1
6. Конец.
4.4 Метод System::VoidbAdd1_Click()- Создание диалогового окна
1. Начало.
2. Выделение памяти под форму
3. Настройка свойств элементов управления
4. Присваивание кнопке события
5. Размещение элементов управления на форме
6. Отображение диалогового окна
7. Конец.
4.5 МетодSystem::VoidForm1_FormClosed()-Закрытие формы
Рисунок 4.1 Блок-схема алгоритма освобождения памяти
4.6 Метод ContH * ContH::Del() — Удаление элемента из списка
Рисунок 4.2 Блок-схема алгоритма удаления элемента списка
4.7 Метод ContH * ContH::Item(int i, ContH * B) — Возврат i-го элемента из списка
Рисунок 4.3 Блок-схема алгоритма возврата i-го элемента списка
4.8 МетодSystem::VoidbDel1_Click()- Удаление клиента через listBox1
Рисунок 4.4 Блок-схема алгоритма удаления клиента через listBox1
1. Харви М. Дейтел, Пол Дж. Дейтел — Как программировать на C++ — 2008
2. Джеффри Рихтер WINDOWS для профессионалов. Создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows, 2011.
3. Информационный портал: http://msdn.microsoft.com