Модификация и рефакторинг программного продукта

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

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. 5 010 301 «Разработка программного обеспечения» по предмету «Конструирование программного обеспечения» в соответствии с заданием преподавателя Наугольной Л. Н.

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 экземпляре;

ѕ Техническое задание — разрабатывается в соответствии с ГОСТ 19 201–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

ПоказатьСвернуть
Заполнить форму текущей работой