Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации 2часть / Лекция_34_Технологии программирования.ppt
Скачиваний:
25
Добавлен:
11.05.2015
Размер:
133.63 Кб
Скачать

Принципы программирования

Абстракция (выделение существенных свойств и игнорирование несущ. деталей);

сокрытие информации (прятать детали, которые могут повлиять на остальные части системы);

локализация (локальные параметры, позволяет создавать слабо связанные модули);

модульность (позволяет управлять сложностью, реализуется целенаправленным конструированием);

единообразие;

 

полнота;

 

подтверждаемость;

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