рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Методы анализа и построения спецификаций

Методы анализа и построения спецификаций - Конспект Лекций, раздел Философия, Конспект лекций по Технологии разработке программных продуктов Превосходно, Ватсон, Вы Делаете Успехи. Правда, Вы Упустили Все Существ...

Превосходно, Ватсон, Вы делаете успехи. Правда, Вы упустили все существенные детали, зато хорошо усвоили метод

Артур Конан Дойль. “Приключения Шерлока Холмса”

 

Структурная методология

Перечислим основные методы ведения структурного анализа и рассмотрим подробно некоторые из них:

* Диаграммы потоков данных.

* Диаграммы потоков управления.

* Таблицы решений.

* Сети Петри.

* Диаграммы зависимости.

* Диаграммы декомпозиции.

* Диаграммы функционального моделирования.

Диаграмма потоков данных (Data Flow Diagram — DFD) — информационная модель, основные компоненты которой — различные потоки данных, переносящие информацию от одного модуля к другому.

Компонентами диаграммы потоков данных являются:

* внешние сущности — материальный предмет или физическое лицо, представляющее собой источник или приемник информации;

* процессы — совокупность операций по преобразованию входных данных в выходные в соответствии с определенным алгоритмом;

* накопители данных — абстрактное устройство для хранения информации, которую можно в любой момент поместить в накопитель и через некоторое время извлечь;

* поток данных — механизм, определяющий информацию, передаваемую через некоторое соединение от источника к приемнику.

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

Диаграмма функционального моделирования (Structured Analisis and Design Technique — SADT) — модель, состоящая из диаграмм, фрагментов текста и глоссария , имеющих ссылки друг на друга.

В состав диаграммы входят:

* блоки, изображающие активность моделируемой системы;

* дуги, связывающие блоки вместе и изображающие взаимодействия и взаимосвязи между ними. Место соединения дуги с блоком определяет тип интерфейса:

• управляющая информация входит в блок сверху;

• входная информация, подвергающаяся обработке, показана с левой стороны блока;

• результаты (выходная информация) показаны с правой стороны;

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

 

Объектно-ориентированная методология

Перечислим основные методы ведения объектно-ориентированного анализа и рассмотрим подробно некоторые из них.

* КОК-карты (класс-ответственность-кооперация).

* Диаграммы вариантов использования.

* диаграммы классов.

* диаграммы состояний.

* диаграммы деятельности.

* диаграммы последовательности.

Карты класс-ответственность-кооперация (class-responsibility-collsboration) предназначены для описания классов. Первоначально они были созданы для обучения объектному языку (http://c2.com/doc/oopsla89/paper.html).

* Ответственность — это высокоуровневое описание функций, которые выполняет класс. Здесь применяется идея отказаться от описания конкретных элементов данных и процессов и вместо этого несколькими предложениями описать ответственность класса.

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

Этот метод способствует более оживленному обсуждению модели и концентрирует внимание на ответственностях, позволяя понять особенности деления каждого класса.

Диаграмма классов (class diagram) служит для представления структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов не содержит информации о временных аспектах функционирования системы.

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

* Ассоциации, представляющие некоторое отношение или связь.

* Обобщения, представляющие иерархическое строение и наследование классов.

* Зависимости, когда изменение одного элемента может потребовать изменения другого.

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

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

Диаграмма объектов (object diagram) может понадобиться, если потребуется рассмотреть взаимосвязи между отдельными объектами.

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

Диаграмма вариантов использования (use case diagram) — сценарий, позволяющий лучше понять требования к системе. В состав диаграммы входят:

* вариант использования (use case) — типичное взаимодействие пользователя и системы. Оно охватывает некоторую очевидную для пользователя функцию, решая некоторую дискретную задачу;

* актер (асtor) — любая внешняя по отношению к моделируемой системе сущность, которая взаимодействует с системой и использует ее функции и возможности;

* интерфейс — спецификация параметров системы, которые видимы извне без указания их внутренней структуры.

диаграмма состояний (statechart diagram) отражает модель поведения объектов в реальном или абстрактном мире. Все объекты имеют некоторый срок жизни:

* сначала они появляются или создаются;

* затем эволюционируют, проходя через определенные стадии существования;

* и, наконец, исчезают или умирают.

Для представления этого жизненного цикла предлагается модель состояний, состоящая из:

* множества состояний; состояние — положение объекта, в котором применяется определенный набор правил, линий поведения, предписаний и физических законов;

* множества событий; событие — абстракция инцидента или сигнала в реальном мире, который сообщает о перемещении чего-либо в новое состояние;

* множества правил переходов; правила определяют, какое новое состояние достигается, когда с объектом в данном состоянии происходит некоторое событие;

* множества действий; действие — это деятельность или операция, которая должна быть выполнена экземпляром (объектом), когда он переходит в некоторое состояние.

Диаграмма деятельности (activity diagram) предназначена для детализации особенностей алгоритмической и логической организации, выполняемой системой операций. Каждое действие расчленяется на фундаментальные процессы. Управление на диаграмме осуществляется либо явно — через потоки управления, либо неявно — через определяемые потоки данных. Процессы могут быть объединены в четыре основных группы.

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

* Генераторы событий, создающие событие, как результат работы.

* Процессы преобразования, основной целью которых является вычисление или преобразование данных.

* Процессы проверка, которые проверяют условие и исполняют один нескольких условных выводов управления.

Обратим внимание на то, что диаграммы деятельности можно считать частным случаем диаграмм состояний.

Диаграмма последовательности (sequence diagram) предназначена для моделирования еще одной разновидности взаимодействия — взаимодействия времени. С ее помощью отслеживается поведение взаимодействующих групп объектов. Диаграмма имеет два измерения.

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

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

Чтобы выделить активное состояние объекта, применяется специальное понятие — фокус управления, изображаемый как вытянутый прямоугольник, который становится продолжением линии жизни.

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

* для вызова процедур, выполнения операций или, обозначения вложенных потоков управления.

* для обозначения простого (не вложенного) потока управления.

* для асинхронного сообщения между двумя объектами в некоторой процедурной последовательности.

* Для возврата из вызова процедуры.

 

– Конец работы –

Эта тема принадлежит разделу:

Конспект лекций по Технологии разработке программных продуктов

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Методы анализа и построения спецификаций

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

История и эволюция
  История учит нас тому, что из истории мы ничему не учимся Б. Шоу   В истории технологии программирования можно выделить три этапа.

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

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

Возникновение идеи решения проблемы
Данный процесс обычно начинается с того, что у человека или небольшой группы людей возникает идея решения проблемы, которая: - препятствует созданию или развитию программного продукта;

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

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

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

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

Лао Цзы
  Основы менеджмента были заложены в начале ХХ века в европейской и американской науке. История менеджмента связана с древним Египтом философами античности. В настоящее время можно го

Методы управления проектами
В основе методов управления проектами лежат методики сетевого планирования, разработанные в конце 50-х годов ХХ века [Филипс, Гарсиа-Диас]. С помощью этих методик руководитель проекта может:

Планирование проекта
Подчеркнем в виде неформальных требований необходимость наличия плана [Баранов 1998]. * План помогает создать ясное и четкое понимание — как будущие работы будут выполняться * Пла

Методики оценок времени и затрат
Существует несколько методик оценок времени и затрат для составления планов и расчетов [Баранов1998]. * Сверху вниз по крупным блокам аналогичного проекта. Поскольку аналогичный проект про

Современные подходы к управлению проектом
Став бригадиром, я упростил этот процесс до мыслимого предела В. Ерофеев. «Москва — Петушки»   Продолжающиеся непрерывные неудачи в крупны

Подходы к ведению анализа и проектирования.
Структурная методология Итак, комбинации структурных методов образуют структурные подход. Можно выделить три группы структурных подходов на основе порядка строения модели [Калянов 1996]

А. Шопенгауэр
  Важнейшая технологическая задача, возникающая в процессе программирования, — соответствие единому стилю программирования. Под стилем программирования обычно понимают [Тассел 1985] н

Защитное программирование
Защитное программирование (defensive ргоgramming — это такой стиль написания программ, при котором появляющиеся ошибки легко обнаруживаются и идентифицируются программистом [Тасел 1985]. С

Выбор языка программирования
На выбор языка программирования влияют четыре основных фактора. · Сравнительная пригодность языка программирования для данной задачи. · Избранная методология. Часто говорят, что я

Тестирование программных продуктов
Существуют две основные стратегии тестирования: -тестирование программы как черного ящика, при котором программа рассматривается как объект, внутренняя структура которого неизвестна.

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

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

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

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

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

Спиральная модель
Спиральная модель (sрiгаl model) была предложена Барри Боэмом (Ваггу Воеm) в середине 80-х годов ХХ века с целью сократить возможный риск разработки. Фактически, это была первая реакция на устарева

Каркасные технологические подходы
Каркасные подходы представляют собой каркас для процессов и насчитывается их огромное количество. Рациональный унифицированный процесс Рациональный процесс (rational unifie

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

Сборочное (расширяемое) программирование
Сборочное программирование предполагает, что программа собирается путем переиспользования уже известных фрагментов (рис. 12).  

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

Технология стерильного цеха
Основные идеи технологии стерильного цеха (cleanroom process model) были предложены Харланом Миллзом в середине 80-х годов ХХ века. Технология складывается из следующих частей (рис. 13) [1994]:

Формальные генетические подходы
Сложились методы программирования обладающие свойством доказательности и не теряющие это точное, накопленное знание [Поттосин 1997]. Три. таких метода соответствуют уже исследованным генетическим п

Эволюционное прототипирование
Первый прототип при эволюционном прототипировании (evolutionari prototyping) обычно включает создание развитого пользовательского интерфейса. Он может быть сразу же продемонстрирован заказчику для

Экстремальное программирование
Наиболее концентрированно идеи быстрой разработки программ оказались выражены в подходе экстремального программирования (ехtreme programming) (http//www.extremprogramming.org). Две основные черты,

Адаптивная разработка
В основу подхода адаптивной разработки (Adapnive Software Development – ASD) положены три нелинейные перекрывающие друг друга фазы — обдумывание, сотрудничество и обучение. Автор данного подхода Дж

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

Психологические командные роли
Роб Томсет (Rob Thomsett) [Thomsett 1990] предложил восемь ключевых ролей в проекте (рис. 23).   Председатель. Выбирает путь, по которому команда движется вперед к общ

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

Общинная модель разработки
Совершенство в проекте достигается не тогда, когда нечего добавить, а тогда, когда нечего убавить. Антуан де Сент-Экзюпери.   Идеология общинной (“база

Подходы к качеству программного обеспечения
Проведем классификацию различных подходов к качеству программного обеспечения, используя два измерения [2000]. Первое измерение ориентировано либо на продукт, либо на процесс. Для повышени

Характеристики качества программного обеспечения.
В настоящее время не существует общепринятых критериев качества программного обеспечения. Стандарт ISO 9000-3, п. 6.4.1   Классическое определение к

Модель зрелости процесса разработки программного обеспечения
В модели определено пять уровней зрелости организации Начальный уровень. На этом уровне процесс разработки характеризуется практическим отсутствием процессов управления. Успех проек

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

Достаточно хорошее программное обеспечение
Вчера в Сиэтле после упоминания Биллом Гейтсом о выходе бета-версии новой программы компании Мicrosoft произошло землетрясение. Пользователи с ужасом ждут объявления о выходе финальной версии

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги