Есть задача или проблема, например, по проектированию информационной системы. В первую очередь программист должен определить возможность ее решения, структуризируя проблему и выбирая соответствующие методы. Затем разработать макет программы, в соответствии с определенной структуризацией, найти эффективные алгоритмы решения отдельных подзадач и шаг за шагом доводить макет до работающей версии, возвращаясь неоднократно к предыдущим шагам проектирования и доказывая на каждом шаге правильность решений. При этом работу следует делать так, чтобы последующие внесения изменений не вызывали принципиальных трудностей (принцип открытости программы). Программист должен видеть, знать будущее своего продукта, и это будущее должно «тянуть» настоящее. Таким образом, в укрупненном виде мы видим три итерационно повторяющихся этапа: до реализации на компьютере, реализация на компьютере и после реализации на компьютере. Есть еще и четвертый этап. Он «размыт» по всей деятельности и заключается в ответе на постоянно возникающий вопрос – «а что если все не так?», в котором, а также в искусстве доведения макета до работающей версии заложена нелинейность в деятельности программиста. Только очень небольшая часть деятельности соотносится с записью на каком-либо языке программирования. Итак, если решаемая проблема связана с проектированием информационной системы, то есть полное право определить программирование как деятельность по конструированию некой целостной информационной системы обработки данных.А если нет – разрабатывается не информационная система? Оказывается, что и в этом случае, если сравнивать, пересечение этой деятельности с деятельностью по проектированию информационной системы настолько огромно, что данное утверждение имеет силу. Более того, и при разработке миниатюрной программы в той или иной мере эта деятельность воспроизводится[18].
Подписаться на RSS и Twitter
-
Свежие записи
Loading ...Котировки и индексы
Курсы валют







