Вы купили компьютер. Вы научились работать с программой Norton Commahder, вести архивы и бороться с вирусами.
И что же дальше? Если Вы купили компьютер не для того, чтобы осваивать игрушки, и не для того, чтобы пускать пыль в глаза начальства, значит, Вам нужно те задачи, которые Вы сейчас решаете без компьютера, научиться решать с компьютером. А значит, у Вас есть четыре пути:
Нанять программистов (вариации - взять ли программистов в штат или заключить договор с посторонней фирмой - роли не играют);
Приобрести готовую программу;
Сделать все самому.
Сделать вместе с программистом
Каждый из путей имеет свои прелести и свои сюрпризы. Фактически, как и богатырю в сказке, Вам предлагается выбрать, потерять ли вам коня, или жизнь, или богатство, или все сразу. Для каждого конкретного случая нужно выбирать свой вариант (или комбинации).
Разберем варианты поподробнее.
Это наиболее распространенный путь, но не всегда самый лучший. Здесь Вам предстоит пройти через ряд этапов:
выбор исполнителей
постановка задачи
разработка
приемка
сопровождение
Во-первых, Вы должны учитывать, что производительность труда у разных программистов различается в десятки раз. По данным Сакмана, даже в группе, состоящей из программистов одной и той же опытности (по типу и объему решенных до этого задач и по длительности занятий программированием) разница в производительности труда составляет 28 раз. Это означает, что одну и ту же программу один программист сделает за день, а другому для этого потребуется месяц. О программистах разной опытности я уже и не говорю.
Следовательно, от квалификации программистов зависят и сроки, и качество, и, в конечном счете, цена. Не бросайтесь на шею первой попавшейся фирме! Ведите первоначальные переговоры минимум с тремя потенциальными исполнителями, заставляйте их идти на уступки, намекая на преимущества конкурентов.
Не поленитесь определить репутацию каждого претендента: спросите, с кем у них уже были договоры и узнайте отзывы бывших заказчиков. Не забывайте, что ситуация на компьютерном рынке типично несоветская: предложение больше спроса. Исполнителей много, а заказчиков мало. Пользуйтесь этим и держитесь хозяином положения.
Во-вторых, Вы должны учитывать, что никаких норм на разработку и государственных цен нет. Точнее, они есть, (например, укрупненные нормы времени, изданные госкомтрудом), но служат лишь для обоснования уже принятых решений. Придите ко мне, и я Вам обосную, что хотите: для одной разработки могу обосновать цену в 400 руб., а могу и в 40000. Цены строго рыночные, зависят от конъюнктуры, а значит, нужно исходить из того, сколько Вам не жалко отдать за ту или иную задачу. Старик Маркс при всей нелепости его теорий был прав в одном: товар стоит столько, сколько за него дают. Не поленитесь узнать, сколько стоят аналогичные разработки у других исполнителей.
Вы выбрали исполнителя, и теперь предстоит не менее ответственный этап: растолковать ему, чего же Вы, собственно, хотите.
Проблема трудная прежде всего потому, что Вы сами этого не знаете. Единственное, что Вы можете сказать - как та или иная операция делается вручную. Вообще говоря, это не означает, что и на компьютере она должна делаться точно так же. Вполне вероятно, что с использованием компьютера, эта операция вообще исчезнет (например, журналы - ордера в бухгалтерии): при ручной работе без них - никак, а при автоматизированной - они только мешают.
Другая трудность заключается в том, что какие-то моменты Вы упустите, считая их само собой разумеющимися. Но программисту-то они останутся неведомыми! Скажем, Вы записали в техническом задании: "программа должна складывать числа". Чего уж проще! Но для программиста здесь есть масса вопросов: какие это числа - целые или с дробями, с какой точностью, сколько их вообще может быть, откуда они поступают, в каких границах изменяются и как узнать, что они кончились. В зависимости от разных ответов на эти вопросы мы получим совершенно разные программы. Третья трудность заключается в том, что одна и та же фраза может пониматься по разному. Классический пример - "казнить нельзя помиловать".
Все это приводит к тому, что составление ТЗ на самом деле превращается в игру в испорченный телефон. Как обойтись без техзадания, я расскажу чуть позже, но, если уж Вы решили его писать, то знайте, что есть соответствующие ГОСТы (ЕСПД : единая система программной документации, коды начинаются на 19, например ГОСТ 19.005 содержит описание Р-схем). Кроме того, есть методические рекомендации по написанию проектной документации, в которых подробно расписаны все вопросы, на которые нужно ответить в том или ином документе.
Во всяком случае, до тех пор, пока в ТЗ не будут детально описаны Ваши требования к будущей программе, не подписывайте его. Лучше потерять несколько дней на этой стадии, чем недели и месяцы на разработке. Если в момент приемки программы Вы обнаружите, что она делает не то, что нужно, и в ТЗ это не было описано, Вам останется пенять только на себя, а разработчики вполне законно будут требовать на переделки дополнительные средства и дополнительное время.
И еще: не забудьте зафиксировать в задании все ограничения. Например, если Вы заказываете программу расчета заработной платы, укажите максимально возможное число работающих, время хранения информации о больничных, и т.д. Если программа рассчитывает з/п для пяти работников, это вовсе не означает, что она так же будет работать на 10000 человек.
Путь, при котором Вы увидите работающую программу в самом конце разработки - гибельный. Программисты делают что-то не так, а Вы узнаете об этом за неделю до подписания актов о сдаче. Исправления будут делаться в пожарном порядке, и ничего хорошего из этого не выйдет. С другой стороны, программисты до самого последнего момента не могут показать Вам программу, поскольку она у них еще не готова (к сожалению, они нередко собирают программу сверху вниз - от маленьких кусочков до полного варианта, и, пока не соберут все, программа не работает).
Вы должны не просто ждать конца разработки, но и активно в ней участвовать. Подход, который я сейчас опишу, называется структурной композицией, пошаговой детализацией и т.д. Возьмем для примера АРМ "Зарплата". Очевидно, задача распадается минимум на 4 части: ввод и редактирование информации о работниках, собственно расчеты, и печать выходных форм, а также управляющая программа. Работая по-старому, программисты сделали бы полностью (но по отдельности) все эти четыре задачи, а потом бы их соединили. До тех пор, пока не сделана полностью задача ввода и редактирования, она в общую систему не включается. Работая же по новому, мы поступаем так:
Программисты пишут (очень быстро) управляющую программу. Не целиком, а - основное меню. Остальные программы пока заменяются "заглушками". Например, Вы выбираете по меню задачу "Ввод и редактирование", а программа Вам сообщает, что это пока не реализовано. На это уходит максимум несколько дней, и Вы уже видите нечто работающее, и можете сказать, нравится Вам это или не нравится, все ли пункты включены в меню или нет.
Далее. Пишется программа ввода и редактирования и заменяет соответствующую заглушку. Но программа эта пишется опять-таки не целиком. Обычно эти программы на 90% состоят из всяческого контроля: например, о личной карточке - фамилия должна состоять только из русских букв, должность должна попадать в список должностей из штатного расписания, оклад должен быть в пределах вилки, и т.д. Обычно, пока все это не написано, программа ввода не соединяется с остальными. При пошаговой же детализации пишется (очень быстро) программа ввода без контроля, но в остальном все, как на самом деле. Очень быстро Вы получаете эту программу и можете с ней работать (при условии, что не будете вводить ошибочные данные), и сразу можете сказать, что в ней не так. Для Вас это хорошо тем, что Вы очень быстро получаете нечто работающее, программистам же, если что не так, переделывать надо 10%, а не 90, что хорошо влияет на их производительность труда.
Ну, и так далее. Из блока расчета реализуется только основа (табеля, районный коэффициент и подоходный), из выходных форм - скажем, только ведомость на выдачу зарплаты, и т.д.
Таким образом, Вы очень быстро получаете урезанную, но работоспособную систему и можете ее уже использовать в так называемом режиме опытной эксплуатации. Если что-то не так, программисты оперативно переделывают. Кроме того, они регулярно подкидывают Вам новую версию с исправленными ошибками и новыми возможностями: вот, скажем, добавился контроль должности на соответствие штатному расписанию, а вот добавился расчет больничных, и т.д. Все это поступает в малых дозах, и Вы это быстро осваиваете.
Следовательно, на любом этапе разработки Вы имеете в принципе работоспособную систему (возможно, усеченную), с которой Вы уже умеете работать. Опыт показывает, что, даже если график все же не соблюдается, Вы отнесетесь к этому спокойно: Вы видите, что имеете не кота в мешке, и иногда сами предлагаете отложить тот или иной пункт, поскольку основное, что Вам нужно, Вы уже получили.
Итак, этот режим удобен и для программистов, и для Вас. Кстати, если программисты об этом не слышали - это минус их квалификации. В принципе, Вы тогда со спокойной совестью можете этих претендентов на договор гнать в шею.
Существует развитие этого метода - макетное программирование, но о нем чуть позже.
И, кстати, при таком подходе техзадание, вообще говоря, не нужно. Фактически его заменяют два документа: план детализации и документация пользователю.
Самое главное, что Вы должны сделать - это заложить в договор этап опытной эксплуатации. То есть - до тех пор, пока Вы без помощи программистов не сможете использовать программу, принятой она считаться не может.
Уж во всяком случае, она не может считаться принятой только потому, что программист, делая пассы на клавиатуре, скороговоркой показал Вам красивые меню и диаграммы, и на принтер действительно вылезло что-то правдоподобное.
Я не хочу сказать, что программисты обязательно будут пытаться всучить Вам неработоспособную программу (хотя и такие случаи бывают; самый шикарный - когда сдавали программу на неработающей машине. Запустили в автономном режиме тест на процессоре, лампочки замигали, ленты крутились бешено, сразу три штуки, устройство ввода с перфокарт работало, как дизель, а из принтера в режиме подачи бумаги лезла заранее заготовленная распечатка).
Нет, я вовсе не хочу этого сказать. Я хочу сказать лишь, что, если программа работает у программиста, это вовсе не означает, что она будет работать у Вас.
Итак, пока Вы сами не поработали с системой, не торопитесь отдавать ваши денежки.
Кстати, при пошаговой детализации проблема фактически снимается!
Что же Вы должны проверить в ходе опытной эксплуатации:
соответствие программы реальной жизни.
Для программы расчета заработной платы это означает, то если у Вас есть ночные, больничные, бригадирские и т.д., Вы все это должны запустить и убедиться, что все работает верно. Повторяю, не программист вам это должен проделать, а Вы сами. (Заметим, что при пошаговой детализации эта проблема не стоит.)
ограничения.
Если программа считает больничные в случае, если начало и конец болезни приходятся на один месяц, это вовсе не означает, что она правильно будет считать их, если начало в одном месяце, а конец в другом. И даже если она делает и это, то вовсе необязательно она будет правильно считать больничные, растянутые не на два, а более месяцев. Проверять программу на больших нагрузках трудно (скажем, нужно загнать 10000 личных карточек на диск, чтобы убедиться, что на таком объеме программа работает нормально), но, по возможности, это нужно делать. Заметим, что при пошаговой детализации это обычно получается само собой, так как к концу разработки Вы фактически используете программу в реальном режиме и многие ситуации вам уже встретились.
документацию.
Учтите, что даже хорошие программисты часто пишут плохую документацию. Это им скучно. Это им неинтересно. Поэтому к документации отнеситесь особенно внимательно. Лучше всего документацию проверяют люди педантичные, и хорошо, если они не будут слишком умными, то есть не будут ничего додумывать, а будут делать буква в букву то, что написано в инструкции. Если при этом дело не идет, значит, документация плохая. Восклицания программистов типа "а, это обходится просто: нажмите это и это" Вы должны игнорировать. "Это и это" должно быть должным образом описано, и, пока это не сделано, программа принятой быть не может.
Учтите, что умные программисты готовят документацию не на машинке, а на компьютере, а значит, изменения в нее внести легко. Вот пускай и вносят.
Заметим, что при пошаговой детализации проблема фактически отпадает: документация создается на Ваших глазах и Вы работаете с ней буквально с первых дней разработки.
подсказки.
Как минимум, где-нибудь в нижней части экрана Вы должны постоянно видеть подсказку о назначении основных клавиш. Как максимум, нажав [F1], Вы должны получить исчерпывающую информацию о том режиме, в котором Вы сейчас находитесь: для чего предназначен этот режим, какие клавиши в нем используются и для чего, как из него выбраться обратно, в какие режимы из него можно попасть, а также методологические подробности (например, если режим предназначен для расчета годового фонда заработной платы, то включать ли вакантные должности, какие накрутки включать в оклад, а какие нет, и пр.), и все это должно разъясняться на примерах, образцах. Если подсказка написана хорошо, документация на бумаге может не понадобиться вообще. Если же программа не содержит подсказок - это брак, даже если она все делает правильно.
удобство.
Даже программа, делающая то, что нужно, может оказаться неработоспособной, если она неудобна в работе: заставляет делать лишние действия, помнить много команд и режимов, и т.д. Неплохо заложить требование удобства прямо в техзадание, тогда у Вас будет формальный повод отказаться от подписания актов, если система будет неудобна.
Кстати, и эта проблема решается сама собой при пошаговой детализации, ведь еще на ранних стадиях разработки Вы заявляете, что тот или иной режим для Вас неудобен.
Кстати, если проект серьезный, или у Вас возникли сомнения в качестве работы, можно обратиться к независимой экспертизе. Как правило, организации, разрабатывающие программы, могут также (за определенную плату) и оценить чужую программу.
Для любой мало-мальски сложной программы обязательно нужно заложить в договор этап сопровождения. Это нужно делать и тогда, когда Вы покупаете готовую программу, и тогда, когда программа разрабатывается специально для Вас.
Частично этот этап совпадает с этапом опытной эксплуатации, когда программисты обучают Вас работе с программой, настраивать ее, и т.д. Однако и после приемки программы у Вас могут возникнуть сложности. Очень неплохо, если в договоре заложена возможность хот-лайн (горячей линии): у Вас проблемы - Вы снимаете трубку и вызываете программиста. Конечно, за это нужно доплатить, и лучше, если Вы заложите хот-лайн в договор с самого начала и заплатите сразу. Иначе начнется силовая борьба: программисты начнут ныть, что им некогда, заламывать цены за каждый визит, и так далее. Они прекрасно понимают, что Вы уже прикованы к ним накрепко. Если же хот-лайн заложен в договор (например, на год), и деньги заплачены, но сопровождение не ведется, можно подать в суд.
Вторая составляющая сопровождения - доработки
Доработки будут неизбежно: у Вас появятся новые идеи, изменится обстановка, наверху издадут очередной идиотский указ - и программу надо изменить.
Это зависит от того, каким путем Вы пошли: ТЗ со сдачей в конце договора (и тогда все точно так же: составляется ТЗ на доработки, и т.д.), либо методом пошаговой детализации, и тогда все происходит так же, как во время разработки. Но в любом случае будет неплохо, если Вы либо заложите в договор продление его в случае доработок, либо потребуете от разработчиков так называемую нуль-документацию, то есть тексты и описания программ, а также процедуры их сборки, чтобы при случае любой грамотный программист мог разобраться в программе и произвести нужные изменения.
Кстати. Если в программе обнаружены ошибки, программисты обязаны исправить их бесплатно (а если Вы понесли ущерб от неправильной работы программы, то и с возмещением ущерба; не забудьте заложить в договор и такой пункт!). Если изменилось законодательство и нужна корректировка программы, приличные программисты делают ее бесплатно или за символическую плату. Только изменения и дополнения, инициатором которых выступили Вы, оплачиваются по полной стоимости
Вот мы и разобрали первый путь. Его преимущество в том, что в конечном счете Вы получаете готовую программу, которая делает то, что Вам нужно, и при этом достаточно удобно и эффективно.
Его недостатки:
Во-первых, программист должен хорошо понимать задачу заказчика. Это не всегда удается, особенно, если задача затрагивает глубоко профессиональные области.
Во-вторых, неизбежные доработки делаются обычно долго, а иногда (если фирма производитель программы распалась, а нульдокументации нет), и вообще невозможны. Я представляю себе, что творилось в конторах, купивших год-два назад те же программы расчета заработной платы:
ведь ситуация меняется чуть не каждый день.
Этот путь вовсе неплох. Автоматизировано уже почти все, и практически любую программу можно найти в готовом виде. Три вопроса, которые при этом встают: как ее найти, как оценить ее качество и как оценить ее стоимость.
Как известно, в СНГ три основных способа распространения программ - кража, воровство и перепродажа краденого. Существует много любителей поживиться на этом деле: ведь передать программу не сложнее, чем переписать магнитофонную кассету. Соответствующие законы у нас появились не так давно, и в силу еще как следует не вступили (закон РФ об охране авторских прав на программы и базы данных от 15.05.1992). Нет и организаций, следящих за их выполнением (как в США, где некоторые фирмы живут на то, что хватают за руку незаконно продающих и отстегивают себе часть штрафа). Но все-таки рынок программных средств одним из первых начинает приобретать благообразные формы. Во всяком случае, газеты полны рекламы, фирмы-производители рассылают каталоги. Остается только ориентироваться.
Точно так же, как и при приемке от программистов (см. вариант "нанять программистов"). Во всяком случае, не рекомендую брать кота в мешке. Самый оптимальный вариант, если Вам будет бесплатно передана демонстрационная версия программы (например, расчет заработной платы в масштабе один к одному, но не более, чем для семи человек), и Вы можете с ним поработать, а если это то, что нужно, заключить договор и купить полный вариант. Менее хороший, но приемлемый вариант - если Вам будет передан рекламный клип, то есть серия изображений на экране, показывающих ход работы программы. В этом случае, конечно, нужно еще и проверить саму программу, но для первоначального знакомства клип - вещь неплохая.
Как правило, цены плавающие и зависят от ситуации на рынке, претензий продавца, а также его оценки Вашей компетентности (которая измеряется в таких единицах, как "валенок", "чайник", "лапоть" и т.д.). Если Вы не хотите быть валенком и покупать программу, которой красная цена полторы тысячи, за тридцать тысяч (а я знаю не один такой случай), то Вам просто нужно ориентироваться на рынке. Прежде, чем покупать программы, нужно посмотреть, сколько такие стоят.
Еще один момент (особенно касающийся распространенных типов программ, например, текстовых редакторов), связан с тем, что трудно выбрать из нескольких почти неотличимых по возможностям программ одну. Это своеобразный комплекс "буриданова осла", особенно типичный для советского человека, которого жизнь не балует возможностью выбора. Он либо бросается на первую попавшуюся колючку, либо умирает от голода между нескольких одинаково вкусных стогов сена. Я рекомендую Вам пользоваться тем же способом, каким Вы пользуетесь на базаре. Скажем, моя жена обходит все мясные ряды, выбирает оптимальный кусок (по соотношению цена-качество) и только потом возвращается и его покупает. Я же сразу задаю уровень качества и цены, и покупаю первый же кусок, удовлетворяющий этим условиям. Итак, мы разобрали вариант покупки программы. Он хорош тем, что гораздо дешевле первого (минимум раз в пять), но плох тем, что изменения вносить практически невозможно. Во всяком случае, если Вы опять-таки не заключили с поставщиком договор и о сопровождении программы, либо поимели нульдокументацию. Однако с этим будут серьезные проблемы: большинство дилеров не смогут Вам в этом помочь - разве что сведут Вас с разработчиками...
Как ни парадоксально, но не менее половины вашей работы составляют задачи небольшие, простенькие, но невероятно рутинные. Вы прекрасно справитесь с ними сами, изучив не очень сложные электронные таблицы или системы управления базами данных. Хотя программисты и плюются, услышав про СУПЕРКАЛЬК или РЕБУС (они витают в высших сферах - Clipper, Pascal, C++,Fox-pro и так далее), но этого вполне достаточно, чтобы решить многие Ваши проблемы. А поскольку Вы, в отличие от программистов, относитесь к компьютеру как к средству, а не как к цели, то Вы должны проигнорировать их презрительные усмешки и работать не на том, что лучше подходит им, а на том, что лучше подходит Вам. Другое дело, что Вы со временем возьметесь за более сложные задачи и в СУПЕРКАЛЬКе начнете задыхаться, ну тогда Вам будет легко освоить что-нибудь помощнее.
Чем этот подход привлекателен? Тем, что широкая спина программиста, которая до этого отгораживала Вас от компьютера, наконец-то убралась в сторону. Если Вы плановик, то, вместо того, чтобы полдня объяснять программисту, что такое норма прибыли, да он потом несколько дней будет все это программировать и документировать, Вы за полчаса нарисуете соответствующую электронную таблицу и получите результат. То же и с изменениями: президент, встав не с той ноги, издал зубодробительный указ, а Вы ыстренько добавили в таблицу новый столбец, соответствующий новому налогу, и изменили пару формул - и "будем жить теперь по-новому". Кроме того, этот путь крайне дешевый: все Ваши затраты сведутся к курсу обучения, да, может быть, к консультациям.
Я далек от мысли, что так можно решить любую задачу. Так следует (во всяком случае, на первых порах, пока Вы еще не встали на ноги) решать локальные небольшие задачи, слабо связанные друг с другом. Но, повторяю, таких задач у Вас будет немало, и именно на их Вы сможете оценить преимущества компьютера и набрать необходимый опыт и уверенность.
Электронные таблицы
Электронная таблица - это просто прямоугольная таблица, состоящая из строк и столбцов:
По таблице Вы двигаете маркер, такой же, как в программе Norton Commander. Каждая клетка обозначается, как в шахматах или в игре "морской бой"; например G45.
В каждую клетку Вы можете занести текст, число или (самое главное!) формулу. Но на самом деле показываться будут не формулы. Программа тут же рассчитает, что 20 процентов от 500 - это 100, и покажет на экране это число в клетке С3. То же самое она проделает и с клеткой D3:и вообще со всеми клетками, в которых есть формулы.
И более того, если Вы измените содержимое клетки В3, то С3 и D3 немедленно пересчитаются. Чего ж Вам еще нужно от компьютера? Ведь большая часть Вашей работы сводится к таким вот ведомостям, в которых определена зависимость одних клеток от других. Вы можете быстро нарисовать таблицу на экране, заполнить клетки, запомнить ее на диск, а затем, когда нужно провести расчеты, просто вызвать ее, подставить новые числа, а уж пересчет произойдет автоматически.
Бухгалтеры и экономисты, увидев электронные таблицы, плачут от радости. Я сам, впервые увидев электронную таблицу СУПЕРКАЛЬК, просто бросил на три года программировать: зачем мне писать программы, когда любой человек с улицы после пары часов обучения сделает ту же самую задачу, да еще и в несколько раз быстрее. Я не оговорился: именно любой человек с улицы и именно за пару часов. Все возможности электронных таблиц нужно изучать около недели, но самое главное: создать таблицу, исправить ее, провести расчеты, запомнить и напечатать - этому мы учим за два-три часа. Был случай, когда после двухчасового обучения один слушатель за три часа сделал задачу, за которую программисты содрали с него двадцать с лишним тысяч и делали уже второй месяц, да так и не сделали (в 1990 г).
Какие программы для работы с электронными таблицами Вам выбрать? Их весьма много. Вот, пожалуй, четвеpка лидеров: Lotus 1-2-3, Qattro Pro, Excel, SuperCalc.
Старайтесь, по возможности, выбрать русифицированную программу (если, конечно, Вы не владеете английским языком). На мой взгляд, лучшая - это Qattro Pro 4.0.
База данных - это прямоугольная таблица, состоящая из столбцов и строк. В отличие от электронной таблицы, где Вы могли в любую клетку вписать хоть текст, хоть число, хоть формулу, в базе данных все строки однотипны. Например, в нашей базе сначала идет текст, потом три числа. Вы можете:
создать базу, указав названия и типы столбцов
заполнить ее, вписав в клетки конкретные значения
исправить, в том числе убрать и добавить строки и столбцы
отобрать строки, удовлетворяющие какому-нибудь условию (например, чтобы оклад был в пределах от 500 до 1000, а фамилия начиналась на букву "А")
переупорядочить (например, так, чтобы строки шли по возрастанию оклада, или по алфавиту для фамилий, или еще как-нибудь).
и многое другое.
Главное, что базы данных Вы можете использовать там, где раньше у Вас были картотеки.
Базы данных несколько сложнее в освоении, чем электронные таблицы, но и им мы обучаем людей за день-два.
Какие программы для работы с базами данных выбрать?
Во-первых, выбирайте русифицированные программы.
Во-вторых, те, которые рассчитаны на пользователя, то есть Вас, а не на программиста.
Не рекомендую поэтому такие (весьма неплохие для программистов) программы, как FoxBase, КАРАТ, FoxPro, Clipper, Oracle и т.д.
По-видимому, Вам лучше использовать Paradox.
Paradox - это изумительная вещь, позволяющая Вам без всякого программирования делать весьма сложную обработку. На мой взгляд, это идеальный инструмент для инициативного пользователя, который решил автоматизировать свою деятельность сам. Дополнительный плюс в том, что Paradox хорошо совмещается с QuattroPro и может легко обмениваться с ним данными. А всегда хорошо кое-что делать в электронных таблицах, а кое-что - в базах данных, а потом совмещать результаты.
Недостаток вышеперечисленных программ в том, что они плохо связаны друг с другом. Например, накопив данные в базе данных, Вы с трудом передадите их в электронную таблицу. (Впрочем, это не касается Quattro Pro и Paradox - они обмениваются данными без проблем). Но еще один выход состоит в том, чтобы в одной программе объединить и электронные таблицы, и базы данных, и текстовые редакторы, и кое-что еще. Такие системы называются интегрированными. Вот несколько популярных интегрированных систем:
Framework, MS Works, Open Axcess.
Из предыдущего пункта вовсе не следует, что программист совсем не нужен. Нужен. Но в другом качестве.
Во-первых, даже хорошее обучение не избавит Вас от массы проблем на начальном этапе работы. Вы будете терять темп на том, что принтер не хочет печатать по русски, на том, что база данных почему-то портится, и т.д. Нужен консультант, причем не просто знакомый Вася или Петя, у которого своих дел хватает, а человек, обязанный Вами заниматься. То есть, либо, если у Вас есть отдел АСУ, то кого-то к Вам прикрепили, и именно за это он получает зарплату (или часть ее), и именно это входит в его должностные функции, либо, если такого отдела или своих программистов у Вас нет, Вы можете заключить договор с фирмой типа нашей. Это договор типа "скорая помощь" или "горячая линия". У Вас проблема - Вы снимаете трубку и - либо немедленно получаете рекомендации (если случай простой), либо в течение 24 часов к Вам прибывает специалист и ликвидирует проблему. Стоит это не очень дорого, но в первые два-три месяца я Вам это очень рекомендую. Кстати, мы в компьютерном центре, помимо собственно обучения, практикуем и такую услугу: Вы прямо у нас можете решать свою задачу (особенно первую) на нашем компьютере и обеспечиваться консультациями немедленно. Например, Вы вместо недельного курса по электронным таблицам заказываете двухнедельный или трех-четырехнедельный и, изучив таблицы за первую неделю, в оставшиеся уже реально работаете.
Во-вторых, программист может помочь Вам сделать то, что для Вас пока сложно. Например, в базе данных Вы постоянно выполняете некоторую последовательность действий - простую, но рутинную. Стоит Вам один раз показать ее программисту, он запишет ее в виде программы, и Вы сможете выполнять ее нажатием пары клавиш. При этом программист абсолютно не вникал в суть Вашей задачи. Следовательно, Вы, делая задачу сами, будете поручать программисту лишь некоторые куски, которые не требуют профессиональных знаний, но требуют программистских.
И, наконец, в-третьих, Вы вообще можете использовать ваши электронные таблицы и базы данных не столько как средство решения задачи, сколько как средство общения с программистом.
Скажем, пока мне бухгалтер растолковывает суть нового налога на бумаге, я понимаю ее с трудом. Но, сев с ней за компьютер и составив электронную таблицу (а еще лучше, если она составит эту таблицу сама), я могу не утруждать себя особым пониманием сути: я напишу в программе то же, что и в таблице, и это будет именно то, что надо. Вот на этом и основывается метод макетного проектирования, который хорошо сочетается с пошаговой детализацией: на каждом этапе разработки сначала формируется (пользователем программистом) макет - таблицы и базы данных, а затем этот макет программист реализует в виде программы. При этом сохраняются преимущества первого подхода (большая эффективность и удобства), но и в значительной степени снимается проблема испорченного телефона.
Итак, мы разобрали четыре подхода. Какой лучше? В зависимости от ситуации. Если задача достаточно проста, решайте ее сами. Если задача достаточно стандартна, ищите готовую программу. Иначе привлекайте программистов, причем лучше всего, если Вы будете работать при помощи макетов (но эту технику знают пока единицы), или, на худой конец, пошаговой детализацией (с этим знакомы многие), ну, а если нет другого выхода, составляйте ТЗ и идите традиционным путем.
В заключение несколько слов о психологических проблемах компьютеризации. Начальники Ваши действуют, скорее всего, по-большевистски:
они объявили, что с внедрением компьютеров половина сотрудников будет уволена;
они намерены старый мир разрушить до основанья и автоматизировать абсолютно все, начиная с самых сложных операций;
они загнали на курсы по компьютерной грамотности поголовно всех, пусть даже компьютер у вас один на несколько сот человек.
В этом случае вас ждет крах. Растратив деньги на предприимчивых бандюг, сломавшись на большой задаче, Вы надолго получите идиосинкразию на слово "компьютер".
На самом деле все не так:
Увольнения если и будут, то из-за общего наступления рыночной экономики, когда разбухшие штаты лягут тяжким грузом на цену и, в конечном счете, подорвут позиции вашей фирмы в конкурентной борьбе. Но в этом случае, если у вашего начальника есть хоть одна извилина в голове, он будет оставлять тех, кто способен обеспечить большую производительность труда. А значит, тех, кто умеет работать с компьютером. И, даже если вас все же сократили, то, зная компьютер, вы скорее найдете работу. Не верите - посмотрите на Запад, где все срочно переучиваются.
Начинать надо с простых задач, чтобы накопить опыт и почувствовать уверенность в своих силах. Компьютерное дело - это целый мир, и входить в него надо постепенно.
Не стоит загонять на обучение всех подряд, тем более насильно. Тут я, конечно пилю сук, на котором сижу, поскольку основной мой доход - от обучения, и договоры на большое количество обучаемых мне крайне выгодны, но - кошелек мой друг, а истина дороже: через групповые курсы типа "Основы информатики", то есть обзорные, действительно, нужно прогонять как можно больше народа, но собственно обучение конкретным программам, индивидуальное, нужно проводить строго добровольно, причем начинать их только тогда, когда компьютер уже стоит на рабочем месте (от учебы "загодя" толку мало: конкретные операции быстро забываются), и, что самое главное, на такую учебу направлять лидеров, то есть людей, которые восприимчивы к новому, инициативны. Таких лидеров должно быть не больше, чем количество компьютеров, умноженное на два, чтобы каждый их них проводил за машиной хотя бы часа четыре в день. А вот потом, когда окружающие увидят, что такой же, как они, овладев компьютером, делает на нем чудеса, и когда эти окружающие скажут себе: а я что, рыжий, что ли? - вот тогда они и созрели для компьютеризации, вот тогда и их можно посылать на обучение.
Опубликовано: Компьютер куплен. Что
дальше?
© Алексей Бабий 1993