Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Примеры дипломов / ВКР_Ботов.pdf

Скачиваний:
35
Добавлен:
13.05.2015
Размер:
2 Мб
Скачать

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

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

Полная схема прототипированных страниц и их частей представлена на рис. 4.4 «SketchFlow Map»

Рис. 4.4 «SketchFlow Map»

Прямоугольниками на рис. 4.4 обозначены страницы, закругленными прямоугольниками – веб-части. Сплошные линии обозначают наличие ссылки – возможности осуществить переход на указываемую страницу.

Пунктирные линии обозначают присутствие веб-части на указываемой странице.

42

Ниже на рисунках 4.5, 4.6 представлены снимки прототипированных страниц. Все снимки страниц, для которых были сделаны макеты,

представлены в приложении 1.

Рис. 4.5 «Список продуктов в категории»

43

Рис. 4.6 «Детали продукта»

 

 

4.3.3. Прототипирование

интерфейса

интернет-магазина

оптимизированного под пользование браузером смартфона Apple iPhone

В процессе проектирования был принят во внимание опыт других компаний. Так на оптимизированный под iPhone интерфейс наибольшее влияние оказал Amazon.com.

Проектирование осуществлялось исходя из разрешения 320 на 480

пикселей, так как именно такое расширение имеет дисплей смартфона iPhone [27].

Для построения данного прототипа интерфейса использовался тот же инструмент, что и на предыдущем этапе – инструмент SketchFlow средства

Microsoft Expression Blend 3.

44

Полная схема прототипированных страниц и их частей представлена на рис. 4.7 «SketchFlow Map»

Рис. 4.7 «SketchFlow Map»

Ниже на рисунках 4.8-4.10 представлены снимки прототипированных страниц. Все снимки страниц, для которых были сделаны макеты,

представлены в приложении 2.

Рис. 4.8 «Детали продукта»

45

Рис. 4.9 «Список продуктов», рис. 4.10 « Корзина покупателя» (слева

направо).

46

5.ОПИСАНИЕ РЕЗУЛЬТАТОВ РАБОТЫ

Как отмечалось ранее в разделе постановки задачи, помимо автора работы над построением прототипа интернет-магазина было занято еще несколько программистов. Процесс распределения работ осуществлялся,

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

Винтегрированной среде разработки Visual Studio 2010

разрабатываемое ПО представляет собой Решение (Solution), которое может включать ряд Проектов (Project), которые являются модулями системы и обладают определенной логической целостностью. Так Решение переднего офиса прототипа интернет-магазина с оптимизированными интерфейсами –

StorusMain включает в себя пять проектов, каждый из которых представлен на рис. 5.1:

MainBL – проект, содержащий набор классов, представляющих собой уровень Бизнес-логики в приложении с трехзвенной архитектурой. Тип проекта – Class Library.

MyCommon – проект содержащий утилитарные классы необходимые во всех частях Решения. Тип проекта – Class Library.

MainDB – проект, содержащий набор классов, представляющий собой уровень Доступа к данным в приложении с трехзвенной архитектурой.

Тип проекта – Class Library.

Main.Tests – проект, включающий классы с методами, тестирующими функционал Проекта слоя представления Решения переднего офиса.

Тип проекта – Class Library.

47

Main – проект, представляющий собой слой Представления переднего офиса. Тип проекта – ASP.NET MVC 2 Web Application.

Проекты типа Class Library являются библиотечными, включают в себя наборы классов, интерфейсов и т.п., компилируются в *.dll файлы.

Рис. 5.1 «Решение StorusMain и входящие в него проекты»

Наиболее подробно рассмотрим проект Main. Структура проекта включает папки Models, Views, Controllers, которые соответственно содержат классы модели, файлы представления (.aspx страницы, .ascx веб-части,

.master файлы шаблонов страниц), классы контроллеров. Следует отметить важность файла Global.asax. В нем задается таблица маршрутизации, правила

48

которой определяют какой контроллер и какой метод необходимо вызвать по текущему запросу. Правила имеют приоритет. Чем выше правило в таблице – тем выше его приоритет. По этой причине наиболее специфичные правила рекомендуется располагать выше. Таблица маршрутизации для переднего офиса прототипа приведена на рис. 5.2.

Рис. 5.2 «Таблица маршрутизации запросов»

Примеры работы таблицы маршрутизации приведены в таблице 5.1

49

Таблица 5.1 «Примеры работы таблицы маршрутизации»

Запрос

Контролер

Метод

 

 

 

http://localhost/

Home

Index

 

 

 

http://localhost/c26/Category-Name-1

Product

ProductList

 

 

 

http://localhost/c26/p29/Product-Name-1

Product

ProductDetail

 

 

 

http://localhost/Cart/Index

Cart

Index

 

 

 

Механизм таблиц маршрутизации позволяет достаточно просто реализовать так называемые дружественные Url (Friendly Url). В

классическом ASP.NET Web Forms приложении, не использующем Url Rewriter, третий запрос – http://localhost/c26/p29/Product-Name-1 выглядел бы

http://localhost/?c=26&p=29, то есть, менее дружественно. Что в свою очередь, оказывает влияние не только на степень воспринимаемости ссылок пользователями, но и на поисковую оптимизацию (SEO – Search Engine Optimization)

После того как запрос был разобран, происходит вызов соответствующего метода контролера. Метод должен вернуть переменную типа ActionResult, связанную с определенным View. В качестве примера рассмотрим запрос http://localhost/Checkout/BillingInfo. К данному запросу применится последнее правило таблицы маршрутизации и произойдет вызов метода BillingInfo() контроллера CheckoutController.

В ASP.NET MVC по умолчанию за методом контроллера закрепляется представление с тем же названием, что у вызванного метода. Данное поведение можно переопределить – в зависимости от браузера пользователя и его предпочтений возвращать оптимизированную версию интерфейса.

Наиболее элегантное решение – это использование механизма нестандартных атрибутов, позволяющее на декларативном уровне задавать для какого контроллера или метода контроллера следует осуществлять поиск

50

оптимизированной версии интерфейса. Код класса MobileFilter приведен в приложении 3. Ниже на рисунке 5.3 приведен фрагмент, демонстрирующий использование атрибута MobileFilter

Рис. 5.3 «Демонстрация использования атрибута MobileFilter»

Потому как метод BillingInfo() принадлежат классу, помеченному декларативно атрибутом MobileFilter, то произойдет определение браузера клиента, в зависимости от которого будет отдано соответствующее View – BillingInfo.aspx или BillingInfo.iPhone.aspx. Код разметки представлений приведен в приложениях 4 и 5 соответственно.

При построении .aspx представлений (View) использовалась технология MasterPage, которая позволяет избежать дублирования блоков разметки и служит своеобразным шаблоном страницы. Задается MasterPage

декларативно на наследующей странице с помощью директивы

MasterPageFile; пример для BillingInfo.aspx приведен во фрагменте на рис. 5.4.

51

Соседние файлы в папке Примеры дипломов