Файл: Основы проектирования программ. Этапы создания программного обеспечения ( Понятие и характеристики программы ).pdf
Добавлен: 28.03.2023
Просмотров: 283
Скачиваний: 2
ВВЕДЕНИЕ
Распространение новых технологий привело к появлению в подавляющем числе российских квартир персональных компьютеров, а иногда их число достигает нескольких в одной семье. Все благодаря высокой функциональности современных электронно-вычислительных машин, которые могут не просто осуществлять расчеты, но выполнять такие задачи, которые под силу только современным технологиям.
Оперативность и функциональность любого вычислительного средства определяются совокупностью его аппаратных характеристик и программного обеспечения. В то время как аппаратное обеспечение в некоторой степени отличается постоянностью в границах одного устройства, то программное обеспечение является достаточно мобильной и динамичной его составляющей. Для того, чтобы компьютер выполнял возложенные на него задачи максимально эффективно, необходимо подбирать программное обеспечение исходя из конкретных целей. И это более чем реализуемо, ведь с каждым днем разнообразие программ только продолжает увеличиваться, а прежние программы модернизируются и улучшаются.
Процесс создания программного обеспечения достаточно сложен и трудоемок, так как результатом должен быть продукт, не только полностью удовлетворяющий требованиям пользователя, но и достаточно функциональный в рамках обозримого будущего. В связи с этим весь процесс проектирования программ разделен на определенные этапы, которые позволяют осуществлять всесторонний контроль и отслеживание процесса разработки программного обеспечения.
Цель исследования – рассмотрение основ проектирования программ и этапы их создания.
Задачи работы:
- охарактеризовать понятие программ;
- привести классификацию программного обеспечения;
- проанализировать процесс создания программного обеспечения;
- рассмотреть этапы создания программного обеспечения.
Объектом исследования выступает процесс создания программного обеспечения, а предметом – этапы этого процесса.
В качестве теоретической базы исследования используются научные труды известных исследователей проектирования программ, а также этапов создания программного обеспечения. В частности, при работе над исследованием использовались работы таких авторов как Голицына О. Л., Зыков С. В., Рудаков А. В. Соколова В. В. и др. Данные авторы на протяжении многих лет осуществляют свою научную деятельность в вопросах создания программного обеспечения, в связи с чем использование результатов их научных изысканий более чем целесообразно в ключе данной работы.
1 Основы проектирования программ
1.1 Понятие и характеристики программы
Программа – это последовательность инструкций (команд), описывающая алгоритм решения с помощью компьютера соответствующей задачи, для реализации которой эта программа была разработана [16]. Для разработки программ используются специальные языки.
Программа может содержать инструкции, написанные на языках программирования высокого уровня, которые позволяют записать алгоритмы в удобной для понимания человеком форме, приближенной к естественным языкам (исходный код), или последовательность машинных команд (инструкций, «понятных» компьютеру, на котором данная программа должна выполняться).
Готовыми к выполнению являются только программы, содержащие инструкции в двоичном машинном коде, – программы на языке конкретного компьютера (компьютера с процессором определенной модели или семейства), только такие программы можно загрузить в память компьютера для выполнения. Таким образом, программы в машинном коде не являются «переносимыми», их можно выполнять только на компьютерах с общей архитектурой, системой команд, поддерживаемой этими компьютерами, т.е. одинаковым машинным языком [4].
Машинно–ориентированный язык (Assembler) наиболее близок к языку, который «понимает» компьютер. В нем каждая команда, расположенная в отдельной строке, соответствует одной машинной команде. В столбике таблицы, в котором показан шестнадцатеричный машинный код, первое число представляет собой адрес в памяти компьютера, по которому будет при выполнении программы записана команда или данные, машинный код которых следует за этим числом в строке.
Исходный код программы на языке программирования создает программист, используя при этом имеющиеся в его распоряжении редакторы текстов (специальные программы, которые используются для ввода и модификации текстовой информации). Для перевода программы, написанной на языке программирования, в форму, готовую к выполнению (в машинный код), используются специальные системные программы (трансляторы, компоновщики), которые помогают программисту разработать программу. Разработчики применяют различные инструментальные средства, входящие в состав систем программирования, снижающие трудоемкость разработки программ. Современные системы программирования включают в свой состав текстовые редакторы, средства визуального программирования, трансляторы с определенных языков программирования, компоновщики, позволяющие «собрать» программы из отдельно разработанных модулей, и средства отладки программ, позволяющие выявлять и исправлять ошибки в процессе разработки программы [11].
Все программы хранятся в файлах на дисках компьютера. Тип файла определяет способ записи программы в нем. При загрузке программы в память на выполнение она считывается из файла и записывается в выделенную ей для выполнения оперативную память с помощью специальной программы загрузки, так как процессор может прочитать и выполнить только команды, находящиеся в оперативной памяти компьютера [3].
Таким образом, кроме программ, решающих задачи пользователя, существуют и программы, выполняющие вспомогательные, обслуживающие функции, позволяющие повысить эффективность и снизить трудоемкость работы.
1.2 Классификация программного обеспечения
Программное обеспечение (ПО) – это совокупность всех программ и соответствующей документации, обеспечивающая использование ЭВМ в интересах каждого ее пользователя [6].
Различают системное и прикладное ПО. Схематически программное обеспечение можно представить так:
Рисунок 1 Классификация программного обеспечения
Системное ПО – это совокупность программ для обеспечения работы компьютера. Системное ПО подразделяется на базовое и сервисное. Системные программы предназначены для управления работой вычислительной системы, выполняют различные вспомогательные функции (копирования, выдачи справок, тестирования, форматирования и т. д) [10].
Базовое ПО включает в себя:
- операционные системы. Операционная система (ОС) является системным программным обеспечением, благодаря которому приводится в действие технические средства компьютера. Это программное обеспечение координирующее работу ЭВМ и производящее управление другими программными модулями посредством скоординированной последовательности операций. Операционные системы для персональных компьютеров делятся на:
- одно– и многозадачные (в зависимости от числа параллельно выполняемых прикладных процессов);
- одно– и многопользовательские (в зависимости от числа пользователей, одновременно работающих с операционной системой);
- непереносимые и переносимые на другие типы компьютеров;
- несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ [2];
- оболочки. Операционные оболочки – это специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы. Операционные оболочки имеют текстовый и графический варианты интерфейса конечного пользователя.
Эти программы существенно упрощают задание управляющей информации для выполнения команд операционной системы, уменьшают напряженность и сложность работы конечного пользователя.
Во всем мире имеют огромную популярность такие графические оболочки MS DOS как Windows 3.1, Windows 3.11 for WorkGroup, которые позволяют изменить среду взаимодействия пользователя с компьютером, расширяют набор основных (диспетчер файлов, графический редактор, текстовый редактор, картотека и т.п.) и сервисных функций, обеспечивающих пользователю интегрированную информационную технологию [9];
- сетевые операционные системы – это комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, процесс управления сетью и др.), поддерживает работу в абонентских системах. Наибольшее распространение имеют LAN Server, NetWare, VINES.
Они оцениваются по комплексу критериев: производительность, разнообразие возможностей связи пользователей, возможности администрирования [14].
Сервисное ПО включает в себя программы (утилиты):
- диагностики;
- антивирусные;
- обслуживания носителей;
- архивирования;
- обслуживания сети [16].
Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.
Прикладные программы называют приложениями. Они включает в себя:
- текстовые процессоры;
- табличные процессоры;
- базы данных;
- интегрированные пакеты;
- системы иллюстративной и деловой графики (графические процессоры);
- экспертные системы;
- обучающие программы;
- программы математических расчетов, моделирования и анализа;
- игры;
- коммуникационные программы [16].
Особую группу составляют системы программирования (инструментальные системы), которые являются частью системного ПО, но носят прикладной характер. Системы программирования – это совокупность программ для разработки, отладки и внедрения новых программных продуктов. Системы программирования обычно содержат:
- трансляторы;
- среду разработки программ;
- библиотеки справочных программ (функций, процедур);
- отладчики;
- редакторы связей и др. [12].
2 Этапы создания программного обеспечения
2.1 Характеристика процесса создания программного обеспечения
Программное обеспечение (ПО) – компьютерные программы и соответствующая документация. Разрабатывается по частному заказу или для продажи на рынке ПО.
Системотехника (технология создания вычислительных систем) – дисциплина, охватывающая все аспекты создания и модернизации сложных вычислительных систем, где программное обеспечение играет ведущую роль. Сюда можно отнести технологии создания аппаратных средств, создание вычислительных процессов, развертывание всей системы, а также технологию создания непосредственно ПО [8].
Процесс создания ПО – совокупность процессов, приводящих к созданию программного продукта.
Фундаментальные процессы, присущие любому проекту создания ПО:
- Разработка спецификации требований на ПО (Определяют функциональные характеристики системы и обязательны для выполнения).
- Создание программного обеспечения (создание ПО согласно спецификации).
- Аттестация ПО (Созданное ПО должно пройти аттестацию для подтверждения соответствию требованиям заказчика).
- Модернизация ПО (совершенствование ПО согласно измененным требованиям потребителя) [7].
Модель процесса создания ПО – последовательность этапов, необходимых для разработки создаваемого ПО.
Модели процесса разработки ПО:
- Каскадная модель.
- Эволюционная модель.
- Формальное преобразование.
- Сборка программных продуктов из ранее созданных компонентов (модель сборки).
- Итерационная (спиральная) модель [16].
Методы создания ПО представляют собой структурный подход к созданию ПО, который способствует производству ПО эффективным, с экономической точки зрения, способом.
Все методы основаны на использовании моделей системы в качестве спецификации ее структуры:
- Функционально–ориентированные (структурный анализ, JSD, 70–е годы) основаны на определении основных функциональных компонент системы.
- Объектно–ориентированные (Booch, Rumbaugh) используют подходы, основанные на использовании унифицированного языка моделирования UML.
- Computer–Aided Software Engineering – автоматизированная разработка ПО [11].
Базовые процессы создания ПО можно представить в виде следующей последовательности: