Из Википедии, бесплатной энциклопедии
  (Перенаправлено из раздела " Программирование в целом" )
Перейти к навигации Перейти к поиску

В разработке программного обеспечения , программирование в целом и программирование в малом относятся к двум различным аспектам написания программного обеспечения, а именно, разработка крупной системы в виде композиции более мелких частей, и создание этих мелких частей записи строк кода на языке программирования, соответственно. Эти термины были введены Фрэнком Де Ремером и Хансом Кроном в их статье 1975 года «Программирование в большом против программирования в малом» [1], в которой они утверждают, что это два существенно разных вида деятельности и что типичный языки программирования и практика структурированного программирования обеспечивают хорошую поддержку последних, но не первых.

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

Описание [ править ]

Фред Брукс отмечает, что способ создания отдельной программы отличается от способа создания продукта систем программирования. [2] Первый, вероятно, хорошо справляется с одной относительно простой задачей. Вероятно, он написан одним инженером, сам по себе завершен и готов к работе в системе, в которой он был разработан. Деятельность по программированию, вероятно, была довольно недолгой, поскольку простые задачи выполнялись быстро и легко. Это усилие, которое ДеРемер и Крон описывают как программирование в малом.

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

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

Программирование в целом [ править ]

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

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

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

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

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

Эта концепция была представлена Фрэнком ДеРемером и Хансом Кроном в их статье 1975 года «Программирование в большом масштабе против программирования в малом», IEEE Trans. на Софт. Англ. 2 (2).

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

Язык, который был разработан для явной поддержки программирования в целом, - это BPEL .

Программирование в малом [ править ]

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

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

С точки зрения информатики, программирование в небольших сделках с недолговечным программным поведением, часто выполняется как одна транзакция ACID и которая позволяет получить доступ к локальной логике и ресурсам, таким как файлы, базы данных и т. Д. [ Сомнительно ]

Ссылки [ править ]

  1. ^ DeRemer, Франк; Крон, Ганс (1 апреля 1975 г.). «Программирование в большом против программирования в малом» . Ассоциация вычислительной техники. С. 114–121. doi : 10.1145 / 800027.808431 - через цифровую библиотеку ACM.
  2. ^ a b c Брукс, Фредерик П., младший (1982). «Дегтярная яма», опубликованная в юбилейном издании «Мифический человеко-месяц» . ISBN 0-201-83595-9 

Дальнейшее чтение [ править ]

  • Де Ремер, Франк; Крон, Ганс (1975). «Программирование в большом против программирования в малом». Материалы международной конференции по надежному программному обеспечению . Лос-Анджелес, Калифорния : Ассоциация вычислительной техники . С. 114–121. DOI : 10.1145 / 800027.808431 .