Проектирование программного продукта
⇐ ПредыдущаяСтр 2 из 2 Просмотр всех объектов недвижимости представляется в виде информации о возможных вариантах сдаваемых объектов (предоставляется информация о районе, количестве комнат и стоимости). Все данные хранятся в текстовом файле. Также есть возможность добавления новых объектов недвижимости в общий список, просмотра всех объектов и поиск необходимой недвижимости по предпочтению арендатора (по районам города Ростов-на-Дону). Функциональные требования В данной программе реализованы следующие компоненты (основной набор операций): - добавление новых объектов недвижимости; - просмотр всего списка вариантов недвижимости; - подбор объектов недвижимости по району.
Требования к интерфейсу Интерфейс обеспечивает следующие возможности: 1) ввод данных с клавиатуры; 2) выполнение всех операций, перечисленных в «Функциональных возможностях»; 4) не допускается обработка исходных данных, противоречащих логике работы программы путем вывода сообщений об ошибке.
Рабочий проект Общие сведения Среда функционирования: Microsoft Visual Studio – это новая разработка компании Microsoft, позволяющая создавать приложения, работающие на платформе.net. Особенность этой платформы заключается в широком наборе сервисов, которые доступны в различных языках программирования. При этом сервисы реализуются в виде промежуточного кода, который не зависит от базовой архитектуры. Едва ли не главной целью создания такой платформы было оснащение разработчиков специальными сервисно-ориентированными приложениями, которые могли бы работать на любой платформе, начиная от персонального компьютера и заканчивая мобильным устройством.
Microsoft Visual Studio объединяет в себе огромное количество функций, позволяющих осуществлять разработки для Windows всех версий, в том числе и 8, Интернета, SharePoint, различных мобильных устройств и облачных технологий. В Visual Studio реализуется новая среда разработчика, благодаря которой создавать приложения стало проще. Microsoft Visual Studio - это обновленная и упрощенная программная среда, для которой характерна высокая производительность, причем она не зависит от особенностей оборудования. Каждая новая версия программы состоит из новейших инструментов и технологий, позволяющих разрабатывать приложения с учетом особенностей и положительных моментов современных платформ. Например, Visual Studio 2013 может поддерживать более ранние версии, в том числе Windows XP и Windows Server 2003. При этом разработчикам открыта дорога к созданию новых и модернизации уже существующих приложений, предназначенных для ранних версий ОС Windows. Стоит отметить, что в процессе использования поддерживаемых системой вариантов исходные файлы, проекты и решения в программе Visual Studio будут работоспособными, но исходный код может нуждаться в изменениях. Visual Studio Ultimate 2013 представляет собой передовую программу, которая дает возможность любым по размеру командам осуществлять проектирование и создание привлекательных приложений. Благодаря инструментам гибкого планирования можно внедрять методы последовательной разработки и применяться гибкие методологии в темпе, удобном для пользователя. С помощью расширенных средств моделирования, обнаружения и проектирования можно максимально полно описать систему, которая позволит наиболее удачно реализовать конкретную концепцию архитектуры.
Запуск программы: Для запуска программы необходимо либо правой кнопкой мыши кликнуть по ярлыку программы Microsoft Visual Studio 2013 (рис.2) и выбрать «Открыть», либо дважды кликнуть по нему левой кнопкой мыши.
Рисунок 2-Ярлык программы Microsoft Visual Studio 2013
В ответ на это действие откроется начальная страница (рис.3). Рисунок 3 - Начальная страница программы Microsoft Visual Studio 2013
Далее нажимаем «Создать проект» и появляется следующее окно, которое показано на рисунке 4. Рисунок 4 – Создание проекта Даём имя новому проекту «Курсовой проект» и указываем его расположение. В меню слева выбираем «Visual C++», затем «Win32». Посередине окна выбираем «Консольное приложение Win32». Нажимаем «ок». В следующем окне нажимаем «Далее», в «Мастере приложений Win32» (рис.5) выделяем пункт «Пустой проект» и нажимаем «Готово» (рис.6). Рисунок 5 - Мастер приложений Win32
Рисунок 6 – Мастер приложений Win32 –Параметры приложения
После этого открывается окно (рис.7). В обозревателе решений создаем файл «nedviz.h» в «Заголовочных файлах» (рис.8) и файлы «nedviz.cpp» и «proekt.cpp» в «Файлах исходного кода» (рис.9, рис.10). Рисунок 7 – Окно создания проекта Рисунок 8 – Добавление нового элемента – Заголовочный файл (nedviz.h)
Рисунок 9 – Добавление нового элемента –Файл С++ (nedviz.cpp)
Рисунок 10 – Добавление нового элемента –Файл С++ (proekt.cpp)
Далее начинаем работать над программным кодом в среде программирования Visual Studio 2013 (рис.11)
Рисунок 11 – Среда программирования Visual Studio 2013
Способ инсталляции: Копирование исполняемого файла программы на нужный носитель.
Требования к По и к ТО: Поддерживаемые операционные системы: - Windows 8.1 (x86 и x64) - Windows 8 (x86 и x64) - Windows 7 SP1 (x86 и x64) - Windows Server 2012 R2 (x64) - Windows Server 2012 (x64) - Windows Server 2008 R2 SP1 (x64) - Требования к оборудованию: - Процессор с частотой 1,6 ГГц или более мощный - 1 ГБ ОЗУ (1,5 ГБ при использовании виртуальной машины) - 20 ГБ свободного дискового пространства - Жесткий диск со скоростью вращения 5400 об/мин - Видеоадаптер с поддержкой DirectX 9; минимально допустимое разрешение экрана — 1024 x 768 Дополнительные требования: - Internet Explorer 10 - Обязательна установка KB2883200 (доступно через Центр обновления Windows) - Для разработки под Windows Phone: 1) Разработка для Windows Phone 8.0 требует наличия Windows 8.1 (64-разрядной версии) или более новой версии 2) Разработка для Windows Phone 8.1 требует наличия Windows 8.1 (32-разрядной версии) или более новой версии
3) Для эмуляторов Windows Phone требуется выпуск Windows 8.1 Профессиональная (64-разрядная версия) или выше, а также процессор с поддержкой Client Hyper-V и преобразования адресов второго уровня (SLAT) Если ваш компьютер отвечает требованиям к операционной системе, но не соответствует требованиям к оборудованию для работы с эмуляторами Windows Phone, вы сможете установить и запустить средства разработки для Windows Phone. Однако эмуляторы Windows Phone 8.0 и 8.1 не будут функционировать, и вам понадобится устройство для развертывания и тестирования приложений Windows Phone.
Укрупненный алгоритм Классы В данном проекте реализован класс: nedviz{}; В структуру класса входят следующие переменные: int id - порядковый номер; string raion- район города Ростов-на-Дону; int kol_komnat- количество комнат; int price- стоимость объекта(в рублях); Методы, рассмотренные в проекте: void show ();// метод вывода информации на экран void dobavlenie();// метод заполнения новыми данными void poisk(string region);// метод поиска данных izFile();// метод считывания/записи информации из/на файл (-а) Конструкторы: nedviz(){}//пустой конструктор nedviz(int id, string raion, int kol_komnat, int price)// содержательный конструктор Деструктор: ~nedviz();
Модули Исходный текст программы размещается в 3 модулях: - nedviz.h – заголовочный файл - nedviz.cpp – файл класса nedviz, используется для описания методов - proekt.cpp – основной файл класса nedviz с методом main()
Схема алгоритма Далее будет представлено описание алгоритмов, используемых при совершении операций с модулями объектов недвижимости.
Рисунок 12- Алгоритм «Меню»
Рисунок 13- Алгоритм «Добавление объектов недвижимости» Рисунок 14- Алгоритм «Просмотр объектов недвижимости»
Рисунок 15- Алгоритм «Поиск объектов недвижимости по району»
Руководства пользователя Для того чтобы воспользоваться реализацией данного проекта, необходимо запустить проект, нажав клавишу «Начать отладку» или F5. Запустится меню следующего вида (рис.16). Рисунок 16- Меню
Выбираем первый пункт меню «Добавление объектов недвижимости» и заполняем необходимые поля для добавления (рис.17), а именно:
- порядковый номер; - район города; - количество комнат; - стоимость квартиры. По условиям данной программы можно добавить не более 20 объектов недвижимости. Все внесенные данные хранятся в файле («Nedvizimost.txt»).
Рисунок 17- «Добавление объектов недвижимости»
На следующем этапе можно выбрать пункт меню «Просмотр объектов недвижимости» (рис.18). Рисунок 18- «Просмотр объектов недвижимости»
Если пользователю необходимо найти квартиру в конкретном районе города (например, в Ворошиловском), тогда пункт «Поиск по району» с легкостью подберет необходимую квартиру. Для этого необходимо ввести интересующий район города (рис.19) Рисунок 19- «Поиск по району»
Если пользователь выбрал не существующий вариант пункта меню, то появится сообщение вида: «Такого пункта меню нет!!!!!». И вновь, для повторного набора, внизу отобразятся пункты меню (рис.20). Рисунок 20- Выбор не существующего варианта меню
Чтобы выйти из программы, необходимо выбрать пункт меню «Выход из программы» (рис.21). Рисунок 21- «Выход из программы»
Заключение В ходе проекта была создана программа, предназначенная для автоматизации и переработки данных в большом объеме. Производимые действия осуществляются с высокой точностью и достаточно быстро, что немаловажно, учитывая современный ритм жизни. Более того, благодаря простому интерфейсу, разобраться в том, как работает созданная программа, сумеет пользователь любого уровня подготовки. Для упрощения работы с программой предложено руководство пользователя, где пошагово описано каждое действие. Программа достаточно легка в использовании, потому что все заданные операции над данными она совершит сама, требуя при этом от пользователя лишь задания им данных и минимальных общих понятий о ней.
Библиографический список 1. Реферат по информационным технологиям «C++», 2004. URL: http://revolution.allbest.ru/programming/00000757_0.html 2. Основные понятия структурного программирования. Модульность программ. URL: http://it.kgsu.ru/Otladka/otl_0045.html 3. С++. Достоинства языка. URL: http://new-mega-programmer.narod2.ru/ 4. Майерс Г. Надежность программного обеспечения. - М.: Мир, 1980. 5. Майерс Г. Искусство тестирования программ. - М.: Финансы и стати-стика, 1982. 6. Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб.: Линk, 2008. 7. Дэвид Р. Мюссер, Жилмер Дж. Дердж, Атул Сейни «C++ и STL. Справочное руководство» 2-е издание, 2010
Приложение А Программные коды файлов программы А.1- Программный код заголовочного файла nedviz.h
#pragma once //предпроцессорная директива; #include<string>//библиотека, отвечающая за тип данных string; #include <iostream>//библиотека ввода/вывода данных; using namespace std; //пространство имен; class nedviz//класс nedviz; { //начало описания класса; private: //закрытые свойства и методы класса; int id; string raion; //свойства класса; int kol_komnat; int price; nedviz izFile();//инкапсулированный метод считывания информации из текстового файла; nedviz *mynedvizimost; public: //открытые свойства и методы класса; /*nedviz*mynedvizimost;*/ nedviz(void); //пустой конструктор; nedviz(int id, string raion, int kol_komnat, int price); //содержательный конструктор; ~nedviz(void); //пустой деструктор;
void show (); //метод вывода данных на экран; void dobavlenie(); //метод добавление данных; void poisk(string region); //метод поиска объкта недвижимости по району };//конец описания класса; А.2- Программный код С++ файла nedviz.срр
#include"nedviz.h"//обращение к заголовочному файлу; #include <iostream>//библиотека ввода/вывода данных; #include <string> #include <Windows.h>//содержит множество определений типовых данных, макросов, констант и т.д.; #include <fstream>//библиотека для чтения и записи данных; using namespace std//пространство имен;
nedviz::~nedviz() { //cout << "Деструктор\n";
}; nedviz::nedviz(int id, string raion, int kol_komnat, int price) //реализация содержательно конструктора; { this->id = id; this->raion = raion; this->kol_komnat = kol_komnat; this->price = price; mynedvizimost = new nedviz[2]; } nedviz::nedviz()//конструктор по умолчанию; { //cout << "Конструктор\n"; this->id = 0; this->raion = ""; //инициализация свойств класса; this->kol_komnat = 0; this->price =0;
} nedviz nedviz::izFile() { mynedvizimost = new nedviz[20]; //инициализация переменной mynedvizimost в памяти (размер массива= 20); SetConsoleCP(1251); //устанавливает кодировку ввода из консоли; SetConsoleOutputCP(1251); //устанавливает кодировку вывода на консоль; int i = 0; ifstream fin("Nedvizimost.txt",ios::in); //чтение из файла; while (!fin.eof())//читает файл до конца; { fin >> mynedvizimost[i].id >> mynedvizimost[i].raion >> mynedvizimost[i].kol_komnat >> mynedvizimost[i].price; //считывание строки из файла; i++; } fin.close();//закрытие потока; return *mynedvizimost; //возвращение функции; } void nedviz::show() { mynedvizimost = new nedviz[20]; *mynedvizimost = izFile(); cout << "___________________________________________________________________\n"; cout << "Номер"<<" "<< "Район" << " "<< "Кол-во_комнат" << " " << "Стоимость,руб." <<" " << endl<< endl; for (int i = 0; i < 20; i++) cout << mynedvizimost[i].id << "\t" << mynedvizimost[i].raion << "\t\t" << mynedvizimost[i].kol_komnat << "\t\t" << mynedvizimost[i].price << endl; cout << "___________________________________________________________________\n"; }
void nedviz::dobavlenie() { mynedvizimost = new nedviz[20]; SetConsoleCP(1251); SetConsoleOutputCP(1251); ofstream fout("Nedvizimost.txt", ios::app); for (int i = 0; i < 20; i++) { cout << "Введите порядковый номер:" << endl; cin >> mynedvizimost[i].id; fout << mynedvizimost[i].id << " "; cout << "Введите район города:" << endl; cin >> mynedvizimost[i].raion; fout << mynedvizimost[i].raion << " "; cout << "Введите количество комнат(1,2,3,4):" << endl; cin >> mynedvizimost[i].kol_komnat; fout << mynedvizimost[i].kol_komnat << " "; cout << "Введите цену(целое число):" << endl; cin >> mynedvizimost[i].price; fout << mynedvizimost[i].price << "\n"<< endl; } fout.close(); }
void nedviz::poisk(string region) { mynedvizimost = new nedviz[20]; *mynedvizimost = izFile(); cout << "_______________________________________________\n"; cout <<"Район" << " " << "Кол-во комнат" << " " << "Стоимость,руб." << endl << endl; for (int i = 0; i < 20; i++) {
if (mynedvizimost[i].raion == region) {
cout <<mynedvizimost[i].raion << " " << mynedvizimost[i].kol_komnat << " " << mynedvizimost[i].price << endl; } } cout << "_______________________________________________\n";
}
A.3- Программный код файла proekt.cpp #include"nedviz.h" #include <iostream> #include <string> #include <Windows.h>
int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251);
int vybor; cout << "Выберите пункт меню\n"; metka: cout << "1 - добавление объектов недвижимости\n2 - просмотр объектов недвижимости\n3 - поиск по району\n0 - выход из программы\n"; cin >> vybor; nedviz Mynedviz; switch (vybor) { case 1: { Mynedviz.dobavlenie(); goto metka; break; }
case 2: { Mynedviz.show(); goto metka; break; } case 3: { string reg; cout << "Введите район\n"; cin >> reg; Mynedviz.poisk(reg); goto metka; } case 0: { system("pause"); return 0; }
default: {cout << "Такого пункта меню нет!!!!!\n"; goto metka; break; } }
}
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|