Это все, что я вырезал из интереснейшей статьи
Концепция создания системного и прикладного программного обеспечения задач математического моделированияАвтор: Михаил Зизин, РНЦ Курчатовский институт, ОПУБЛИКОВАНО 21.12.2010
1. ВведениеСколько бы вы ни изучали расписание поездов, вы не сможете выбрать поезд, если не знаете, куда ехать. Американский философский фольклор (Цитируется по книге В.Ф. Турчина "Феномен науки")
Если кто-нибудь скажет: "Мне нужен такой язык программирования, в котором мне надо только сказать, что я хочу, чтобы было сделано", - дайте ему леденец. ALAN PERLIS. Epigrams on Programming
Главное - это величие замысла. Иосиф Бродский
Известное известно немногим. Аристотель "Поэтика"
Если начинают с неправильного, то мало надежды на правильное завершение. Конфуций
2. Знания и информацияУсложнение объекта управления требует использования более сложных моделей и учёта более широкого числа факторов, в том числе внешних. Д.С. Черешкин, Вице-президент РАЕН
Сумма разума на Земле постоянна, а население растёт. Закон Мэрфи
Чем больше знаем, тем меньше понимаем. Павел Гавел
3. ПринципыМодулярность, адаптируемость, модифицируемость, расширяемость, универсальность - эти слова произносятся всеми разработчиками
математического обеспечения. А.П. Ершов, 1972 г.
В программе, как и в человеке, всё должно быть прекрасно: и лицо (пользовательский интерфейс), и одежда (документация), и душа (исходный код программы), и мысли (работа программы). Проф. А. А. Шалыто
4. Миссия и стратегияМожно ли управлять автомобилем, смотря только в зеркало заднего вида? Роберт Каплан и Дэвид Нортон
7. ПроектВскарабкавшись по служебной лестнице, Вы можете обнаружить, что она была приставлена не к той стене.
8. Проект и командаСоздание команды - процесс трансформации сборища индивидуальностей с различными интересами, сущностью и опытом в интегрированную и эффективную рабочую единицу. В. Верма
Успех Команды - успех каждого из её членов, успех члена команды - успех всей Команды. Мотт
С точки зрения пользователяЧаще всего при работе с системой проблемы сидят перед клавиатурой. Хассо Платтнер, исполнительный директор SAP AG
9.8. Интеллектуальность системыВ условиях поголовной неграмотности… В.И.Ленин
10.2. Способы достижения цели…Всякая большая программа на протяжении своего жизненного цикла существует в нескольких различных вариантах, поэтому при cjздании большой программы мы имеем дело не с какой-нибудь единственной программой, а с целым семейством взаимосвязанных программ, включающим альтернативные программы для решения одной и той же задачи и (или) подобные программы решения подобных задач. Таким образом, всякую программу нужно рассматривать и проектировать как элемент семейства; её следует конструировать из компонентов таким образом, чтобы в различных элементах семейства обеспечивалась правильная работа не только общих компонентов, но и общих подсистем, сконструированных из этих компонентов. Э. Дейкстра
11. Документация"Здравствуй, брат! Писать очень трудно!" Приветствие членов группы "Серапионовы братья"
При изложении на бумаге требуется принятие сотен мини-решений, и их наличие отличает чёткую и точную политику от расплывчатой. Ф. Брукс [10, с. 221]
Хорошая документация способствует пониманию, уменьшает дублирование, облегчает переход в другую компьютерную среду и облегчает расширение на другие предметные области.[27]
Крайне важно всегда… всё документировать, как будто ожидая, что на следующей неделе у вас случится приступ амнезии. Браун, 1976. Цит. по [28].
Величайшая трудность при написании исчерпывающей документации заключается в том, что эта работа требует много усилий и к тому же просто скучна. Мы не знаем решения этой проблемы. Катцнельсон, 1971. Цит. по [28].
Программисту можно простить многие прегрешения, но ни одному из них, как бы он ни был умён и опытен, нельзя простить программу,
не оформленную и не содержащую комментариев. Э. Иордан [29]
11.2. Проектная документацияГлубоко ошибается тот, кто думает, что изделиями программистов являются программы, которые он пишет. Программист обязан создавать заслуживающие доверия решения и представлять их в форме убедительных доводов, а текст написанной программы является лишь сопроводительным материалом, к которому эти доказательства были применены. Э. Дейкстра
[/b]12. Тестирование[/b]
Мы недавно проводили
Испытанья нашей силы.
Всё на славу удалось -
Там, где нужно, взорвалось. С. Михалков "Про советский атом"
Повышенное использование компьютерных моделей призывает к разделению тех, кто создаёт модели и тех, кто проверяет их достоверность. Майкл Крайтон
Мир без ошибок - опасная, как всякая утопия, тоталитарная фантазия. Исправляя, мы улучшаем, улучшая - разрушаем. А. Генис
Ошибки - это постыдно. Это как клоп на манишке. Фаина Раневская
13. ОтладкаДля многих программ наиболее вероятная участь - программа умрёт с ненайденными ошибками, или (не дай Бог) кто-то умрёт от ненайденных ошибок - и об этом нельзя забывать при создании ответственных систем. Из рецензии на книгу [30]. Андрей Колесов. PC Week/RE № 9, 2004
16.1. Высокоскоростные вычисления - High Performance Computing (HPC)Неприятности в экономике (и не только) можно объяснить тем, что все наши математические модели, как бы сложны они ни были, слишком просты. Мысль Алана Гринспена
Жизнь - это земледелие. Надо найти хороший кусок плодородной земли, распахать почву и запастись терпением.Урожай приходит позже,
а главное дело делается тогда, когда ни малейших результатов еще не видно. Герберт Кауфман
16.2. Системы программМы строим здания, а потом они строят нас. У. Черчилль