Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии и методы программирования. Учебное пособие-1

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Министерство науки и высшего образования Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В. А. АСТАПЧУК, Е. Н. ПАВЕНКО
ТЕХНОЛОГИИ И МЕТОДЫ
ПРОГРАММИРОВАНИЯ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
2024
1
УДК 004.42(075.8)
А91
Рецензенты:
канд. техн. наук, доцент Н. Б. Тесля
канд. техн. наук, доцент Д. Н. Достовалов
Работа подготовлена на кафедре автоматизированных систем управления
А91 Технологии и методы программирования: учебное пособие / В. А. Астап-
Астапчук В. А.
чук, Е. Н. Павенко. – Новосибирск: Изд-во НГТУ, 2024. – 132 с.
ISBN 978-5-7782-5182-3
чебном пособии изложены основные понятия и положения технологии раз-
В у работки прикладных программ, рассмотрены проблемы разработки сложного про­граммного обеспечения, процессы и модели жизненного цикла ПО, методы отладки и тестирования, вопросы документирования.
Пособие соответствует ООП по направлению 09.03.01 «Информатика и вычис­лительная техника» и направлению 09.03.03 «Прикладная информатика». Уровень подготовки – бакалавриат и магистратура.
Материалы учебного пособия могут быть использованы студентами, обучаю­щимися по направлениям, охватывающим такие области профессиональной дея­тельности, как автоматизированные системы обработки информации и управления; исследование, разработка, внедрение и сопровождение информационных систем и технологий.
УДК 004.42(075.8)
Астапчук Виктор Андреевич, Павенко Евгений Николаевич
ТЕХНОЛОГИИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ
Учебное пособие
Редактор И.Л. Кескевич
Выпускающий редактор И.П. Брованова
Дизайн обложки А.В. Ладыжская
Корректор И.Е. Семенова
Компьютерная верстка Л.А. Веселовская
Налоговая льгота – Общероссийский классификатор продукции
Издание соответствует коду 95 3000 ОК 005-93 (ОКП)
Подписано в печать 08.04.2024. Формат 60 × 84 1/16. Бумага офсетная. Тираж 100 экз.
Уч.-изд. л. 7,67. Печ. л. 8,25. Изд. № 164/2023. Заказ № 106. Цена договорная
Новосибирского государственного технического университета
Отпечатано в типографии
630073, г. Новосибирск, пр. К. Маркса, 20
ISBN 978-5-7782-5182-3 © Астапчук А. В., Павенко Е. Н., 2024
© Новосибирский государственный
технический университет, 2024
2
ПРЕДИСЛОВИЕ
Область профессиональной деятельности выпускников, освоив­ших программу бакалавриата по направлениям 09.03.01 – Информа­тика и вычислительная техника и 09.03.03 – Прикладная экономика, включает [1, 2]:
системный анализ прикладной области, формализацию решения прикладных задач и процессов информационных систем;
разработку проектов автоматизации и информатизации приклад- ных процессов и создание информационных систем в прикладных об­ластях;
выполнение провождению информационных систем и управление этими работами.
Настоящее пособие предназначено для получения обучающимися знаний, необходимых для решения задач профессиональной деятельно­сти в соответствии с ФГОС.
В первом разделе даны определения основных понятий, используе­мых при рассмотрении вопросов, связанных с задачами разработки про­граммных
приложений и входящих в тезаурус1 специалиста по инфор­мационным технологиям. Определения даются как неформальные, так и на основе соответствующих стандартов.
Во втором разделе описаны типовые модели жизненного цикла про-
граммных систем.
В третьем разделе отмечены причины, порождающие сложность
разработки программных систем, и способы борьбы со сложностью.
В четвертом и пятом разделах сформулированы цели и задачи про ектирования и рассмотрены подходы к проектированию программных продуктов.
работ по созданию, модификации, внедрению и со-
-
1
Тезауруссловарь, собрание сведений, охватывающих понятия, опреде-
ления и термины специальной области знаний или сферы деятельности.
3
Технологии реализации программного обеспечения и проектиро­вания пользовательского интерфейса описаны в шестом и седьмом разделах.
В восьмом и девятом разделах рассмотрены тесно связанные про­блемы качества программных продуктов и методы тестирования как од­ной из техник контроля качества.
Документирование как важный процесс разработки программных средств рассмотрено в десятом разделе.
Этические и
правовые аспекты разработки и использования про-
граммных средств описаны в разделе 11.
Материалы учебного пособия могут быть полезны для обучающихся по направлениям, охватывающим такие области профессиональной де­ятельности, как автоматизированные системы обработки информации и управления; исследование, разработка, внедрение и сопровождение информационных систем и технологий.
4
ВВЕДЕНИЕ
В настоящее время программное обеспечение (ПО) является важ­нейшей составляющей информационных технологий. От него зависит функционирование подавляющего большинства компьютерной тех­ники, электронных приборов и любого другого интеллектуального обо­рудования; оно работает и в детских игрушках и решает сложные задачи по созданию искусственного интеллекта. Несовершенство технологиче­ского процесса его создания, неверные решения ции, могут привести к нежелательным результатам: срыву сроков готов­ности ПО; увеличению финансовых затрат; получению программного продукта, не удовлетворяющего предъявленным требованиям.
Возможность самостоятельного изучения программирования со­здает иллюзию легкости разработки программного продукта и приводит к недооценке специального образования в сфере разработки программ­ного обеспечения. Постоянное развитие информационных никационных технологий требует совершенствования профессиональ­ных навыков разработки программного обеспечения, формирования ин­женерного подхода к созданию программных продуктов, поскольку ме­няются приоритеты в программировании. Задача оптимизации исполь­зуемых ресурсов компьютера (времени расчетов, затрат памяти и т. д.) становится менее актуальной, чем оптимизация трудозатрат высококва­лифицированного специалиста, разрабатывающего новые программные средства, поэтому на первое место выходят навыки и умения, связанные с выбором технологий, приводящих к минимизации трудозатрат и обес­печивающих корректность решения поставленных задач.
Дисциплина «Технологии и методы программирования» предназна­чена для закрепления и расширения навыков программирования слож­ных программных продуктов. Для этого решаются следующие задачи:
1) ознакомление с базовыми концепциями
рования;
, принятые при реализа-
и телекомму-
технологий программи-
5
2) ознакомление со стандартами, регламентирующими процессы со-
здания программного обеспечения и оценки качества процессов и про­дуктов;
3) ознакомление с моделями жизненного цикла программного обес-
печения;
4) изучение методов повышения эффективности и технологичности
программных продуктов.
После освоения дисциплины обучающийся должен:
знать:
основные технологические процессы разработки программного обеспечения;
нормативную документацию (стандарты
национальные и между-
народные), регламентирующую процесс создания программных про­дуктов;
инструментальные средства, применяемые для построения про- граммных систем;
уметь:
проектировать и реализовывать архитектурные решения про- граммных продуктов;
отлаживать и тестировать программные модули;
разрабатывать техническую документацию на программный
проект;
владеть:
навыками разработки программного обеспечения с
использова-
нием инструментальных сред;
методикой отладки, тестирования программного обеспечения;
программной реализации сетевых приложений.
Прежде чем обсуждать, каким образом материал пособия будет способствовать формированию профессиональных знаний и навыков, уточним значение некоторых терминов, которые будут использоваться в дальнейшем.
6
1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ
Следует иметь в виду, что трактовка многих понятий в области ин­формационных технологий является неоднозначной, зависящей от за­дач, которые должны решаться на основе соответствующего определе­ния, поэтому в пособии приводятся определения одних и тех же терми­нов как неформальные, так и взятые из соответствующих стандартов.
Предметная область – это фрагмент реального мира, ассоциированный с множеством задач, требующих автоматиза­ции решения. Предметная область характеризуется множеством объек­тов и процессов, использующих объекты, а также множеством пользо­вателей, имеющих различные взгляды на предметную область.
В соответствии с [3] программное обеспечение (ПО) – это про­граммы, процедуры, правила и любая сопутствующая документация, от­носящиеся заны другие понятия, используемые в настоящем пособии.
Программаданные, предназначенные для управления конкрет­ными компонентами системы обработки информации в целях реализа­ции определенного алгоритма [3, 4].
Компонент – программа, рассматриваемая как единое целое, вы­полняющая законченную функцию и применяемая самостоятельно или в составе комплекса [5].
Программный
лее компонентов и/или комплексов, выполняющих взаимосвязанные функции, и применяемая самостоятельно или в составе другого ком­плекса [5]. Компоненты, входящие в комплекс, согласованны по функ­циям и форматам, имеют единообразные, точно определенные интер­фейсы и составляют полное средство для решения определенных задач.
Программное средство (
процедур, правил, а также, если предусмотрено, сопутствующей им
к работе вычислительной системы. С этим термином свя-
комплекс – программа, состоящая из двух или бо-
ПС) – объект, состоящий из программ,
или виртуального
7
документации и данных, которые относятся к функционированию си­стемы обработки информации [6].
Программное средство многократного использования – про­граммное средство, разработанное для конкретного применения, но с возможностью другого применения, или разработанное специально для многократного использования в различных проектах или для мно­гофункционального использования в одном проекте [7].
Программный продукт – программное средство, предназначенное для поставки
, передачи, продажи пользователю [6]. Синонимом этого
термина можно считать программное обеспечение.
Пользователь программного средства юридическое или факти- ческое лицо, применяющее программное средство или участвующее в деятельности, прямо или косвенно зависящей от функционирования данного программного средства [6].
Программная система система, состоящая из ПО и, возможно, компьютерного оборудования для его выполнения [7].
Процесс – совокупность
взаимосвязанных и (или) взаимодействую­щих видов деятельности, использующих входы для получения намечен­ного результата [9]. Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными от других процессов, и результатами. Каждый процесс разделяется на набор действий, каждое действие – на набор задач.
Жизненный цикл (ЖЦ) – развитие системы, продукта, услуги, про
-
екта или других изготовленных человеком объектов, начиная со стадии разработки концепции и заканчивая прекращением применения [8]. Проще говоря, это интервал времени от момента принятия решения о со­здании программного обеспечения и до вывода его из эксплуатации. Этот интервал можно представить состоящим из трех стадий (рис. 1), где раз­работка включает все процессы,
связанные с реализацией программ­ного продукта, вплоть до запуска (развертывания) в эксплуатацию (ис­пользование). Необходимость в процессе эксплуатации исправления обнаруживаемых в действующих программах ошибок, а также учет из­менений в требованиях к продукту (адаптация) приводят к тому, что этот процесс (сопровождение) можно рассматривать как продолжающу­юся разработку.
Стадиячасть процесса создания
ПО, ограниченная временными
рамками и заканчивающаяся выпуском конкретного продукта (моделей,
8
программных компонентов, документации), в соответствии с задан­ными для данной стадии требованиями.
Рис. 1. Три стадии жизненного цикла программы
Для каждой стадии определяются состав и последовательность вы­полняемых работ, получаемые результаты, методы и средства, необхо­димые для выполнения работ, роли и ответственность участников и т. д. Такое формальное описание ЖЦ ПО (модель ЖЦ) позволяет спланиро­вать и организовать процесс коллективной разработки и обеспечить управление этим процессом.
9
2. МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ПО
Модель жизненного цикла – структура процессов и действий, свя­занных с жизненным циклом, организуемых в стадии (этапы), которые также служат в качестве общей ссылки для установления связей и взаи­мопонимания сторон [8].
Модель жизненного цикла является основой технологий программи­рования и инструментария, поддерживающего их.
Общее представление процессов (модель) жизненного цикла граммного обеспечения приведено на рис. 2.
про-
Рис. 2. Общее представление процессов (модель) жизненного цикла
программного обеспечения
1. Определение требований к программному продукту
На этом этапе формируются требования к создаваемому программному обеспечению, к методам и технологиям разработки, инструментальным
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]