🗊Презентация Введение в технологии программирования

Нажмите для полного просмотра!
Введение в технологии программирования, слайд №1Введение в технологии программирования, слайд №2Введение в технологии программирования, слайд №3Введение в технологии программирования, слайд №4Введение в технологии программирования, слайд №5Введение в технологии программирования, слайд №6Введение в технологии программирования, слайд №7Введение в технологии программирования, слайд №8Введение в технологии программирования, слайд №9Введение в технологии программирования, слайд №10Введение в технологии программирования, слайд №11Введение в технологии программирования, слайд №12Введение в технологии программирования, слайд №13Введение в технологии программирования, слайд №14Введение в технологии программирования, слайд №15Введение в технологии программирования, слайд №16Введение в технологии программирования, слайд №17Введение в технологии программирования, слайд №18Введение в технологии программирования, слайд №19Введение в технологии программирования, слайд №20Введение в технологии программирования, слайд №21Введение в технологии программирования, слайд №22Введение в технологии программирования, слайд №23Введение в технологии программирования, слайд №24Введение в технологии программирования, слайд №25Введение в технологии программирования, слайд №26Введение в технологии программирования, слайд №27Введение в технологии программирования, слайд №28Введение в технологии программирования, слайд №29Введение в технологии программирования, слайд №30Введение в технологии программирования, слайд №31Введение в технологии программирования, слайд №32Введение в технологии программирования, слайд №33Введение в технологии программирования, слайд №34Введение в технологии программирования, слайд №35Введение в технологии программирования, слайд №36Введение в технологии программирования, слайд №37Введение в технологии программирования, слайд №38Введение в технологии программирования, слайд №39Введение в технологии программирования, слайд №40Введение в технологии программирования, слайд №41Введение в технологии программирования, слайд №42Введение в технологии программирования, слайд №43Введение в технологии программирования, слайд №44Введение в технологии программирования, слайд №45Введение в технологии программирования, слайд №46Введение в технологии программирования, слайд №47Введение в технологии программирования, слайд №48Введение в технологии программирования, слайд №49Введение в технологии программирования, слайд №50Введение в технологии программирования, слайд №51Введение в технологии программирования, слайд №52Введение в технологии программирования, слайд №53Введение в технологии программирования, слайд №54Введение в технологии программирования, слайд №55

Содержание

Вы можете ознакомиться и скачать презентацию на тему Введение в технологии программирования. Доклад-сообщение содержит 55 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ВВЕДЕНИЕ В ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
Описание слайда:
ВВЕДЕНИЕ В ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

Слайд 2





Литература
С. Макконнелл. Совершенный код. — СПб: «Питер», 2005. — 896 с. 
К. Бек. Экстремальное программирование. — СПб:  «Питер», 2002.
К. Ауэр, Р. Миллер. Экстремальное программирование. — СПб:  «Питер», 2003. — 368 с.
А. Якобсон, Г. Буч, Д. Рамбо. Унифицированный процесс разработки программного обеспечения. — СПб:  «Питер», 2002. — 496 с.
Э. Брауде. Технология разработки программного обеспечения. — СПб: «Питер», 2004. — 655 с.
С. Орлов. Технологии разработки программного обеспечения. — СПб: «Питер», 2003. — 480 с.
Д. Бентли. Жемчужины программирования. — СПб:  «Питер», 2002. — 272 с.
Р. Мартин. Чистый код: создание, анализ и рефакторинг. — СПб:  «Питер», 2010. — 464 с.
http://www.agiledev.ru/
Описание слайда:
Литература С. Макконнелл. Совершенный код. — СПб: «Питер», 2005. — 896 с. К. Бек. Экстремальное программирование. — СПб: «Питер», 2002. К. Ауэр, Р. Миллер. Экстремальное программирование. — СПб: «Питер», 2003. — 368 с. А. Якобсон, Г. Буч, Д. Рамбо. Унифицированный процесс разработки программного обеспечения. — СПб: «Питер», 2002. — 496 с. Э. Брауде. Технология разработки программного обеспечения. — СПб: «Питер», 2004. — 655 с. С. Орлов. Технологии разработки программного обеспечения. — СПб: «Питер», 2003. — 480 с. Д. Бентли. Жемчужины программирования. — СПб: «Питер», 2002. — 272 с. Р. Мартин. Чистый код: создание, анализ и рефакторинг. — СПб: «Питер», 2010. — 464 с. http://www.agiledev.ru/

Слайд 3





Основные критерии качества ПО
надежность
возможность точно планировать производство и сопровождение
Описание слайда:
Основные критерии качества ПО надежность возможность точно планировать производство и сопровождение

Слайд 4





Критерии качества ПО
Внешние характеристики
корректность
наличие/отсутствие дефектов в спецификации, проекте и реализации
практичность
легкость изучения и использования
эффективность
степень использования системных ресурсов
надежность
способность системы выполнять необходимые функции; интервал между отказами
целостность
способность предотвращать неавторизованный или некорректный доступ
адаптируемость
возможность использования в других областях и средах
правильность
степень безошибочности данных, выдаваемых системой
живучесть
способность продолжать работу при недопустимых данных или в напряженных условиях
Описание слайда:
Критерии качества ПО Внешние характеристики корректность наличие/отсутствие дефектов в спецификации, проекте и реализации практичность легкость изучения и использования эффективность степень использования системных ресурсов надежность способность системы выполнять необходимые функции; интервал между отказами целостность способность предотвращать неавторизованный или некорректный доступ адаптируемость возможность использования в других областях и средах правильность степень безошибочности данных, выдаваемых системой живучесть способность продолжать работу при недопустимых данных или в напряженных условиях

Слайд 5


Введение в технологии программирования, слайд №5
Описание слайда:

Слайд 6





Главный закон контроля качества ПО
Повышение качества системы снижает расходы на ее разработку
Описание слайда:
Главный закон контроля качества ПО Повышение качества системы снижает расходы на ее разработку

Слайд 7





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

Слайд 8





Модели жизненного цикла ПО
 Каскадная (водопадная, нисходящая) 
 Макетирование (прототипирование)
 Инкрементная
 Спиральная (итерационная)
Описание слайда:
Модели жизненного цикла ПО Каскадная (водопадная, нисходящая) Макетирование (прототипирование) Инкрементная Спиральная (итерационная)

Слайд 9





Стратегии создания ПО
Описание слайда:
Стратегии создания ПО

Слайд 10





Водопадная модель жизненного цикла ПО:
Описание слайда:
Водопадная модель жизненного цикла ПО:

Слайд 11





Модель с промежуточным контролем:
Описание слайда:
Модель с промежуточным контролем:

Слайд 12





Макетирование (прототипирование)
Описание слайда:
Макетирование (прототипирование)

Слайд 13





Инкрементная модель
Описание слайда:
Инкрементная модель

Слайд 14





Технология RAD 
Rapid Application Development — быстрая разработка приложений. Ориентирована на максимально быстрое получение первых версий разрабатываемого ПО. Она предусматривает:
ведение разработки небольшими группами (3-7 человек), каждая из которых проектирует и реализует отдельные подсистемы, позволяет улучшить управляемость проекта;
использование готовых компонентов способствует уменьшению времени получения работоспособного прототипа;
наличие четко проработанного графика цикла, рассчитанного не более чем на три месяца, существенно увеличивает эффективность работы.
RAD хорошо зарекомендовал себя для относительно небольших стандартных проектов, разрабатываемых для конкретного заказчика. 
RAD ориентирован на разработку информационных систем, которые можно разбить на отдельные модули и где производительность не критична.
Описание слайда:
Технология RAD Rapid Application Development — быстрая разработка приложений. Ориентирована на максимально быстрое получение первых версий разрабатываемого ПО. Она предусматривает: ведение разработки небольшими группами (3-7 человек), каждая из которых проектирует и реализует отдельные подсистемы, позволяет улучшить управляемость проекта; использование готовых компонентов способствует уменьшению времени получения работоспособного прототипа; наличие четко проработанного графика цикла, рассчитанного не более чем на три месяца, существенно увеличивает эффективность работы. RAD хорошо зарекомендовал себя для относительно небольших стандартных проектов, разрабатываемых для конкретного заказчика. RAD ориентирован на разработку информационных систем, которые можно разбить на отдельные модули и где производительность не критична.

Слайд 15





Этапы RAD
Бизнес-моделирование (моделируются информационные потоки между бизнес-функциями)
Моделирование данных (набор объектов, которые требуются для поддержки бизнес-процессов)
Моделирование обработки (определяются преобразования объектов, обеспечивающие реализацию бизнес-функций. Описание обработки для добавления, изменения, удаления и поиска данных)
Создание приложения (используются готовые компоненты и утилиты автоматизации)
Объединение и тестирование (компоненты тестировать не надо).
Описание слайда:
Этапы RAD Бизнес-моделирование (моделируются информационные потоки между бизнес-функциями) Моделирование данных (набор объектов, которые требуются для поддержки бизнес-процессов) Моделирование обработки (определяются преобразования объектов, обеспечивающие реализацию бизнес-функций. Описание обработки для добавления, изменения, удаления и поиска данных) Создание приложения (используются готовые компоненты и утилиты автоматизации) Объединение и тестирование (компоненты тестировать не надо).

Слайд 16





Спиральная модель разработки ПО
Программное обеспечение создается итерационно с использованием метода прототипирования.
Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого программного обеспечения.
Описание слайда:
Спиральная модель разработки ПО Программное обеспечение создается итерационно с использованием метода прототипирования. Прототипом называют действующий программный продукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого программного обеспечения.

Слайд 17





Особенности спиральной модели
Основным достоинством спиральной схемы является то, что, начиная с некоторой итерации, продукт можно предоставлять пользователю, что позволяет:
сократить время до появления первых версий программного продукта;
заинтересовать большое количество пользователей, обеспечивая быстрое продвижение следующих версий продукта на рынке;
ускорить формирование и уточнение спецификаций за счет появления практики использования продукта;
уменьшить вероятность морального устаревания системы за время разработки.
Описание слайда:
Особенности спиральной модели Основным достоинством спиральной схемы является то, что, начиная с некоторой итерации, продукт можно предоставлять пользователю, что позволяет: сократить время до появления первых версий программного продукта; заинтересовать большое количество пользователей, обеспечивая быстрое продвижение следующих версий продукта на рынке; ускорить формирование и уточнение спецификаций за счет появления практики использования продукта; уменьшить вероятность морального устаревания системы за время разработки.

Слайд 18





Семейства процессов разработки ПО
тяжеловесные (heavyweight)
применяются при фиксированных требованиях и многочисленной группе разработчиков разной квалификации
облегченные (lightweight, agile)
применяются при малочисленной группе квалифицированных разработчиков и грамотном заказчике, который имеет возможность участвовать в процессе
Описание слайда:
Семейства процессов разработки ПО тяжеловесные (heavyweight) применяются при фиксированных требованиях и многочисленной группе разработчиков разной квалификации облегченные (lightweight, agile) применяются при малочисленной группе квалифицированных разработчиков и грамотном заказчике, который имеет возможность участвовать в процессе

Слайд 19





Распространенные технологии
RUP
 Гибкие технологии (Agile):
Экстремальное программирование (XP)
Разработка через тестирование (TDD)
…
Выбор технологии зависит от сложности программного обеспечения, наличия готовых компонентов, имеющихся ресурсов и т. д.
Описание слайда:
Распространенные технологии RUP Гибкие технологии (Agile): Экстремальное программирование (XP) Разработка через тестирование (TDD) … Выбор технологии зависит от сложности программного обеспечения, наличия готовых компонентов, имеющихся ресурсов и т. д.

Слайд 20





Экстремальное программирование
Основная идея экстремального программирования (ХР) — устранить высокую стоимость изменений, вносимых в ПО в процессе как разработки, так и эксплуатации. 
Цикл разработки в ХР состоит из очень коротких итераций. Четырьмя базовыми действиями в цикле являются:	
выслушивание заказчика
проектирование
кодирование
тестирование. 
Заказчик постоянно присутствует в группе разработчиков. 
При принятии решений всегда стремятся выбрать самое простое, тесты пишутся еще до написания кода.
Сборка системы выполняется ежедневно.
Описание слайда:
Экстремальное программирование Основная идея экстремального программирования (ХР) — устранить высокую стоимость изменений, вносимых в ПО в процессе как разработки, так и эксплуатации. Цикл разработки в ХР состоит из очень коротких итераций. Четырьмя базовыми действиями в цикле являются: выслушивание заказчика проектирование кодирование тестирование. Заказчик постоянно присутствует в группе разработчиков. При принятии решений всегда стремятся выбрать самое простое, тесты пишутся еще до написания кода. Сборка системы выполняется ежедневно.

Слайд 21





Основные принципы ХР
Планирование 
Частая смена версий 
Метафора 
Простой проект 
Тесты
Переработка системы 
Программирование в паре 
Непрерывная 
интеграция 
Описание слайда:
Основные принципы ХР Планирование  Частая смена версий  Метафора  Простой проект  Тесты Переработка системы  Программирование в паре Непрерывная  интеграция 

Слайд 22





Пример реального процесса разработки ПО
Описание слайда:
Пример реального процесса разработки ПО

Слайд 23





CASE-технологии 
Computer Aided Software/System Engineering – автоматизированная разработка ПО/систем
Существуют САSЕ-технологии, поддерживающие как структурный, так и объектный (в т. ч. компонентный) подход 
САSЕ-средства повышают производительность труда программистов и улучшают качество программного обеспечения. Они:
обеспечивают автоматизированный контроль совместимости спецификаций проекта;
уменьшают время создания прототипа системы;
ускоряют процесс проектирования и разработки;
автоматизируют формирование проектной документации для всех этапов жизненного цикла;
частично генерируют коды программ для различных платформ разработки;
поддерживают технологии повторного использования компонентов системы;
обеспечивают возможность восстановления проектной документации по имеющимся исходным кодам.
Описание слайда:
CASE-технологии Computer Aided Software/System Engineering – автоматизированная разработка ПО/систем Существуют САSЕ-технологии, поддерживающие как структурный, так и объектный (в т. ч. компонентный) подход САSЕ-средства повышают производительность труда программистов и улучшают качество программного обеспечения. Они: обеспечивают автоматизированный контроль совместимости спецификаций проекта; уменьшают время создания прототипа системы; ускоряют процесс проектирования и разработки; автоматизируют формирование проектной документации для всех этапов жизненного цикла; частично генерируют коды программ для различных платформ разработки; поддерживают технологии повторного использования компонентов системы; обеспечивают возможность восстановления проектной документации по имеющимся исходным кодам.

Слайд 24





Процесс
Процесс создания ПО – определение полного набора видов деятельности, необходимых для преобразования требований пользователя в продукт. 
Процесс служит шаблоном для создания проекта.
Процесс определяет:
кто делает
что делает
когда делает
как достичь цели
Описание слайда:
Процесс Процесс создания ПО – определение полного набора видов деятельности, необходимых для преобразования требований пользователя в продукт. Процесс служит шаблоном для создания проекта. Процесс определяет: кто делает что делает когда делает как достичь цели

Слайд 25





Унифицированный процесс (RUP)
Описание слайда:
Унифицированный процесс (RUP)

Слайд 26





Характеристики УП
управляемый вариантами использования
(use case)
архитектурно-ориентированный
итеративный и инкрементный
использует UML
основан на компонентном подходе, использует стандарт визуального моделирования
Описание слайда:
Характеристики УП управляемый вариантами использования (use case) архитектурно-ориентированный итеративный и инкрементный использует UML основан на компонентном подходе, использует стандарт визуального моделирования

Слайд 27





Преимущества управляемого итеративного процесса
Ограничивает финансовые риски затратами на одну итерацию
Снижает риск непоставки продукта
Ускоряет темпы процесса разработки в целом
Облегчает адаптацию к неизбежным изменениям требований
Описание слайда:
Преимущества управляемого итеративного процесса Ограничивает финансовые риски затратами на одну итерацию Снижает риск непоставки продукта Ускоряет темпы процесса разработки в целом Облегчает адаптацию к неизбежным изменениям требований

Слайд 28





Жизненный цикл УП
Каждый цикл состоит из 4х фаз, каждая фаза разделяется на итерации
Результатом каждого цикла является новый выпуск системы
Каждая фаза заканчивается вехой
Веха определяется по наличию определенного набора артефактов
Артефакт – любой вид информации, создаваемый, изменяемый и используемый сотрудниками при создании системы
Описание слайда:
Жизненный цикл УП Каждый цикл состоит из 4х фаз, каждая фаза разделяется на итерации Результатом каждого цикла является новый выпуск системы Каждая фаза заканчивается вехой Веха определяется по наличию определенного набора артефактов Артефакт – любой вид информации, создаваемый, изменяемый и используемый сотрудниками при создании системы

Слайд 29





Назначение вех
По ним руководитель принимает решения перед тем, как перейти на следующую фазу
Возможность отслеживать процесс
Возможность прогнозирования оценок в других процессах
Описание слайда:
Назначение вех По ним руководитель принимает решения перед тем, как перейти на следующую фазу Возможность отслеживать процесс Возможность прогнозирования оценок в других процессах

Слайд 30





Цикл разработки
Описание слайда:
Цикл разработки

Слайд 31





Содержание фаз
Анализ и планирование требований:
идея превращается в концепцию готового продукта
создается бизнес-план разработки
упрощенная модель вариантов использования
пробный вариант архитектуры
выявление рисков и расстановка приоритетов
грубая оценка проекта
Описание слайда:
Содержание фаз Анализ и планирование требований: идея превращается в концепцию готового продукта создается бизнес-план разработки упрощенная модель вариантов использования пробный вариант архитектуры выявление рисков и расстановка приоритетов грубая оценка проекта

Слайд 32






Построение
уточнение базового уровня архитектуры
реализация всех вариантов использования
Внедрение
бета-версия
тренинги сотрудников заказчиков
исправление дефектов
Описание слайда:
Построение уточнение базового уровня архитектуры реализация всех вариантов использования Внедрение бета-версия тренинги сотрудников заказчиков исправление дефектов

Слайд 33





Четыре «П» разработки ПО
Персонал
(кто это делает)
Процесс
(способ, которым это делается)
Проект
(выполнение необходимых действий)
Продукт
(артефакты)
Описание слайда:
Четыре «П» разработки ПО Персонал (кто это делает) Процесс (способ, которым это делается) Проект (выполнение необходимых действий) Продукт (артефакты)

Слайд 34





Продукт
Артефакт – любой вид информации, создаваемый, изменяемый и используемый сотрудниками при создании системы
Артефакты:
Само приложение
Спецификация требований
Проектная модель
Исходный и объектный код
Тестовые процедуры
…
Описание слайда:
Продукт Артефакт – любой вид информации, создаваемый, изменяемый и используемый сотрудниками при создании системы Артефакты: Само приложение Спецификация требований Проектная модель Исходный и объектный код Тестовые процедуры …

Слайд 35





Проект
Совокупность действий, необходимых для создания артефакта:
контакт с заказчиком
написание документации
проектирование
программирование
тестирование
…
Описание слайда:
Проект Совокупность действий, необходимых для создания артефакта: контакт с заказчиком написание документации проектирование программирование тестирование …

Слайд 36





Модели УП
Модели – наиболее важный тип артефактов. Каждая модель описывает систему с определенной точки зрения на определенном уровне абстракции.
Вариантов использования
Анализа
Проектирования
Развертывания
Реализации
Тестирования
Все модели связаны, они полностью описывают систему.
Набор моделей дает варианты обозрения системы для всех сотрудников.
Описание слайда:
Модели УП Модели – наиболее важный тип артефактов. Каждая модель описывает систему с определенной точки зрения на определенном уровне абстракции. Вариантов использования Анализа Проектирования Развертывания Реализации Тестирования Все модели связаны, они полностью описывают систему. Набор моделей дает варианты обозрения системы для всех сотрудников.

Слайд 37





UML
UML - Unified Model Language - является языком для специфицирования, визуализации, конструирования и документирования программных продуктов, а также используется в бизнес-моделировании и моделировании любых иных (не программных) систем.
UML позволяет задавать следующие аспекты:
Диаграммы вариантов использования (use case diagrams)
Диаграммы классов (class diagrams)
Диаграммы поведения
Диаграммы состояний (statechart diagrams)
Диаграммы действий (activity diagrams)
Диаграммы взаимодействия (interaction diagrams)
Диаграммы последовательностей(sequence diagrams)
Диаграммы взаимодействий(collaboration diagrams)
Диаграммы реализации (implementation diagrams)
Диаграммы компонент (component diagram)
Диаграммы развертывания (deployment diagram)
Описание слайда:
UML UML - Unified Model Language - является языком для специфицирования, визуализации, конструирования и документирования программных продуктов, а также используется в бизнес-моделировании и моделировании любых иных (не программных) систем. UML позволяет задавать следующие аспекты: Диаграммы вариантов использования (use case diagrams) Диаграммы классов (class diagrams) Диаграммы поведения Диаграммы состояний (statechart diagrams) Диаграммы действий (activity diagrams) Диаграммы взаимодействия (interaction diagrams) Диаграммы последовательностей(sequence diagrams) Диаграммы взаимодействий(collaboration diagrams) Диаграммы реализации (implementation diagrams) Диаграммы компонент (component diagram) Диаграммы развертывания (deployment diagram)

Слайд 38





Диаграммы вариантов использования 
(Use case diagrams)
Описание слайда:
Диаграммы вариантов использования (Use case diagrams)

Слайд 39





Диаграммы деятельности 
(Activity diagrams)
Описание слайда:
Диаграммы деятельности (Activity diagrams)

Слайд 40





Диаграммы последовательностей действий
(Sequence diagrams)
Описание слайда:
Диаграммы последовательностей действий (Sequence diagrams)

Слайд 41





Диаграммы компонент
(Component diagrams)
Описание слайда:
Диаграммы компонент (Component diagrams)

Слайд 42






Более подробно – самостоятельно!
Описание слайда:
Более подробно – самостоятельно!

Слайд 43





Capability Maturity Model
Описание слайда:
Capability Maturity Model

Слайд 44





Структурное программирование
В основе структурного подхода лежит идея декомпозиции, то есть разбиения системы на части, реализующие отдельные подзадачи. Каждая подзадача, в свою очередь, дробится на более мелкие. Этот процесс называется нисходящим проектированием.
При написании структурной программы применяется фиксированный набор конструкций, называемых базовыми, что позволяет уменьшить как количество ошибок в программе, так и их цену. 

Под ценой ошибки понимается стоимость ее исправления: она тем выше, чем позже в процессе разработки обнаружена ошибка.
Описание слайда:
Структурное программирование В основе структурного подхода лежит идея декомпозиции, то есть разбиения системы на части, реализующие отдельные подзадачи. Каждая подзадача, в свою очередь, дробится на более мелкие. Этот процесс называется нисходящим проектированием. При написании структурной программы применяется фиксированный набор конструкций, называемых базовыми, что позволяет уменьшить как количество ошибок в программе, так и их цену. Под ценой ошибки понимается стоимость ее исправления: она тем выше, чем позже в процессе разработки обнаружена ошибка.

Слайд 45


Введение в технологии программирования, слайд №45
Описание слайда:

Слайд 46





II. Выбор модели и метода решения задачи 
II. Выбор модели и метода решения задачи 
Постановка задачи формализуется и на этой основе определяется общий метод ее решения. При наличии нескольких методов выбирается наилучший, исходя из критериев сложности, эффективности, точности и т. д.
Описание слайда:
II. Выбор модели и метода решения задачи II. Выбор модели и метода решения задачи Постановка задачи формализуется и на этой основе определяется общий метод ее решения. При наличии нескольких методов выбирается наилучший, исходя из критериев сложности, эффективности, точности и т. д.

Слайд 47





IV. Проектирование
IV. Проектирование
Под проектированием программы понимается определение ее общей структуры и взаимодействия модулей. На этом этапе применяется технология нисходящего проектирования.
Для каждой подзадачи составляется внешняя спецификация, аналогичная приведенной выше. 
На этом же этапе решаются вопросы разбиения программы на модули, главным критерием при этом является минимизация их взаимодействия. 
Очень важной является спецификация интерфейсов
Процесс проектирования является итерационным.
Алгоритмы записывают в обобщенной форме.
Описание слайда:
IV. Проектирование IV. Проектирование Под проектированием программы понимается определение ее общей структуры и взаимодействия модулей. На этом этапе применяется технология нисходящего проектирования. Для каждой подзадачи составляется внешняя спецификация, аналогичная приведенной выше. На этом же этапе решаются вопросы разбиения программы на модули, главным критерием при этом является минимизация их взаимодействия. Очень важной является спецификация интерфейсов Процесс проектирования является итерационным. Алгоритмы записывают в обобщенной форме.

Слайд 48





V. Структурное программирование
V. Структурное программирование
Кодирование также организуется по принципу «сверху вниз»: вначале кодируются модули самого верхнего уровня и составляются тестовые примеры для их отладки, при этом на месте еще не написанных модулей следующего уровня ставятся так называемые заглушки.
При кодировании применяются только три структуры, называемые базовыми конструкциями структурного программирования — следование, ветвление и цикл.
Описание слайда:
V. Структурное программирование V. Структурное программирование Кодирование также организуется по принципу «сверху вниз»: вначале кодируются модули самого верхнего уровня и составляются тестовые примеры для их отладки, при этом на месте еще не написанных модулей следующего уровня ставятся так называемые заглушки. При кодировании применяются только три структуры, называемые базовыми конструкциями структурного программирования — следование, ветвление и цикл.

Слайд 49





Правила кодирования
Программа должна состоять из максимально обособленных частей, связанных друг с другом только через интерфейсы. 
Каждое законченное действие оформляется в виде подпрограммы. 
Все величины, которыми подпрограмма обменивается с вызывающей программой, должны передаваться ей через параметры. 
В подпрограмме полезно предусматривать реакцию на неверные входные параметры и аварийное завершение. 
Величины, используемые только в подпрограмме, следует описывать внутри нее как локальные переменные. 
Имена переменных должны отражать их смысл. 
Следует избегать использования в программе чисел в явном виде.
Описание слайда:
Правила кодирования Программа должна состоять из максимально обособленных частей, связанных друг с другом только через интерфейсы. Каждое законченное действие оформляется в виде подпрограммы. Все величины, которыми подпрограмма обменивается с вызывающей программой, должны передаваться ей через параметры. В подпрограмме полезно предусматривать реакцию на неверные входные параметры и аварийное завершение. Величины, используемые только в подпрограмме, следует описывать внутри нее как локальные переменные. Имена переменных должны отражать их смысл. Следует избегать использования в программе чисел в явном виде.

Слайд 50





Для записи каждого фрагмента алгоритма необходимо использовать наиболее подходящие средства языка. 
Для записи каждого фрагмента алгоритма необходимо использовать наиболее подходящие средства языка. 
Программа должна быть «прозрачна». 
Вложенные блоки должны иметь отступ в 3–4 символа
Помечайте конец длинного составного оператора
Более короткую ветвь if лучше поместить сверху
Сообщение об ошибке должно быть информативным 
Необходимо предусматривать печать сообщений в тех точках программы, куда управление при нормальной работе программы передаваться не должно.
Описание слайда:
Для записи каждого фрагмента алгоритма необходимо использовать наиболее подходящие средства языка. Для записи каждого фрагмента алгоритма необходимо использовать наиболее подходящие средства языка. Программа должна быть «прозрачна». Вложенные блоки должны иметь отступ в 3–4 символа Помечайте конец длинного составного оператора Более короткую ветвь if лучше поместить сверху Сообщение об ошибке должно быть информативным Необходимо предусматривать печать сообщений в тех точках программы, куда управление при нормальной работе программы передаваться не должно.

Слайд 51





Документирование программы
Сопровождение программы занимает гораздо больший промежуток времени, чем ее написание, поэтому документирование программы имеет большое значение. 
Основная часть документации должна находиться в тексте программы. 
В идеале комментарии должны создаваться до написания программы — ими служит подробный алгоритм, изложенный на естественном языке. 
Комментарии должны представлять собой правильные предложения без сокращений
Абзацный отступ комментария должен соответствовать отступу комментируемого блока.
Программу после написания необходимо тщательно отредактировать
Описание слайда:
Документирование программы Сопровождение программы занимает гораздо больший промежуток времени, чем ее написание, поэтому документирование программы имеет большое значение. Основная часть документации должна находиться в тексте программы. В идеале комментарии должны создаваться до написания программы — ими служит подробный алгоритм, изложенный на естественном языке. Комментарии должны представлять собой правильные предложения без сокращений Абзацный отступ комментария должен соответствовать отступу комментируемого блока. Программу после написания необходимо тщательно отредактировать

Слайд 52





VI. Нисходящее тестирование
VI. Нисходящее тестирование
Тестирование — процесс, посредством которого проверяется правильность программы. Тестирование носит позитивный характер, его цель — показать, что программа работает правильно и удовлетворяет всем проектным спецификациям. 
Отладка — процесс исправления ошибок в программе, при котором цель исправить все ошибки не ставится. Исправляют ошибки, обнаруженные при тестировании. 
Существует две стратегии тестирования: «черный ящик» и «белый ящик». При использовании первой внутренняя структура программы во внимание не принимается и тесты составляются так, чтобы полностью проверить функционирование программы на корректных и некорректных входных воздействиях.
Стратегия «белого ящика» предполагает проверку всех ветвей алгоритма. Общее число ветвей определяется комбинацией всех альтернатив на каждом этапе.
Описание слайда:
VI. Нисходящее тестирование VI. Нисходящее тестирование Тестирование — процесс, посредством которого проверяется правильность программы. Тестирование носит позитивный характер, его цель — показать, что программа работает правильно и удовлетворяет всем проектным спецификациям. Отладка — процесс исправления ошибок в программе, при котором цель исправить все ошибки не ставится. Исправляют ошибки, обнаруженные при тестировании. Существует две стратегии тестирования: «черный ящик» и «белый ящик». При использовании первой внутренняя структура программы во внимание не принимается и тесты составляются так, чтобы полностью проверить функционирование программы на корректных и некорректных входных воздействиях. Стратегия «белого ящика» предполагает проверку всех ветвей алгоритма. Общее число ветвей определяется комбинацией всех альтернатив на каждом этапе.

Слайд 53





Этапы тестирования
Базовый тест
(простой тестовый пример)
Инвентаризация
(определить различные категории данных и создать тесты для каждого элемента категории)
Комбинированные тесты
(скомбинировать различные входные данные)
Граничные оценки
(оценить поведение программы при граничных значениях данных)
Ошибочные данные
(оценить отклик системы на ввод неправильных данных)
Нагрузочные тесты, создание напряжений
(попытаться вывести систему из строя)
Описание слайда:
Этапы тестирования Базовый тест (простой тестовый пример) Инвентаризация (определить различные категории данных и создать тесты для каждого элемента категории) Комбинированные тесты (скомбинировать различные входные данные) Граничные оценки (оценить поведение программы при граничных значениях данных) Ошибочные данные (оценить отклик системы на ввод неправильных данных) Нагрузочные тесты, создание напряжений (попытаться вывести систему из строя)

Слайд 54





Средства автоматизированного тестирования
инструменты функционального тестирования
HP (QuickTest Professional, WinRunner), IBM (Robot, Functional Tester), Borland (SilkTest) и AutomatedQA (TestComplete) 
инструменты нагрузочного тестирования 
HP (LoadRunner), IBM (Robot, Performance Tester)
cредства поддержки процесса тестирования

Популярные средства:
JUnit - — библиотека для тестирования программного обеспечения на языке Java.
Среда разработки с развитыми средствами тестирования: Ruby on Rails.
Описание слайда:
Средства автоматизированного тестирования инструменты функционального тестирования HP (QuickTest Professional, WinRunner), IBM (Robot, Functional Tester), Borland (SilkTest) и AutomatedQA (TestComplete) инструменты нагрузочного тестирования HP (LoadRunner), IBM (Robot, Performance Tester) cредства поддержки процесса тестирования Популярные средства: JUnit - — библиотека для тестирования программного обеспечения на языке Java. Среда разработки с развитыми средствами тестирования: Ruby on Rails.

Слайд 55





Программистские приметы  
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. 
Если к вам перестали поступать жалобы на вашу программу, значит, ею уже никто не пользуется. 
Чем универсальнее программа, тем меньше мест, где можно ее применить. 
Чем точнее программист выполняет требования заказчика, тем бестолковее получается программа. 
Чем больше заказчик понимает в программировании, тем больше он мешает работе программистов. 
Ошибки легче всего делаются и труднее всего обнаруживаются в самых простых местах программы. 
Нет более живучих программ, чем заплатки, сделанные на скорую руку.
Чем чаще программист жалуется на чужой soft, тем хуже он делает свой.
Описание слайда:
Программистские приметы  Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. Если к вам перестали поступать жалобы на вашу программу, значит, ею уже никто не пользуется. Чем универсальнее программа, тем меньше мест, где можно ее применить. Чем точнее программист выполняет требования заказчика, тем бестолковее получается программа. Чем больше заказчик понимает в программировании, тем больше он мешает работе программистов. Ошибки легче всего делаются и труднее всего обнаруживаются в самых простых местах программы. Нет более живучих программ, чем заплатки, сделанные на скорую руку. Чем чаще программист жалуется на чужой soft, тем хуже он делает свой.



Похожие презентации
Mypresentation.ru
Загрузить презентацию