Презентация, доклад на тему Общие принципы и подходы к разработке программного обеспечения

Содержание

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

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

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

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

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

Слайд 3Водопадная модель
Анализ требований
Проектирование
Реализация
Интеграция
Тестирование
Составляется
спецификация продукта
Составляется архитектура продукта
Разработка
исходного кода
Интеграция отдельных
частей

исходного кода

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





Водопадная модельАнализ требованийПроектированиеРеализацияИнтеграцияТестированиеСоставляется спецификация продуктаСоставляется архитектура продуктаРазработка исходного кодаИнтеграция отдельных частей исходного кодаТестирование и устранение дефектов

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

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

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

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

Слайд 6
Экстремальное программирование
Анализ исходных требований
Проектирование
Реализация
Интеграция
Тестирование
Новые требования
Анализ/Утверждение/модификация плана разработки

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




Экстремальное программированиеАнализ исходных требованийПроектированиеРеализацияИнтеграцияТестированиеНовые требованияАнализ/Утверждение/модификация плана разработкиВыпуск продукта

Слайд 7
UI Prototyping
Прототип интерфейса
Предварительная спецификация
Базовая функциональность
Уточнение требований и спецификации
Изменение прототипа и доработка

некоторой функциональности

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

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

UI PrototypingПрототип интерфейсаПредварительная спецификацияБазовая функциональностьУточнение требований и спецификацииИзменение прототипа и доработка некоторой функциональностиРазработка ПО с учетом измененийВыпуск

Слайд 8Инкрементальная разработка
Анализ требований
Проектирование
Реализация
Компонентное
тестирование
Интеграция
Тестирование
единого целого
Итерация 1 Итерация 2

…. Итерация N
Инкрементальная разработка Анализ требованийПроектированиеРеализацияКомпонентное тестированиеИнтеграцияТестированиеединого целогоИтерация 1  Итерация 2  ….  Итерация N

Слайд 9Унифицированный процесс разработки программного обеспечения (USDP)
Модель вариантов использования, описывает случаи,


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

Слайд 10Унифицированный процесс разработки программного обеспечения (USDP)
Сбор требований
Проектирование
Итер 1…. Итер N
Конструирование
Итер

1…. Итер N

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

Реализация

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

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

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






Унифицированный процесс разработки программного обеспечения (USDP) Сбор требованийПроектированиеИтер 1…. Итер NКонструированиеИтер 1…. Итер NИтер 1…. Итер NРеализацияТестированиеИтер

Слайд 11W-Model Testing

W-Model Testing

Слайд 12Методология MSF
Каскадная модель
Спиральная модель
Модель процесса MSF


Методология MSFКаскадная модельСпиральная модельМодель процесса MSF

Слайд 13Типичные компоненты архитектуры программного продукта и типичные требования к ПО
Организация программы
Основные

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

Слайд 14Типичные компоненты архитектуры программного продукта и типичные требования к ПО
Отказоустойчивость –

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

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


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

Слайд 15
Типичные компоненты архитектуры программного продукта и типичные требования к ПО
Чем дальше,

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

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

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

Слайд 16Типичные компоненты архитектуры программного продукта и типичные требования к ПО
Возможности реализации

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

Слайд 17Ясно ли описана общая организация программы; включает ли спецификация обзор архитектуры

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

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

Ясно ли описана общая организация программы; включает ли спецификация обзор архитектуры и ее обоснование.Адекватно ли определены основные

Слайд 18Контрольный список вопросов,
который позволяет сделать вывод
о качестве архитектуры:
Описана ли

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

Слайд 19Рефакторинг ПО
код повторяется;
реализация метода слишком велика;
слишком большая вложенность циклов, или же

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

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

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

Слайд 20
при изменении программы требуется параллельное изменение нескольких классов. При возникновении такой

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

Слайд 21
метод использует больше элементов другого класса, чем собственного. Это означает, что

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

Слайд 22
объект-посредник ничего не делает. Если роль класса сводится к перенаправлению вызовов

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

объект-посредник ничего не делает. Если роль класса сводится к перенаправлению вызовов методов в другие классы, то лучше

Слайд 23
подкласс использует только малую долю методов своих предков. Такая ситуация возникает

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

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть