Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Классические технологические процессы



Начнем знакомство с " девятки" классических технологических процессов.

  • 2.1. Возникновение и исследование идеи
    • 2.1.1. Возникновение идеи решения проблемы
    • 2.1.2. Постановка задачи
    • 2.1.3. Принятие решения о начале работы над проектом
  • 2.2. Управление
    • 2.2.1. Управление проектом
    • 2.2.2. Эволюция менеджмента
    • 2.2.3. Методы управления проектами
    • 2.2.4. Современные подходы к управлению проектом
Сначала неизбежно идут: мысль, фантазия, сказка. За ними следует научный расчет, и уже, в конце концов, исполнение венчает мысль. К. Э. Циолковский
  • 2.3. Анализ требований и проектирование
    • 2.3.1. Введение в анализ требований и проектирование
    • 2.3.2. Отступление " о спецификациях"
    • 2.3.3. Отступление " об архитектуре"
    • 2.3.4. Отступление " о классификации всего сущего"
    • 2.3.5. Проектирование архитектуры (проектирование " в большом" )
    • 2.3.6. Проектирование модулей (проектирование " в малом" )
    • 2.3.7. Методы анализа и построения спецификаций
    • 2.3.8. Подходы к ведению анализа и проектирования
  • 2.4. Программирование (реализация)
    • 2.4.1. Стиль программирования
    • 2.4.2. Защитное программирование
    • 2.4.3. Выбор языка программирования
  • 2.5. Тестирование и отладка
    • 2.5.1. Введение в тестирование и отладку
    • 2.5.2. Тестирование программных продуктов
    • 2.5.3. Отладка программных продуктов
  • 2.6. Ввод программы в действие
  • 2.7. Эксплуатация и сопровождение
  • 2.8. Завершение эксплуатации

Возникновение и исследование идеи

Погоня за идеей - занятие столь же захватывающее, как и погоня за китом.
Генри Норрис Рассел

Этот классический процесс имеет следующие действия:

  • собственно возникновение и первичное исследование идеи, носящее максимально творческий и неформальный характер;
  • детальное исследование идеи. Выработка концепции. Постановка задачи. Создание " одностраничного описания проекта" и разработка его расширенной версии;
  • экспертиза идеи специалистами. Принятие решения о начале процесса планирования.

Заметим, что идея может привести либо к развитию уже существующего программного продукта, либо к созданию нового.

2.1.1. Возникновение идеи решения проблемы

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

  • препятствует созданию или развитию программного продукта;
  • приводит к ошибкам в программном продукте.

Наиболее интересными являются инновационные решения. Инновация - нововведение, изменяющее уже существующую результативную систему, как правило, с положительным эффектом или предлагающее новое решение некоторой проблемы в обозначенные время и месте [Косовский, Хитров 1997]. Инновация включает в себя и изобретения, и открытия, и просто новшества. Результативная инновация - это инновация, изменяющая уже существующее решение с улучшением некоторых его характеристик, либо предлагающая к ранее не решенной проблеме решение, приносящее положительный эффект. Примеры результативных инноваций в программировании - создание глобальной сети Интернет и разработка интегрированной среды программирования.

В научном творческом поиске [Шевчук, Харахоркина, Журавлев, Армен 1998] отрицательный результат, как правило, также имеет существенное значение. С самого начала научного поиска следует понять - где проходит граница между знанием и незнанием. Научный поиск отличает определенное достоинство, заключающееся в верности критерию сдержанности и проверки идей, систематичности объяснений.

Поиск решения может включать эвристические правила. В качестве примеров укажем подход, предложенный Д. Пойа [Пойа 1957] для решения новых задач, и алгоритм решения изобретательских задач Г. С. Альтшуллера. (http: //www.triz.minsk.by/index0.htm). Роль интуиции в творческом поиске исследуется в книге " Интуиция и искусственный интеллект" [Грановская, Березная 1991].

Предложим несколько советов по организации поиска решения задачи [Косовский, Хитров 1997].

  • Ждать, пока решение не придет в голову. Лишь при затянувшемся ожидании следует переходить к другим советам. Следует заметить, что особенно эффективен этот совет для ответа на следующие вопросы: " Что такое любовь? ", " Что такое старость? ".
  • Следует понять - в чем смысл вопроса. Зачем вообще решать эту задачу? Здесь уместен принцип " выковыривания изюминки" - чтобы начать выковыривать изюминку, надо сначала найти булку с изюмом.
  • Найти язык чертежей, формул, программ, на котором удается переформулировать задачу. Возможно, при переформулировке что-то станет яснее.
  • Фиксировать внимание к произвольным мыслям и ощущениям.
  • Выразить задачу на простом (детском), метафорическом языке. Поиск аналогий может привести к открытию новых фактов.

Эдвард де Боно (Edward de Bono) выделяет два типа мышления с соответствующими подходами решения задач (http: //www.edwarddebono.org),

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

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

2.1.2. Постановка задачи

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

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

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

Одностраничный документ

Разработка руководства пользователя по OpenMP.

Краткий обзор

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

Введение

  • Название проекта: Руководство пользователя по OpenMP.
  • Дата подготовки документа: 19 августа 1998 версия 1.3.

Описание особенностей поставки

  • Документ " Руководство пользователя по OpenMP" будет доступен как на сервере компании в сети Интернет, так и в бумажной копии.
  • Поскольку в данной реализации проекта " Волхов" не будут включены все особенности спецификации OpenMP, необходимо четко указать, какие из них будут реализованы, а какие нет.
  • Полная спецификация по OpenMP доступна в Интернете (http: //www.openrap.org/).

Пользователи документа

Пользователь - опытный программист на языках С, C++, Pascal и FORTRAN, понимающий преимущества распараллеливания программ на многопроцессорных ЭВМ.

Сравнительный анализ

Многие разработчики компиляторов (например, компании SGI, Sun, IBM) уже включили поддержку OpenMP. Описание OpenMP они включают как отдельные главы в руководство пользователя по компиляторам с языков С, C++, Pascal и FORTRAN. С нашей точки зрения, лучшим решением будет иметь единый документ для всех компиляторов.


Поделиться:



Последнее изменение этой страницы: 2019-10-04; Просмотров: 221; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь