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

Программная инженерия. Учебное пособие для магистрантов направления подготовки 09.04.02 – Информационные системы и технологии

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

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

Вобщем случае применение метрик позволяет руководителям ИТ-проектов

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

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

Вструктуре программной инженерии особую роль играет ревьюирование как специфический инструмент ИТ-мониторинга. Ревьюирование (или – инспекция) программного кода (Code review) – систематический и периодический анализ программного кода, направленный на поиск необнаруженных на ранних стадиях и основных этапах разработки программного продукта ошибок, а также, на выявление некачественных архитектурных решений и критических мест в программе.

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

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

ность,

практичность);

модификация

(тестируемость,

гибкость,

81

сопровождаемость качества, важные для разработки новой версии ПО); переносимость (мобильность, возможность многократного использования).

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

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

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

82

Список литературы

1.Авдошин С. М. Фабрики программного обеспечения. – М.: Научная литера-

тура, 2018. – 342 с.

2.Андон Ф. И. Основы инженерии качества программных систем. – Минск: Академпериодика, 2017. – 278 с.

3.Бабенко Л. П. Основы программной инженерии: учебник / Л. П. Бабенко, Е. М. Лаврищева. – Киев: Знание, 2013. – 421 с.

4.Беркун С. Искусство управления IT-проектами. – СПб.: Питер, 2018. – 186

с.

5.Гайдышев И.Н. Решение научных и инженерных задач средствами Excel, VBA и C/C++. – М.: Инфра-М, 2018. – 288 с.

6.Ершов А. П. Введение в теорию программирования. М.: Наука, 2017. – 267

с.

7.Лаврищева Е. М. Программная инженерия. Технология программирования: учеб.-метод. пособие / Е. М. Лаврищева. – М.: Изд-во МФТИ, 2016. – 88 с.

8.Лаврищева Е.М. Технология программирования и программная инженерия. Учебник для вузов. – М.: Ось-М, 2018. – 287 с.

9.Лешек А.М. Практическая программная инженерия на основе учебного примера. – Новосибирск: ЦРНС, 2017. – 254 с.

10.Орлик С.И. Программная инженерия / С. Орлик. – М.: Инфра-М, 2017. – 288 с.

11.Соммервил И. Инженерия программного обеспечения: пер. с англ. / И. Соммервил. – 6-е изд. – М.: Вильямс, 2018. – 545 с.

12.Тыугу Э. X. Концептуальное программирование / Э. X. Тыугу. – М.: Наука, 2019. – 328 с.

13.Уилсон С. Ф. Принципы разработки ПО: учеб, курс: пер. с англ. / C. Ф. Уилсон, Б. Мэйплс, Т. Лэндгрейв. – М.: Изд.-торг. дом «Русская редакция», 2016.

– 456 с.

14.Фуксман А. Л. Технологические основы создания программных систем / А. Л. Фуксман. – М.: Статистика, 2018. – 368 с.

15.Чернецки К. Порождающее программирование. Методы, инструменты, применение / К. Чернецки, У. Айзенкер. – СПб.: Питер, 2015. – 452 с.

16.Черткова Е.А. Программная инженерия. Визуальное моделирование программных систем. – М.: Академкнига, 2017. – 356 с.

17.Guckenheimer S. Software Engineering with Microsoft Studio Team System / S. Guckenheimer, J. I. Perez. – Crawfordsville, USA: Adison-Wesley, 2016. – 330 с.

18.Jackson M. Software requirement & specifications / M. Jackson. – Wokingham, England: Addison-Wesley, ACM Press Books, 2015. – 367 с.

19.Pohl K. Software Product Line Engineering: Foundions, Principles and Techniques / K. Pohl, G. Bockle, F. J. Linden. – N. Y.: Springer-Verlag, 2016. – 528 с.

83

ПРОГРАММНАЯ ИНЖЕНЕРИЯ

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

09.04.02 – Информационные системы и технологии

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

нерии, методам и технологиям программной инженерии, процедурам

и механизмам оценки качества информационного проекта.

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

Оригинал-макетподготовлен накафедреинформационныхсистемСтГАУ

Изд. лиц.№72-31 от 22.04.1997 г.

Подписано в печать 30.08.2020 г.

Формат 60 х 84 1 / 16

Усл. печ. 5,2

Уч. изд.л. 5,1

Бумага офсетная. Печать офсетная. Тираж 100 Заказ № 127 Отпечатано в типографии ООО «Ветеран»

355029,г.Ставрополь,ул.Лермонтова191/43

84

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]