
- •Тема 11. Технологии разработки программного обеспечения
- •Надежность Программ
- •Считается, что в Программном Средстве имеется ошибка (software error), если оно не выполняет
- •Так как задание на создание ПС обычно
- •Поэтому понятие правильного ПС неконструктивно в том смысле, что после окончания работы над
- ••Надежность ПС это его способность безотказно выполнять определенные функции при заданных условиях в
- ••Под отказом в ПС понимают проявление в нем ошибки.
- ••Убедиться, что ПС обладает свойством надежности можно при его испытании путем тестирования, а
- •Основные понятия ТП
- •Более конструктивно под Технологией Программирования понимать
- •Широкое внедрение компьютеров существенно изменило направленность технологии программирования.
- •Компьютерная техника из средства решения отдельных задач все более превращается в средство информационного
- •Технологические задачи конструктора автомобиля
- •Отличие конструирования программ от конструирования автомобиля
- •Отличия
- •Жизненный цикл ПО
- •Почему возникает потребность модификации
- •Опыт показывает, что незначительные дополнительные усилия, затраченные при разработке программы, впоследствии могут облегчить
- •Критериями качества ПС
- •Функциональность
- •Надежность
- •Легкость применения
- •Эффективность
- •Сопровождаемость ПС
- •Мобильность
- ••Функциональность и надежность являются обязательными критериями качества ПС, причем обеспечение надежности красной нитью
- •четыре подхода к обеспечению надежности
- •Для предупреждения ошибок при разработке ПС следует сконцентрировать внимание на следующих вопросах:
- •Два общих метода борьбы со сложностью систем
- •Принципы программирования
- •Для того, чтобы удовлетворить этим принципам на сегодняшний день выработаны
- •Традиционные этапы разработки ПО
- •этапы разработки ПО
- •Способы разработки
- •Методы проектирования
- •Шаблоны проектирования
- •Методы тестирования
- •Тестирование по принципу «черного ящика»
- •Что еще входит в ТП?
Принципы программирования
Абстракция (выделение существенных свойств и игнорирование несущ. деталей);
сокрытие информации (прятать детали, которые могут повлиять на остальные части системы);
локализация (локальные параметры, позволяет создавать слабо связанные модули);
модульность (позволяет управлять сложностью, реализуется целенаправленным конструированием);
единообразие; |
|
полнота; |
|
подтверждаемость; |
31 |
07/02/19 |
Для того, чтобы удовлетворить этим принципам на сегодняшний день выработаны
Основные подходы
Нисходящее структурное проектирование [Йордан, 1979] (каждый шаг в виде модуля-процедуры)
Восходящее (Объектно-ориентированное) проектирование [Booch, 1986] (сначала проектируются объекты, после этого из них создается система).
07/02/19 |
32 |

Традиционные этапы разработки ПО
Анализ
Проектирование
Реализация
Тестирование
07/02/19 |
33 |
этапы разработки ПО
Анализ – определяет что должна делать программа. (выявление нужд пользователя, формулировка требований к ПО)
Проектирование – определяет как она будет выполнять требуемые задачи.(определяется структура ПО, выделяются модули, объекты их поведение)
Реализация - это написание программы, создание файлов, базы данных,…
Тестирование - прогоны программы с различными исходными данными, позволяющими выявить правильность работы составных модулей
• Имеется сходство с этапами решения задач (Пойа)
07/02/19 |
34 |
Способы разработки
Модель водопада – полный анализ системы до начала проектирования (нет возврата)
Пошаговая модель – ПП создается поэтапно. Первый вариант является упрощенной версией (прототип). После тестирования этой версии создается следующая более полная и т.д.
•Метод эволюционного развития прототипа или метод отбрасывания прототипа
•Жизненный цикл предстает в виде спирали.
07/02/19 |
35 |
Методы проектирования
Нисходящий метод – задача разбивается на подзадачи, которые в свою очередь тоже разбиваются на подзадачи которые просто решаются. Решение задач самого нижнего уровня реализуются процедурами выполняющими простые задания.
•Реализуется метод традиционным процедурным программированием.
Восходящий метод – проектирование начинается с определения отдельных задач внутри системы. Затем изучается, как из решения этих задач получить решение более сложных задач.
• Реализуется метод с помощью ООП.
07/02/19 |
36 |
Шаблоны проектирования
Поиски способов создания ПП из готовых компонентов привели к идее набора шаблонов.
Каждый шаблон состоит из постановки задачи, за которой следует предлагаемое общее решение.
Задачи должны быть достаточно универсальны.
Примером использования шаблонов являются , системы программирования Delphi, Java, … которые содержат шаблоны: интерфейса, графики, базы данных, работы в интернет.
Все универсальные системы сегодня предлагают разработчику тот или иной набор шаблонов.
07/02/19 |
37 |
Методы тестирования
Проверка правильности ПП производится тестированием. К сожалению это не точная наука, в том смысле что не дает ответа на вопрос о гарантированной правильности ПП.
Метод Парето – (итальянец Вильфредо Парето) основан на наблюдении , что ошибки в ПП имеют тенденцию группироваться в небольшом числе модулей. Нужно только установить эти модули и более тщательно проверить.
Метод тестирования основных путей – разрабатываются исходные данные при которых каждая инструкция выполнится по крайней мере один раз.
Эти методы относятся к категории тестирования по принципу «прозрачного ящика»
07/02/19 |
38 |
Тестирование по принципу «черного ящика»
•Выполняется с точки зрения пользователя системы. Анализируется то, насколько правильно программа работает в смысле точности достигаемого решения и скорости выполнения.
Метод граничных условий – проверяются в первую очередь границы допустимых параметров.
Метод избыточности - ПП заказывается сразу нескольким независимым фирмам, и после этого сравниваются полученные варианты.
Метод упрощенных версий – т.называемая бета-версия раздается некоторым пользователям и ждут от них
пожеланий по доработке.
07/02/19 |
39 |
Что еще входит в ТП?
•Мы не рассматривали такие вопросы как:
•Разработка модулей и средства их представления
•Инструменты разработки – схемы, диаграммы, CASE –системы
•Документирование
•Права собственности
07/02/19 |
40 |