Перейти к содержимому

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

  • автор:

Что такое предметная область?

Какая предметная область, например, у веб-программиста? У системного программиста?

mentalmenza
05.09.13 15:57:27 MSK

Какая предметная область, например, у веб-программиста? У системного программиста?

у веб-программиста — веб-технологии, у системного — операционные системы

Harald ★★★★★
( 05.09.13 16:11:28 MSK )

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

Если пишете программное для управления беспилотным ЛА, то предметная область — аэродинамика, навигация.

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

braindef ★
( 05.09.13 16:14:31 MSK )

Какая предметная область, например, у веб-программиста?

mashina ★★★★★
( 05.09.13 16:20:46 MSK )

ещё предметными областями бывают бухучёт, складской учёт, электроника, телекоммуникации, акустика, физика частиц — в общем всё, где требуется какое-то ПО 🙂

Harald ★★★★★
( 05.09.13 16:22:06 MSK )
Ответ на: комментарий от braindef 05.09.13 16:14:31 MSK

Если пишете программное для управления беспилотным ЛА, то предметная область — аэродинамика, навигация.

скорее теория управления

Harald ★★★★★
( 05.09.13 16:22:49 MSK )
Ответ на: комментарий от braindef 05.09.13 16:14:31 MSK

Спасибо, хорошо расписал.

mentalmenza
( 05.09.13 16:27:34 MSK ) автор топика
Ответ на: комментарий от braindef 05.09.13 16:14:31 MSK

Кодированию научить быстрее, легче и дешевле

Можно парочку историй успеха когда брали инженера и обучали кодированию?

Может, быстрее нанять толкового программиста и поставить работать их в паре?

true_admin ★★★★★
( 05.09.13 18:09:09 MSK )
Ответ на: комментарий от true_admin 05.09.13 18:09:09 MSK

Можно парочку историй успеха когда брали инженера и обучали кодированию?

As a new programmer at 2Is, we don’t expect you to have pre-existing knowledge of Lisp…or of any programming language! You will work closely with Senior Developers and other members of the software team to learn Lisp. Most of the 2Is developers are trained as mathematicians, so you will be learning from people who were once in your shoes.

anonymous
( 05.09.13 18:15:44 MSK )
Ответ на: комментарий от braindef 05.09.13 16:14:31 MSK

Если пишете программное для управления беспилотным ЛА, то предметная область — аэродинамика, навигация.

Неправда, теория оптимального управления.

buddhist ★★★★★
( 05.09.13 18:22:01 MSK )
Ответ на: комментарий от anonymous 05.09.13 18:15:44 MSK

это как раз пример true_admin-а

Может, быстрее нанять толкового программиста и поставить работать их в паре?

qnikst ★★★★★
( 05.09.13 18:41:15 MSK )
Ответ на: комментарий от braindef 05.09.13 16:14:31 MSK

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

gavlig ★★★
( 05.09.13 18:58:54 MSK )
Последнее исправление: gavlig 05.09.13 19:07:02 MSK (всего исправлений: 1)

Ответ на: комментарий от qnikst 05.09.13 18:41:15 MSK

В каком месте? Там берут математиков. Для математика разобраться в несчастной кодережечке вообще не проблема.

anonymous
( 05.09.13 19:35:10 MSK )
Ответ на: комментарий от anonymous 05.09.13 19:35:10 MSK

т.к. программисты уже есть, иначе бы брали и математиков и программистов.

qnikst ★★★★★
( 05.09.13 20:39:30 MSK )
Ответ на: комментарий от qnikst 05.09.13 20:39:30 MSK

т.к. программисты уже есть, иначе бы брали и математиков и программистов.

Так они тоже математики. Нянчиться с «толковым программистом» нафиг никому не сдалось.

Да и где ты вообще видел Lisp-программистов? У «толковых» свои языки, соответствующие уровню интеллекта.

anonymous
( 05.09.13 20:59:16 MSK )

Какая предметная область, например, у веб-программиста?

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

anonymous
( 05.09.13 21:00:20 MSK )
Ответ на: комментарий от true_admin 05.09.13 18:09:09 MSK

Инженер программистишку поймет, а вот программистишко инженера не поймет никогда. Impedance mismatch такой.

anonymous
( 05.09.13 21:01:30 MSK )
Ответ на: комментарий от anonymous 05.09.13 21:01:30 MSK

Довелось когда-то эксплуатировать ПО написанное «специалистами» в предметной области. Это был мрак. Прошло уже 18 лет, но я этого никогда не забуду.

dvl36 ★
( 05.09.13 23:21:17 MSK )
Ответ на: комментарий от anonymous 05.09.13 21:01:30 MSK

программистишко инженера не поймет никогда

Угу, а ещё гуманитарием никогда много денег не заработаешь. Тебе в http://vk.com/studentengineer

true_admin ★★★★★
( 06.09.13 00:36:19 MSK )

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

DonkeyHot ★★★★★
( 06.09.13 08:39:59 MSK )
Ответ на: комментарий от DonkeyHot 06.09.13 08:39:59 MSK

Это предметная область дизайнера/верстальщика.

TEX ★★★
( 06.09.13 08:46:58 MSK )

Bioreactor писал, что для программиста самое важное — предметная область

А про МВА он тебе не писал?

J ★★★★
( 06.09.13 08:55:31 MSK )
Ответ на: комментарий от dvl36 05.09.13 23:21:17 MSK

Довелось когда-то эксплуатировать ПО написанное «специалистами» в предметной области. Это был мрак. Прошло уже 18 лет, но я этого никогда не забуду.

Это правда. Предметники пишут в лоб, абсолютно неподдерживаемый код. У программирующего инженера никогда не будет красивого кода. Только тупой хардкор. По себе знаю. Однажды спроектировал схему, развел плату, распаял, тогда обнаружилось, что одну из микросхем поставил (на бумаге еще) неправильно. Шину данных у микросхемы поставил в инвертированном порядке, вместо 0-7 был порядок выводов 7-0. Оценив масштаб проблемы, предпочел менять программно порядок битов в байтах команд и данных, нежели резать дорожки и перепаивать. Благо, сам писал программу для контроллера.

А как работало! Конфетка!

ansky ★★★★★
( 06.09.13 11:13:15 MSK )
Ответ на: комментарий от TEX 06.09.13 08:46:58 MSK

Это предметная область дизайнера/верстальщика

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

DonkeyHot ★★★★★
( 06.09.13 11:21:44 MSK )

вот смотри когда умение писать не было «спонсируемым государством/обществом» была отдельная специальность писарь — рудименты этого остались в системе нотариата(при том что они ещё кой какие функции выполняют )

представь — в своё время те кто умел писать поголовно умели писать/рифмовать стихи.

так вот смешивание

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

способности вырабатывать новые процедуры/методы понятийный аппарат это есть более редкое умение/потребность

qulinxao ★★☆
( 06.09.13 11:46:25 MSK )
Ответ на: комментарий от DonkeyHot 06.09.13 11:21:44 MSK

Я хочу сказать что форма и содержание разные вещи.

Дизайнер определяет форму и версту — веб-программист определяет конкретную реализацию.

TEX ★★★
( 06.09.13 12:31:16 MSK )
Ответ на: комментарий от TEX 06.09.13 12:31:16 MSK

И оба трудятся на поприще предоставление пользователю интерфейса более «юзабельного», чем «select a lot from some table where something is true order by. ».

Предметная область информационной системы: ключевые понятия и особенности

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

Предметная область информационной системы: ключевые понятия и особенности обновлено: 21 сентября, 2023 автором: Научные Статьи.Ру

Помощь в написании работы

Введение

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

Нужна помощь в написании работы?

Мы — биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Что такое предметная область информационной системы

Предметная область информационной системы – это сфера деятельности, в которой будет использоваться данная система. Она определяет предметы, объекты, процессы и взаимодействия, которые будут участвовать в работе системы.

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

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

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

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

Зачем нужна предметная область в информационной системе

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

Понимание бизнес-процессов

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

Определение требований

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

Проектирование системы

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

Разработка функциональности

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

Тестирование и сопровождение

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

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

Основные элементы предметной области

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

Объекты

Объекты предметной области – это основные сущности или элементы, с которыми работает информационная система. Они могут быть физическими или абстрактными. Например, в системе управления складом объектами могут быть товары, поставщики, заказы и т.д.

Атрибуты

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

Связи

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

Операции

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

Правила и ограничения

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

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

Как определить предметную область информационной системы

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

Для определения предметной области можно использовать следующие шаги:

Изучение бизнес-процессов и требований

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

Идентификация основных сущностей и атрибутов

На этом шаге необходимо идентифицировать основные сущности (объекты) и атрибуты (характеристики) в предметной области. Например, в системе управления складом сущностями могут быть товары, поставщики, заказы, а атрибутами – название товара, цена, количество и т.д.

Определение связей между сущностями

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

Определение функций и процессов

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

Определение ограничений и правил

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

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

Примеры предметных областей в различных сферах

Медицина

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

Банковское дело

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

Туризм

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

Складское хозяйство

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

Образование

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

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

Важность правильного определения предметной области

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

Вот несколько причин, почему правильное определение предметной области является важным:

Понимание потребностей пользователей

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

Определение функциональности системы

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

Планирование и управление проектом

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

Избежание ошибок и проблем

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

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

Как изменяется предметная область в процессе разработки информационной системы

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

Уточнение требований

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

Изменение бизнес-процессов

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

Новые требования и возможности

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

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

Таблица сравнения предметных областей информационных систем

Предметная область Описание Примеры
Финансы Область, связанная с управлением денежными средствами, бухгалтерией и финансовыми операциями Банковские системы, системы учета и анализа финансовой деятельности
Здравоохранение Область, связанная с оказанием медицинских услуг, управлением медицинскими учреждениями и обработкой медицинских данных Электронные медицинские карты, системы управления больницами
Транспорт Область, связанная с организацией и управлением транспортными средствами, логистикой и маршрутизацией Системы управления грузоперевозками, системы отслеживания транспорта
Образование Область, связанная с организацией учебного процесса, управлением учебными заведениями и обработкой образовательных данных Системы электронного обучения, системы управления школами и университетами

Заключение

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

Предметная область информационной системы: ключевые понятия и особенности обновлено: 21 сентября, 2023 автором: Научные Статьи.Ру

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

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

© 2018
Легалов А.И.

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

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

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

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

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

  • Корректность (правильность). Программа обеспечивает правильную обработку на правильных данных.
  • Устойчивость. Программа «элегантно» завершает обработку ошибок.
  • Расширяемость. Программа может легко адаптироваться к изменяющимся требованиям.
  • Многократность использования. Программа может использоваться и в других системах, а не только в той, для которой было создана.
  • Совместимость. Программа может легко использоваться с другим программным обеспечением.
  • Эффективность. Обеспечивается эффективное использование времени, компьютерной памяти, дискового пространства и т.д.
  • Переносимость. Разработанное программное обеспечение можно легко перенести на другие аппаратные и программные средства.
  • Верификация. Простота проверки, легкость разработки тестов при обнаружении ошибок, легкость обнаружения мест, где программа потерпела неудачу, и т.д.
  • Поддержка целостности. Программа защищает себя от неправильного обращения и неправильного употребления.
  • Легкость использования. Не возникает проблем для пользователя в эксплуатации программы, а для будущих программистов в ее дальнейшем сопровождении и развитии.

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

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

Факторы, определяющие процесс разработки программного обеспечения

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

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

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

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

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

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

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

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

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

Отображение модели задачи на модель исполнителя

Рисунок 1 – Процесс разработки программного обеспечения как отображение модели задачи на модель исполнителя

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

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

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

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

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

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

Ведь софт может быть: игры, аудиоплееры, видеоплееры и др. — софт, который не используется для осуществления профессиональной деятельности — Для такого софта тоже применяется и рассматривается понятие предметной области??

DrStrangeLove
Посмотреть профиль
Найти ещё сообщения от DrStrangeLove

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *