
- •Тема 1.1 Программное обеспечение (по): основные понятия и определения. Классификация по. Спецификация по.
- •Тема 1.2 Жизненный цикл программного продукта. Модели жизненного цикла разработки по
- •I.Этап. Разработка алгоритма и программы.
- •II.Этап. Эксплуатация и сопровождение.
- •III.Этап. Завершение жизненного цикла.
- •Тема 1.3 Сопровождение программного обеспечения. Эволюция программных систем. Автоматизированные средства разработки по.
- •Тема 1.4 Анализ предметной области. Определение и разработка требований к программным продуктам. Определение спецификаций требований программного обеспечения.
- •Тема 1.5 Качество по и методы его контроля. Понятие качества. Характеристики качества программных средств.
- •Тема 1.6 Проектирование по и его виды. Понятие архитектуры по. Влияние архитектуры на свойства по.
- •Тема 1.7 Проектирование интерфейса пользователя. Графический и диалоговый режим
- •Тема 1.8 Разработка по. Подходы к разработке по.
- •Тема 1.9 Программирование и стиль. Качество в реализации по
- •Раздел 2. Тестирование и отладка по
- •Тема 2.1 Верификация и аттестация по
- •Тема 2.2 Разработка тестов. Методы проверки и тестирования программ и систем. Тестовое окружение
- •Тема 2.3 Обеспечение надежности по.
- •Тема 2.4 Методы обеспечения надежности на различных этапах жизненного цикла разработки по
- •Тема 2.5 Модульное тестирование. Автоматизация модульного тестирования.
- •Тема 2.6 Интеграционное тестирование. Системное тестирование. Тестирование пользовательского интерфейса.
- •Тема 2.7 Отладка по. Трансляция. Компоновка программы. Выполнение программы с целью определения логических ошибок
- •Раздел 3. . Интеграция системы
- •Раздел 4. Коллективная разработка по
- •Тема 4.1 Категории специалистов занятых разработкой и эксплуатацией программ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федерального государственного образовательного бюджетного учреждения
высшего профессионального образования
«Поволжский государственный университет телекоммуникаций и информатики»
КОЛЛЕДЖ СВЯЗИ
ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Конспект лекций
Самара, 2013
Введение
В настоящее время во все сферы деятельности человека широко внедряются информационные технологии. Это приводит к разработке огромного количества программных средств (ПС) различного функционального назначения. При этом объем и сложность используемых ПС постоянно возрастают.
В этой связи многие подходы к разработке ПС, применяемые на начальных этапах развития вычислительной техники, теряют свои позиции, поскольку не позволяют в полной мере получить ПС необходимого уровня качества за заданный промежуток времени при ограниченных финансовых, людских и технических ресурсах.
МДК «Технология разработки программного обеспечения» позволяет освоить этапы разработки программного обеспечения, модели жизненного цикла программного продукта, проблемы проектирования сложных программных средств, основные методы разработки программного обеспечения и др.
В результате изучения профессионального модуля студент должен:
уметь:
владеть основными методологиями процессов разработки программного обеспечения;
использовать методы для получения кода с заданной функциональностью и степенью качества;
знать:
модели процесса разработки программного обеспечения;
основные принципы процесса разработки программного обеспечения;
основные подходы к интегрированию программных модулей;
основные методы и средства эффективной разработки;
основы верификации и аттестации программного обеспечения;
концепции и реализации программных процессов;
принципы построения, структуры и приемы работы с инструментальными средствами, поддерживающими создание программного обеспечения;
методы организации работы в коллективах разработчиков программного обеспечения;
основные положения метрологии программных продуктов, принципы построения, проектирования и использования средств для измерений характеристик и параметров программ, программных систем и комплексов;
стандарты качества программного обеспечения;
методы и средства разработки программной документации
Тема 1.1 Программное обеспечение (по): основные понятия и определения. Классификация по. Спецификация по.
Классы программного обеспечения
Под программным обеспечением понимается совокупность программ, выполняемых вычислительной системой. К программному обеспечению относится также вся область деятельности по проектированию и разработке ПО: технология проектирования программ; методы тестирования программ; методы доказательства правильности программ; анализ качества работы программ; документирование программ; разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкретного компьютера определяется созданным для него программным обеспечением. Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах. Программное обеспечение современных компьютеров включает миллионы программ – от игровых до научных.
Программные продукты можно классифицировать по различным признакам. Рассмотрим классификацию, в которой основополагающим признаком является сфера (область) использования программных продуктов:
аппаратная часть автономных компьютеров и сетей ЭВМ;
функциональные задачи различных предметных областей;
технология разработки программ.
Рис. 1. Классы программных продуктов
Для поддержки информационной технологии в этих областях выделим соответственно три класса программных продуктов, представленных на рис. 1:
системное программное обеспечение;
пакеты прикладных программ;
инструментарий технологии программирования.
Системное программное обеспечение (System Software) — совокупность программ и программных комплексов, предназначенная для обеспечения работы компьютера и сетей ЭВМ.
Системное программное обеспечение выполняет следующие задачи:
создание операционной среды функционирования других программ;
обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
проведение диагностики, локализации сбоев, ошибок и отказов и профилактики аппаратуры компьютера и вычислительных сетей;
выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью. Программные продукты в основном ориентированы на квалифицированных пользователей – профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста, оператора. Однако знание базовой технологии работы с этим классом программных продуктов требуется и конечным пользователям персонального компьютера, которые самостоятельно не только работают со своими программами, но и выполняют обслуживание компьютера, программ и данных.
Программные продукты данного класса носят общий характер применения, независимо от специфики предметной области. К ним предъявляются высокие требования по надежности и технологичности работы, удобству и эффективности использования.
Пакет прикладных программ (application program package) представляет собой комплекс взаимосвязанных программ, предназначенный для решения задач определенного класса конкретной предметной области. Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Установка пакетов прикладных программ на компьютер выполняется системными администраторами, системными программистами, а также (в некоторых случаях) квалифицированными пользователями. Непосредственную эксплуатацию программных продуктов осуществляют, как правило, конечные пользователи – потребители информации, во многих случаях, деятельность которых весьма далека от компьютерной области. Данный класс программных продуктов может быть весьма специфичным для отдельных предметных областей.
Инструментарий технологии программирования представляет собой совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
Инструментарий технологии программирования включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования являются системные и прикладные программисты.
Структура системного программного обеспечения
Системное программное обеспечение (рис.2) можно разделить на базовое программное обеспечение, которое, как правило, поставляется вместе с компьютером, и сервисное программное обеспечение, которое может быть приобретено дополнительно.
Базовое программное обеспечение (base software) – минимальный набор программных средств, обеспечивающих работу компьютера. Сервисное программное обеспечение включает программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.
Рис. 2
В базовое программное обеспечение входят:
операционная система;
операционные оболочки (обычно текстовые и графические);
сетевая операционная система.
Расширением базового программного обеспечения компьютера является набор сервисных, дополнительно устанавливаемых программ (или программ, поставляемых непосредственно с операционными системами), которые можно классифицировать по функциональному признаку следующим образом:
программы диагностики работоспособности компьютера;
антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физическом уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.;
программы архивирования данных, которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для ее хранения;
программы обслуживания сети.
Эти программы часто называются утилитами. Утилиты – программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров (диагностики, тестирования аппаратных и программных средств, оптимизации использования дискового пространства, восстановления разрушенной на магнитном диске информации и т.п.).
Прикладное программное обеспечение
Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах деятельности человека. Помимо создания новых программных продуктов разработчики прикладных программ большие усилия тратят на совершенствование и модернизацию популярных систем, создание их новых версий. Новые версии, как правило, поддерживают старые, сохраняя преемственность, и включают в себя базовый минимум (стандарт) возможностей.