Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Свидетельство о публикации

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Другое / Презентации / Презентация на тему "Современные технологии и методы разработки программных продуктов. Обеспечение качества реализации программных проектов. "
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 28 июня.

Подать заявку на курс
  • Другое

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

библиотека
материалов
Технология разработки программного обеспечения
Общие принципы разработки программных продуктов Программные продукты и их ос...
Возможности компьютера как технической основы системы обработки данных связа...
Технологические и функциональные задачи. Показатели качества. Существует бол...
Процесс создания программ можно представить как последовательность действий,...
-цель или назначение задачи, ее место и связи с другими задачами; -условия р...
Алгоритм - система точно сформулированных правил, определяющая процесс преоб...
Программные продукты могут создаваться как:   - индивидуальная разработка по...
Основными характеристиками программ являются: алгоритмическая сложность (лог...
Показатели качества ПО Мобильность программных продуктов означает их независи...
Расход вычислительных ресурсов оценивается через объем внешней памяти для ра...
Классификация ПО Совокупность программ для компьютера образует программное об...
В СПО традиционно включают системные управляющие и системные обрабатывающие...
Примерная классификация и типовые представители прикладного программного обе...
Многочисленные программные средства для решения различных типов вычислительн...
Инструментарий технологии программирования   Это совокупность программ, обес...
САSE-технологии CASE (англ. Computer-Aided Software Engineering) — набор инст...
Типичными CASE инструментами являются: инструменты управления конфигурацией;...
Ядром системы является база данных проекта - репозиторий (словарь данных). О...
Документатор проекта позволяет получать информацию о состоянии проекта в вид...
Сервис представляет собой набор системных утилит по обслуживанию репозитория...
Самостоятельная работа. Что такое ПО? Сколько этапов создания ПО?Дайте им хар...
RAD-технологии.Экстремальное программирование.Тяжеловесные и облегченые проце...
В начале 2001 года века ряд ведущих специалистов в области программной инжен...
При выполнении работ по разработке программного обеспечения чаще всего мы ис...
Быстрая разработка приложений - Rapid Application Development (RAD) - это жи...
Экстрема́льное программи́рование (англ. Extreme Programming, XP) — одна из г...
Двенадцать основных приёмов экстремального программирования (по первому изда...
Основная идея ХР — устранить высокую стоимость изменения, характерную для пр...
Традиционно для упорядочения и ускорения программных разработок предлагались...
Самостоятельная работа. Что такое быстрая разработка приложений? Кто ее автор...
Методы проектирования ПО Методы проектирования алгоритмов и программ очень р...
Проектирование алгоритмов и программ может основываться на различных подхода...
Основной задачей структурного проектирования является выделение полного сост...
Модульное программирование Модульное программирование. Здесь основная идея за...
Модульное программирование является воплощением в процессе разработки програ...
Не всякий программный модуль способствует упрощению программы [2]. Выделить...
Модульное проектирование относится к процессу расчленения больших проблем на...
Использование нескольких предложений RET в модуле не должно нарушать правило...
Методы разработки структуры модульной программы Как уже отмечалось выше, в к...
Самостоятельная работа. Что такое метод проектирования? Охарактеризуйте струк...
 Объектно-ориентированное проектирование.
Объектно-ориентированный подход к проектированию программных продуктов основ...
Объектно-ориентированный анализ - анализ предметной области и выделение объе...
Объекты и классы Объекты По определению будем называть объектом понятие, абс...
Классы Два яблока из предыдущего примера принадлежат одному и тому же классу...
Объектно-ориентированное проектирование ЭИС Структурная декомпозиция ЭИС на...
В настоящее время для объектно-ориентированного модели­рования проблемной об...
Самостоятельная работа. Что такое объектно-ориентированное проектирование и п...
 Внутренняя организация ПП. Библиотеки. Стиль программирования
Программный продукт обладает внутренней организацией, или внутренней структу...
Таким образом, структуризация программных продуктов преследует основные цели...
Структура программного продукта Среди множества модулей различают: головной...
Библиотека стандартных программ Библиотека стандартных подпрограмм — это сов...
Стиль программирования – это набор правил и принципов написания кода для удо...
Самостоятельная работа. Зачем программисту стиль программирования? Какие суще...
 Интерфейс. Диалоговые системы.
Мое любимое определение интерфейса дал Джефф Раскин, это такой гуру интерфей...
Интерфейс-это способ взаимодействия пользователя с программой и программ меж...
системы с жестким сценарием диалога – стандартизированное представление инфо...
Самостоятельная работа. Что такое интерфейс? Что такое диалоговые системы? Ох...
Эффективность, оптимизация, корректность ПО. Традиционно эффективными считают...
Не следует забывать, что многие способы снижения временных затрат приводят к...
Правила оптимизации программ   Жертвуем памятью ради скорости Жертвуем скрос...
Корректность ПО-это способность ПО выполнять точные задачи так, как они опре...
Стадии разработки программ и программной документации. ГОСТ 19.102-77 устана...
Самостоятельная работа. Что такое эффективность,оптимизация и корректность? П...
70 1

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


Выберите специальность, которую Вы хотите получить:

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

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Описание презентации по отдельным слайдам:

№ слайда 1 Технология разработки программного обеспечения
Описание слайда:

Технология разработки программного обеспечения

№ слайда 2 Общие принципы разработки программных продуктов Программные продукты и их ос
Описание слайда:

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

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

Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением (программами). Программа (program, routine) - упорядоченная последовательность команд (инструкций) компьютера для решения задачи. Программное обеспечение (sowtware) - совокупность программ обработки данных и необходимых для их эксплуатации документов. Программы предназначены для машинной реализации задач. Термины задачи и приложение имеют очень широкое употребление в контексте информатики и программного обеспечения. Задача (problem, task) - проблема, подлежащая решению. Приложение (application) - программная реализация на компьютере решения задачи. Таким образом, задача означает проблему, подлежащую реализации с использованием средств информационных технологий, а приложение - реализованное на компьютере решение по задаче. Приложение, являясь синонимом слова "программа", считается более удачным термином и широко используется в информатике.

№ слайда 4 Технологические и функциональные задачи. Показатели качества. Существует бол
Описание слайда:

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

№ слайда 5 Процесс создания программ можно представить как последовательность действий,
Описание слайда:

Процесс создания программ можно представить как последовательность действий, представленных на рис. 8.1. Постановка задачи (problem definition) - это точная формулировка решения задачи на компьютере с описанием входной и выходной информации. остановка задачи - обобщенный термин, который означает определенность содержательной стороны обработки данных. Постановка задачи связана с конкретизацией основ-параметров ее реализации, определением источников и структурой входной и выходной информации, востребуемой пользователем. К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:

№ слайда 6 -цель или назначение задачи, ее место и связи с другими задачами; -условия р
Описание слайда:

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

№ слайда 7 Алгоритм - система точно сформулированных правил, определяющая процесс преоб
Описание слайда:

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

№ слайда 8 Программные продукты могут создаваться как:   - индивидуальная разработка по
Описание слайда:

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

№ слайда 9 Основными характеристиками программ являются: алгоритмическая сложность (лог
Описание слайда:

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

№ слайда 10 Показатели качества ПО Мобильность программных продуктов означает их независи
Описание слайда:

Показатели качества ПО Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений. Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок. Эффективность программного продукта оценивается как с позиций прямого его назначения - требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации. Легкость применения — это способность минимизировать затраты пользователя на подготовку и ввод исходных данных и оценку полученных результатов, а также вызывать положительные эмоции пользователя.

№ слайда 11 Расход вычислительных ресурсов оценивается через объем внешней памяти для ра
Описание слайда:

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

№ слайда 12 Классификация ПО Совокупность программ для компьютера образует программное об
Описание слайда:

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

№ слайда 13 В СПО традиционно включают системные управляющие и системные обрабатывающие
Описание слайда:

В СПО традиционно включают системные управляющие и системные обрабатывающие программы.

№ слайда 14 Примерная классификация и типовые представители прикладного программного обе
Описание слайда:

Примерная классификация и типовые представители прикладного программного обеспечения представлены ниже    Проблемно-ориентированные ППП    Программные продукты данного класса можно классифицировать по разным признакам: типам предметных областей; типам информационным системам; функциям и комплексам задач, реализуемых программным способом, и др.    Для некоторых предметных областей возможна типизация функций управления, структуры данных и алгоритмов обработки. Это вызвало разработку значительного числа ППП одинакового функционального назначения и, таким образом, создало рынок программных продуктов: ППП автоматизированного бухгалтерского учета; ППП финансовой деятельности; ППП управления персоналом (кадровый учет); ППП управления материальными запасами; ППП управления производством; банковские информационные системы и т. п.

№ слайда 15 Многочисленные программные средства для решения различных типов вычислительн
Описание слайда:

Многочисленные программные средства для решения различных типов вычислительных задач можно разделить на 4 группы: отдельные прикладные программы; библиотеки прикладных программ; пакеты прикладных программ; интегрированные программные системы.

№ слайда 16 Инструментарий технологии программирования   Это совокупность программ, обес
Описание слайда:

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

№ слайда 17 САSE-технологии CASE (англ. Computer-Aided Software Engineering) — набор инст
Описание слайда:

САSE-технологии CASE (англ. Computer-Aided Software Engineering) — набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов

№ слайда 18
Описание слайда:

№ слайда 19 Типичными CASE инструментами являются: инструменты управления конфигурацией;
Описание слайда:

Типичными CASE инструментами являются: инструменты управления конфигурацией; инструменты моделирования данных; инструменты анализа и проектирования; инструменты преобразования моделей; инструменты редактирования программного кода; инструменты рефакторинга кода; генераторы кода; инструменты для построения UML-диаграмм. ]Примеры CASE программ: Rational Software ERwin    

№ слайда 20
Описание слайда:

№ слайда 21
Описание слайда:

№ слайда 22 Ядром системы является база данных проекта - репозиторий (словарь данных). О
Описание слайда:

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

№ слайда 23 Документатор проекта позволяет получать информацию о состоянии проекта в вид
Описание слайда:

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

№ слайда 24 Сервис представляет собой набор системных утилит по обслуживанию репозитория
Описание слайда:

Сервис представляет собой набор системных утилит по обслуживанию репозитория. Данные утилиты выполняют функции архивации данных, восстановления данных и создания нового репозитория.

№ слайда 25 Самостоятельная работа. Что такое ПО? Сколько этапов создания ПО?Дайте им хар
Описание слайда:

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

№ слайда 26 RAD-технологии.Экстремальное программирование.Тяжеловесные и облегченые проце
Описание слайда:

RAD-технологии.Экстремальное программирование.Тяжеловесные и облегченые процесы. Накопленный к настоящему времени опыт создания систем ПО показывает, что это сложная и трудоемкая работа, требующая высокой квалификации участвующих в ней специалистов. Однако до настоящего времени создание таких систем нередко выполняется на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ПО. По данным Института программной инженерии (Software Engineering Institute, SEI) в последние годы до 80% всего эксплуатируемого ПО разрабатывалось вообще без использования какой-либо дисциплины проектирования, методом "code and fix" (кодирования и исправления ошибок). Проблемы создания ПО следуют из его свойств. Еще в 1975 г. Фредерик Брукс, проанализировав свой уникальный по тем временам опыт руководства крупнейшим проектом разработки операционной системы OS/360, определил перечень неотъемлемых свойств ПО: сложность, согласованность, изменяемость и незримость [1]. Что же касается современных крупномасштабных проектов ПО, то они характеризуются, как правило, следующими особенностями:

№ слайда 27 В начале 2001 года века ряд ведущих специалистов в области программной инжен
Описание слайда:

В начале 2001 года века ряд ведущих специалистов в области программной инженерии (Алистер Коберн, Мартин Фаулер, Джим Хайсмит, Кент Бек и другие) сформировали группу под названием Agile Alliance. Слово agile (быстрый, ловкий, стремительный) отражало в целом их подход к разработке ПО, основанный на богатом опыте участия в разнообразных проектах в течение многих лет. Этот подход под названием "Быстрая разработка ПО" (Agile software development) [10] базируется на четырех идеях, сформулированных ими в документе "Манифест быстрой разработки ПО" (Agile Alliance's Manifesto) и заключающихся в следующем: индивидуумы и взаимодействия между ними ценятся выше процессов и инструментов; работающее ПО ценится выше всеобъемлющей документации; сотрудничество с заказчиками ценится выше формальных договоров; реагирование на изменения ценится выше строгого следования плану. При таком подходе технология занимает в процессе создания ПО вполне определенное место. Она повышает эффективность деятельности разработчиков при наличии любых из следующих четырех условий: когда она позволяет людям легче выразить свои мысли; когда она выполняет задачи, невыполнимые вручную; когда она автоматизирует утомительные и подверженные ошибкам действия.; когда она облегчает общение между людьми;

№ слайда 28 При выполнении работ по разработке программного обеспечения чаще всего мы ис
Описание слайда:

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

№ слайда 29 Быстрая разработка приложений - Rapid Application Development (RAD) - это жи
Описание слайда:

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

№ слайда 30 Экстрема́льное программи́рование (англ. Extreme Programming, XP) — одна из г
Описание слайда:

Экстрема́льное программи́рование (англ. Extreme Programming, XP) — одна из гибких методологий разработкипрограммного обеспечения. Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие.

№ слайда 31 Двенадцать основных приёмов экстремального программирования (по первому изда
Описание слайда:

Двенадцать основных приёмов экстремального программирования (по первому изданию книги Extreme programming explained) могут быть объединены в четыре группы: Короткий цикл обратной связи (Fine scale feedback) Разработка через тестирование (Test driven development) Игра в планирование (Planning game) Заказчик всегда рядом (Whole team, Onsite customer) Парное программирование (Pair programming) Непрерывный, а не пакетный процесс Непрерывная интеграция (Continuous Integration) Рефакторинг (Design Improvement, Refactor) Частые небольшие релизы (Small Releases) Понимание, разделяемое всеми Простота (Simple design) Метафора системы (System metaphor) Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) Стандарт кодирования (Coding standard or Coding conventions) Социальная защищенность программиста (Programmer welfare): 40-часовая рабочая неделя (Sustainable pace, Forty hour week)

№ слайда 32 Основная идея ХР — устранить высокую стоимость изменения, характерную для пр
Описание слайда:

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

№ слайда 33 Традиционно для упорядочения и ускорения программных разработок предлагались
Описание слайда:

Традиционно для упорядочения и ускорения программных разработок предлагались строго упорядочивающие тяжеловесные (heavyweight) процессы. В этих процессах прогнозируется весь объем предстоящих работ, поэтому они называются прогнозирующими (predictive) процессами. Порядок, который должен выполнять при этом человек-разработчик, чрезвычайно строг — «шаг вправо, шаг влево — виртуальный расстрел!». Иными словами, человеческие слабости в расчет не принимаются, а объем необходимой документации способен отнять покой и сон у «совестливого» разработчика. В последние годы появилась группа новых, облегченных (lightweight) процессов [29]. Теперь их называют подвижными (agile) процессами [8], [25], [36]. Они привлекательны отсутствием бюрократизма, характерного для тяжеловесных (прогнозирующих) процессов. Новые процессы должны воплотить в жизнь разумный компромисс между слишком строгой дисциплиной и полным ее отсутствием. Иначе говоря, порядка в них достаточно для того, чтобы получить разумную отдачу от разработчиков. Подвижные процессы требуют меньшего объема документации и ориентированы на человека. В них явно указано на необходимость использования природных качеств человеческой натуры (а не на применение действий, направленных наперекор этим качествам).

№ слайда 34 Самостоятельная работа. Что такое быстрая разработка приложений? Кто ее автор
Описание слайда:

Самостоятельная работа. Что такое быстрая разработка приложений? Кто ее автор? почему она появилась? Какие принципы быстрой разработки приложений? Что такое экстремальное программирование? Каковы их принципы? В чем разница тяжеловесных и облегченных процессов?

№ слайда 35 Методы проектирования ПО Методы проектирования алгоритмов и программ очень р
Описание слайда:

Методы проектирования ПО Методы проектирования алгоритмов и программ очень разнообразны, их можно классифицировать по различным признакам, важнейшими из которых являются: степень автоматизации проектных работ; принятая методология процесса разработки. По степени автоматизации проектирования алгоритмов и программ можно выделить: методы традиционного (неавтоматизированного) проектирования; методы автоматизированного проектирования (CASE-технология и ее элементы). .

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

Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены: структурное проектирование программных продуктов; информационное моделирование предметной области и связанных с ней приложений; объектно-ориентированное проектирование программных продуктов.   В условиях использования оригинальной технологии и канонического проектирования к методам и инструментальным средствам проектирования программного обеспечения задач относят методы IРТ-технологии проектирования и процедурно-ориентированные языки программирования. В первую группу входит совокупность взаимосвязанных методов проектирования, которые были разработаны фирмой IBM: метод структурного проектирования; метод модульного проектирования; метод проектирования сверху-вниз; метод структурного программирования; метод HIРО-документирования.

№ слайда 37 Основной задачей структурного проектирования является выделение полного сост
Описание слайда:

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

№ слайда 38 Модульное программирование Модульное программирование. Здесь основная идея за
Описание слайда:

Модульное программирование Модульное программирование. Здесь основная идея заключалась в том, чтобы "спрятать" данные и процедуры внутри независимых программных единиц - модулей. Эту идею впервые реализовал Н. Вирт в алгоритмическом языке Modula (1975-1979 годы), а затем "подхватили" и остальные, распространенные в то время языки программирования. Например, известные системы программирования Turbo Pascal и Turbo С. На этом можно было бы остановиться, т.к. я дошел темы моей работы, но я не могу обойти без внимания дальнейшее развитие технологий программирования, поэтому продолжу хронологию развития программирования.

№ слайда 39 Модульное программирование является воплощением в процессе разработки програ
Описание слайда:

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

№ слайда 40 Не всякий программный модуль способствует упрощению программы [2]. Выделить
Описание слайда:

Не всякий программный модуль способствует упрощению программы [2]. Выделить хороший с этой точки зрения модуль является серьезной творческой задачей. Для оценки приемлемости выделенного модуля используются некоторые критерии. Так, Хольт [4] предложил следующие два общих таких критерия: · хороший модуль снаружи проще, чем внутри; · хороший модуль проще использовать, чем построить. Майерс [5] предлагает для оценки приемлемости программного модуля использовать более конструктивные его характеристики: · размер модуля; · прочность модуля; · сцепление с другими модулями; · рутинность модуля (независимость от предыстории обращений к нему).

№ слайда 41 Модульное проектирование относится к процессу расчленения больших проблем на
Описание слайда:

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

№ слайда 42 Использование нескольких предложений RET в модуле не должно нарушать правило
Описание слайда:

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

№ слайда 43 Методы разработки структуры модульной программы Как уже отмечалось выше, в к
Описание слайда:

Методы разработки структуры модульной программы Как уже отмечалось выше, в качестве модульной структуры программы принято использовать древовидную структуру, включая деревья со сросшимися ветвями. В узлах такого дерева размещаются программные модули, а направленные дуги (стрелки) показывают статическую подчиненность модулей, т.е. каждая дуга показывает, что в тексте модуля, из которого она исходит, имеется ссылка на модуль, в который она входит. Другими словами, каждый модуль может обращаться к подчиненным ему модулям, т.е. выражается через эти модули. При этом модульная структура программы, в конечном счете, должна включать и совокупность спецификаций модулей, образующих эту программу. Спецификация программного модуля содержит: · синтаксическую спецификацию его входов, позволяющую построить на используемом языке программирования синтаксически правильное обращение к нему (к любому его входу); · функциональную спецификацию модуля (описание семантики функций, выполняемых этим модулем по каждому из его входов). В процессе разработки программы ее модульная структура может по-разному формироваться и использоваться для определения порядка программирования и отладки модулей, указанных в этой структуре. Поэтому можно говорить о разных методах разработки структуры программы. Обычно в литературе обсуждаются два метода [1, 7]: метод восходящей разработки и метод нисходящей разработки.

№ слайда 44 Самостоятельная работа. Что такое метод проектирования? Охарактеризуйте струк
Описание слайда:

Самостоятельная работа. Что такое метод проектирования? Охарактеризуйте структурный метод проектирования? Какая существует классификация методов? В чем их отличия, преимущества и недостатки?

№ слайда 45  Объектно-ориентированное проектирование.
Описание слайда:

Объектно-ориентированное проектирование.

№ слайда 46 Объектно-ориентированный подход к проектированию программных продуктов основ
Описание слайда:

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

№ слайда 47 Объектно-ориентированный анализ - анализ предметной области и выделение объе
Описание слайда:

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

№ слайда 48 Объекты и классы Объекты По определению будем называть объектом понятие, абс
Описание слайда:

Объекты и классы Объекты По определению будем называть объектом понятие, абстракцию или любую вещь с четко очерченными границами, имеющую смысл в контексте рассматриваемой прикладной проблемы. Введение объектов преследует две цели: понимание прикладной задачи (проблемы); введение основы для реализации на компьютере. Примеры объектов: форточка, Банк "Империал", Петр Сидоров, дело № 7461, сберкнижка и т.д. Цель разработки объектной модели - описать объекты, составляющие в совокупности проектируемую систему, а также выявить и указать различные зависимости между объектами. Декомп

№ слайда 49 Классы Два яблока из предыдущего примера принадлежат одному и тому же классу
Описание слайда:

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

№ слайда 50 Объектно-ориентированное проектирование ЭИС Структурная декомпозиция ЭИС на
Описание слайда:

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

№ слайда 51 В настоящее время для объектно-ориентированного модели­рования проблемной об
Описание слайда:

В настоящее время для объектно-ориентированного модели­рования проблемной области широко используется унифициро­ванный язык моделирования UML (Unified Modeling Language), который разработан группой ведущих компьютерных фирм мира OMG (Object Management Group) [89] и фактически является стандартом по объектно-ориентированным технологиям. Язык UML реализован многими фирмами - производителями программно­го обеспечения в рамках CASE-технологий, например Rational Rose (Rational), Natural Engineering Workbench (Software AG), ARIS Toolset (IDS prof. Scheer) и др.

№ слайда 52 Самостоятельная работа. Что такое объектно-ориентированное проектирование и п
Описание слайда:

Самостоятельная работа. Что такое объектно-ориентированное проектирование и программирование? Что такое класс,атрибут и метод? Как вы считаете почему появился объектный метод?В чем его преимущество?

№ слайда 53  Внутренняя организация ПП. Библиотеки. Стиль программирования
Описание слайда:

Внутренняя организация ПП. Библиотеки. Стиль программирования

№ слайда 54 Программный продукт обладает внутренней организацией, или внутренней структу
Описание слайда:

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

№ слайда 55 Таким образом, структуризация программных продуктов преследует основные цели
Описание слайда:

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

№ слайда 56 Структура программного продукта Среди множества модулей различают: головной
Описание слайда:

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

№ слайда 57 Библиотека стандартных программ Библиотека стандартных подпрограмм — это сов
Описание слайда:

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

№ слайда 58 Стиль программирования – это набор правил и принципов написания кода для удо
Описание слайда:

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

№ слайда 59 Самостоятельная работа. Зачем программисту стиль программирования? Какие суще
Описание слайда:

Самостоятельная работа. Зачем программисту стиль программирования? Какие существуют правила хорошего стиля? Что представляет собой внутренняя структура ПО? Зачем нужны библиотеки?

№ слайда 60  Интерфейс. Диалоговые системы.
Описание слайда:

Интерфейс. Диалоговые системы.

№ слайда 61 Мое любимое определение интерфейса дал Джефф Раскин, это такой гуру интерфей
Описание слайда:

Мое любимое определение интерфейса дал Джефф Раскин, это такой гуру интерфейсов. «Интерфейс – это способ, которым выполняется какая-то задача при помощи каких-то средств, а именно: действие и ответ системы». На самом деле это понятие гораздо шире того, что обычно вкладывается в интерфейс, потому что интерфейсом обладают практически все окружающие нас вещи, при помощи которых мы выполняем определенные функции.

№ слайда 62 Интерфейс-это способ взаимодействия пользователя с программой и программ меж
Описание слайда:

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

№ слайда 63 системы с жестким сценарием диалога – стандартизированное представление инфо
Описание слайда:

системы с жестким сценарием диалога – стандартизированное представление информации обмена; дескрипторные системы – формат ключевых слов сообщений; тезаурусные системы – семантическая сеть дескрипторов, образующих словарь системы (аналог – гипертекстовые системы); системы с языком деловой прозы – представление сообщений на языке, естественном для профессионального пользования. Наиболее просты для реализации и распространены диалоговые системы с жестким сценарием диалога, которые представлены в виде: меню – диалог инициируется программой; пользователю предлагается выбор альтернативы функций обработки из фиксированного перечня; предоставляемое меню может быть иерархическим и содержать вложенные подменю следующего уровня; действия запрос-ответ – фиксирован перечень возможных значений, выбираемых из списка, или ответы типа Да/Нет; запрос по формату – с помощью ключевых слов, фраз или путем заполнения экранной формы с регламентированным по составу и структуре набором реквизитов осуществляется подготовка сообщений.

№ слайда 64 Самостоятельная работа. Что такое интерфейс? Что такое диалоговые системы? Ох
Описание слайда:

Самостоятельная работа. Что такое интерфейс? Что такое диалоговые системы? Охарактеризуйте их, составьте классификацию.

№ слайда 65 Эффективность, оптимизация, корректность ПО. Традиционно эффективными считают
Описание слайда:

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

№ слайда 66 Не следует забывать, что многие способы снижения временных затрат приводят к
Описание слайда:

Не следует забывать, что многие способы снижения временных затрат приводят к увеличению емкостных и, наоборот, уменьшение объема памяти может потребовать дополнительного времени на обработку. Не следует увеличивать эффективность за счет снижения технологичности разрабатываемого программного обеспечения. Частично проблему эффективности программ решают за программиста компиляторы. Средства оптимизации, используемые компиляторами, делят на две группы: машинно-зависимые (выполняют оптимизацию кодов на уровне машинных команд: исключение лишних пересылок, использование более эффективных команд, и т.п.); машинно-независимые (выполняют оптимизацию на уровне входного языка: вынесение вычислений константных (независящих от индекса цикла) выражений из циклов и т.п.). Нельзя вмешаться в работу компилятора, но существует много возможностей оптимизации программы на уровне команд. Способы экономии памяти. Следует обращать особое внимание на выделение памяти под данные структурных типов (массивов, записей, объектов и т.п.). При ограничениях на использование памяти следует выбирать алгоритмы обработки, не требующие дублирования исходных данных структурных типов в процессе обработки. (пример: алгоритмы сортировки массивов (сортировка методом «пузырька»)). Если в программе необходимы большие массивы, используемые ограниченное время, то их можно размещать в динамической памяти и удалять при завершении обработки.

№ слайда 67 Правила оптимизации программ   Жертвуем памятью ради скорости Жертвуем скрос
Описание слайда:

Правила оптимизации программ   Жертвуем памятью ради скорости Жертвуем скростью ради памяти Циклы Составление процедур

№ слайда 68 Корректность ПО-это способность ПО выполнять точные задачи так, как они опре
Описание слайда:

Корректность ПО-это способность ПО выполнять точные задачи так, как они определены их спецификацией.

№ слайда 69 Стадии разработки программ и программной документации. ГОСТ 19.102-77 устана
Описание слайда:

Стадии разработки программ и программной документации. ГОСТ 19.102-77 устанавливает пять стадий разработки программ и программнойдокументации для ЭВМ, комплексов и систем: техническое задание; эскизный проект; технический проект; рабочий проект; внедрение.

№ слайда 70 Самостоятельная работа. Что такое эффективность,оптимизация и корректность? П
Описание слайда:

Самостоятельная работа. Что такое эффективность,оптимизация и корректность? Правила оптимизации? Как осуществить эффективность ПО?


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


Выберите специальность, которую Вы хотите получить:

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

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Автор
Дата добавления 22.09.2015
Раздел Другое
Подраздел Презентации
Просмотров1644
Номер материала ДВ-003226
Получить свидетельство о публикации
Похожие материалы

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