Найти в Дзене
Современный мир

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

https://www.cleverence.ru/articles/auto-busines/vidy-programmnogo-obespecheniya-kakie-byvayut-tipy-klassifikatsiya-primery/
https://www.cleverence.ru/articles/auto-busines/vidy-programmnogo-obespecheniya-kakie-byvayut-tipy-klassifikatsiya-primery/

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

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

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

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

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

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

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

https://www.pinterest.ru/pin/730849845751987093/
https://www.pinterest.ru/pin/730849845751987093/

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

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

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

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

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

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

Команда разработчиков - это сообщество, которое участвует в этой деятельности и разделяет ее цель - развивающуюся систему программного обеспечения. Субъекты или агенты являются членами команды. Результатом этой деятельности является развитая система. Центральное место в АТ занимает концепция посредничества.

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

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

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

Деятельность трансформирует объекты посредством процесса, который обычно состоит из нескольких этапов или фаз. Цепочки действий, ориентируясь на осознанные цели субъекта, осуществляют деятельность в краткосрочной перспективе, приводящую к объективным результатам. Сами действия реализуются посредством серии операций. Операции выполняются автоматически, без сознания.

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

Разработка программного обеспечения начинается с крайне абстрактного объекта (например, разработка новой системы) и осуществляется посредством высокотворческого применения действий, которые создают и трансформируют представления знаний, которые разделяются командой.