Разработка сервиса для автоматизации процесса проверки кода

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 02.09.2018
Размер файла 724,9 K

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

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

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

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

BitBucket - Atlassian BitBucket Cloud, корпоративная система контроля версий, хранилище исходного кода.

Jira - Atlassian Jira Cloud, корпоративная система управления задачами.

Ревью, code review - проверка кода.

Pull request - запрос на включение изменений (слияние) в основную ветку.

Git - распределённая система управления версиями.

Webhook - способ асинхронного взаимодействия посредством обратного вызова HTTP методов.

REST - Representation State Transfer, архитектурный стиль взаимодействия компонентов распределённого приложения в сети.

LTS - Long Term Support, долгосрочная поддержка.

API - Application Programming Interface, набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах.

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

Литература

1. Cohn, M. H. Agile Estimating and Planning. - Stoughton, MA, USA: Prentice Hall, 2005.

2. Cohen, J. A. 11 Proven Practices for More Effective, Efficient Peer.

3. Cohen, J. A. Best Kept Secrets of Peer Code Review. - Beverly, MA, USA: SmartBear, 2013.

4. Newman, J. W. Building Microservices: Designing Fine-Grained Systems. - Sebastopol, CA, USA: O'Reilly Media, 2015.

5. Van Steen, M. Distributed Systems / M. Van Steen, A. S. Tanenbaum. - Enschede, Netherlands: University of Twente, 2017. - pp. 1-66.

6. Vernon, V. Domain-Driven Design Distilled. - Boston, MA, USA: Addison-Wesley Professional, 2016. - pp. 52-70.

7. Nadareishvili, I. Microservice Architecture: Aligning Principles, Practices, and Culture / I. Nadareishvili, R. Mitra, M. McLarty, М. Amundsen. - Sebastopol, CA, USA: O'Reilly Media, 2016.

8. Fowler, M. Patterns of Enterprise Application Architecture. - Boston, MA, USA: Addison-Wesley Professional, 2003.

9. Chacon, S. M. Pro Git: 2nd ed. Edition / S. M. Chacon, B. A. Straub. - New York, NY, USA: Apress Media, 2014.

10. Bojinov, V. RESTful Web API Design with Node.js: Design and implement comprehensive RESTful solutions in Node.js. - Birmingham, United Kingdom: Packt Publishing, 2015.

Приложение A

Рисунок 1. Диаграмма процесса разработки задачи

Приложение B

Рисунок 2. Диаграмма процесса проверки кода AS-IS

Приложение C

Рисунок 3. Диаграмма процесса проверки кода TO-BE

Приложение D

Рисунок 4. Диаграмма прецедентов процесса проверки кода

Приложение E

Рисунок 5. Веб интерфейс сервиса автоматизации

Приложение F

Пример тела запроса pullrequest:created

{

"pullrequest": {

"type": "pullrequest",

"description": "adjusted top menu on japan",

"links": {

"decline": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/decline"

},

"commits": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/commits"

},

"self": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850"

},

"comments": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/comments"

},

"merge": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/merge"

},

"html": {

"href": "https://BitBucket.org/6G/fieldfocus/pull-requests/850"

},

"activity": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/activity"

},

"diff": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/diff"

},

"approve": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/approve"

},

"statuses": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/pullrequests/850/statuses"

}

},

"title": "FF-1431. Japanese locale: The Admin section does not read in the header",

"close_source_branch": true,

"reviewers": [

{

"username": "Vlad_Adakimchik",

"type": "user",

"display_name": "Vlad Adakimchik",

"uuid": "{1397651f-f38c-488d-8f68-140d8b8c8741}",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/users/Vlad_Adakimchik"

},

"html": {

"href": "https://BitBucket.org/Vlad_Adakimchik/"

},

"avatar": {

"href": "https://BitBucket.org/account/Vlad_Adakimchik/avatar/32/"

}

}

}

],

"id": 850,

"destination": {

"commit": {

"hash": "25a8b03bd63f",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/commit/25a8b03bd63f"

}

}

},

"branch": {

"name": "dev"

},

"repository": {

"full_name": "6G/fieldfocus",

"name": "FieldFocus",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus"

},

"html": {

"href": "https://BitBucket.org/6G/fieldfocus"

},

"avatar": {

"href": "https://BitBucket.org/6G/fieldfocus/avatar/32/"

}

},

"uuid": "{1d10023d-05db-404b-a0a7-ebbafb545b8e}"

}

},

"comment_count": 0,

"summary": {

"raw": "adjusted top menu on japan",

"html": "<p>adjusted top menu on japan</p>",

"type": "rendered"

},

"source": {

"commit": {

"hash": "4238b8006463",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus/commit/4238b8006463"

}

}

},

"branch": {

"name": "FF-1431-japanese-locale-the-admin-section-does-not-read-in-the-header"

},

"repository": {

"full_name": "6G/fieldfocus",

"type": "repository",

"name": "FieldFocus",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus"

},

"html": {

"href": "https://BitBucket.org/6G/fieldfocus"

},

"avatar": {

"href": "https://BitBucket.org/6G/fieldfocus/avatar/32/"

}

},

"uuid": "{1d10023d-05db-404b-a0a7-ebbafb545b8e}"

}

},

"state": "OPEN",

"author": {

"username": "almostcake",

"type": "user",

"display_name": "Konstantin Mizev",

"uuid": "{e5f867b1-c436-4620-95d3-a276a39b6f20}",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/users/almostcake"

},

"html": {

"href": "https://BitBucket.org/almostcake/"

},

"avatar": {

"href": "https://BitBucket.org/account/almostcake/avatar/32/"

}

}

},

"created_on": "2018-04-27T14:24:55.148752+00:00",

"participants": [

{

"type": "participant",

"user": {

"username": "Vlad_Adakimchik",

"type": "user",

"display_name": "Vlad Adakimchik",

"uuid": "{1397651f-f38c-488d-8f68-140d8b8c8741}",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/users/Vlad_Adakimchik"

},

"html": {

"href": "https://BitBucket.org/Vlad_Adakimchik/"

},

"avatar": {

"href": "https://BitBucket.org/account/Vlad_Adakimchik/avatar/32/"

}

}

},

"role": "REVIEWER",

"approved": false,

"participated_on": null

}

],

"reason": "",

"updated_on": "2018-04-27T14:24:55.261467+00:00",

"merge_commit": null,

"closed_by": null,

"task_count": 0

},

"actor": {

"username": "almostcake",

"type": "user",

"display_name": "Konstantin Mizev",

"uuid": "{e5f867b1-c436-4620-95d3-a276a39b6f20}",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/users/almostcake"

},

"html": {

"href": "https://BitBucket.org/almostcake/"

},

"avatar": {

"href": "https://BitBucket.org/account/almostcake/avatar/32/"

}

}

},

"repository": {

"scm": "git",

"website": "https://stg.fieldfocus.6grain.com",

"name": "FieldFocus",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/repositories/6G/fieldfocus"

},

"html": {

"href": "https://BitBucket.org/6G/fieldfocus"

},

"avatar": {

"href": "https://BitBucket.org/6G/fieldfocus/avatar/32/"

}

},

"project": {

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/teams/6G/projects/PROJ"

},

"html": {

"href": "https://BitBucket.org/account/user/6G/projects/PROJ"

},

"avatar": {

"href": "https://BitBucket.org/account/user/6G/projects/PROJ/avatar/32"

}

},

"type": "project",

"uuid": "{0f9c2418-a4c7-461f-b597-5b1be2eb8022}",

"key": "PROJ",

"name": "6G"

},

"full_name": "6G/fieldfocus",

"owner": {

"username": "6G",

"type": "team",

"display_name": "6grain",

"uuid": "{2607a4e1-dc04-4deb-8908-5a03b42fda47}",

"links": {

"self": {

"href": "https://api.BitBucket.org/2.0/teams/6G"

},

"html": {

"href": "https://BitBucket.org/6G/"

},

"avatar": {

"href": "https://BitBucket.org/account/6G/avatar/32/"

}

}

},

"is_private": true,

"uuid": "{1d10023d-05db-404b-a0a7-ebbafb545b8e}"

}

}

Размещено на Allbest.ru

...

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

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