Программирование
<<  О подходах к разработке муниципальных программ Методическая разработка раздела образовательной программы  >>
Общие принципы и подходы к разработке ПО
Общие принципы и подходы к разработке ПО
Модели разработки ПО
Модели разработки ПО
Водопадная модель
Водопадная модель
Каскадная модель
Каскадная модель
Спиральная модель
Спиральная модель
Экстремальное программирование
Экстремальное программирование
UI Prototyping
UI Prototyping
Инкрементальная разработка
Инкрементальная разработка
Унифицированный процесс разработки программного обеспечения (USDP)
Унифицированный процесс разработки программного обеспечения (USDP)
Унифицированный процесс разработки программного обеспечения (USDP)
Унифицированный процесс разработки программного обеспечения (USDP)
W-Model Testing
W-Model Testing
Методология MSF
Методология MSF
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Типичные компоненты архитектуры программного продукта и типичные
Контрольный список вопросов, который позволяет сделать вывод о
Контрольный список вопросов, который позволяет сделать вывод о
Контрольный список вопросов, который позволяет сделать вывод о
Контрольный список вопросов, который позволяет сделать вывод о
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО
Рефакторинг ПО

Презентация: «Общие принципы и подходы к разработке ПО». Автор: Admin. Файл: «Общие принципы и подходы к разработке ПО.ppt». Размер zip-архива: 1182 КБ.

Общие принципы и подходы к разработке ПО

содержание презентации «Общие принципы и подходы к разработке ПО.ppt»
СлайдТекст
1 Общие принципы и подходы к разработке ПО

Общие принципы и подходы к разработке ПО

2 Модели разработки ПО

Модели разработки ПО

Водопадная Каскадная модель Спиральная Экстремальное программирование UI Prototyping Инкрементальная W-Model Testing Унифицированный процесс разработки программного обеспечения (USDP) Методология MSF

3 Водопадная модель

Водопадная модель

Анализ требований

Проектирование

Реализация

Интеграция

Тестирование

Составляется спецификация продукта

Составляется архитектура продукта

Разработка исходного кода

Интеграция отдельных частей исходного кода

Тестирование и устранение дефектов

4 Каскадная модель

Каскадная модель

5 Спиральная модель

Спиральная модель

6 Экстремальное программирование

Экстремальное программирование

Анализ исходных требований

Проектирование

Реализация

Интеграция

Тестирование

Новые требования

Выпуск продукта

Анализ/Утверждение/модификация плана разработки

7 UI Prototyping

UI Prototyping

Выпуск продукта

Разработка ПО с учетом изменений

Уточнение требований и спецификации

Изменение прототипа и доработка некоторой функциональности

Базовая функциональность

Прототип интерфейса

Предварительная спецификация

8 Инкрементальная разработка

Инкрементальная разработка

Анализ требований

Проектирование

Реализация

Компонентное тестирование

Интеграция

Тестирование единого целого

Итерация 1 Итерация 2 …. Итерация N

9 Унифицированный процесс разработки программного обеспечения (USDP)

Унифицированный процесс разработки программного обеспечения (USDP)

Модель вариантов использования, описывает случаи, в которых приложение будет использоваться. Аналитическая модель описывает базовые классы для приложения. Модель проектирования описывает связи и отношения между классами и выделенными объектами Модель развертывания описывает распределение программного обеспечения по компьютерам. Модель реализации описывает внутреннюю организацию программного кода. Модель тестирования состоит из тестирующих компонентов, тестовых процедур и различных вариантов тестирования

10 Унифицированный процесс разработки программного обеспечения (USDP)

Унифицированный процесс разработки программного обеспечения (USDP)

Проектирование

Конструирование

Сбор требований

Реализация

Тестирование

Итер 1…. Итер N

Итер 1…. Итер N

Итер 1…. Итер N

Итер 1…. Итер N

Итер 1…. Итер N

11 W-Model Testing

W-Model Testing

12 Методология MSF

Методология MSF

Модель процесса MSF

Каскадная модель

Спиральная модель

13 Типичные компоненты архитектуры программного продукта и типичные

Типичные компоненты архитектуры программного продукта и типичные

требования к ПО

Организация программы Основные классы системы Организация данных Бизнес–правила Пользовательский интерфейс Управление ресурсами Безопасность Производительность Масштабируемость Взаимодействие с другими системами (интеграция) Интернационализация, локализация Ввод-вывод данных Обработка ошибок

14 Типичные компоненты архитектуры программного продукта и типичные

Типичные компоненты архитектуры программного продукта и типичные

требования к ПО

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

15 Типичные компоненты архитектуры программного продукта и типичные

Типичные компоненты архитектуры программного продукта и типичные

требования к ПО

Кривая надежности

Чем дальше, тем тяжелее будет найти ошибку. Чем сложнее система, тем больше вероятность отказов и сбоев.

16 Типичные компоненты архитектуры программного продукта и типичные

Типичные компоненты архитектуры программного продукта и типичные

требования к ПО

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

17 Контрольный список вопросов, который позволяет сделать вывод о

Контрольный список вопросов, который позволяет сделать вывод о

качестве архитектуры:

Ясно ли описана общая организация программы; включает ли спецификация обзор архитектуры и ее обоснование. Адекватно ли определены основные компоненты программы, их области ответственности и взаимодействие с другими компонентами. Все ли функции, указанные в спецификации требований, реализованы разумным количеством компонентов системы. Приведено ли описание самых важных классов и их обоснование. Приведено ли описание организации БД. Определены ли все бизнес правила. Описано ли их влияние на систему.

18 Контрольный список вопросов, который позволяет сделать вывод о

Контрольный список вопросов, который позволяет сделать вывод о

качестве архитектуры:

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

19 Рефакторинг ПО

Рефакторинг ПО

Код повторяется; реализация метода слишком велика; слишком большая вложенность циклов, или же сам цикл очень большой; класс имеет плохую связность (свойства и методы класса должны описывать только 1 объект); интерфейс класса не формирует согласованную абстракцию; метод принимает слишком много параметров. Необходимо стараться, чтобы количество параметров было разумно минимальным; отдельные части класса изменяются независимо от других частей класса;

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

20 Рефакторинг ПО

Рефакторинг ПО

при изменении программы требуется параллельное изменение нескольких классов. При возникновении такой ситуации необходимо провести реорганизацию классов с целью минимизации в будущем мест возможных изменений; приходиться параллельно изменять несколько иерархий наследования; приходиться изменять несколько блоков case. Необходимо провести модификацию программы таким образом, чтобы сделать реализацию блока case, а вызывать ее в нужном количестве раз в программе; родственные элементы данных, используемые вместе, не организованы в классы. Если вы неоднократно используете один и тот же набор элементов данных, то целесообразно рассмотреть объединение этих данных и выполняемые над ними операции поместить в отдельный класс;

21 Рефакторинг ПО

Рефакторинг ПО

метод использует больше элементов другого класса, чем собственного. Это означает, что метод нужно переместить в другой класс и вызывать его из старого; элементарный тип данных перегружен. Для описания сущности реального мира лучше использовать какой-либо класс, чем перегружать какой-либо существующий тип данных; класс имеет слишком ограниченную функциональность. Лучше от этого класса избавиться, перенеся его функциональность в другой класс; по цепи методов передаются «бродячие» данные. Данные, передаваемые в метод только для того, чтобы он их передал другому методу, называются «бродячими». При возникновении таких ситуаций постарайтесь изменить архитектуру классов и методов, чтобы от них избавиться.

22 Рефакторинг ПО

Рефакторинг ПО

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

23 Рефакторинг ПО

Рефакторинг ПО

подкласс использует только малую долю методов своих предков. Такая ситуация возникает тогда, когда новый класс создается только лишь для наследования нескольких методов из базового класса, а не для того, чтобы описать какую-либо новую сущность. Для того, чтобы этого избежать, необходимо преобразовать базовый класс, таким образом, чтобы он давал доступ новому классу только к необходимым ему методам; код содержит глобальные переменные. Глобальными должны быть только те переменные, которые в действительности используются всей программной. Все остальные переменные должны быть либо локальными, либо должны стать свойствами каких-либо объектов; программа содержит код, который может когда-нибудь понадобиться. При разработке системы целесообразно предусмотреть места, куда в будущем может быть добавлен исходный код.

«Общие принципы и подходы к разработке ПО»
http://900igr.net/prezentacija/informatika/obschie-printsipy-i-podkhody-k-razrabotke-po-231246.html
cсылка на страницу

Программирование

31 презентация о программировании
Урок

Информатика

130 тем
Слайды
900igr.net > Презентации по информатике > Программирование > Общие принципы и подходы к разработке ПО