Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии и методы программирования. Учебное пособие-1
.pdf
Министерство науки и высшего образования Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В. А. АСТАПЧУК, Е. Н. ПАВЕНКО
ТЕХНОЛОГИИ И МЕТОДЫ
ПРОГРАММИРОВАНИЯ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
