Сложность работы с библиографическими данными заключается в многообразии допустимых стандартов оформления и в отсутствии инструментов по обработке и переводу данных между форматами с возможностью гибкой настройки и расширения функционала. В работе описан программный модуль динамического управления вводом-выводом в составе программного комплекса обработки библиографических данных. Проведен анализ проблемной ситуации в рамках предметной области, связанной с обработкой множества форматов библиографических данных. Предложен способ решения данной проблемы за счет вынесения обрабатывающих подмодулей за пределы функционального ядра и создания декомпозиционной расширяемой системы. Сформулированы принципы разработки программного модуля в общем виде и даны детали реализации на языке программирования Python. Решена проблема многочисленности допустимых стандартов представления библиографических данных и собственных форматов организаций, занимающихся обработкой этих данных. Разработанный программный модуль динамического управления вводом-выводом может применяться в рамках программного комплекса обработки библиографических данных.
1. ГОСТ 7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления. – М.: Изд-во стандартов, 2008. – 22 с.
2. ISBD: International Standard Bibliographic Description. Consolidated Edition. – ISBD Review Group, 2011. – 364 p.
3. Iverson C., Christiansen S., Flanagin A. AMA manual of style. – 10 ed. – N.Y.: Oxford University Press, 2007. – 1010 p.
4. Tkaczyk D., Collins A., Sheridan P., Beel J. Machine learning vs. rules and out-of-the-box vs. retrained: An evaluation of open-source bibliographic reference and citation parsers // arXiv preprint arXiv:1802.01168. – 2018. – 10 p. – URL: https:/arxiv.org/pdf/1802.01168.pdf (дата обращения: 21.06.2019).
5. Citeseerx: Ai in a digital library search engine / J. Wu, K. Williams, H. Chen et al. // AI Magazine. – 2015. – Vol. 36. – No. 3. – P. 35–48.
6. A dynamic and service-oriented component model for python long-lived applications / T. Calmant, J.C. Americo, O. Gattaz et al. // Proceed. of the 15th ACM SIGSOFT symposium on Component Based Software Engineering. – 2012. – P. 34–40.
7. Yallop J., Sheets D., Madhavapeddy A. A modular foreign function interface // Science of Computer Programming. – 2018. – Vol. 164. – P. 82–97.
8. Гагарина Л.Г., Акимов К.С. Метод ускоренной разработки прототипов программного обеспечения // Оборонный комплекс – научно-техническому прогрессу России. – 2013. – №1 (117). – С. 3–5.