Модификация и рефакторинг программного продукта
Основные требования к составу и параметрам технических средства. Верификация программного продукта. Расширение функционала программы и его реализация. Отладка и тестирование программного продукта. Тестирование программы в граничных и реальных условиях.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.12.2014 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. Постановка задачи
1.1 Основание для разработки
1.2 Назначение разработки
1.3 Требования к программе
1.4 Условия эксплуатации
1.5 Требования к составу и параметрам технических средства
1.6 Требования к информационной и программной совместимости
1.7 Требования к маркировке и упаковке
1.8 Требования к транспортировке и хранению
1.9 Требования к программной документации
2. Верификация программного продукта
2.1 Замечание по реализации функций программного продукта
2.2 Общие замечания по работе программного продукта
2.3 Реестр замечаний и указаний по исправлению
3. Модификация и рефакторинг программного продукта
3.1 Внесение изменений в базу данных
3.2 Изменение структуры программы
3.3 Расширение функционала программы и его реализация
4. Отладка и тестирование программного продукта
4.1 Тестирование программы в идеальных условиях
4.2 Тестирование программы в реальных условиях
4.3 Тестирование программы в граничных условиях
5. Инструкция по установке и обслуживанию программного продукта
6. Инструкция по эксплуатации программного продукта
6.1 Инструкция пользователя
ВЫВОД
ПЕРЕЧЕНЬ ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Рост популярности языка SQL является одной из самых важных тенденций в современной компьютерной промышленности. Современные базы данных, несмотря на огромный объем хранящейся в них информации, обеспечивают высокую скорость поиска необходимой информации. История исследований систем баз данных - это, по сути, история развития приложений, достигших исключительной производительности и оказавших влияние на экономику. Если еще 40 лет назад эта сфера была всего лишь областью фундаментальных научных исследований, то теперь на исследованиях баз данных основана целая индустрия информационных услуг, ежегодный бюджет которой только в США составляет 10 миллиардов долларов. Достижения в исследованиях баз данных стали основой фундаментальных разработок коммуникационных систем, транспорта и логистики, финансового менеджмента, систем с базами знаний, методов доступа к научной литературе, а также большого количества гражданских и военных приложений. Они также послужили фундаментом значительного прогресса в ведущих областях науки - от информатики до биологии.
Данная курсовая работа на тему «Кондитерская» выполнена с помощью пакета XCode 6.1(6A1052d). Эта среда является инструментом, предназначенным для разработки различных приложений, в нашем случае - БД “Кондитерская”. СУБД предоставляет пользователю много возможностей, а именно:
1. Постановка задачи
1.1 Основание для разработки
Разработка данного программного продукта выполняется в соответствии с учебным планом специальности 5.05010301 «Разработка программного обеспечения» по предмету «Конструирование программного обеспечения» в соответствии с заданием преподавателя Наугольной Л.Н.
1.2 Назначение разработки
Данный программный продукт предназначен для хранения информации о товаре, способах доставки, способах оплаты. Обеспечивает поиск товаров, фильтрацию товаров по критериям, сравнение нескольких товаров, регистрацию клиентов в личном кабинете, и предоставление им возможности оплатить стоимость товара.
1.3 Требования к программе
Требование к функциональным характеристикам
В связи с изменившимися требованиями заказчика, в новой версии программного продукта «Кондитерская» будут расширены функциональные возможности данного ПП:
ѕ добавлены название таблицы;
ѕ добавление запросов;
ѕ добавлены таблицы.
1.4 Условия эксплуатации
Условие эксплуатации программы соответствуют эксплуатации смартфона с подключением к сети интернет. Режим работы с программным продуктом - активный.
1.5 Требования к составу и параметрам технических средства
ѕ процессор - с частотой не менее 1ГГц;
ѕ ОЗУ - не менее 64Мб;
ѕ Свободное место - не менее 100 Мб;
ѕ Дисплей - 3.5; 4; 4.7; 5.5;
ѕ сетевой адаптер или Wi-Fi адаптер;
ѕ интернет со скоростью не менее 1Кб/с.
1.6 Требования к информационной и программной совместимости
технический программный тестирование верификация
Программа будет работать под операционной системой iOS 7 и iOS8 версии и более поздние версии.
Программа будет работать с базой данных Mysql/Sql.
Данный программный продукт разработан с использованием среды разработки XCode на языке Objective-C.
1.7 Требования к маркировке и упаковке
Программный продукт «Кондитерская» будет передаваться заказчику на носителе информации CD-диске.
Маркировка на носителе - «Кондитерская».
Упаковка носителя информации - Бумажный конверт с прозрачной лицевой панелью и с маркировкой «Кондитерская».
1.8 Требования к транспортировке и хранению
Транспортировка должна обеспечивать защиту носителя информации от ударов и механических повреждений. Хранение носителя информации производится в сухом помещении, не допускающем попадание на его поверхности влаги, солнечных лучей и летучих веществ, которые могут привести к потере данных на диске.
1.9 Требования к программной документации
При выполнении проекта будут разработаны следующие документы:
ѕ Верификация программного продукта - содержит список замечаний по работе программного продукта и указания по их исправлению, разрабатывается в 1 экземпляре;
ѕ Техническое задание - разрабатывается в соответствии с ГОСТ 19201-78[1], в 1 экземпляре;
ѕ Лист функциональных изменений, разрабатывается в 1 экземпляре;
ѕ Эскиз интерфейса пользователя - содержит эскизы рабочих окон интерфейса программы, разрабатывается в 1 экземпляре;
ѕ Эскиз интерфейса администратора - содержит эскизы рабочих окон интерфейса программы, разрабатывается в 1 экземпляре;
ѕ Эскиз интерфейса менеджера - содержит эскизы рабочих окон интерфейса программы, разрабатывается в 1 экземпляре;
ѕ Инструкция программиста - разрабатывается в соответствии с ГОСТ 19 201-78[1], в 1 экземпляре;
ѕ Инструкция пользователя - разрабатывается в соответствии с ГОСТ 19 201-78[1], в 1 экземпляре;
ѕ Инструкция администратора - разрабатывается в соответствии с ГОСТ 19 201-78[1], в 1 экземпляре;
ѕ Инструкция менеджера - разрабатывается в соответствии с ГОСТ 19 201-78[1], в 1 экземпляре;
ѕ Тест-план - содержит набор тестов внесённых изменений, в 1 экземпляре.
2. Верификация программного продукта
Типизированы следующие замечания по работе программного продукта «Кондитерская»
Типизация замечаний по полю «код»
ОЗ - замечания общего характера
ФЗ - замечания по выполнению функций программы
2.1 Замечание по реализации функций программного продукта
ФЗ01 - нет возможности редактирования данных;
ФЗ02 - нет возможности регистрации пользователя в личном кабинете;
ФЗ03 - нет возможности авторизации в личном кабинете;
ФЗ04 - нет просмотра корзины;
2.2 Общие замечания по работе программного продукта
ОЗ01 - неэффективный дизайн контроллера в профиле;
ОЗ02 - неэффективный дизайн меню с товарами;
ОЗ03 - неэффективный дизайн контроллера с товаром ;
ОЗ04 - неэффективный дизайн входа в приложение;
ОЗ05 - нет оптимизации интерфейса под iPhone 6/iPhone 6 Plus;
ОЗ06 - нет оптимизации интерфейса под iPhone 5/5s/5c;
ОЗ07 - нет версии программы для iPad Air/iPad Mini;
ОЗ08 - нет горизонтального интерфейса для iPhone;
2.3 Реестр замечаний и указаний по исправлению
№ |
Код |
Описание |
Действие по устранению |
|
1 |
ФЗ01 |
Нет возможности редактирования данных |
Реализовать функцию редактирования |
|
2 |
ФЗ02 |
Нет возможности регистрации пользователя в личном кабинете |
Реализовать функцию регистрации пользователя в личном кабинете |
|
3 |
ФЗ03 |
Нет возможности авторизации в личном кабинете |
Реализовать возможность авторизации в личном кабинете |
|
4 |
ФЗ04 |
Нет возможности просмотра своей корзины |
Реализовать функцию просмотра корзины |
|
11 |
ОЗ01 |
Неэффективный дизайн контроллера в профиле |
Разработать новый дизайн профиля пользователя |
|
12 |
ОЗ02 |
Неэффективный дизайн меню с товарами |
Разработать новый дизайн меню с товарами |
|
13 |
ОЗ03 |
Неэффективный дизайн контроллера с товаром |
Разработать новый дизайн контроллера с товаром |
|
14 |
ОЗ04 |
Неэффективный дизайн входа в приложение |
Разработать новый дизайн входа в приложение |
|
15 |
ОЗ05 |
Нет оптимизации интерфейса под iPhone 6/iPhone 6 Plus |
Сделать ресайзинг программного продукта для этих диагоналей |
|
16 |
ОЗ06 |
Нет оптимизации интерфейса под iPhone 5/5s/5c |
Сделать ресайзинг программного продукта |
|
17 |
ОЗ07 |
Нет оптимизации интерфейса под iPad Air/iPad Mini |
Сделать ресайзинг программного продукта |
|
18 |
ОЗ08 |
Нет горизонтального положения |
Сделать оптимизацию приложения по горизонтальному положению телефона |
3. Модификация и рефакторинг програмного продукта
3.1 Внесение изменений в базу данных
При добавлении новых функций в базе данных добавятся новые таблицы:
«Пользователь», «Корзина» и «Меню» которые будет иметь следующие поля:
Таблица 3.1 Структура таблицы «Пользователь»
Имя поля в таблице |
Название поля |
Тип |
Ограничение |
|
idUser |
ID пользователя |
int |
UNSIGNED,AUTO_INCREMENT |
|
Фамилия |
Фамилия пользователя |
Varchar(255) |
Notnull |
|
Имя |
Имя пользователя |
Varchar(255) |
Notnull |
|
Отчество |
Отчество пользователя |
Varchar(255) |
Notnull |
|
Адрес |
Адрес пользователя |
Varchar(255) |
Notnull |
|
Номер телефона |
Номер телефона |
int |
Notnull |
Таблица 3.2 Структура таблицы «Корзина»
Имя поля в таблице |
Название поля |
Тип |
Ограничение |
|
idGoods |
Код товара |
int |
UNSIGNED,AUTO_INCREMENT |
|
idUser |
Код пользователя |
Varchar(255) |
Notnull |
|
nameGoods |
Наименование товара |
Varchar(255) |
Notnull |
|
sumGoods |
Стоимость товара |
Int |
Notnull |
|
idStorage |
Код корзины |
Int |
Notnull |
|
countGoods |
Количество товара |
Int |
Notnull |
Таблица 3.3 Структура таблицы «Меню»
Имя поля в таблице |
Название поля |
Тип |
Ограничение |
|
idGoods |
ID товара |
int |
UNSIGNED,AUTO_INCREMENT |
|
nameGoods |
Наименование товара |
Varchar(255) |
Notnull |
|
categGoods |
Категория товара |
Varchar(255) |
Notnull |
|
imageGoods |
Картинка |
BLOB |
Notnull |
|
sumGoods |
Цена |
int |
Notnull |
|
discrGoods |
Описание товара |
Varchar(255) |
Notnull |
3.2 Изменение структуры программы
Программный продукт «Кондитерская» был переписан полностью с нуля. На другом языке программирования и под другую операционную систему, поэтому потерпел очень значительные изменения в интерфейсе и в функциональности программы.
Главное меню программы выглядит следующим образом:
Рисунок 3.1 - Главная страница
Вход в программу выглядит следующим образом:
Рисунок 3.2 - Вход в приложение
AlertView входа выглядит следующим образом:
Рисунок 3.2 - AlertView входа
Регистрация пользователя выглядит следующим образом:
Рисунок 3.3 - Регистрация пользователя
Профиль пользователя выглядит следующим образом:
Рисунок 3.3 - Профиль пользователя
Контроллер с товарами выглядит следующим образом:
Рисунок 3.4 - Меню выбора товара
Контроллер с описанием товара выглядит следующим образом:
Рисунок 3.5 - Контроллер описания товара
Контроллер с добавленными товарами выглядит следующим образом:
Рисунок 3.5 - Корзина с товарами
3.3 Расширение функционала программы и его реализация
В новую версию программного продукта «Кондитерская» были добавлены следующие функции:
ѕ авторизация в личном кабинете;
ѕ регистрация в личном кабинете;
ѕ полноценная корзина с товарами;
ѕ определение состояние заказов;
ѕ горизонтальная версия программы;
ѕ оплата покупки за бонусы.
ѕ изменение количества товара во время добавления в корзину;
ѕ подсчет общей суммы заказа;
ѕ добавление товара в корзину;
ѕ редактирование информации о пользователе;
4. Отладка и тестирование програмного продукта
4.1 Тестирование программы в идеальных условиях
Тестирование данных функций проводилось на следующих смартфонах: iPhone 5/iPhone 5s/iPhone 5c/iPhone 6/iPhone 6 Plus и планшетах iPad Air/iPad Mini под операционной системой iOS 8.1.2.
Функция |
Входные данные |
Результат |
|
Авторизация пользователя |
В поле логин вводим «test» а в поле пароль ничего не вводим |
Вывелось сообщение, что нужно ввести пароль |
|
В поле пароль вводим «test», а в поле логин ничего не вводим |
Вывелось сообщение, что нужно ввести логин |
||
В поле ничего не вводим |
Программа просто будет ожидать ввода вашего логина и пароля |
||
Добавление товара в корзину |
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Видим, что цена товара изменилась и прибавилось количество |
|
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Цена и количество выросли в 2 раза |
||
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Цена и количество выросли в 3 раза |
4.2 Тестирование программы в реальных условиях
Тестирование проводилось на более младших смартфонах: iPhone 4s под управлением операционной системы 7.1.2 и 8.1.2.
Функция |
Входные данные |
Результат |
|
Авторизация пользователя |
В поле логин вводим «test» а в поле пароль ничего не вводим |
Вывелось сообщение, что нужно ввести пароль |
|
В поле пароль вводим «test», а в поле логин ничего не вводим |
Вывелось сообщение, что нужно ввести логин |
||
В поле ничего не вводим |
Программа просто будет ожидать ввода вашего логина и пароля |
||
Добавление товара в корзину |
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Видим, что цена товара изменилась, и прибавилось количество |
|
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Цена и количество выросли в 2 раза |
||
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Цена и количество выросли в 3 раза |
4.3 Тестирование программы в граничных условиях
Тестирование проводилось на смартфоне iPhone 4 под управлением операционной системы iOS 7.1.2.
На этой операционной системе и на данном смартфоне были замечены мелкие баги и нестабильная работа приложения. Вылеты при вводе логина/пароля, при добавлении товара в корзину или при оплате товара. В целом приложение выполняет свои функции правильно. Вылеты, скорее всего, происходят из-за того, что железо iPhone 4 не позволяет работать с таким громоздким приложением, к тому же операционная система iOS 7.1.2 очень устарела и требует оптимизации.
Функция |
Входные данные |
Результат |
|
Авторизация пользователя |
В поле логин вводим «test» а в поле пароль ничего не вводим |
Вывелось сообщение, что нужно ввести пароль |
|
В поле пароль вводим «test», а в поле логин ничего не вводим |
Вывелось сообщение, что нужно ввести логин |
||
В поле ничего не вводим |
Программа просто будет ожидать ввода вашего логина и пароля |
||
Добавление товара в корзину |
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Видим, что цена товара изменилась и прибавилось количество |
|
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Цена и количество выросли в 2 раза |
||
На контроллере товара нажимаем на кнопку «Добавить в корзину» |
Цена и количество выросли в 3 раза |
5. Инструкция по установке и обслуживанию програмного продукта
Для установки программного продукта требуется зарегистрироваться в магазине онлайн приложений - AppStore, найти приложение в поиске и скачать его. Либо воспользоваться программой iTools (для Mac OS/Windows), подключить Ваш девайс к компьютеру и установить ее.
6.
6. Инструкция по эксплуатации програмного продукта
6.1 Инструкция пользователя
В данном пункте предлагается краткое руководство по работе с приложением. При запуске программы появится главное окно приложения, в котором, при нажатии кнопок, будут доступны все последующие контроллеры, в соответствии с аспектами данной предметной области и открывать доступ к следующим функциям:
· Просмотр товаров;
· Авторизация/регистрация пользователя;
· Редактирование данных о пользователе;
· Добавление товара в корзину;
Для начала использования приложения Кондитерской, нужно его открыть на экране смартфона. После входа появится главное окно:
Рисунок 6.1 - Главная страница приложения
Можно осуществить вход в приложение (если Вы уже зарегистрированы) по нажатию на кнопку “Профиль”, после чего осуществится переход на новый вьюконтроллер и выскочит алертвью с предложением ввести данные и войти, либо зарегистрироваться:
Рисунок 6.2 - Вход в приложение
Когда пользователь авторизуется, либо зарегистрируется, то он перейдет на следующий вьюконтроллер(рис 6.3) с информацией о его профиле. В профиле можно будет, как отредактировать вашу информацию, так и поменять пароль. Так же можно перейти в корзину и посмотреть товары, которые на данный момент находятся там и еще не были оплачены и приняты официантом. В правом верхнем углу находится кнопка выхода из профиля. В левом верхнем углу находится кнопка “Назад” нажав по которой вы можете вернуться на предыдущий вьюконтроллер, но можно просто сделать свайп вправо, чтобы вернуться назад.
Рисунок 6.3 - Профиль пользователя
После того, как мы авторизовались и проверили свой профиль, то можем перейти к выбору товара. Вернемся на главное меню и зайдем в товар.
При переходе на вьюконтроллер с товарами(рис. 6.4) нас встретит красивая таблица с ячейками в которых можно увидеть краткое описание товара: картинку, название товара, категорию товара и стоимость за единицу товара.
Рисунок 6.4 - Меню со списком товаров
Когда Вы определились с заказом, то можете перейти к конкретному товару, кликнув по нему в списке. Загрузится следующий вьюконтроллер с описанием данного товара.
Рисунок 6.5 - Подробное описание товара
Вы перейдете на контроллер с подробным описанием товара(рис 6.5). Тут можно обнаружить его название, описание(состав) и стоимость товара. Так же можно добавить количество с помощью кнопок “+” и “-“.
Если это тот товар, который вам нужен - кликаем кнопку “Добавить в корзину”, после чего в правом верхнем углу сразу можем перейти в корзину и просмотреть добавленный товар.
Рисунок 6.6 - Корзина
Мы переходим в корзину и видим, что сделали заказ на 4 кекса имеющего наименование “Роза” с общей стоимостью в 60 грн. Нажимаем на кнопку оплатить заказ.
Рисунок 6.7 - АлертВью принятого заказа
После чего видим AlertView, которое сообщает нам о том, что заказ принят и скоро будет готов.
ВЫВОД
В данной курсовой работе были успешно реализованы все поставленные задачи, были подробно рассмотрены: задача курсового проекта, а так же порядок выполнения задания.
Тестирование программного продукта - это одна из важнейших стадий разработки приложения. Чтобы заказчик был доволен программой, приходится проверять все возможные варианты использования приложения. Для этого и нужны тестирования в идеальных, реальных, исключительных и граничных условиях.
В ходе выполнения оптимизации и усовершенствования программного продукта «Кондитерская» было добавлено много функций. Ибо проект переписывался с нуля на другом языке. Программный продукт приобрел совершенно новый интерфейс.
Улучшенный программный продукт позволяет полноценно работать с базой данных, хотя никаких особых функций не имеет. Зато имеет интуитивно понятный интерфейс, который будет понятен любому посетителю нашего заведения.
Данная курсовая работа научила меня правильно составлять техническое задание, проводить рефакторинг программного продукта, заниматься его тестированием и верификацией.
ПЕРЕЧЕНЬ ЛИТЕРАТУРЫ
1. https://developer.apple.com/library/ios/navigation/
2. http://www.raywenderlich.com/
3. http://www.geekylemon.com/
4. http://www.appcoda.com/
5. http://arigrant.com/
6. http://iosunittesting.com/
7. http://macbug.ru/ios/alertview
Размещено на Allbest.ru
Подобные документы
Архитектура программного продукта и требования к платформе, обоснование выбора разработки. Закономерности и основные этапы алгоритмизации и программирования, а также отладка и тестирование продукта. Разработка и содержание руководства пользователя.
дипломная работа [2,3 M], добавлен 19.01.2017Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Разработка программного продукта "2D-макет фильтра" для производства ООО ПК "ХимМаш". Назначение программы, требования к информационной и программной совместимости, параметрам технических средств. Проектирование архитектуры программного продукта.
курсовая работа [1,3 M], добавлен 14.02.2016Понятие и специфика автоматизированных систем. Описание методики разработки программы для автоматизации. Ее тестирование и отладка. Внедрение АС в работу предприятия. Расчет экономического эффекта от разработки и реализации программного продукта.
дипломная работа [1,4 M], добавлен 23.06.2015Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.
контрольная работа [2,5 M], добавлен 17.12.2014Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Описание исходных текстов программного продукта. Системные требования и установка программного продукта. Тестирование пользователя по двадцати вопросам указанной темы и сохранение результатов тестирования. Форма отображения результатов тестирования.
курсовая работа [2,8 M], добавлен 09.07.2013Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Обзор и анализ существующих методик управления проектами и оценки трудоемкости. Разработка алгоритма задания параметров и вычисления трудоемкости и стоимости программного продукта. Отладка и тестирование продукта. Разработка руководства пользователя.
дипломная работа [2,5 M], добавлен 18.11.2017Анализ существующего программного обеспечения. Этапы создания проекта. Концептуальное, логическое и физическое проектирование базы данных. Структура программного продукта. Руководство программиста и оператора. Тестирование программного продукта.
курсовая работа [586,4 K], добавлен 26.06.2015