«Осенний фестиваль знаний 2024»

Создание программного продукта

Создание программного продукта: от простого к сложному. источник: http://lelina.tilda.ws/it_development

Олимпиады: Информатика 1 - 11 классы

Содержимое разработки

Создание программного продукта http://lelina.tilda.ws/it_development

Создание программного продукта

http://lelina.tilda.ws/it_development

Четыре фазы разработки ПО

Четыре фазы разработки ПО

  • 1. Спецификация (ТЗ) и архитектура
  • 2. Реализация
  • 3. Тестирование и документирование
  • 4. Внедрение и техническая поддержка
1. Спецификация (ТЗ) и архитектура:  разработка функциональных требований к ПО (технического задания) [аналитик]; разработка архитектуры системы [инженер-архитектор] 2. Реализация:  разработка структуры базы данных (далее - БД) [программист] ; кодирование: разработка программной логики, функций, интерфейса [программист]; интеграция с другими информационными системами (при необходимости) [программист]
  • 1. Спецификация (ТЗ) и архитектура: разработка функциональных требований к ПО (технического задания) [аналитик];
  • разработка архитектуры системы [инженер-архитектор]
  • 2. Реализация: разработка структуры базы данных (далее - БД) [программист] ;
  • кодирование: разработка программной логики, функций, интерфейса [программист];
  • интеграция с другими информационными системами (при необходимости) [программист]
3. Тестирование и документирование:  разработка сценариев тестирования [программист/тестировщик]; разработка автотестов [QA программист]; функциональное (ручное) тестирование [тестировщик]; разработка технической документации [программист]; разработка пользовательской документации [технический писатель] 4. Внедрение и техническая поддержка:  внедрение, обучение пользователей, сбор замечаний и ошибок [аналитик-консультант]; техническая поддержка (сбор замечаний, исправление ошибок, консультирование пользователей) [специалист]
  • 3. Тестирование и документирование: разработка сценариев тестирования [программист/тестировщик];
  • разработка автотестов [QA программист];
  • функциональное (ручное) тестирование [тестировщик];
  • разработка технической документации [программист];
  • разработка пользовательской документации [технический писатель]
  • 4. Внедрение и техническая поддержка: внедрение, обучение пользователей, сбор замечаний и ошибок [аналитик-консультант];
  • техническая поддержка (сбор замечаний, исправление ошибок, консультирование пользователей) [специалист]
Классическая схема цикла разработки ПО

Классическая схема

цикла разработки ПО

Разработка требований к ПО

Разработка требований к ПО

Бизнес-требования  (business requirements) содержат высокоуровневые цели организации или заказчиков системы ... оформляются в форме документа об образе и границах проекта, который еще иногда называют уставом проекта   Требования пользователей  (user requirements) описывают цели и задачи, которые пользователям позволит решить система.   Функциональные требования  (functional requirements) определяют функциональность ПО, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований. Функциональные требования документируются в спецификации требований к ПО (software requirements specification, SRS), где описывается так полно, как необходимо, ожидаемое поведение системы.   Характеристика  (feature) — это набор логически связанных функциональных требований, которые обеспечивают возможности пользователя и удовлетворяют бизнес-цели.

Бизнес-требования  (business requirements) содержат высокоуровневые цели организации или заказчиков системы ... оформляются в форме документа об образе и границах проекта, который еще иногда называют уставом проекта Требования пользователей  (user requirements) описывают цели и задачи, которые пользователям позволит решить система. Функциональные требования  (functional requirements) определяют функциональность ПО, которую разработчики должны построить, чтобы пользователи смогли выполнить свои задачи в рамках бизнес-требований. Функциональные требования документируются в спецификации требований к ПО (software requirements specification, SRS), где описывается так полно, как необходимо, ожидаемое поведение системы. Характеристика  (feature) — это набор логически связанных функциональных требований, которые обеспечивают возможности пользователя и удовлетворяют бизнес-цели.

Основными проблемами данного этапа являются: недостаточное вовлечение пользователей; «разрастание» требований пользователей; неоднозначность требований (разные трактовки и восприятия); добавление функций, которых нет в спецификации; минимальная спецификация (в итоге Заказчик получит не тот продукт, который ожидал); не полный охват всех классов пользователей (не будут учтены все необходимые функциональные возможности). Чтобы управлять границами требований, необходимо уточнить бизнес-цели и границы проекта, а также критерии успеха и ожидаемую пользу.

Основными проблемами данного этапа являются:

  • недостаточное вовлечение пользователей;
  • «разрастание» требований пользователей;
  • неоднозначность требований (разные трактовки и восприятия);
  • добавление функций, которых нет в спецификации;
  • минимальная спецификация (в итоге Заказчик получит не тот продукт, который ожидал);
  • не полный охват всех классов пользователей (не будут учтены все необходимые функциональные возможности).

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

Для продукта, который будет использоваться  внешними пользователями , необходимо собрать их пожелания и предложения к продукту. Это достаточно сложный процесс. Получить информацию от внешних клиентов возможно при личном контакте (общении), с помощью формы обратной связи «Ваши предложения», при проведении анкетирования (опроса). Онлайн опрос возможно оформить, например, с помощью таких приложений, как  surveymonkey ,  survio
  • Для продукта, который будет использоваться  внешними пользователями , необходимо собрать их пожелания и предложения к продукту. Это достаточно сложный процесс. Получить информацию от внешних клиентов возможно при личном контакте (общении), с помощью формы обратной связи «Ваши предложения», при проведении анкетирования (опроса). Онлайн опрос возможно оформить, например, с помощью таких приложений, как  surveymonkeysurvio  и др.
Оформление требований  в виде документа зависит от целей и масштаба проекта. Рассмотрим некоторые приемы, применяемые для документирования функциональных требований к программным системам:   1) разработка в соответствии с  ГОСТами серии 19 и 34 . ГОСТы предоставляют четкую структуру разрабатываемой документации, обладают свойствами полноты и непротиворечивости, а также снимают спорные вопросы между исполнителем и заказчиком к результатам работ.    Ограничения:  - сложность разработки, согласования и дальнейшей поддержки  - жесткие требования к детализации
  • Оформление требований  в виде документа зависит от целей и масштаба проекта. Рассмотрим некоторые приемы, применяемые для документирования функциональных требований к программным системам: 1) разработка в соответствии с  ГОСТами серии 19 и 34 . ГОСТы предоставляют четкую структуру разрабатываемой документации, обладают свойствами полноты и непротиворечивости, а также снимают спорные вопросы между исполнителем и заказчиком к результатам работ.  Ограничения: - сложность разработки, согласования и дальнейшей поддержки - жесткие требования к детализации
2)  пользовательские истории  (англ.  User Story ) — способ описания требований к разрабатываемой системе, сформулированных как одно или более предложений на повседневном языке пользователя. Применяется в Scrum методологии как быстрый способ документирования требований клиента, без необходимости разрабатывать обширные формализованные документы и впоследствии тратить ресурсы на их поддержание.   Ограничения:  - отсутствие деталей, что ведет к различным интерпретациям  - могут плохо масштабироваться на больших проектах  - требуется большая компетенция от разработчика  - не учитывают полного бизнес-процесса и, как результат, в итоге могут оказаться ошибочными из-за отсутствия всестороннего исследования предметной области.
  • 2)  пользовательские истории  (англ.  User Story ) — способ описания требований к разрабатываемой системе, сформулированных как одно или более предложений на повседневном языке пользователя. Применяется в Scrum методологии как быстрый способ документирования требований клиента, без необходимости разрабатывать обширные формализованные документы и впоследствии тратить ресурсы на их поддержание. Ограничения: - отсутствие деталей, что ведет к различным интерпретациям - могут плохо масштабироваться на больших проектах - требуется большая компетенция от разработчика - не учитывают полного бизнес-процесса и, как результат, в итоге могут оказаться ошибочными из-за отсутствия всестороннего исследования предметной области.
3)  сценарии использования  описывают процесс и его шаги подробно, и могут быть сформулированы с точки зрения формальной модели. Сценарий самодостаточен. Он обеспечивает всю необходимую информацию и детали для понимания. Сценарий описывается как «обобщенное описание ряда взаимодействий между системой и одним или более агентами, где агент — пользователь или другая система». Сценарий использования описывает: «кто» и «что» может сделать с рассматриваемой системой или
  • 3)  сценарии использования  описывают процесс и его шаги подробно, и могут быть сформулированы с точки зрения формальной модели. Сценарий самодостаточен. Он обеспечивает всю необходимую информацию и детали для понимания. Сценарий описывается как «обобщенное описание ряда взаимодействий между системой и одним или более агентами, где агент — пользователь или другая система». Сценарий использования описывает: «кто» и «что» может сделать с рассматриваемой системой или "что" система может сделать с «кем» или «чем». Ограничения: - Так как нет никаких полностью стандартных определений сценариев, качество зависит только от навыков создателя сценария - не учитываются такие требования, как платформа, производительность, синхронизация, безопасность - не описываются пользовательские интерфейсы
4)  прецедент  (англ.  Use Case ) - спецификация последовательностей действий (варианты последовательностей и ошибочные последовательности) в Унифицированном языке моделирования (UML), которые может осуществлять система, подсистема или класс, взаимодействуя с внешними действующими лицами (англ.  Actors ).   5)  спецификация требований  программного обеспечения (англ.  Software Requirements Specification, SRS ) является полным описанием поведения системы, которая будет создана, а также нефункциональные требования в виде дополнительных ограничений (требования к эффективности, безопасности и др.). 
  • 4)  прецедент  (англ.  Use Case ) - спецификация последовательностей действий (варианты последовательностей и ошибочные последовательности) в Унифицированном языке моделирования (UML), которые может осуществлять система, подсистема или класс, взаимодействуя с внешними действующими лицами (англ.  Actors ). 5)  спецификация требований  программного обеспечения (англ.  Software Requirements Specification, SRS ) является полным описанием поведения системы, которая будет создана, а также нефункциональные требования в виде дополнительных ограничений (требования к эффективности, безопасности и др.). 
6)  дизайн продукта  - разработка пользовательских интерфейсов. Выделяют UX и UI дизайны. Простыми словами: UX делает интерфейсы полезными, а UI делает интерфейсы красивыми.  По словам дизайнера Ника Бабича:
  • 6)  дизайн продукта  - разработка пользовательских интерфейсов. Выделяют UX и UI дизайны. Простыми словами: UX делает интерфейсы полезными, а UI делает интерфейсы красивыми. 
  • По словам дизайнера Ника Бабича: " UX дизайнер, скорее будет разрабатывать потоки пользователей, шаги, которые пользователь предпримет, чтобы, например, подписаться на рассылку. Каким шагам они будут следовать и как они поймут, что всё удалось? Затем проект переходит UI дизайнеру. UI дизайнер усовершенствует эти взаимодействия добавляя цвет и подчеркивая оригинальный дизайн, давая им подсказки, и показывая направление к новостной рассылке."
Список литературы:

Список литературы:

  • https://it.rfei.ru/course/~jRzS/~PzPM
  • http://lelina.tilda.ws/it_development
  • https://www.edsd.ru/ru/princypy/cikl_razrabotki_po
  • https://experrto.io/articles/~startap-s-nulia-luchshiie-biznies-modieli~4109/
  • http://lelina.tilda.ws/it_development

Получите свидетельство о публикации сразу после загрузки работы



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


Олимпиады «Осенний фестиваль знаний 2024»

Комплекты учителю



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

Подробнее

Вебинары для учителей



Бесплатное участие и возможность получить свидетельство об участии в вебинаре.


Подробнее