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

Учебное пособие 1295

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
949.61 Кб
Скачать

ФГБОУ ВПО «Воронежский государственный технический университет»

Э.И. Воробьёв

ОСНОВНЫЕ ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНЫХ СИСТЕМ

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Воронеж 2015

УДК 681.3

Воробьев Э.И. Основные этапы разработки программных систем: учеб. пособие [Электронный ресурс]. – Электрон. текстовые и граф. данные (927 Кб) / Э.И. Воробьев. – Воронеж: ФГБОУ ВПО «Воронежский государственный технический университет», 2015. – 1 электрон. опт. диск (CD-ROM): цв. – Систем. требования: ПК 500 и выше; 256 Мб ОЗУ; Windows XP; SVGA с разрешением 1024x768; Adobe Acrobat; CD-ROM

дисковод; мышь. – Загл. с экрана.

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

Издание соответствует требованиям Федерального государственного образовательного стандарта высшего профессионального образования по направлению 230100.62 «Информатика и вычислительная техника» (профиль «Системы автоматизированного проектирования), дисциплине «Технологии программирования». Издание предназначено для студентов очной формы обучения

Табл. 6. Ил. 19. Библиогр.: 9 назв.

Научный редактор д-р техн. наук, проф. Я.Е. Львович

Рецензенты: кафедра инфокоммуникационных систем и технологий Воронежского института МВД РФ (начальник кафедры д-р техн. наук, проф. О.И. Бокова); д-р техн. наук, проф. О.Ю. Макаров

©Воробьев Э.И., 2015

©Оформление. ФГБОУ ВПО «Воронежский государственный технический университет», 2015

ВВЕДЕНИЕ

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

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

Разработка программных систем и её цели

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

Цель разработки программных систем – повышение качества, снижение материальных затрат, сокращение сроков работ, повышение производительности труда.

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

3

Потребители и изготовители программных продуктов

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

4

1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

1.1. Характеристики видов программного обеспечения

Проектирование – процесс составления описания, необходимого для создания в заданных условиях ещё не существующего объекта, на основе первичного описания этого объекта и (или) алгоритма его функционирования.

Программная система содержит 7 видов обеспечения:

1.Математическое.

2.Лингвистическое.

3.Информационное.

4.Программное.

5.Техническое.

6.Организационное.

7.Методическое.

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

Законченное программное изделие (ПИ) является совокупностью следующих компонентов:

технических средств, обеспечивающих автоматизированное получение проектных решений;

программ, обеспечивающих работу технических средств и выполнение проектных процедур;

данных для выполнения программ;

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

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

Различают системное (общее), базовое и прикладное

(специальное) программное обеспечение (рисунок ниже).

5

Программное

обеспечение

 

 

 

 

 

 

 

 

Системное ПО

 

 

Базовое ПО

 

 

Прикладное ПО

 

 

 

 

 

 

 

 

Операционная

система

Система программирования

Обслуживающие

программы

Средства контроля и диагностики

Прикладные

программы

Пакеты прикладных программ

Состав программного обеспечения

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

6

Проблемно-ориентированные ПК используются для выполнения унифицированных проектных процедур, не зависимых от объекта проектирования.

Объектно-ориентированные ПК предназначены для проектирования объектов определённого класса.

Проектирующие ПК входят в состав специализированного ПО.

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

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

имодернизации ПО.

Кинструментальным средствам относятся: системы управления базами данных (СУБД); файлами; средства для работы с общими структурами данных и оперативной памяти; языковые процессоры для обеспечения взаимодействия с пользователями; пакет математических подпрограмм. Они включают в себя средства построения спецификаций, тестирование, документирование, процессоры и генераторы программ.

Инструментальные средства облегчают и сокращают сроки создания ПО.

1.2. Системное (общесистемное) ПО

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

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

Основные функции общесистемного ПО: управление процессом вычислений; ввод, вывод и обработка инструкций

7

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

Всостав общесистемного ПО входят: мониторная диалоговая система; системы управления БД; информационнопоисковые системы; геометрические и графические процессоры; средства формирования графической и текстовой информации; средства для выполнения общетехнических расчётов.

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

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

иприкладных программ) по запросам пользователей, управление вводом-выводом данных.

Аппаратура многих ЭВМ допускает параллельное выполнение нескольких действий. При наличии такой возможности ОС может обеспечивать однопрограммный или многопрограммный режимы работы.

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

Вмногопрограммном (мультипрограммном) режиме параллельно может выполняться несколько команд из одной или различных программ.

По способу передачи информации различают ОС пакетной обработки и диалоговые ОС.

При пакетной обработке пользователь составляет задание для ОС, в котором указывается, какие программы, в

8

каком порядке и с использованием каких ресурсов ЭВМ надо выполнить.

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

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

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

Пакетная обработка может быть организована как в однозадачном, так и в мультизадачном режиме.

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

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

Под системой программирования понимают комплекс средств для разработки и отладки программ.

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

Языки программирования, предназначенные для описания алгоритмов решения задач в виде последовательности операторов (шагов алгоритма), т.е. для описания процедуры решения задачи, называют процедурноориентированными. К таким языкам относятся языки Фортран, Паскаль, Си, Ада.

9

Наряду с процедурно-ориентированными существуют

проблемно-ориентированные языки программирования, на которых описывается постановка задачи (проблема) и указываются входные данные. При этом предполагается, что алгоритм решения задачи будет построен автоматически при трансляции программы в последовательность машинных команд. К проблемно-ориентированным языкам относят входной язык генератора отчётов РПГ и язык логического программирования Пролог, Паскаль, Си ...

Язык программирования называется машиннонезависимым, если в нём не используются особенности конструкции конкретной ЭВМ. Существуют и машинноориентированные языки, предназначенные для реализации только на ЭВМ определённого типа (к ним относятся различные ассемблеры).

Программа обычно состоит из нескольких обособленных частей – программных модулей. Различают три формы представления программных модулей:

Исходный модуль, содержащий текст на языке программирования.

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

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

Система программирования включает язык программирования, транслятор и, возможно, редактор связи.

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

10