Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Спецификации программ – вот главный «Гадючник»!

Читайте также:
  1. A программистов
  2. I. Общая характеристика программы
  3. I. ПРОГРАММЫ БАКАЛАВРИАТА
  4. II. Организационно-педагогические условия реализации программы (материально-техническое обеспечение образовательного процесса)
  5. III. Особые права при приеме на обучение по имеющим государственную аккредитацию программам бакалавриата и программам специалитета
  6. III. Формы аттестации по программе
  7. IV. Моделирование рекламной кампании по продвижению программного обеспечения отраслевой направленности.

Со временем стало ясно, что одетые в “шапки-невидимки” ошибки в спецификациях наиболее коварны и представляют собой основную опасность. Они практически неуязвимы для лобовой танковой атаки массированного тестирования. Однако наиболее сенсационным стал вывод о том, что подготовка спецификаций — один из основных источников ошибок. Выяснилось, что на устранение ошибок в требованиях на программы уходит в среднем 82% всех усилий, затраченных коллективом разработчиков на устранение ошибок проекта, тогда как на устранение ошибок кодирования — 1%.

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

Проблема спецификаций — одна из центральных в программировании. Джеймс Мартин пишет: “То и дело встречается одна и та же печальная история: после нескольких лет напряженной разработки системы обработки данных конечные пользователи заявляют, что это вовсе не то, что они хотели... Обычная реакция разработчиков на такую скверную ситуацию — заявление, что требования к системе не были определены пользователем достаточно полно. И это несмотря на то, что требования к системе иногда представляются в виде многих томов документации”.

Что же является причиной ошибок в спецификациях? Рассмотрим вопрос на примере разработки АСУ технологическими процессами атомной электростанции (АСУ ТП АЭС). Заказчики (разработчики АЭС) прекрасно знают “физику процесса”, т. е. технологию работы реакторного и турбинного отделений и других систем АЭС, но, к сожалению, не являются профессорами по части АСУ и программирования. Исполнители (разработчики АСУ ТП АЭС), наоборот, детально знакомы с компьютерами, программированием, особенностями построения систем управления, но, увы, мало что смыслят в реакторах, спецводоочистке и прочих секретах АЭС. Таким образом, проблема состоит в том, что те и другие должны научиться понимать друг друга. Для этого нужно произвести взаимное обучение, взаимный обмен знаниями, которые обычно представлены в виде той или иной документации. Успех взаимного обучения во многом зависит от когнитивных свойств используемого профессионального языка (языка представления знаний). Очевидно, что речь идет о чрезвычайно тонких, деликатных и сложных когнитивных проблемах, в первую очередь, о проблеме понимания.

Проведенный анализ позволяет сделать два замечания:

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

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


Дата добавления: 2015-08-21; просмотров: 73 | Нарушение авторских прав


Читайте в этой же книге: Что важнее: компьютеры или человеческий мозг? | Что такое производительность умственного труда? | Можно ли увеличить скорость работы человеческого мозга? | Проблема формализации профессиональных знаний | Чем отличается алгоритм от технологического процесса? | Что такое технологический язык? | Технологические и декларативные знания | Методология быстрой разработки систем RAD | Необходимость культурных изменений | Техноязык как элемент струкутуры |
<== предыдущая страница | следующая страница ==>
Отсутствие понимания ведет к миллионным убыткам| Спецификации программ и методология RAD

mybiblioteka.su - 2015-2024 год. (0.009 сек.)