Разработка графического приложения для программных проектов на Agile

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 15.09.2018
Размер файла 1,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Правительство Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

"Национальный исследовательский университет "Высшая школа экономики"

Нижегородский филиал

Факультет информатики, математики и компьютерных наук

Базовая кафедра группы компаний MERA

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

На тему: Разработка графического приложения для программных проектов на Agile

Самедова Лилия Фируддиновна

Нижний Новгород, 2018 г

В последние годы, разработка программного обеспечения стремительно развивалась и стала одной из самых востребованных отраслей промышленности. Наряду с этим, требования к объему и сложности разрабатываемых продуктов также возросли. Разработка и техническое обслуживание больших и сложносоставных проектов требует определенной степени систематизации в работе и стратегии для распределения рабочей силы и доступных ресурсов, другими словами, система управления командными проектами.

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

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

В последнее время большую популярность приобретают гибкие методологии управления IT-проектами, основная суть которых базируется на преимуществах итеративной и спиральной моделей жизненного цикла. Помимо этого, гибкие методологии пропагандируются как «готовые к изменениям», что в большинстве случаев больше подходит для IT-проектов, управляемых в быстро меняющихся средах.

Актуальность тематики

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

По завершении разработки продукта, проект переходит в стадию технического обслуживания, в течение которой исправляются и дорабатываются ошибки.

Проблема

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

Новизна темы

В настоящее время существует множество подходов гибкой методологии, позволяющие эффективно распределять ресурсы, координировать усилия и организовывать рабочий процесс для выполнения поставленных целей. Применяемые на практике техники разнятся, для разработки продукта применяется одна техника, для технической поддержки проекта - другая. Они учитывают специфику деятельности и возможности команды. Обзор соответствующей литературы и различным исследованиям по данной теме раскрыл состояние проблемы на сегодняшний день: для работы над несколькими проектами или над одним масштабным, компания обычно выделяет несколько групп разработчиков, которые должны заниматься задачами их сферы (разработка, поддержка). Однако такое разделение для небольших компаний может повлечь за собой финансовые и организационные проблемы, такие как повышение стоимости проекта, узкая направленность работы опытных специалистов, простои в работе. Попытка объединить команды может дать рост продуктивности и увеличение эффективности компании в целом, дав тем самым возможность работать команде над интересными целями и совместно делать вклад в прогресс проекта.

Цели и задачи

Целями данной выпускной работы являются:

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

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

Для достижения данных целей поставлены следующие задачи:

· изучить существующую литературу по гибкой методологии

· сделать аналитический обзор подходов гибкой методологии

· выбрать для улучшения подход, который будет эффективен для применения его на практике

· сделать модификацию выбранного подхода и объяснить его выгодное отличие от классической версии данного подхода

· выбрать инструменты для разработки приложения

· разработать требования к создаваемому приложению

· спроектировать архитектуру приложения

· реализовать необходимые функции

· составить руководство пользователя

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

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

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

Теоретическая часть

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

История появления Agile

За последние 25 лет было внедрено большое количество различных подходов и методов разработки программного обеспечения, из которых лишь немногие добились общественного признания и широко используются на сегодняшний день. До недавнего времени модель водопада была наиболее распространенной моделью для планирования, разработки, тестирования и реализации проекта на рынок. Этот метод был создан и описан в США в конце 50-х годов. Согласно подходу, все этапы проекта реализуются последовательно, и переход на следующий этап возможен только после полного и успешного завершения предыдущего. Для определения требований и проектирования требуется высокий уровень формализации. Это является одним из основных особенностей подхода. Однако формализация приводит к сокращению возможностей даже для небольших изменений в требованиях к разрабатываемому продукту, а высокая детализация планирования может привести к увеличению стоимости проекта и времени, затраченного на него. Можно отметить, что преимущества данной модели проявляются в проектах, для которых все требования известны на начальном этапе и не будут изменены в дальнейшем и качество является приоритетной целью.

Новые «гибкие методы» начали возникать с ростом числа проектов с неопределенными и непредсказуемыми результатами, когда заказчик не может сформулировать своё видение конечного результата, или требования к проекту могут измениться в ходе реализации. Поэтому гибкая разработка программного обеспечения во многих случаях заменила классическую модель водопада.

Определение гибкой методологии разработки

Термин “Agile” используется для обозначения серии подходов, объединенных основными принципами данной методологии и ориентированных на использование итеративной или цикличной разработки. Этот термин официально появился с подписанием Agile Manifesto в 2001 году (рисунок 1). Основной целью манифеста была формулировка общих принципов и терминологии, а также распространение новой концепции на более широкое использование.

Рис. 1 Agile Manifesto 2001г.

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

Итеративный подход подразумевает последовательность циклических итераций из четырех основных фаз: сбор требований, планирование работы на текущую итерацию, разработка функционала и его тестирование (рисунок 2).

Рис. 2 Фрагмент итерации итеративной модели жизненного цикла IT-проекта

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

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

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

Подходы гибкой методологии разработки

В настоящее время существует множество подходов гибкой методологии разработки, но наиболее популярными являются «экстремальное программирование» (XP), «скрам» (Scrum), «шесть сигм» (Six sigma), «бережливая разработка» (Lean), и «канбан» (Kanban). Несмотря на то, что все они объединены общими принципами гибкой методологии, каждая из них является уникальной в своем роде и имеет специфическую среду применения и отличительные особенности. При правильном применении определенный подход способен привести к максимальной эффективности компании за счет оптимального распределения доступных ресурсов и организации рабочего времени каждого сотрудника.

Scrum

Одним из подходов гибкой методологии является Скрам, который получил широкое распространение в сфере разработки. Первые упоминания в литературе на термин «Scrum» относятся к статье Такеучи и Нонаки в 1986 году, в которой эта методология определяется как быстрый, адаптивный, самоорганизующийся процесс разработки продукта. Это эмпирический подход, применяющий полезные идеи теории управления проектами для развития систем и стремление соответствовать концепции гибкости, адаптивности и производительности. Он не определяет каких-либо конкретных методов разработки программного обеспечения для его реализации. Скрам устанавливает различные цели и концентрируется на таких важных вопросах, как то, как члены команды должны гибко создавать систему в постоянно меняющейся среде.

Основная цель, которую преследует Скрам, - это способность реагировать на изменения как можно быстрее с минимальными потерями времени и денежных средств, что достигается путем контроля и предсказания различных рисков, которые могут появиться на каждом этапе процесса разработки. Следуя принципам Agile, Скрам разбивает весь проект на небольшие независимые части, которые сразу могут использоваться заказчиком для реализации, так называемый задел продукта (product backlog). Затем, составляется последовательность разработки и внедрения частей в том порядке, который важен для заказчика в данный момент времени. Каждая такая часть выполняется в спринте, так называются итерации в подходе Скрам, длящиеся от 2 до 4 недель, и представляется как рабочий инкремент разрабатываемого продукта (рисунок 3).

Рис. 3. Схема процесса Скрам

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

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

В производственном процессе Скрам есть определенные роли (рисунок 4), основными из них являются Скрам-мастер, команда разработки и владелец продукта.

Рис. 4. Роли Скрам

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

· Команда разработки состоит из квалифицированных специалистов разных направлений разработки: тестирование, архитектура, аналитика и дизайн кода. Оптимальный размер команды должен составлять от 3 до 9 человек, чтобы быть достаточно большой для выполнения значительного объема работы в течение спринта и в то же время оставаться гибкой во взаимодействии внутри команды. Основной задачей команды разработки является выполнение необходимых для спринта задач.

· Владелец продукта является представителем Заказчика в проекте, а также всех заинтересованных в результате продукта сторон (будущих или существующих клиентов). Он считается ответственным за беклог продукта и приоритизацию задач внутри него.

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

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

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

· Ежедневное совещание является неотъемлемой частью гибкой методологии. Члены команды тратят в среднем по 15 минут в день на то, чтобы обсудить статус задач, состояние проекта и делятся необходимой информацией. В это время также происходит принятие решений и обсуждение актуальных проблем, все вопросы и конфликты решает Скрам-мастер. Главная цель таких собраний - поддержание членов команды в курсе состояния проекта и своевременное решение возникших трудностей и проблем.

· Для наглядной демонстрации процесса работы над спринтом используется Scrum-board - доска (рисунок 5), она может быть как физической так и цифровой, на которой отображаются задачи спринта, разделенные по состояниям готовности («пользовательские истории», «планирование», «разработка», «тестирование», «релиз»). Scrum-master зачитывает приоритетные задачи и обсуждает их процесс выполнения.

Рис. 5. Scrum board

· Обзор итогов Спринта проводится в конце каждого спринта, где команда представляет результат работы владельцу продукта. Успешным завершением спринта считается соответствие реализованного с ожиданиями и целями, поставленными в планировании спринта.

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

Преимущества:

· Высокий уровень взаимодействия членов команды

· Наличие Скрам-мастера

· Ориентация на требования заказчика

· Возможность быстрого исправления ошибок

· Позволяет получить потенциально рабочую версию продукта в конце каждого спринта

· Инкрементальный подход

· Увеличение продуктивности

Недостатки:

· Требовательность к навыкам членов команды

· Ограничение к числу участников

· Необходимые коммуникативные навыки и ответственность со стороны членов команды

· Большое количество проводимых мероприятий

· Спринты должны быть тщательно определены

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

Kanban

Как и описанный выше Скрам, Канбан является одним из подходов гибкой методологии разработки. “Kanban” является японским термином, и обозначает «рекламный щит» или «вывеска». Его использовали в компании Toyota на производстве, когда перечисляли выполняемые работы на листках бумаги и вывешивали их в специально отведенном месте рядом с другими такими же листками. Позже в 1959 году, система Канбан была сформирована и в 1962 году реализована в производственной системе Тойоты, вследствие чего, все производство было переведено на этот принцип.

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

Канбан основан на трех основных принципах:

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

· Минимизация процесса производства. Данный принцип помогает сбалансировать подход, основанный на потоках, чтобы команды не начинали и не делали слишком много работы одновременно.

· Оптимизация жизненного цикла разработки. Возможность вносить своевременные изменения в процесс разработки является неотъемлемой частью Канбан и одним из важных компонентов гибкой методологии в целом.

Канбан помогает улучшить рабочий процесс. С визуальным представлением процесса разработки, скорость перехода от одной задачи к другой уменьшается. Это достигается путем эффективного использования Канбан-доски (рисунок 6), на которой каждая задача отображена в виде отдельной карточки, которая перемещается по столбцам, указывающим, в каком состоянии рабочего процесса находится данная задача («Запланировано», «В процессе выполнения», «Сделано»). Карточка перемещается по столбцам и на каждом этапе процент завершения задачи становится выше. Сама доска со столбцами может быть как физической, так и электронной.

Рис. 6. Kanban board

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

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

Эффективность внедрение подхода Канбан наиболее высока для команд поддержки продукта, такие как:

o группы поддержки ПО, где важна скорость реагирования на изменения

o группы тестирования, работающие отдельно от групп разработки

o службы поддержки

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

Преимущества:

а Высокий уровень взаимодействия членов команды

а Отсутствие ролей

а Нет четких дедлайнов

а Быстрая доставка продукта

а Высокий уровень визуализации

а Непрерывный поток задач

а Изменения допустимы в любое время

а Сокращение потерь

а Постоянное увеличение эффективности и продуктивности

Недостатки:

а Ограничение к числу участников и диапазону их деятельности

а Недостаток дисциплины

а Требуется высокая оптимизация работы во избежание простоев в работе

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

а Участники команды должны быть самостоятельными и самоорганизованными

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

Scrumban

Scrumban = Scrum + Kanban

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

Гибрид Скрам и Канбан дает команде гибкость в адаптации и изменении потребностей владельца продукта и заинтересованных сторон, без риска перегруженности методологией. Скрамбан объединяет гибкость Скрам и визуализацию Канбан, Что делает подход очень универсальным к управлению рабочим процессом.

Его также можно использовать, чтобы помочь команде осуществить плавный переход от Скрам к Канбан. Для многих групп разработчиков программного обеспечения немедленный переход к Канбан был бы слишком резким. Таким образом, Скрамбан предлагает командам удобный способ научиться практиковать постоянное совершенствование в Канбан, не отказываясь при этом от привычной структуры Скрам.

Можно выделить основные характеристики гибридного подхода:

· Командная работа организована в небольших итерациях и контролируется с помощью визуальной доски, аналогичной доскам Скрам и Канбан

· Длина итерации измеряется количеством поставленных задач и командной скорости выполнения.

· Идеальная длина итерации зависит от рабочего процесса каждой команды и не должна превышать двух недель

· Применение минимизации процесса производства для беклога

· Ограничение на количество задач в любой этап разработки

· Определена роль команды, остальные роли добавляются в случае необходимости

· Кратковременные сроки выполнения за счет своевременного анализа и планирования

· Проводятся только ежедневные собрания, на которых происходит планирование, обзор и ретроспектива, если это необходимо

· Команда работает с как можно меньшим количеством задач одновременно

· Задачи, запланированные для следующей итерации, добавляются в раздел «To Do»

· Приоритет задачам задается во время проведения планирования. Задачи добавляются на доску с пометкой приоритета

Так как в основе данного подхода лежит требование Канбан к визуализации и прозрачности процесса разработки, доска является неотъемлемым рабочим элементом. Доска Скрамбан (рисунок 7) объединяет поточность доски Канбан и разбиение на стадии и приоритизацию задач Скрам. В первую очередь выполняются задачи из столбца приоритетов. Новые задачи появляются на доске в столбце «Сделать» и не назначаются определенному члену команды. Так, члены команды выбирают себе задачи для выполнения самостоятельно.

Рис. 7. Scrumban board

Преимущества:

а Более гибкое формирование беклога по сравнению с классическим Скрам

а Срок завершения спринта может быть уменьшен или увеличен в зависимости от нужд команды

а Возможность добавления задач в процессе выполнения Спринта

а Прозрачность организационных процессов

а Использование доски для визуализации

а Совещания происходят по необходимости

а Минимизация потерь и простоев

Недостатки:

а Необходимо строгое определение сроков спринтов, в противном случае, потоковое выполнение задач может затянуться на продолжительное время

а Требуются опытные и самоорганизованные участники команды

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

Экстремальное программирование (XP, eXtreme Programming) - это гибкий подход разработки, который в значительной степени фокусируется на обеспечении качества поставляемого программного обеспечения и оперативность реагирования на изменяющиеся требования клиентов. Экстремальное программирование было разработано Кентом Бек нацеленным на удовлетворения специфических потребностей разработки программного обеспечения небольшими командами.

Как подход гибкой методологии, XP придерживается процесса разработки в частых «релизах» в коротких циклах, чтобы повысить производительность и ввести контрольные точки, на которых могут быть приняты новые требования клиентов. Экстремальное программирование считается эффективным в небольших командах, насчитывающих от 12 до 16 разработчиков.

XP - это подход, который состоит из ценностей и практик

Экстремальное программирование базируется на пяти ценностях:

· Простота. Простые решения дешевле и быстрее реализуются, чем сложные. XP всегда пытается найти простейшие решения

· Общение. Все члены команды должны непрерывно общаться друг с другом. Через общение недоразумения и ошибки могут быть решены очень быстро, вопросы решаются своевременно.

· Обратная связь. Для достижения высокого качества и потребностей клиента происходит частые встречи с представителем заказчика, который зачастую работает с командой разработчиков.

· Смелость. Некоторые методики экстремального программирования требуют храбрости использовать непривычные методики подхода и не бояться: сосредоточиться только на том, что требуется, общаться и принимать критику, реорганизовывать код, честно говорить о прогрессе и оценках, приспосабливаться к постоянным изменениям.

· Уважение. В экстремальном программировании все члены команды уважают друг друга, каждый участник вносит полезный вклад, который не замедлит работу своих коллег и стремится к высшему качеству кода и дизайна проекта, уважая потребности клиента и принимая его критику, уважая его опыт.

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

Рис. 8. Практики экстремального программирования

Всего можно выделить 13 практик экстремального программирования (рисунок 8):

1. Вся команда.

Все участники проекта работают вместе. С ними работает и представитель владельца продукта, который разрабатывает требования к продукту и расставляет приоритеты.

2. Игра в планирование

Основной процесс планирования в экстремальном программировании называется игрой в планировании и происходит один раз за итерацию, обычно один раз в неделю. Её цель - быстро определить масштаб следующего релиза, объединяя приоритеты и технические измерения.

3. Частые релизы версий

В экстремальном программировании происходит частый выпуск версий с небольшим функционалом. Объясняется это легкостью в тестировании небольших частей, сохранении устойчивости системы в целом и своевременном выявлении проблем нового функционала.

4. Пользовательские тесты

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

5. Коллективное владение кодом

В XP разработанный код не закреплен за конкретным участником команды и может быть исправлен и дополнен любым разработчиком проекта.

6. Непрерывная интеграция кода

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

7. Стандарты кодирования

Необходимо соблюдать стандарты написания кода для его легкой читаемости другими участниками команды.

8. Метафора системы

Метафора системы - так называемая архитектура, представление о взаимосвязях компонентов системы между собой. Она дает команде понимание о принципе работе разрабатываемой системы, её актуальном функционале, и какой она должна быть.

9. Устойчивый темп

В экстремальном программировании команда разработчиков работает на максимуме продуктивности, сохраняя устойчивый темп и планируя работу для 40 часовой рабочей недели.

10. Разработка, основанная на тестировании

В XP тесты пишутся программистами до написания основного кода, который требуется тестировать. Это обеспечивает полное тестовое покрытие. Успешным написанием кода считается срабатывание всех написанных модульных тестов.

11. Парное программирование

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

12. Простой дизайн

Система должна быть спроектирована максимально просто в любой момент и содержать только то, что нужно именно сейчас. Простой код легче оптимизировать и переписать.

13. Рефакторинг

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

Преимущества:

а Соответствие продукта требованиям заказчика

а Своевременное внесение изменений в систему

а Всегда стабильно работающий код

а Легкость в поддержании системы за счет простоты и стандартизации кода

а Быстрые темпы разработки

а Высокое качество написанного кода

а Снижение затрат на разработку за счет отсутствия избыточной документации и многочисленных мероприятий

Недостатки:

а Минимум документации

а Не подходит для крупных проектов из-за недостатка структуры и документации

а Успех проекта зависит от степени участия в нем владельца продукта

а Подходит только для опытных и сильных разработчиков

а Трудно спланировать бюджет и количество затраченного времени в начале разработки

Использование и внедрение подхода экстремального программирования наиболее эффективно для таких проектов, в которых требования не являются четкими или вовсе недоступны, которые сразу требуют минимальную рабочую версию продукта.

Популярность методов, практик и инструментов гибкой разработки

Согласно двенадцатому ежегодному государственному исследованию гибкой методологии разработки и управления проектами интернет-ресурса Version One за 2017 год, подход Скрам, его модификации и комбинации с другими подходами гибкой методологии являются самыми используемыми в мире и применяются гораздо чаще, чем остальные подходы и практики гибкой разработки (рисунок 9).

Рис. 9. Популярность подходов Agile методологии

По данным исследования, всего 1% agile компаний используют подход экстремального программирования в классическом виде. Еще 6% команд работают по гибридной методологии XP +Scrum. Несмотря на то, что использование XP как независимой методологии составляет небольшой процент во всей индустрии разработки ПО, техники, связанные с этим подходом, тем не менее, являются популярными и имеют широкое применение на практике (рисунок 10).

Рис. 10. Использование инженерных практик в 2017г.

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

Снова обращаясь к исследованиям VersionOne, можно выявить, какие инструменты являются наиболее востребованными среди компаний, использующих гибкие методологии разработки (рисунок 11). Несмотря на небольшую популярность подхода Канбан (5% - рисунок 9), Канбан доски широко распространены среди команд разработки, и согласно результатам исследования, 74% команд выбирают этот инструмент для отслеживания задач рабочего процесса и еще 7% планируют его использовать в будущем.

Рис. 11. Использование инструментов

Разработка модификации гибкого подхода

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

Полагаясь на результаты исследований (рисунок 9), большинство компаний выбирает в качестве системы управления разработки гибкий подход Scrum в силу различных причин. Из всех рассмотренных подходов именно он является наиболее легковесным и простым в освоении, не требует применения сложных техник и строгого соблюдения организационного процесса. При этом он содержит все необходимые техники, стандарты и уникальные принципы, которые применяются для успешного создания программного обеспечения согласно гибкой методологии разработки. Необходимо также учесть популярность среди компаний в использовании Канбан досок. Предпочтение их другим инструментам отслеживания процесса разработки говорит о том, что большинство считает их удобными в использовании и стремится применять в независимости от выбранного подхода, что делает инструмент универсальным.

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

MScrum

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

Особенности модификации:

· Сохраняется роль Scrum-мастера и его обязанности над проектом, а также мероприятия, подразумеваемые концепцией Scrum по планированию, ежедневным собраниям, обзору итогов, и ретроспективе

· Сохраняется приоритетность задач, задаваемая владельцем продукта и вес задач, назначаемый командой во время планирования спринта

· Во время планирования команда сама настраивает приоритет задач для разработки и поддержки и разделяет вес спринта на две части. Рекомендуется выделять для поддержки 30% общего веса и 70% на разработку для внедрения достаточного количества функционала и исправления приоритетных ошибок без траты ценного времени на задачи низкого приоритета

· Задачи нельзя добавить во время выполнения спринта, необходимо дождаться его завершения и во время планирования спринта поставить задачи в бэклог

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

Преимущества модификации:

а Команда разработки занимается решением разнообразных задач, все участники вовлечены и в процесс разработки и технической поддержки

а Выполнение всех задач в одной итерации

а Повышение эффективности работы команды за счет отсутствия простоя людей

а Команда нацелена на приоритетные задачи

а Своевременно выполняются задачи создания нового функционала для одного проекта и исправления ошибок для другого

а Один подход для разных типов деятельности

а Отсутствует необходимость разделения команды и выбывание опытного участника

а Позволяет эффективнее распределять рабочее время участников команды

Недостатки подхода Scrum, связанные с требовательностью к навыкам самоорганизации и самостоятельности команды, а также с необходимостью тщательно планировать спринт на стадии планирования сохраняются.

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

Практическая часть

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

Требования к продукту разработки

1. Технические требования:

1.1. Разработка программы должна быть в выполнена в формате desktop-приложения на языке C++ с использованием библиотеки Qt.

1.2. Разработка должна вестись с помощью фреймворка Qt.

1.3. Приложение должно иметь графический интерфейс пользователя.

1.4. Приложение должно работать под Windows 7 (x64)

1.5. Данные приложения должны сохраняться на компьютере и загружаться при открытие приложения

1.6. Для хранения информации должен использоваться класс библиотеки Qt QSqlDatabase

1.7. Приложение должно запускаться через .exe файл.

2. Пользовательские требования:

2.1. Приложение должно представлять собой окно с 4 вкладками: «Main Window»(Главное окно), «Task board»(Доска задач), «Sprint board»(Доска спринтов), «Task by person»(Доска людей).

2.2. Главное окно:

2.2.1. В «главном окне» пользователь должен иметь возможность добавить объекты:

o Новый проект

o Нового человека

o Новый спринт

2.2.2. Новые объекты должны появляться в отведенном для них столбце

2.2.3. При нажатии на кнопку созданного объекта в должно открыться диалоговое окно редактирования данных объекта

2.3. Объект человека должен содержать следующие поля с информацией:

o Имя

o Фамилия

o Номер телефона

o Электронная почта

o Путь к изображению

2.4. Объект спринта должен содержать следующие поля с информацией:

o Имя

o Описание

o Состояние

o Доля разработки

o Доля технической поддержки

o Вес

o Имя проекта разработки

o Имя проекта технической поддержки

o Дата создания

o Дата планируемого завершения

o Дата завершения

2.5. Объект проекта должен содержать следующие поля с информацией:

o Имя

o Описание

o Состояние

o Назначенные люди

o Дата создания

o Дата завершения

2.6. Объект задачи должен содержать следующие поля с информацией:

o Имя

o ID

o Описание

o Комментарии

o Состояние

o Вес

o Имя QA

o Имя разработчика

o Имя проекта

o Имя спринта

o Дата создания

o Дата планируемого завершения

o Дата завершения

2.7. Задача может иметь состояния: «Open, «Planned», «In progress», «In testing», « Done ».

2.8. Доска задач

2.8.1.На «доске задач» должны быть столбцы: «Backlog», «To Do», «In progress», «In testing», «Done».

2.8.2. На «доске задач» пользователь должен иметь возможность добавить задачу, которая добавляется сразу в трех вкладках: «Доска задач», «Доска спринтов», «Доска людей»

2.8.3. При нажатии на кнопку задачи в «доске задач», «доске спринтов» и «доске людей» должно открыться диалоговое окно редактирования данных задачи

2.8.4. Задача должна располагаться в столбце, название которого соответствует её состоянию

2.9. Доска спринтов

2.9.1. На вкладке «доска спринтов» изначально должен быть создан столбец «Backlog»

2.9.2. Столбцы спринтов добавляются на эту вкладку по мере создания объектов спринтов на вкладке «главное окно»

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

2.9.4. Задача должна располагаться в столбце, название которого соответствует с именем спринта, указанном в данных объекта задачи

2.10. Доска людей

2.10.1. На вкладке «доска людей» должны быть столбцы: «Person», «backlog», «To Do», «In progress», «In testing», «Done».

2.10.2. Объект человека должен добавляться в столбец «person» по мере создания объектов людей на вкладке «главное окно»

2.10.3. Объект задачи должен располагаться в столбцах, название которых соответствует состоянию задачи и в строке человека, имя которого (разработчик) указано в данных о задаче

2.11. Объекты задач, имеющих тип Development и Maintenance должны быть разного цвета

Используемые инструменты

· Язык программирования C++

· Фреймворк Qt

· Библиотека Qt

· класс QSqlDatabase библиотеки Qt

Qt - платформа разработки кроссплатформенных приложений для настольных компьютеров, мобильных и портативных устройств. Поддерживаемые платформы включают в себя Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS и другие.

Qt позволяет запускать написанное с его помощью программное обеспечение в большинстве современных операционных систем путём простой компиляции программы для каждой системы без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Данный инструмент является полностью объектно-ориентированным, расширяемым и поддерживающим технику компонентного программирования.

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

Класс QSqlDatabase используется для подключения к базе данных. Класс QSqlDatabase предоставляет абстрактный интерфейс для доступа к базе данных и использует специальный QSqlDriver базы данных для доступа и манипуляции данными.

Архитектура

Как видно на диаграмме классов (рисунок 12), всего в приложении используется 4 обобщенные единицы для обработки информации, её хранения и работы над ней: люди, задачи, спринты, проекты. Спроектировано по 2 класса на каждый объект, для хранения информации и редактирования через графическое окно QDialog, которое является встроенным объектом фреймворка Qt. Главное окно MainWindow выполняет функции отрисовки динамически созданных объектов, например задач, хранит массив объектов классов, переключает режимы приложения.

Всего в приложении четыре режима работы:

o Главное окно. Отображает при открытии приложения. В этом окне отображаются и доступны для редактирования следующие объекты: люди, проекты, спринты.

o Доска задач. В этом режиме пользователю доступна доска задач, на которой отображены все задачи. Они рассортированы по столбцам по стадии их выполнения.

o Доска спринтов. На ней задачи рассортированы по спринтам

o Доска людей. Здесь показаны задачи, назначенные для определенного человека.

При нажатии на объект открывается диалоговое окно редактирования (QDialog) для определенного объекта. Вся отредактированная информация хранится в наследуемом от InfoClass классе типа объекта.

графический приложение программный модификация

Рис. 12. Диаграмма классов приложения

Руководство пользователя

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

Рис. 13. Главное окно приложения

При нажатии на кнопку “Add person” откроется диалоговое окно создания объекта человека. Пользователю предлагаются на ввод данные о человеке (путь изображения, имя, фамилия, электронный адрес, номер телефона). Кнопка Set Image загружает картинку по указанному пути. Нажатие кнопки Ok создает новый объект или сохраняет отредактированные данные существующего объекта.

Рис. 14. Диалоговое окно редактирования информации о человеке

Нажатие на кнопку “Add project” открывает диалоговое окно создания нового проекта. На ввод доступна информация об имени проекта, его описании, состоянии, назначенных людей и информация о датах создания и завершения проекта.

Рис. 15. Диалоговое окно редактирования информации проекта

Для того, чтобы создать новый спринт, нужно нажать кнопку “Add sprint”. В открытом диалоговом окне нужно ввести данные о спринте (имя, описания, состояние, доля веса на разработку и поддержку, общий вес спринта, проект разработки, проект поддержки, даты создания и завершения спринта)

Рис. 16. Диалоговое окно редактирования информации спринта

Для перехода в другой режим можно нажать на кнопки, расположенные на верхней панели приложения.

В режиме “Task board” доступна доска задач, на которой они располагаются согласно их состоянию выполнения. При смене состояния, задача перемещается на соответствующий столбец.

Рис. 17. Доска задач

Для добавления на доску задач новой задачи требуется нажать кнопку “Add new task” для открытия диалогового окна редактирования информации о задаче (имя, описание, комментарии, состояние, вес задачи, тип, назначенные люди, даты создания и завершения задачи).

Рис. 18. Диалоговое окно редактирования информации о задаче

Задачи типа Development и Maintenance отличаются по цвету.

Рис. 19. Доска задач

В режиме Sprint board пользователю доступна доска, на которой задачи располагаются по столбцам спринтов, в которых они выполняются. В шапке столбца спринта отображается информация о загруженности спринта по весу для каждого типа задач (development и maintenance) и датах спринта. Задачи, не назначенные на существующий спринт, отображаются в столбце backlog.

Рис. 20. Доска спринтов

В режиме “Task by person” в столбце Person отображаются добавленные люди. На данной доске отображаются задачи, назначенные на каждого человека. Так, напротив картинки человека, в столбцах стадии выполнения, располагаются задачи, которые были назначены конкретно на этого человека.

Рис. 21. Доска людей

При закрытии программы все данные сохраняются в папке с .exe файлом приложения и загружаются при его повторном открытии.

Заключение

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

...

Подобные документы

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.

    курсовая работа [3,6 M], добавлен 16.07.2016

  • Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.

    курсовая работа [700,6 K], добавлен 26.01.2010

  • Выбор состава технических и программных средств для создания данного приложения "Экзаменатор", использование среды разработки Borland Delphi. Основные компоненты и спецификация программы. Используемые технические средства, описание и запуск программы.

    курсовая работа [540,8 K], добавлен 18.07.2012

  • Особенность формирования реляционной модели данных. Создание таблиц в программе. Характеристика разработки web-интерфейса. Анализ вывода информации о каждом сотруднике. Образование листинга программных кодов. Суть удаления и редактирования извещений.

    курсовая работа [621,5 K], добавлен 14.01.2018

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

    курсовая работа [1,8 M], добавлен 07.01.2014

  • Разработка Web-приложения для ООО "Научно-производственная фирма по применению информационных технологий в электрических сетях". Техническое задание, проектирование процессов, создание базы данных, разработка дизайна, тестирование и отладка сайта.

    дипломная работа [3,8 M], добавлен 24.06.2011

  • Анализ создания виртуального окружения для разработки. Установка фреймворка Flask. Особенность настройки аутентификации и привилегий. Создание Python-файла и написание в нем простого веб-приложения. Запуск и проверка работоспособности приложения.

    лабораторная работа [2,1 M], добавлен 28.11.2021

  • Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения.

    курсовая работа [2,2 M], добавлен 14.04.2019

  • Классификация служебных программных средств. Файловая структура операционных систем. Основы графического интерфейса пользователя Windows XX. Анализ алгоритмов решения задач. Описание процесса разработки программного обеспечения и результатов работы.

    курсовая работа [2,4 M], добавлен 14.11.2016

  • Мониторинг сервисов веб-приложения. Проблема отслеживания большого количества сервисов, поддерживающих работу веб-приложения, ее решение с помощью "Service discovery"-инструментов. Применение программного инструмента Consul как клиент-серверной системы.

    статья [184,4 K], добавлен 10.12.2016

  • Интегрированная среда разработки Lazarus. Среда программных продуктов Lazarus, объекты программных компонентов. Палитра компонентов Standard, Additional. Разработка справочной системы: структура проекта, интерфейс программы, компоненты приложения.

    курсовая работа [695,2 K], добавлен 08.01.2023

  • Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстрирующего работу многопоточного приложения, использующего взаимоисключение на основе критической секции.

    лабораторная работа [300,4 K], добавлен 21.07.2012

  • Изучение предметной области и выявление основных задач Интернет-магазинов. Выбор средств разработки системы, базы данных, инфологической и даталогической моделей. Разработка программного приложения, программных модулей, представленных экранными формами.

    дипломная работа [4,2 M], добавлен 22.04.2015

  • Основные этапы разработки web-сайта факультета информатики: структурная схема функционирования, разработка интерфейса (регистрация посетителей, просмотр новостей, просмотр информации о факультете). Прописывание основных программных кодов приложения.

    контрольная работа [4,9 M], добавлен 02.12.2009

  • Исследование спецификации логической игры "Сапёр". Системное и функциональное проектирование приложения. Разработка программных модулей. Обзор классов, необходимых для создания интерфейса данного приложения. Инструменты для реализации логической игры.

    курсовая работа [1,2 M], добавлен 13.01.2016

  • Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.

    курсовая работа [560,1 K], добавлен 18.07.2012

  • Классификация пользователей проекта Web-приложения "Такси "Люкс". Выбор основных методов и средств разработки. Описание дизайна сайта. Исходный код обработчиков основных событий на страницах. Расчет себестоимости разработки программного продукта.

    дипломная работа [2,5 M], добавлен 26.06.2012

  • Функциональные возможности графического редактора Paint. Устройства персонального компьютера и их назначения. Стандартные программы операционной системы Windows. Приложения системы графического редактора к решению задач графики, теоретической механики.

    курсовая работа [156,5 K], добавлен 05.12.2008

  • Проектирование вариантов использования приложения. Анализ существующей версии приложения. Обоснование выбора инструментальных программных средств. Проектирование интерфейса пользователя. Адаптация под мобильные устройства. Описание программного продукта.

    курсовая работа [2,8 M], добавлен 25.06.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.