Файл: Технологии разработки программного обеспечения.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 404

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




Промышленно – экономический колледж ГГТУКУРС ЛЕКЦИЙ на тему: «Технологии разработки программного обеспечения»Преподаватель: Морозов А.К.Для группы ПКС, специальности 09.02.03. 2020Содержание1. Требования к современным технологиям2. Общие принципы разработки программных средств3. Разработка структуры программы и модульное программирование4. Разработка программного модуля. Структурное программирование5. Стиль программирования. Выбор языка программирования6. Виды ошибок. Основные принципы отладки ПС7. Основные принципы организации тестирования ПС8. Виды программных документов9. Обеспечение функциональности, надежности и качества ПС. Технологии оценки качества ПС10. Обеспечение качества программного обеспечения11. Аттестация программного средства1. Требования к современным технологиямПрограммное средство (ПС) – это программа или логически связанная совокупность программ на носителях данных, снабженная программной документацией.Программная документация позволяет понять, какие функции выполняет та или иная программа, как подготовить исходные данные и запустить требуемую программу в процесс ее выполнения, а также: что означают получаемые результаты (или каков эффект выполнения этой программы). Будем считать, что в ПС имеется ошибка, если оно не выполняет функции, описанные в документации по ее применению. Надежность ПС - это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью.Технология программирования – это система научно-обоснованных принципов, методов и средств, обеспечивающих создание и развитие ПС, в течении всего жизненного периода (жизненного цикла) программного средства.Состав технологии программирования:
1. принципы и методы организации труда при разработке, эксплуатации ПС;2. принципы и методы разработки самих программ;3. средства инструментальной поддержки и автоматизации, позволяющие унифицировать разработку ПС.2. Общие принципы разработки программных средствЖизненный цикл ПСЖизненный цикл ПС - период его разработки и эксплуатации (использования), начиная от момента возникновения замысла ПС и заканчивая прекращением всех видов его использования. Внешнее описание ПС является описанием его поведения с точки зрения внешнего по отношению к нему наблюдателю с фиксацией требований относительно его качества. Внешнее описание ПС начинается с определения требований к ПС со стороны пользователей (заказчика). Конструирование ПС охватывает процессы: разработку архитектуры ПС, разработку структур программ ПС и их детальную спецификацию. Кодирование: создание текстов программ на языке программирования, их отладка и тестирование ПС. На этапе аттестации ПС производится оценка качества ПС, после успешного завершения которого, разработка ПС считается законченной. Программное изделие (ПИ) - экземпляр или копия, снятая с разработанного ПС. Изготовление ПИ - это процесс генерации и/или воспроизведения (снятия копии) программ и программных документов ПС с целью их поставки пользователю для применения по назначению. Производство ПИ - это совокупность работ по обеспечению изготовления требуемого количества ПИ в установленные сроки. Стадия производства ПС в жизненном цикле ПС является, по существу, вырожденной (не существенной), так как представляет рутинную работу, которая может быть выполнена автоматически и без ошибок.Стадия эксплуатации ПС охватывает процессы хранения, внедрения и сопровождения ПС, а также транспортировки и применения ПИ по своему назначению. Она состоит из двух параллельно проходящих фаз: фазы применения ПС и фазы сопровождения ПС. Применение ПС - это использование ПС для решения практических задач на компьютере путем выполнения ее программ. Сопровождение ПС - это процесс сбора информации о его качестве в эксплуатации, устранения обнаруженных в нем ошибок, его доработки и модификации, а также извещения пользователей о внесенных в него изменениях. Понятие качества ПС.Качество ПС - это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей.

Качество ПС является удовлетворительным, когда оно обладает указанными свойствами в такой степени, чтобы гарантировать успешное его использование.Критерии качества ПС:- функциональность, - надежность, - легкость применения, - эффективность, - сопровождаемость, - мобильность.Функциональность - это способность ПС выполнять набор функций, удовлетворяющих заданным или подразумеваемым потребностям пользователей. Набор указанных функций определяется во внешнем описании ПС. Легкость применения - это характеристики ПС, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению ПС и оценке полученных результатов, а также вызывать положительные эмоции определенного или подразумеваемого пользователя. Эффективность - это отношение уровня услуг, предоставляемых ПС пользователю при заданных условиях, к объему используемых ресурсов. Сопровождаемость - это характеристики ПС, которые позволяют минимизировать усилия по внесению изменений для устранения в нем ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей. Мобильность - это способность ПС быть перенесенным из одной среды (окружения) в другую, в частности, с одной ЭВМ на другую. Обязательные критерии качества: функциональность и надежность.3. Разработка структуры программы и модульное программированиеПриступая к разработке каждой программы ПС, следует иметь в виду, что она является большой системой, поэтому нужно принимать меры для ее упрощения. Для этого программу разрабатывают по частям, которые называются программными модулями. Такой метод программирования называют модульным программированием. Модуль – это самостоятельная часть программы, имеющая определенное значение и обеспечивающая заданные функции обработки автономно от других программных модулей. Каждый программный модуль программируется, компилируется и отлаживается отдельно от других модулей программы, и тем самым физически разделен с другими программными модулями. Каждый программный модуль может включаться в состав разных программ, если выполнены условия его использования, описанные в документации по ее использованию. Т.е. хорошо продуманный модуль позволяет избежать дублирования в программировании.Любое ПС имеет свою структуру, которая разрабатывается для удобства:
1. разработки2. программирования3. отладки4. внесения измененийТакже структуризация ПС позволяет:1. распределить работы по исполнителям, обеспечив их загрузку и требуемые сроки разработки2. построить календарные графики проектных работ и осуществлять их координацию в процессе создания ПИ.3. контролировать трудозатраты и стоимость проектных работ.При создании ПС выделяются многократно используемые модули, их типизируют и унифицируют, за счет чего сокращаются сроки и трудозатраты на разработку ПС в целом.Некоторые ПС используют готовые модули из библиотек стандартных процедур, функций, объектов и методов обработки данных.Типовая структура ПС:носитель отладка программный модульТаблица. Типы модулей

Наименование модуля

Описание

Головной модуль

Управляет запуском ПС (он в единственном числе)

Управляющий модуль

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

Рабочие модули

Выполняют функции обработки

Сервисные модули

Осуществляют обслуживающие функции
Свойства модуля:1. один вход и один выход – на входе программный модуль получает определенный набор исходных данных, выполняет обработку данных и возвращает результат2. функциональная завершенность – модуль выполняет перечень операций для реализации каждой отдельной функции в полном составе.3. логическая независимость – результат работы модуля зависит только от исходных данных, и не зависит от работы других модулей.4. слабые информационные связи с другими программными модулями – обмен информации между модулями должен быть по возможности минимизирован.5. обозримый по размеру и сложности.Каждый модуль состоит из спецификации и тела модуля. Спецификация – правила использования модуля.Тело – способ реализации процесса обработки.Принцип модульного программирования ПС:1. Определение состава и подчиненность функций2. определение набора программных модулей, реализующих эти функцииПри составлении алгоритма необходимо учитывать:
1. каждый модуль вызывается на выполнение вышестоящим модулем и закончив работу, возвращает управление вызвавшему модулю.Методы разработки структуры программы.В качестве модульной структуры программы принято использовать древовидную структуру, включая деревья со сросшимися ветвями. В узлах дерева размещаются модули, а стрелки показывают подчиненность модулей (т.е. в тексте модуля, из которого она исходит, имеется ссылка на модуль, в который она входит). Модульная структура программы должна включать и совокупность спецификаций модулей, образующих эту программу. Спецификация программного модуля содержит:1. синтаксическую спецификацию его входов, позволяющую построить обращение к нему на используемом языке программирования2. функциональную спецификацию модуля (описание всех функций, выполняемых этим модулем). Существуют разные методы разработки структуры программы. Обычно используют 2 метода:1. Метод восходящей разработки2. метод нисходящей разработкиМетод восходящей разработки.Сначала строится модульная структура программы в виде дерева. Затем поочередно программируются модули программы, начиная с модулей самого нижнего уровня, в таком порядке, чтобы для каждого программируемого модуля были уже запрограммированы все модули, к которым он может обращаться. После того, как все модули программы запрограммированы, производится их поочередное тестирование и отладка в принципе в таком же (восходящем) порядке, в каком велось их программирование. На первый взгляд такой порядок разработки программы кажется вполне естественным: каждый модуль при программировании выражается через уже запрограммированные непосредственно подчиненные модули, а при тестировании использует уже отлаженные модули. Не рекомендуется, т.к.:1. для программирования какого-либо модуля совсем не требуется текстов, используемых им модулей - для этого достаточно, чтобы каждый используемый модуль был лишь специфицирован (в объеме, позволяющем построить правильное обращение к нему), а для тестирования его возможно используемые модули заменять их имитаторами (заглушками).2. каждая программа в какой-то степени подчиняется некоторым внутренним для нее, но глобальным для ее модулей соображениям (принципам реализации, предположениям, структурам данных и т.п.), что определяет ее концептуальную целостность и формируется в процессе ее разработки. При восходящей разработке эта глобальная информация для модулей нижних уровней еще не ясна в полном объеме, поэтому очень часто приходится их перепрограммировать.