Типы программного обеспечения
В программном обеспечении компьютера есть необходимая часть, без которой на нем просто ничего не сделать. Она называется системным ПО . Покупатель приобретает компьютер, оснащенный системным программным обеспечением, которое не менее важно для работы компьютера, чем память или процессор. Кроме системного ПОв состав программного обеспечения компьютера входят еще прикладные программы и системы программирования .
Программное обеспечение компьютера делится на:
Системное ПО;
Сервисное ПО,
- прикладное ПО;
- системы программирования.
К системным относятся прежде всего операционные системы и программы, входящие в состав операционной системы (например, драйвера для различных устройств компьютера (от английского слова "drive" - управлять), т.е. программы, управляющие работой устройств: драйвера для сканера, принтера и т.д.). Кроме операционных систем еще относятся обслуживающее программное обеспечение (их ещё называют сервисные или утилиты, от английского слова "utilize" - использовать) для обслуживания дисков, архиваторы, антивирусные программы и т.д.
Сервисное программное обеспечение - это совокупность программных продуктов, предоставляющих пользователю дополнительные услуги в работе с компьютером и расширяющих возможности операционных систем. По функциональным возможностям сервисные средства можно подразделить на средства:
- улучшающие пользовательский интерфейс;
- защищающие данные от разрушения и несанкционированного доступа;
- восстанавливающие данные;
- ускоряющие обмен данными между диском и ОЗУ:
- средства архивации и разархивации;
- антивирусные средства.
Программы, с помощью которых пользователь может решать свои информационные задачи, не прибегая к программированию, называются прикладными программами.
Как правило, все пользователи предпочитают иметь набор прикладных программ, который нужен практически каждому. Их называют программами общего назначения . К их числу относятся:
Текстовые и графические редакторы, с помощью которых можно готовить различные тексты, создавать рисунки, строить чертежи; проще говоря, писать, чертить, рисовать;
Системы управления базами данных (СУБД), позволяющие превратить компьютер в справочник по любой теме;
Табличные процессоры, позволяющие организовывать очень распространенные на практике табличные расчеты;
Коммуникационные (сетевые) программы, предназначенные для обмена информацией с другими компьютерами, объединенными с данным в компьютерную сеть.
Кроме того, имеется большое количество прикладных программ специального назначения для профессиональной деятельности. Их часто называют пакетами прикладных программ. Это, например, бухгалтерские программы, производящие начисления заработной платы и другие расчеты, которые делаются в бухгалтериях; системы автоматизированного проектирования, которые помогают конструкторам разрабатывать проекты различных технических устройств; пакеты, позволяющие решать сложные математические задачи без составления программ; обучающие программы по разным школьным предметам и многое другое.
Комплекс средств, включающих в себя входной язык программирования, транслятор, машинный язык, библиотеки стандартных программ, средства отладки оттранслированных программ и компоновки их в единое целое, называется системой программирования . В системе программирования транслятор переводит программу, написанную на входном языке программирования, на язык машинных команд конкретной ЭВМ.
26. Операционная система компьютера (назначение, состав, загрузка).
Все разнообразие программ, используемых на современных компьютере называется программным обеспечением.
Операционная система является базовой и необходимой составляющей программного обеспечения компьютера, без нее компьютер не может работать в принципе.
Операционная система – это программа , котораяобеспечивает совместное функционирование всех устройств компьютера и предоставляет пользователю доступ к его ресурсам.
На сегодняшний день наиболее известными операционными системами для IBM-совместимых персональных компьютеров являются семейства операционных систем MicrosoftWindows и Linux.
ОСНОВНЫЕ ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ:
Осуществлениедиалога с пользователем;
Ввод-вывод и управление данными;
Планирование и организация процесса обработки программ;
Распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);
Запускпрограммнавыполнение;
Всевозможныевспомогательныеоперацииобслуживания;
Передача информации между различными внутренними устройствами;
Программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).
Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером.
Управление файловой системой. Процесс работы компьютера в определенном смысле сводится к обмену файлами между устройствами. В операционной системе имеются программные модули, управляющие файловой системой .
Командный процессор - специальная программа, которая запрашивает у пользователя команды и выполняет их.
Драйверы устройств - специальные программы, которые обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют производить настройку некоторых параметров устройств.
Графический интерфейс – это оболочка, позволяющая осуществлять взаимодействие человека с компьютером в форме диалога с использованием окон, меню и элементов управления (диалоговых панелей, кнопок и так далее) . В операционных системах с графическим интерфейсом пользователь может вводить команды с помощью мыши, тогда как в режиме командной строки необходимо вводить команды с помощью клавиатуры.
Сервисные программы. В состав операционной системы входят также сервисные программы , или утилиты . Такие программы позволяют обслуживать диски (проверять, сжимать, дефрагментировать и так далее), выполнять операции с файлами (архивировать и так далее), работать в компьютерных сетях и так далее.
Справочная система. Для удобства пользователя в состав операционной системы обычно входит также справочная система . Справочная система позволяет оперативно получить необходимую информацию как о функционировании операционной системы в целом, так и о работе ее отдельных модулей.
Файлы операционной системы хранятся во внешней долговременной памяти компьютера.(на жестком, гибком или лазерном диске). Однако программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы операционной системы необходимо загрузить в оперативную память. Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным.Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки ОС - это BIOS (BasicInput/OutputSystem - базовая система ввода/вывода).
После включения питания процессор начинает выполнение программы самотестирования компьютера POST (Power-ONSelfTest). Производится тестирование работоспособности процессора, памяти и других аппаратных средств компьютера процессора, видеоадаптера, оперативной памяти, дисководов, контроллеров жестких дисков и клавиатуры. В случае обнаружения неисправностей выдаются диагностические сообщения в виде различных последовательностей коротких и длинных звуковых сигналов или в виде текстовых сообщений. После успешной инициализации видеоплаты краткие диагностические сообщения выводятся на экран монитора.
После проведения самотестирования специальная программа в BIOS, начинает поиск загрузчика ОС. Происходит поочередное обращение к имеющимся дискам и поиск в первом загрузочном секторе диска специальной программы MasterBoot (программы-загрузчика ОС).
Если диск системный и программа-загрузчик оказывается на месте, то она загружается в оперативную память и ей передается управление работой компьютера. Программа ищет файлы операционной системы на системном диске и загружает их в оперативную память в качестве программных модулей. Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение "Nonsystemdisk", загрузка операционной системы прекращается и компьютер остается неработоспособным.
27. Файлы. Имя файла. Файловая система. Основные операции с файлами.
Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.
Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.
Имя файла. Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип.
<имя файла>.<расширение>
Собственно имя файлу дает пользователь, а расширение задается программой автоматически при его создании.
Таблица 1. Типы файлов и расширений
В различных операционных системах существуют различные форматы имен файлов. В операционной системе MS-DOS собственно имя файла должно содержать не более 8 букв латинского алфавита, цифр и некоторых специальных знаков, а расширение состоит из трех латинских букв, например: proba.txt
В операционной системе Windows имя файла может иметь длину до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.doc
Правила создания имени файла:
Нельзя использовать следующие символы, которые зарезервированы для специальных функций: ? : * / \ “ >< |
Есть специальные зарезервированные слова, именами которых назвать папку не получится. ОС Windows не позволяет этого сделать. Дело в том, что до Windows существовала ОС DOS. В ней использовались системные папки со следующими именами: PRN, AUX, CLOCK$, NUL, COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8,COM9,LPT0,LPT1, LPT2,LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, CON
Файловая система - это функциональная часть операционной системы, обеспечивающая выполнение операций над файлами. Файловая система позволяет работать с файлами и директориями (каталогами) независимо от их содержимого, размера, типа и т. д.
Файловая система определяет общую структуру именования, хранения и организации файлов в операционной системе.
Функции файловой системы:
- Сохранение информации на внешних носителях
- Чтение информации из файлов
- Удаление файлов, каталогов
- Переименование файлов
- Копирование файлов и др.
Для дисков с небольшим количеством файлов (до нескольких десятков) может использоваться одноуровневая файловая система , когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов. Такой каталог можно сравнить с оглавлением детской книжки, которое содержит только названия отдельных рассказов.
Если на диске хранятся сотни и тысячи файлов, то для удобства поиска используется многоуровневая иерархическая файловая система , которая имеет древовидную структуру. Начальный, корневой каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из последних может содержать вложенные каталоги 2-го уровня и так далее. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.
Путь к файлу . Для того чтобы найти файл в иерархической файловой структуре, необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель "\" логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых содержится нужный файл.
Путь к файлу вместе с именем файла называют иногда полным именем файла .
Операции над файлами. В процессе работы на компьютере наиболее часто над файлами производятся следующие операции:
- копирование (копия файла помещается в другой каталог);
- перемещение (сам файл перемещается в другой каталог);
- удаление (запись о файле удаляется из каталога);
- переименование (изменяется имя файла).
Графический интерфейс Windows позволяет проводить операции над файлами с помощью мыши с использованием метода Drag&Drop (перетащи и оставь). Существуют также специализированные приложения для работы с файлами, так называемые файловые менеджеры : NortonCommander, TotalCommander, Проводник и др.
В некоторых случаях возникает необходимость работать с интерфейсом командной строки. В Windows предусмотрен режим работы с интерфейсом командной строки MS-DOS.
28. Компьютерные вирусы: методы распространения, профилактика заражения.
Компью́терныйви́рус - разновидность компьютерных программ или вредоносный код, отличительным признаком которых является способность к размножению (саморепликация). В дополнение к этому вирусы могут без ведома пользователя выполнять прочие произвольные действия, в том числе наносящие вред пользователю и/или компьютеру.
Даже если автор вируса не программировал вредоносных эффектов, вирус может приводить к сбоям компьютера из-за ошибок, неучтённых тонкостей взаимодействия с операционной системой и другими программами. Кроме того, вирусы обычно занимают некоторое место на накопителях информации и отбирают некоторые другие ресурсы системы. Поэтому вирусы относят к вредоносным программам.
Вирусы распространяются, копируя свое тело и обеспечивая его последующее исполнение: внедряя себя в исполняемый код других программ, заменяя собой другие программы, прописываясь в автозапуск и другое. Вирусом или его носителем могут быть не только программы, содержащие машинный код, но и любая информация, содержащая автоматически исполняемые команды - например, пакетные файлы и документы MicrosoftWord и Excel, содержащие макросы. Кроме того, для проникновения на компьютер вирус может использовать уязвимости в популярном программном обеспечении (например, AdobeFlash, InternetExplorer,Outlook), для чего распространители внедряют его в обычные данные (картинки, тексты и т.д.
Вирусы распространяются через дискеты (устар.), флеш-накопители, электронную почту, системы обмена мгновенными сообщениями, веб-страницы, интернет и локальные сети (черви).
Основные типы компьютерных вирусов:
Программные (файловые): инфицируют исполняемые файла компьютера, имеющие расширения com и exe. К этому же классу относятся и макровирусы, написанные помощью макрокоманд. Они заражают неисполняемые файлы (например, в текстовом редакторе MSWord или в электронных таблицах MSExcel).
Загрузочные вирусы внедряются в загрузочный сектор диска (Boot – сектор) или в сектор, содержащий программу загрузки системного диска (MasterBootRecord – MBR). Некоторые вирусы записывают свое тело в свободные сектора диска, помечая их в FAT – таблице как “плохие” (Badcluster).
Макровирусы поражают документы, выполненные в некоторых прикладных программах (например, Word). Заражение происходит при открытии файла документа в окне программы
Сетевые вирусы распространяются по различным компьютерным сетям.
Глава 5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ
Выше было выяснено, что компьютер выполняет любые действия по программам, написанным человеком. Сам по себе, по собственной, так сказать, инициативе, компьютер никогда никаких действий выполнить не в состоянии. Можно сказать, что компьютер без программы подобен автомобилю без водителя и горючего. Поэтому наличие программ не менее важно, чем наличие компьютера. В настоящее время программы, которые необходимы для нормального функционирования ЭВМ, могут многократно превосходить по стоимости её аппаратные средства. Для обозначения множества программ для ЭВМ используется термин программное обеспечение (ПО) ЭВМ.
i |
Программным обеспечением называется совокупность программ, которые могут выполняться на компьютере данной модели, включающая комплекты сопровождающей их технической, программной документации.
В этом определении следует выделить два момента. Во-первых, разные модели вычислительных машин обладают различной архитектурой, различными способами кодирования информации, различными системами команд. Поэтому программы, подготовленные к выполнению на компьютере одной модели, скорее всего, невозможно будет выполнить на компьютере другой модели. Таким образом, следует говорить о программном обеспечении данной конкретной модели либо семейства программно-совместимых машин. Во-вторых, вместе с программой приобретается и комплекс технической документации, в котором описываются назначение и основные возможности программы, технические требования к аппаратным средствам компьютера (необходимый объем оперативной и внешней памяти, наличие специального оборудования и т.д.), способы установки программы на компьютере и способы управления программой. Иногда описание программы и способов работы с нею может занимать сотни страниц текста. Если документация к программе отсутствует, то работать с программой очень и очень сложно, а иногда и вообще невозможно. Заметим, однако, что достаточно часто в программах предусматривается встроенная справочная система, обращаться к которой можно непосредственно во время выполнения программы. Такая справочная система обычно содержит всю необходимую для управления программой информацию. Иногда ее называют Help системой (help - помощь).
Стандартным для большинства программ является вызов встроенной справочной системы с помощью функциональной клавиши F1.
Совокупность всех программных средств, используемых на компьютере, достаточно часто называют software (software -программное обеспечение, soft - мягкий, ware - продукция), а совокупность аппаратных средств - hardware (hardware - аппаратные средства, hard - твердый). На любом конкретном компьютере имеется конкретный набор аппаратных и программных средств, которые образует его ресурсы . С течением времени ресурсы компьютера могут изменяться, увеличиваясь или уменьшаясь.
Группа взаимосвязанных программ, обеспечивающих выполнение родственных функций по обработке информации, вместе с необходимыми для этого наборами вспомогательных данных называетсяпакетом программ, илипрограммной системой.
i |
Программа, или пакет программ, разрабатываемый с целью массового тиражирования, называется программным продуктом .
Пакеты программ распространяются через торговую сеть, специальных распространителей программных продуктов или через глобальные компьютерные сети. В настоящее время применяются следующие способы распространения программных продуктов: коммерческий, shareware - частично оплачиваемый или условно-бесплатный (share - доля, часть, ware - изделие), freeware - бесплатный (free - свободный) и trial - пробный (trial - испытание). Коммерческие пакеты приобретаются за их полную стоимость, а условно-бесплатные - за небольшую, иногда символическую цену после бесплатного испытательного срока. В течение этого срока пользователь обычно работает с неполным пакетом. И если программа ему подходит, то после оплаты обусловленной суммы пользователь получает полный комплект пакета и все юридические права на его использование. Пробные (trial) пакеты распространяются их разработчиками бесплатно с целью тестирования и обкатки, а бесплатные (freeware) - в рамках проведения определенной рекламной или торговой политики. Приобретая программу через торговую сеть или у специализированных распространителей, покупатель получает все юридические права по ее использованию. При приобретении программы у легальных распространителей покупатель получает вместе с пакетом сертификат или лицензию на определенные права по использованию пакета. Нелегальные распространители не выдают таких документов. Бесплатное приобретение коммерческих и условно-бесплатных программ путем копирования (нелицензионное , нелегальное, пиратское копирование )является нарушением авторских прав разработчика программы и преследуется по закону.
Чаще всего пакеты программ реализуются в виде так называемого дистрибутива (distribute - распространять, раздавать), который представляет собой программы пакета и необходимые вспомогательные данные, записанные в специальной форме на гибких или оптических дисках. В комплекте с легальным дистрибутивом всегда поставляются необходимая программная документация, а также лицензия на право использования приобретенной программы.
Необходимо помнить, что выполнение программы, представленной в виде дистрибутива, невозможно.
Для приведения пакета или программы в рабочее состояние необходимо выполнить процедуру установки ,инсталляции (install - установка), то есть развертывания, приведения программ и данных в работоспособное состояние по правилам, изложенным в сопровождающей документации. Коммерческие дистрибутивные пакеты часто защищаются от копирования, а для их развертывания необходимо знать специальный код, позволяющий выполнить установку только законному владельцу пакета.
По мере использования программных продуктов на практике выявляются их недостатки, неиспользованные возможности и, возможно, ошибки, не замеченные на стадии разработки. Фирмы-производители учитывают всю поступающую к ним подобного рода информацию и, по возможности, вносят в получивший признание продукт соответствующие изменения. Эти изменения проявляются в виде появления новых модификаций и версий существующего программного продукта.
Версия представляет собой пакет программ, в который внесены существенные изменениями, добавлены принципиально новые функции, используется иная организация программы, данных или применяются новые способы взаимодействия пользователя с программой.
Как правило, новые модификации и версии имеют то же самое название, какое имел и исходный продукт. Однако справа от названия такого измененного продукта появляется определенный признак модификации. Например, одна из наиболее простых и популярных в свое время операционных систем (программа, обеспечивающая эффективную работу аппаратуры и выполнение некоторых других функций) для IBM–совместимых персональных компьютеров называется MS DOS (MicroSoft Disk Operation Sistem - дисковая операционная система, разработка фирмы Microsoft). За время существования выпущено несколько версий и модификаций этой операционной системы - MS DOS v1.0, MS DOS v3.0, MS DOS v3.3, MS DOS v5.0, MS DOS v5.5, MS DOS v6.0, MS DOS v6.2, MS DOS v6.22. Букву «v» (version - версия) в названии программного продукта обычно опускают и пишут, например, MS DOS 6.22. Иногда какую-либо группу версий или модификаций одной и той же программы или операционной системы называют семейством и в обозначение версии вводят букву «х», которая заменяет несовпадающие цифры обозначений. Так, группа версий MS DOS v6.0, MS DOS v6.2, MS DOS v6.22 считается семейством MS DOS 6.x.
Общих правил обозначения модификации и версий не существует. Однако в большинстве случаев появление новых модификаций отражают увеличением номера после десятичной точки. Так, MS DOS 6.0, MS DOS 6.2 и MS DOS 6.22 - разные модификации, не очень значительно отличающиеся друг от друга. Появление новой версии отмечают увеличением номера перед десятичной точкой. Например, MS DOS 3.0, MS DOS 5.0 и MS DOS 6.0 - различные версии одной и той операционной системы, существенно отличающиеся по своим возможностям. Как правило, все возможности младших (предшествующих) версий доступны их старшим (последующим) версиям. Обратите внимание! Более старшей считается версия, имеющая больший номер, но по «возрасту» она, конечно, «моложе». Кроме описанного выше номерного обозначения версий в последнее время достаточно часто используется указание в названии года выпуска продукта или буквенного обозначения. Например, у операционной системы Windows (windows - окно) к моменту написания пособия существовали версии Windows 95, Windows 98 и Windows ME (Millennium Edition - издание тысячелетия), которые были выпущены соответственно в 1995, 1998 и 2000 годах.
СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. В настоящее время в программном обеспечении принято выделять следующие группы: системное, инструментальное и прикладное программное обеспечение.
i |
Системное программное обеспечение служит для обеспечения эффективной работы аппаратуры компьютера.
Программы этой группы автоматизируют подавляющее большинство вспомогательной работы с аппаратными средствами, которую приходится выполнять при использовании всевозможных компьютерных технологий для обработки данных. К группе системных программ относятся операционные системы, операционные оболочки, архиваторы, антивирусные программы и т.д. Разрабатываются, настраиваются и поддерживаются в рабочем состоянии такие программы системными программистами . Они должны обладать высокой квалификацией, в деталях знать аппаратные средства компьютера и способы работы с данными на машинном уровне. Заметим, что обычному, рядовому пользователю приходится постоянно сталкиваться с системными программами, но уже с точки зрения их эксплуатации, использования их возможностей для решения своих задач. С некоторыми программами этой группы мы познакомимся в следующих главах пособия.
i |
Инструментальное программное обеспечение применяется для разработки всевозможных пакетов программ, применяемых в самых разных областях деятельности человека.
В группу инструментальных программ входят: трансляторыс различных алгоритмических языков, осуществляющие перевод текста программы на машинный язык; связывающие редакторы , позволяющие объединять отдельные части программ в единое целое; отладчики , с помощью которых обнаруживаются и устраняются ошибки, допущенные при написании программы; интегрированные среды разработчиков , объединяющие указанные выше компоненты в единую, удобную для разработки программ систему. Инструментальное программное обеспечение - это разновидность орудий труда для другой категории специалистов, так называемых прикладных программистов . Прикладные программисты должны не только хорошо знать приемы и способы обработки данных и уметь разрабатывать программы. Они должны хорошо ориентироваться или достаточно быстро осваиваться в различных конкретных областях применения информационных технологий - в инженерных дисциплинах, математике, физике, издательском деле, бухгалтерии, медицине и т.д. Конечным пользователям сталкиваться с программами этой группы, как правило, не приходится. Однако они должны, хотя бы отдаленно, представлять себе ситуацию и при необходимости найти общий язык с профессиональным программистом для решения собственных задач обработки данных.
i |
Прикладное программное обеспечение обеспечивает решение задач в различных конкретных областях применения компьютерных систем обработки данных.
Прикладное программное обеспечение является конечной целью деятельности прикладных программистов и одновременно орудием труда конечных пользователей. Напомним, что конечным пользователемсчитается лицо, использующее вычислительную технику для получения нужной информации, для решения конкретной задачи в той или иной предметной области или в каких–либо иных целях. При этом специалист в своей конкретной области деятельности не должен одновременно являться специалистом в области средств обработки данных, он не должен уметь программировать . Однако он должен знать основные способы и приемы работы с компьютером, назначение и основные возможности системных и, особенно, прикладных программ в своей проблемной области.
i |
Прикладная программа, или приложение, - это программа, предназначенная для решения задачи или класса задач в конкретной области применения информационных технологий обработки данных. Конкретную область применения информационных технологий принято называть проблемной областью .
Ниже перечислены некоторые основные разновидности прикладных программ.
* Всевозможные текстовые редакторы : Лексикон, Word, WordPerfect, Tex и многие другие. Текстовые редакторы используются для подготовки и изготовления различного рода печатных документов - справок, отчетов, ведомостей, статей. Наиболее мощные из текстовых редакторов в знак, так сказать, уважения к их возможностям иногда называюттекстовыми процессорами. Особыми разновидностями текстовых редакторов являются издательские системы , служащие для подготовки к тиражированию газет, журналов, рекламных буклетов, проспектов, книг. В качестве примеров издательских систем можно указать популярные системы PageMaker и Ventura Publisher.
* Графические редакторы, с помощью которых разрабатываются разнообразные рисунки, чертежи, графики, диаграммы, иллюстрации, в том числе и трехмерные изображения. В качестве примеров графических редакторов можно указать Paint, Corel Draw, PhotoShop, 3DStudioMAX.
* Электронные таблицы представляют собойэлектронный аналог обычных таблиц, с помощью которых осуществляется автоматическая обработка больших массивов текстовой и числовой информации. Возьмем, например, задачу учета отработанного времени или выполненных работ сотрудниками какого-либо подразделения. Исходные данные для решения этой задачи удобно оформлять в виде таблицы соответствующей структуры. В такой таблице можно отражать не только фактически выполненный объем работ. В нее можно вводить данные, связанные с различными коэффициентами сложности, участия, премирования, квалификационные разряды, должностные оклады, поразрядные ставки и т.д. Затем с помощью средств электронной таблицы можно автоматизировать расчет зарплат, премий, производить различного рода статистические подсчеты, формировать по данным, сосредоточенным в таблице, ведомости на зарплату, статистические отчеты, справки. Основное преимущество электронных таблиц в том, что при внесении любых корректировок в исходные данные таблицы можно произвести автоматический пересчет всего комплекса документов, подготовленных на её базе. К электронным таблицам относятся такие широко распространенные программы, как Lotus, SuperCalc, Excel, Quattro Pro и ряд других. Электронные таблицы применяют в своей профессиональной деятельности руководители предприятий, управленческие и плановые работники разного уровня, бухгалтеры, социологи и т.д.
* Базы данных - программные системы, используемые для хранения сведений об одном или нескольких объектах, ихсвойствах и взаимосвязях. Объекты, сведения о которых сосредотачиваются в базах данных, могут быть одушевлёнными и неодушевленными предметами реального мира, идеальными объектами, скажем, историческими событиями и т.д. Базы данных могут хранить информацию о десятках и сотнях тысяч различных объектов. Основное преимущество использования баз данных - это быстрота и эффективность выбора из них нужной информации. Причем время получения информации мало зависит от общего объёма сведений, хранящихся в базе. Представьте только себе, сколько времени приходится тратить людям на поиск нужных сведений в традиционных словарях и справочниках, выпущенных на бумажном носителе, например, в телефонных справочниках, библиографических каталогах, юридических справочниках (Гражданский, Уголовный кодекс) и т.д. Использование их электронных аналогов - баз данных - позволяет до минимума сократить время поиска. Мало того, базы данных предоставляют возможность выбирать данные из их общего хранилища различным пользователям с различными запросами и критериями поиска. Скажем, в библиографической базе данных можно организовать поиск всех произведений данного автора, всей литературы на данную тему, произведений, в названии которых имеется заданное слово, а также по многим другим признакам. Для разработки баз данных, первичного заполнения информацией и поддержания данных в актуальном состоянии (то есть, соответствующем текущему, реальному состоянию предметной области) служат инструментальные пакеты программ, называемые системами управления базами данных (СУБД). В настоящее время наибольшей популярностью пользуются СУБД Access, FoxPro, Paradox, Informix, Oracle и ряд других.
* Интегрированные системы объединяют в своем составе компоненты, аналогичные упомянутым выше специализированным пакетам, обеспечивая единый стиль взаимодействия со всеми составляющими пакета, а также удобный и эффективный способ передачи информации между различными его компонентами. Например, можно с помощью электронной таблицы накопить массив числовых данных и передать этот массив графическому редактору. С его помощью построить график, круговую, столбчатую или объёмную диаграмму и передать её в качестве иллюстрации в текстовый редактор для подготовки аналитического отчета. Это гораздо удобнее, чем пользоваться отдельными специализированными пакетами. Однако надо помнить, что по своим функциональным возможностям отдельные компоненты интегрированных систем значительно уступают своим специализированным аналогам.
Ярким примером интегрированных пакетов является Microsoft Office - один из лучших в мире офисных пакетов. В его состав входит мощный текстовый редактор MS Word, электронная таблица MS Excel, система управления базами данных MS Access, личный информационный менеджер Outlook, программа подготовки презентаций Power Point и некоторые другие компоненты. Все программы пакета имеют единый интерфейс и единый механизм обмена данными, поэтому документ можно создавать, используя несколько инструментов пакета.
* Системы документооборота различных предприятий и организаций, содержащие инструменты планирования и управления, автоматизации финансово-хозяйственной деятельности, учета выпускаемой продукции, подготовки различного рода отчетов, канцелярского документооборота, ведения деловой переписки и т.д. В качестве примеров можно указать пакеты отечественной разработки «СКАТ», «Парус», «Евфрат».
* Бухгалтерские программы позволяют существенно автоматизировать работу бухгалтерий самых различных предприятий и организаций. Самым популярным в нашей стране в настоящее время считается пакет «1С: Бухгалтерия», который обеспечивает выполнение всех видов бухгалтерских расчетов в комплексе.
* Корректоры - программы, обеспечивающие проверку правописания в любых тестах, документах, отчетах. Например, отечественные пакеты «ОРФО», «Пропись» содержат свыше ста тысяч слов и словосочетаний, а также практически все современные правила переноса, орфографии и пунктуации.
* Переводчики и электронные словари - программы, с помощью которых можно осуществлять автоматизированный перевод текстов с одного языка на другой. Например, пакет «Lingua Match Correspondent» обеспечивает ведение деловой переписки на шести языках. Популярными программами-переводчиками в настоящее время считаются пакеты «Stylus», «Socrat» и электронный словарь «МультилексПро», содержащий свыше двух миллионов русских и английских слов.
* Образовательные, обучающие программы и мультимедийные энциклопедии. Пакетыобразовательных программ обеспечивают индивидуальное обучение и проверку качества обучения по самым разным предметам: математике, иностранным языкам, химии, биологии. Имеется большое число дошкольных развивающих программ. В энциклопедиях представлены мир искусства, животный и растительный миры Земли, медицина и кулинария.
* Игровые и развлекательные пакеты представлены огромным числом различных игр для самых разных возрастов, а также музыкальными и видеозаписями.
Контрольные вопросы
Дайте определение понятию «программное обеспечение».
Каким образом можно узнать назначение, основные возможности и способы управления программами?
Что понимается под терминами software и hardware?
Что относится к ресурсам компьютера?
Дайте определение понятиям: «пакет программ», «программная система», «программный продукт».
Каким образом распространяются пакеты программ?
Чем отличается модификация программы от её версии?
Дайте классификацию программного обеспечения.
Для чего нужно системное программное обеспечение? Назовите основные программы, относящиеся к системному программному обеспечению.
Для чего используется инструментальное программное обеспечение? Назовите основные инструментальные программы.
Дайте определение понятиям «прикладная программа» и «приложение».
Для чего используются текстовые и графические редакторы. Приведите примеры редакторов.
Для чего используются электронные таблицы?
Что такое базы данных? Приведите примеры баз данных.
Для чего нужны СУБД?
В чем основная особенность интегрированных систем?
Охарактеризуйте пакет Microsoft Office.
Опишите известные Вам пакеты прикладных программ.
Каждый день, запуская персональный компьютер, ноутбук или телефон, мы сталкиваемся с программами, которые нас обслуживают. Причем, если не задумываться, то кажется, что использование программного обеспечения начинается в тот момент, когда мы запускаем ярлык на рабочем столе. Однако это далеко не так.
База
Давайте разберёмся, что такое программное обеспечение. По сути, оно представляет собой совокупность команд и программного кода, заключенного в графическую оболочку - интерфейс. Вот только интерфейс бывает разный и зависит непосредственно от приложения и его назначения.
Любое программное обеспечение состоит из файлов, в которых прописаны процедуры и функции, которым следует программа при исполнении.
Одной из первых моделей программного обеспечения стала так называемая машина Тьюринга. В 1935 году Алан Тьюринг сформулировал математическую модель, согласно которой некая абстрактная машина, должна была переходить из одного состояния в другое, выполняя элементарные команды из фиксированного набора.
Начнем разбор вопроса о том, что такое программное обеспечение, с его классификации.
Операционная система
Изначально можно выделить различные классы программного обеспечения. Первым и самым основным нужно назвать системное ПО. Интерфейсы, программы и коды без которых невозможно работать на компьютере или другой технике, использующей какую либо программную среду. Это самое необходимое программное обеспечение в вашем персональном компьютере.
В этом классе можно выделить два важных подраздела:
- Базовое программное обеспечение. Оно включает в себя все виды операционных систем, независимо от того, являются ли они официальными или пиратскими, запускаются ли на них общедоступные приложения или исключительно 1-2 прикладные программы, для которых и создавалась эта программная среда. Также к этой группе можно отнести различные эмуляторы и виртуальные машины, позволяющие имитировать различные программные среды.
- Отдельной группой стоит сервисное программное обеспечение. Как понятно из названия, оно создано для обслуживания операционной системы и её защиты. К ним можно отнести поисковые системы, антивирусы, а также средства диагностики и устранения неполадок в вашем ПК.
Само по себе, системное ПО - это совокупность различных программ и сред, предназначенных для поддержки работы персонального компьютера и компьютерных сетей. Разработка программного обеспечения этого типа представляет собой долгий и кропотливый процесс, поскольку от него будет зависеть работоспособность рабочего места. Системное ПО выполняет следующие задачи:
- создание среды для функционирования прикладных программ;
- поддержка работы ПК и сети;
- диагностирование и проведение профилактики сбоев ПК и ЛВС;
- проведение дополнительных поддерживающих операций, таких как архивирование, форматирование, дефрагментация и другие.
Для компьютера
Другое знание, дающее нам возможность разобраться, что такое программное обеспечение, это понимание того, чем разрабатывается ПО. Для этого процесса используется - инструментальное ПО, то есть комплекс программных и аппаратных средств, служащих для написания и компилирования системного кода прикладных утилит.
В инструментальном ПО можно выделить три подгруппы:
- языки и системы программирования;
- интегрированные среды программирования;
- программные комплексы.
Существует великое множество языков программирования, и все они делятся на подгруппы по принципу ориентированности - по сфере решаемых задач готового продукта.
Нельзя не сказать несколько слов и о том, что такое машинно-ориентированные языки программирования. Они служат для написания программного обеспечения не для конечного пользователя, а для создания поддерживающего программного кода непосредственно для аппаратуры. Эти языки позволяют учитывать уникальность архитектуры и принципов работы конкретной ЭВМ или, например, рабочего станка на заводе, не работающего под распространёнными операционными системами.
Для пользователя
Машинно-независимые языки программирования исполняют функцию написания программных кодов, а также прикладных программ для готовых оболочек и операционных систем.
- Процедурно-ориентированные языки программирования - это специализированное программное обеспечение. Примеры - Паскаль (Pascal), Бэйсик (Basic). Эти простейшие языки программирования служат для написания элементарных прикладных программ, функций и процедур. А также, для описания алгоритмов решения поставленных задач.
- Проблемно-ориентированные языки - позволяют решать задачи в более узких конкретных областях программирования, их примерами можно назвать - Лисп, АПЛ.
- Объектно-ориентированные языки - более современные и удобные средства для создания прикладных приложений и создающие различные виды программного обеспечения для конечного пользователя. Главной их особенностью является возможность делать готовые элементы приложения, такие как диалоговые окна, поля для заполнения, кнопки. Для иллюстрации можно назвать такие языки, как С++ и Visual Basic.
С чем мы работаем
Последним классом является прикладное программное обеспечения. Если вы внимательно читали статью, то уже должны были догадаться, что это ничто иное, как те программы, приложения и игры, с которыми мы имеем дело в повседневной жизни. Но даже такое простейшее понятие специалисты подразделяют на подклассы.
- Пожалуй, самая распространённая категория приложений - это мультимедиа. Т. е. программы воспроизведения видео, аудио, игры. Всё то, что служит для развлечения конечного пользователя. Таким образом, одно из величайших изобретений человечества из рабочего научного инструмента превратилось в средство развлечения широкой публики.
- Информационно-поисковое ПО. Как понимаете, это различные браузеры и клиенты интернет-технологии, предназначенные для получения информации из мировой сети.
- Общего назначения. Это виды программного обеспечения, используемого в обычной жизни исключительно по необходимости. Это графические и текстовые редакторы, почтовые сервисы, базы данных.
- Проблемно-ориентированное. Например, экспертные системы или системы аудио- и видеоконференций.
- Программные среды профессионального уровня. Это бухгалтерские и педагогические системы, системы контроля управления доступа.
Наглядный пример
Узнав, что такое программное обеспечение, рассмотрим некоторые реальные примеры программ и приложений, с которыми мы можем столкнуться в реальной жизни.
- 1C Бухгалтерия. Яркий пример профессионального ПО, служащего для работы с бухгалтерией, правовой областью и ещё множеством поддерживаемых и смежных областей.
- Microsof Office Word. Самый понятный и доступный пример ПО общего назначения. Практически каждый в своей жизни запускал этот пакет программ для составления резюме, реферата или отчета.
- Microsof Office Access. Простейшая реализация базы данных, также являющееся ПО общего назначения.
- О категории мультимедиа слышали все. Это всем известный Windows Media Player, способный проигрывать как аудио-, так и видеофайлы.
- Photoshop - очередной пример ПО общего назначения. Являясь профессиональным графическим редактором, используемым во многих полиграфических фирмах, также относится к программной среде профессионального уровня.
- Если говорить о ПО общего назначения, то с ним сталкивался каждый человек, хоть раз запускавший компьютер. Это всем известный Windows.
Всё это - очень распространённое программное обеспечение. Примеры других программ приводить не имеет смысла. В наше время, когда разработкой приложений может заняться даже ребёнок, скачать любое из них по своему вкусу, на замену известным брендам, может каждый пользователь.
Инсталляция
Установка программного обеспечения в большинстве случаев не вызовет затруднений у обычного пользователя. Большинство приложений, которыми мы пользуемся в повседневной жизни, специально ориентированы на непосвященного пользователя. В готовую программу вшивается специальный модуль - инсталлятор.
Когда вы вставляете диск с ПО в дисковод, происходит автозапуск программы установки. Переходя по диалоговым окнам, вы выбираете путь на жестком диске, куда будет установлено ПО. Если это поддерживающее обеспечение для вашей операционной системы, то оно будет автоматически установлено в необходимую папку.
Некоторое ПО, например необходимое для разработки приложений, не требует установки. Запускается рабочий ярлык в папке программы, а вслед за ним и средство разработки.
Установка программного обеспечения для некоторых аппаратных средств ПК, таких как материнская плата или БИОС, может потребовать специальных навыков и профессиональных знаний, поэтому не стесняйтесь в таких случаях вызывать специалиста.
Творение
Разработка программного обеспечения проходит в несколько этапов.
- Начальная стадия - это этап появления и реализации идеи. Создание дизайна будущего приложения, а также его функционала.
- Альфа-тестирование - процесс внутреннего тестирования. Его и добавление каких-либо функций проводят внутри ограниченного круга людей, обычно разработчиков или близких к ним людей.
- Бета-тестирование проводят среди потребителей по решению производителя. Это процесс отладки программы.
- Релиз-кандидат. Программа, прошедшая все стадии тестирования, с найденными и исправленными критическими ошибками. Практически готовое приложение к релизу.
- И, наконец, релиз. Готовый к выпуску и тиражированию продукт.
- Последний этап, который продолжает длиться после выпуска - программная поддержка и сопровождение приложения.
Выводы
Итак, как вы теперь понимаете, разработка и использование программного обеспечения, является неотделимой частью нашей повседневной жизни. Казалось бы, совершая простейшие действия за персональным компьютером, мы каждый день сталкиваемся с самым различным ПО, созданным путём кропотливой работы специалистов специально для пользователей. Классификация программ и приложений настолько широка, что невозможно с точностью сказать, с чем вы сейчас работаете.
Техническое задание на разработку программы «______________» к Договору №___ 1. Введение 1. Введение 1.1. Наименование программы Наименование программы: «АСУ «______________»» 1.2. Назначение и область применения Программа предназначена для автоматизации обработки данных клиентов кафе/бара. Она оперирует следующими данными:
2.1. Требования к функциональным характеристикам Программа должна обеспечивать возможность выполнения перечисленных ниже функций:
2.2.1 Требования к обеспечению надежного функционирования программы Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:
Время восстановления после отказа, вызванного сбоем электропитания технических средств (иными внешними факторами), не фатальным сбоем (не крахом) операционной системы, не должно превышать 30-ти минут при условии соблюдения условий эксплуатации технических и программных средств. Время восстановления после отказа, вызванного неисправностью технических средств, фатальным сбоем (крахом) операционной системы, не должно превышать времени, требуемого на устранение неисправностей технических средств и переустановки программных средств. Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой. 3.1. Требования к квалификации и численности персонала Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 1 штатной единицы - оператор ПК. В перечень задач, выполняемых оператором ПК, должны входить:
3.2. Требования к составу и параметрам технических средств
3.3.1. Требования к информационным структурам и методам решения Программное обеспечение представляет из себя самостоятельное исполняемое приложение. Формат базы данных совместим с ADO.Пользователи работают с базой данных через системный интерфейс. 3.3.3. Требования к исходным кодам и языкам программирования Дополнительные требования не предъявляются. Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows XP. Требования к защите информации и программ не предъявляются. 3.5. Специальные требования Специальные требования не предъявляются. 4.1. Предварительный состав программной документации Состав программной документации должен включать в себя:
5.1. Экономические преимущества разработки Программа является бесплатным продуктом, финансовые средства не затрачиваются, и преимуществом является ускорение автоматизации обработки данных клиентов кафе/бара 6.1. Стадии разработки Разработка должна быть проведена в три стадии:
На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания. На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:
На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы. На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:
На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:
На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию на объектах Заказчика. 7.1. Виды испытаний:
7.2. Требования к приемке работы При приёмке необходимо проверить соблюдение следующих условий:
|
Техническое задание на разработку дизайн проекта помещения. Информация | Техническое задание на разработку проектной документации для строительства зоопарка Положения В границах земельного участка ул. Подлесная, шоссе Космонавтов, ул. Малкова, Дзержинского района г. Перми |
||
Техническое задание на разработку интернет-сайта структура документа Информационная система, предоставляющая пользователям сети Интернет доступ к своему содержимому и функционалу в виде упорядоченного… |
Техническое задание на разработку веб-сайта «Объединение Российских Художников Аэрографии» Основной html контейнер, в который вставляются информационные блоки, должен быть полностью доступен для редактирования. Желательно… |
||
Техническое задание на создание автоматизированной системы «Корпоративное хранилище данных» Гост 34. 602-89 Техническое задание на создание автоматизированной системы (пример) |
2. Техническое задание на разработку ис В данном курсовом проекте приведен процесс выдачи пенсионного страхового свидетельства. Разработанная система предназначена для упрощения… |
||
Техническое задание на разработку сайта журнала Настоящее тз представляет… Сайт моделируется с учетом ограничений современных систем контент-менеджмента (открытых WordPress, Joomla, LiveStreet и им подобных… |
Программа демонстрации алгоритмов обхода графов Данное техническое задание регламентирует разработку учебного программного продукта предназначенного, для наглядного представления… |
||
Техническое задание включает в себя: наименование разработки, основание… Технико-рабочий проект: описание предметной области (объектная модель), управление объектами (события, диаграмма взаимодействия),… |
Проектирование программных средств Этап проектирования подразумевает разработку архитектуры, разработку данных и процедурную разработку программных средств |
Технические требования к системе
Технический облик изделия
Теория решения изобретательских задач — это советская методика сильного мышления, получившая широкое как в России, так и в мире. Она позволяет глубоко проанализировать проблему и найти эффективное решение.
Работа над ТРИЗ была начата Генрихом Сауловичем Альшуллером и его соратниками в 1946 году.
Разработка программы: пример технического задания
В 1956 году вышла первая публикация про то, что техника развивается по определенным законам. Чтобы эффективно изобретать, нужно эти законы выявить и эффективно применять
Со временем ТРИЗ развился в большой набор инструментов, помогающие решать ряд актуальных задать:
— создавать новые прорывные продукты,
— повышать потребительские свойства имеющихся решений,
— снижать себестоимость,
— обходить патенты конкурентов.
Ведущие мировые компании, такие как Samsung, Intel, Procter&Gambel, General Electric и другие используют ТРИЗ в своих R&D центрах.
Термины
Для исключения спорных моментов и недопонимания важно пользоваться одинаковым понятийным аппаратом. Для этого мы составили перечень наиболее часто используемых терминов и сокращений.
Когда речь заходит о разработке технической документации для программного обеспечения, чаще всего мы думаем, пожалуй, о таком документе, как Техническое задание (ТЗ). Почему так происходит?
Назначение технического задания
Во-первых, техническое задание – это, как правило, основной документ в рамках проектной документации. Именно в ТЗ описываются все основные требования на разработку программного обеспечения, будь то создание либо простенькой программы или сайта, либо же разработка крупномасштабной информационной системы или программно-аппаратного комплекса. Причем, говоря языком ГОСТов, техническое задание может разрабатываться как в рамках эскизного проекта (это когда только описание функций и структуры системы без рассмотрения технологий реализации решения), так и в дальнейшем «перекочевать» в технический проект (более детальное описание с учетом выбранных технологий).
Во-вторых, техническое задание может быть как поверхностным (например, общеконцептуальное ТЗ, предназначенное для инвесторов проекта), так и более детальным (например, подробное ТЗ для программиста). Посмотрите раздел Проекты, там как раз приведены примеры различных ТЗ. Вы можете выбрать любой уровень детализации – мы подготовим для вас ТЗ любой сложности по доступным ценам.
В-третьих, в некоторых случаях можно обойтись только подготовкой одного технического задания для описания разрабатываемой системы. Разумеется, в этом случае качество разрабатываемого ТЗ играет ключевую роль, поэтому здесь явно не стоит экономить и лучше доверить разработку такого ТЗ профессионалам, имеющим большой опыт в этом деле. Скупой платит дважды, но в случае провала разработки ПО по причине некачественной документации – вдесятеро, а иногда и еще на несколько порядков выше.
Состав типового технического задания
Давайте рассмотрим, что же включает в себя типовое ТЗ.
Техническое задание программного обеспечения оказалось поверхностным?
Итак, техническое задание, вне зависимости от выбранного ГОСТа, всегда включает следующие основные сведения по разрабатываемому ПО:
1) наименование
– полное и краткое названия, условное обозначение разрабатываемого ПО;
2) назначение
– то, для чего, в какой области и с какой целью разрабатывается ПО;
3) основание для разработки
– документы, на основании которых производится разработка ПО;
4) функции
– перечень и описание функций разрабатываемого ПО;
5) структура
– описание архитектуры и компонентов разрабатываемого ПО;
6) пользовательский интерфейс
– в современном мире обязателен;
7) надежность, безопасность, условия эксплуатации
и проч. важные требования;
8) документация
– какая документация, в каком объеме и в соответствии с какими требованиями ГОСТов будет также разработана;
9) стадии и этапы разработки
– что и в какой последовательности разрабатывается;
10) порядок контроля и приемка
– как именно будет происходить сдача разработанного ПО Заказчику.
Стандарты для технического задания
Существует несколько ГОСТов, регламентирующих разработку ТЗ в нашей области: это ГОСТ 34.602 (автоматизированные системы) и ГОСТ 19.201 (программное обеспечение). Документы, выполненные по этим стандартам, значительно отличаются как по наполнению, так и по содержанию. Оба стандарта представлены на нашем корпоративном портале в разделе Библиотека, вы можете самостоятельно ознакомиться с ними более подробно.
Стоимость разработки технического задания
В целом, составление ТЗ – это достаточно сложная и ответственная задача, но грамотно составленное техническое задание – это уже половина успеха разрабатываемого проекта. Поэтому в процессе разработки ТЗ на ПО вы должны проявить максимальную внимательность и осведомленность в технических и организационных вопросах. Либо можете заказать у нас разработку технического задания «под ключ» прямо сейчас.
Возможно, вас также заинтересует:
– разработка программы и методики испытаний;
– создание пояснительной записки к эскизному и техническому проекту;
– этапы разработки документации.
Написание технического задания — один из первых этапов работы над проектом. Он предваряет разработку самой системы. В техническом задании мы описываем предметную область, существующую инфраструктуру Заказчика, требования к создаваемому функционалу, а также нефункциональные требования. Получившийся документ необходим как бизнес-пользователю для того, чтобы он убедился в том, что все его пожелания к будущей системе учтены, так и нам, чтобы оценить стоимость разработки системы.
Стоит отметить, что в повседневной аналитической работе мы стараемся избегать термина «Техническое задание». Этот термин слишком перегружен смыслами и часто неясно, что за ним стоит. Мы используем термины «Бизнес-требования» (BRD — Business requirements document), «Функциональные требования» (FRD – Functional requirements document) и Технико-архитектурные требования (TAD – Technical Architecture document). Однако здесь, чтобы не усложнять описание, мы будем использовать именно термин «Техническое задание». Документ, который мы в большинстве случаев используем для взаимодействия с заказчиками состоит на 70% — из бизнес-требований, на 20% из функциональных требований и только на 10% — из технико-архитектурных требований. Конечно, эта пропорция варьируется в зависимости от специфики и технической сложности системы.
Главным фактором успеха при разработке технического задания является правильно выстроенная коммуникация с заказчиком. Ведь задача аналитиков состоит в том чтобы фактически произвести операцию brain-dump, и результаты расположить на бумаге в структурированном виде. При этом очень важно (1) разговаривать с заказчиком на одном языке, чтобы тому не приходилось разжевывать очевидные для специалиста понятия предметной области и (2) уметь правильно слушать.
Приведем ниже принципы, которыми мы руководствуемся при написании технического задания, и проиллюстрируем их выдержками из разработанного нами технического задания на многокомпонентную систему баннерной рекламы для крупной Интернет-компании.
Структура технического задания
Каждое техническое задание содержит несколько обязательных разделов. В них определяется назначение документа, терминология, общий контекст проекта. Обычно первая часть документа выглядит так:
Class="fs-13">
Если в начале документа даётся общая, концептуальная информация о разрабатываемой системе, то во второй, основной части документа, детально прописываются бизнес-требования и существенные для оценки стоимости разработки функциональные требования к системе.
В разделе «Терминология» технического задания на баннерную систему мы определяем такие понятия как Показы, Клики, CTR, Охват, Частота контакта, Файл бронирования и т.п, а в разделе «Общий контекст» — описываем основные бизнес-процессы компании-заказчика, относящиеся к размещению баннерной рекламы, а также — системное окружение, текущие роли менеджеров компании и права доступа. Стоит отметить, что в данном конкретном случае система строилась не на пустом месте. Ранее менеджеры компании использовали другую, отличную от нашей, систему размещения баннерной рекламы. В противном случае — анализ ролей и прав доступа был бы скорее всего вынесен в отдельную главу.
class="fs-13">
7. Система размещения баннеров
8.
Взаимодействие с биллингом
9. Banner Engine
10. Техническое описание компонента Banner Engine
class="fs-13">
Самый объемный раздел описываемого нами технического задания – «Система размещения баннеров»; он посвящён ядру разрабатываемой системы и содержит все требования непосредственно к системе управления рекламными местами.
Учитывая специфику данного проекта, мы посвятили отдельный раздел взаимодействию баннерки с биллинговой системой. Также в отдельный раздел мы выделили требования к достаточно независимой компоненте сбора и отображения статистической информации, которая является для заказчиков рекламных кампаний и менеджеров рекламных агентств едва ли не основным компонентом системы.
Отдельный раздел технического задания описывает требования к компоненту Banner Engine, отвечающему за показ баннеров, учёт статистики, её обработку и сохранение в виде, пригодном для дальнейшего анализа и построения отчетов.
Это – технически самый сложный и самый высоконагруженный компонент баннерной системы. В ТЗ мы включили раздел, содержащий некоторые технические и архитектурные детали, связанные с работой Banner Engine. Прежде всего, это позволяет минимизировать риски при оценке стоимости разработки системы, ведь в зависимости от выбранной архитектуры трудоемкость может отличаться в разы.
Каждое техническое задание отличается по размеру, числу иллюстраций, количеству версий. Для примера, документ на баннерку представлен на 44 страницах и содержит 15 иллюстраций. Процесс подготовки этого документа занял около месяца и включал около 8 итераций с заказчиком.
class="fs-13">
Бизнес vs Функциональные требования
В техническом задании регистрируются как бизнес-требования к системе, так и функциональные требования:
— Бизнес-требования представляют собой описание того, ЧТО должна делать система на языке бизнес-пользователя. Бизнес-требования, в частности должны быть понятны руководителю, не имеющему технической подготовки и опыта.
— Функциональные требования представляют собой описание того, КАК те или иные действия осуществляются в системе. На этапе разработки технического задания функциональные требования обычно фиксируются только для наиболее сложных блоков проекта.
Углубление в сложные зоны позволяет снизить риски при последующей оценке проекта. Обычно функциональные требования включают блок-схемы, диаграммы состояний, потоковые диаграммы, и дополняются макетами наиболее сложных экранов.
Пример бизнес-требования:
«Для рекламной кампании важно максимально точно отслеживать лимит показов, чтобы избежать финансовых потерь, связанных с показом баннеров сверх оплаченного лимита. Помимо этого, возникает задача ограничить показ одного баннера одному пользователю, например — не больше N раз в день».
«Для решения этой задачи [какой – см. выше] предполагается использовать внешний сервис, к которому баннерные сервера будут обращаться при каждом показе баннера. Поскольку данный сервис является точкой отказа, баннерные сервера должны корректно обрабатывать ситуацию когда внешний сервис недоступен или отвечает с задержками».
Обычно мы включаем
Техническое задание содержит описание ролей и основных пользовательских сценариев в разрабатываемой системе.
Правильное техническое задание на разработку программного обеспечения – секрет успешного проекта
Роль: Администратор
Пример функционального требования:
«После добавления новой площадки в системе, администратор должен создать связанные с ней рекламные места. При создании рекламного места должны указываться площадка, тип места, поддерживаемый формат баннеров, размер, частота показов (для статических мест).После создания рекламного места оно становится доступным для менеджеров, размещающих рекламу.
Техническое задание содержит требования к интеграции разрабатываемой системы с другими внешними и внутренними системами, используемыми заказчиком.
В контексте технического задания на баннерную систему, это – интеграция с системами управления сайтом компании, биллинга, аутентификации и хранения данных пользователей.
«Система баннерной рекламы связана с тремя внешними модулями, функционирующими в окружении компании: системой управления сайтом компании, системой биллинга и системой аутентификации и хранения данных пользователей». Каждый показ баннера сопровождается запросом от системы управления сайтом к баннерной системе. Эти системы, кроме того, используют общие идентификаторы площадок и рекламных мест, а также согласованные имена параметров таргетирования».
В техническое задание мы обычно включаем глоссарий, разъясняющий значения специальных терминов, используемых в документе. Очень важно точно определить значение терминов, которые в дальнейшем используются в документе.
«Размещение (единица размещения, строка медиаплана) – это сущность, объединяющая баннер, который необходимо показывать, рекламное место, на котором будет показан баннер, а также правила показа. Правила показа определяют период размещения, параметры таргетирования, лимиты размещения, веса и т.п. Фактически, все рекламные кампании состоят из размещений».
Частота контакта – количество уникальных пользователей, посмотревших рекламный баннер определенное число раз. Например, частота контакта 5 – количество уникальных пользователей, каждый из которых посмотрел данный рекламный баннер не менее 5 раз. Частота контакта 1 = Охват.
Основные принципы
При написании ТЗ мы стараемся максимально использовать графические материалы для наглядного и сжатого представления информации. Одна диаграмма зачастую в состоянии заменить несколько страниц текста. В данном контексте, мы видим своей целью т.н. рисование ТЗ, т.е. представление всех более-менее сложных фрагментов системы в графическом виде и использование текста в качестве комментариев к графическим материалам.
У руководителей предприятий обычно нет времени на изучение многостраничных технических требований. Просмотр изображений даёт наглядное представление об основных характеристиках разрабатываемой системы. Как следствие, улучшается коммуникация между бизнес-пользователем и нами и растет качество самих требований.
Cледующая схема, иллюстрирующая структуру рекламных кампаний и взаимосвязь между основными понятиями в рамках рекламных кампаний, сэкономила нам несколько страниц текста.
По необходимости, мы используем в ТЗ прототипы избранных экранов системы (functional wireframes), которые, не являясь окончательными, демонстрируют базовый блок функциональности пользовательского интерфейса.
Вот такой прототип экрана редактирования рекламной кампании был включен в ТЗ на систему баннерной рекламы.
Прототипы, уже на стадии разработки, дают заказчику понять, как именно будет выглядеть интерфейс системы.
Требования должны быть написаны «живым человеческим» языком , понятным бизнес-пользователю в т.ч. руководителю высшего звена, не обладающему техническими навыками; в них должен содержаться минимум технической терминологии. Чем быстрее пользователь «вникнет» в содержания технического задания, тем более эффективно будет выстраиваться наше с ним общение.
Опыт в предметной области
Большое значение при создании технического задания имеет опыт разработки похожих систем. Он помогает быстрее вникать в бизнес-процессы и потребности заказчика, делать «по аналогии» многие вещи, которые ранее казались бы нам сложными. Накопленный опыт в области управленческих бизнес-систем, крупных интернет-проектов, финансовых систем, e-commerce систем позволяет нам применять свои знания в отношении каждого последующего проекта, которым мы занимаемся. До того, как получить заказ на систему баннерной рекламы, упомянутую выше, мы уже занимались разработкой нескольких баннерных систем. Мы хорошо знали, как работают баннерки, знали характерную терминологию этой предметной области. На основании нашего опыта работы с другими баннерными системами, мы предложили заказчику довольно много упрощений, оригинальных решений, не только в сфере технологий, но и бизнеса.
Поиск Лекций
Техническое задание на объект
При проектировании технического объекта важное место занимает разработка технической и технологической документации: техническое задание (ТЗ) и технические условия (ТУ).
Техническое задание — это основной исходный документ для разработки продукции, содержащий технико-экономические требования к продукции, определяющие ее потребительские свойства и эффективность применения, перечень документов требующих совместного рассмотрения, порядок сдачи и приемки результатов разработки. Техническое задание на проектирование разрабатывается на основании ГОСТ 15.001-88 и оформляют в соответствии с общими требованиями к текстовым конструкторским документам по ГОСТ 2.105-68.
В качестве технического задания допускается также использовать любой документ (контракт, протокол, эскиз, образец продукции и др.), содержащий необходимые и достаточные требования для разработки и признанный заказчиком и разработчиком.
Утвержденное техническое задание является документом, которым разработчики должны руководствоваться на всех этапах создания системы и проектирования задач. Изменения, вносимые в техническое задание, должны оформляться протоколом, являющимся частью технического задания. Протокол должен утверждаться заказчиком.
При разработке технического задания следует:
· установить общую цель создания технической системы;
· установить общие требования к проектируемой системе;
· определить этапы создания системы и сроки их выполнения;
· провести предварительный расчет затрат на создание системы.
Техническое задание должно содержать следующие разделы:
1) наименование и область применения;
2) код изделия;
3) основания для разработки;
4) цель и технико-экономическое обоснование;
5) источники для разработки;
6) этапы разработки и запуска производства;
7) технические требования.
В зависимости от назначения разрабатываемых средств измерений, условий их изготовления и эксплуатации допускается изменять структуру технического задания, объединяя отдельные разделы и вводя новые.
В разделе Основание для разработки указывают наименование документа (документов), которым предусмотрена данная разработка, организацию, утвердившую этот документ, и дату его утверждения, наименование и шифр темы разработки.
Основанием для разработки является маркетинговые исследования и выход нового стандарта.
В разделе «Цель и технико-экономическое обоснование разработки» указывают:
1. Конкретное функциональное назначение объекта – для снижения токсичности автомобиля.
Техническое задание на разработку программы
Наличие отечественных и зарубежных аналогов и возможность или целесообразность их применения по данному назначению – на рынке присутствуют зарубежные аналоги, но их стоимость и отечественные аналоги.
3. Предполагаемую потребность в данных объектах у потребителей – данный объект необходим потребителю для соблюдения норм стандарта и сохранения здоровья людей и окружающей среды.
В разделе «Источники разработки» приводят перечень научно-исследовательских и других работ, результаты которых используют в данной разработке, а также перечень образцов или макетов, на базе которых выполняют разработку.
В разделе «Этапы разработки» указывают необходимые этапы работ и ориентировочные сроки их выполнения, состав и ориентировочные сроки представления конструкторской технологической документации на метрологическую экспертизу и организацию, которая ее проводит.
Основываясь на этапы жизненного цикла продукции разрабатываем этапы разработки и запуска в производство.
Основные этапы разработки: маркетинговые исследование; разработка ТЗ; — проектирование объекта; испытание; подготовка производства; запуск в производство.
На первой стадии проектирования производится выбор (или разработка) принципиальной схемы объекта. С этой целью на основании справочных данных, рекомендаций и стандартов формируется ряд вариантов объектов – аналогов, в той или иной степени отвечающих требованиям ТЗ. Далее в случае необходимости производится доработка принципиальных схем объектов – аналогов. Если варианты объектов – аналогов не найдены, переходят к процедуре синтеза вариантов объектов, еще не встречавшиеся в практике машиностроения. При это, как уже отмечалось, максимально используются стандартные элементы и узлы.
Следующая стадия проектирования – конструктивное оформление основных элементов и построение математических моделей функционирования приспособления. Последняя стадия проектирования- окончательное конструкторское оформление принятых решений, выполнение чертежей и текстовой части в соответствии с требованиями ЕСКД .
После успешных испытаний, для заказчика проекта, на основе требований технического задания и стандартов, касающихся данного вида продукции, с учетом результатов испытаний разрабатывается техническое условие на приспособление, которое включает в себя:
1.Технические требования
2. Требования безопасности
3. Требования охраны окружающей среды
4. Правила приемки
5. Методы контроля
6. Транспортирование и хранение
7. Указание по эксплуатации
8. Гарантии изготовителя
9. Утилизация
На основе разработанных документов можно приступать к непосредственному проектированию объекта.
Программное обеспечение (ПО, software) представляет собой набор специальных программ, позволяющих организовать обработку информации с использованием ПК.
Поскольку без ПО функционирование ПК невозможно в принципе, оно является неотъемлемой составной частью любого ПК и поставляется вместе с его аппаратной частью (hardware ).
Программа – полное и точное описание последовательности действий (инструкций) компьютера по обработке информации, написанное на языке, понятном компьютеру.
Программное обеспечение (ПО) – совокупность специальных программ, облегчающих процесс подготовки задач к выполнению на ЭВМ и организующих прохождение их через машину, а также процедур, описаний, инструкций и правил вместе со всей связанной с этими компонентами документацией, используемых при эксплуатации вычислительной системы.
Обрабатывают информацию, управляют работой компьютера программы , а не устройства.
Новинки программного обеспечения уже давно доминируют над новыми аппаратными разработками. Комплект ПО по стоимости превосходит (иногда в несколько раз) стоимость компьютера адекватного класса.
Для эффективного использования компьютера должно соблюдаться соответствие между уровнем развития вычислительной техники и программного обеспечения. С одной стороны, ПО определяет функциональные возможности компьютера. С другой, установка конкретного ПО может быть ограничена конструктивными особенностями компьютера.
Назначение ПО:
- обеспечение работоспособности компьютера;
- облегчение взаимодействия пользователя с компьютером;
- сокращение цикла от постановки задачи до получения результата;
- повышение эффективности использования ресурсов компьютера.
Программное обеспечение позволяет:
- усовершенствовать организацию работы вычислительной системы с целью максимального использования ее возможностей;
- повысить производительность и качество труда пользователя;
- адаптировать программы пользователя к ресурсам конкретной вычислительной системы;
- расширить ПО вычислительной системы.
Максимальное использование возможностей вычислительной системы достигается, во-первых , за счет выделения каждому пользователю или задаче минимально необходимых ресурсов для своевременного и качественного решения его задач, во-вторых , за счет подключения к ресурсам вычислительной системы большого числа пользователей (в том числе и удаленных), в-третьих , путем перераспределения ресурсов между различными пользователями и задачами в зависимости от состояния системы и запросов на обработку.
Повышение производительности и качества труда пользователей происходит за счет автоматизации процедур расчетного и оформительского характера, реализуемых с помощью разнообразных средств программирования (алгоритмических языком, пакетов прикладных программ) и удобных устройств ввода-вывода информации.
Адаптируемость программ пользователя к ресурсам конкретной вычислительной системы обеспечивается тем, что операционная система содержит средство обслуживания большого диапазона машинных конфигураций. Кроме того, операционная система позволяет создавать и легко настраивать существующие программы на различные устройства ввода-вывода.
Расширение существующего ПО предполагает наличие следующих возможностей:
- создание пользователем собственных программ и пакетов, реализующих как конкретные расчетные задачи, так и процессы управления отдельными устройствами и всей вычислительной системой в целом;
- дополнение существующего ПО программами, позволяющими расширять возможности операционной системы, работать с новыми типами внешних устройств, новыми вычислительными системами (компьютерами), в новых областях применения.
ПО ориентировано на использование вычислительных систем в различных сферах деятельности и должно обеспечивать своевременное и адекватное поставленным задачам решение. Это вызывает необходимость соблюдения ряда требований при разработке компонентов ПО , основными из которых являются:
- модульность;
- наращиваемость и развитие;
- надежность;
- предсказуемость;
- удобство и эргономичность;
- гибкость;
- эффективность;
- совместимость.
Основные принципы разработки современного программного обеспечения:
- параметрическая универсальность;
- функциональная избыточность;
- функциональная избирательность.
Программы на компьютер можно установить двумя способами:
- Инсталляцией с дистрибутива
- Простым копированием
Первый (низший) уровень иерархии занимает внутреннее программное обеспечение ПЭВМ, сохраняемое в ее постоянной памяти. С его помощью ПЭВМ выполняет основные функции, определяемые аппаратной структурой. Программы внутреннего ПО работают непосредственно с аппаратными модулями компьютера. Вследствие этого они функционально связаны с ними и при замене определенного аппаратного модуля требуется заменить и программу внутреннего ПО, предназначенную для работы с ним.
Программы, обслуживающие аппаратные модули, называются драйверными программами или драйверами . Они позволяют при замене или подключении нового аппаратного модуля не производить изменений в других программах ПЭВМ, а только сменить драйвер соответствующего аппаратного модуля.
Внутреннее ПО представляет собой программный интерфейс, обеспечивающий взаимосвязь работы компьютера со всеми остальными программами. Доступ к программам внутреннего ПО производится только через систему программных прерываний.
Внутреннее ПО выполняет следующие основные функции:
- управляет широким набором периферийных устройств;
- осуществляет быструю проверку работоспособности ПЭВМ при ее включении;
- устанавливает отдельные аппаратные модули в исходное состояние;
- загружает программы ОС.
Основными элементами внутреннего ПО служат драйверы ввода-вывода, программа самопроверки и программа первоначальной загрузки . Внутреннее ПО взаимодействует, с одной стороны, с функциональными модулями ПЭВМ, а с другой стороны, реализует программный интерфейс операционной системы.
Программа самопроверки предназначена для проверки функциональных модулей ПЭВМ, т.е. установки схем компьютера в начальное состояние путем загрузки программных регистров необходимой информацией. При проверке отдельных функциональных модулей ПЭВМ в них могут быть обнаружены неисправности. Программа самопроверки сообщает пользователю об обнаруженных неисправностях с помощью сообщений на экране и (или) звукового сигнала.
При обнаружении ошибки проверку компьютера можно продолжить с помощью диагностических программ, загружаемых с дискеты. Если ошибка не нарушает работоспособности ПЭВМ, то по желанию пользователя ею можно пренебречь. Если в состав ПЭВМ включается новый функциональный модуль, то к общей программе самопроверки добавляется программа самопроверки данного модуля.
При успешном завершении самопроверки ПЭВМ готова к работе. Управление через программное прерывание передается программе начальной загрузки. Эта программа предназначена для считывания в оперативную память остальных компонентов операционной системы. При успешном выполнении этой операции управление передается только что считанной программе.
Драйверы ввода-вывода используются для обслуживания периферийных устройств ПЭВМ. Эти программы работают непосредственно с соответствующими контроллерами, что позволяет пользователю не знать физической организации конкретного устройства и работать только с командами драйвера, реализующими его обслуживание.
Драйверы имеют следующие особенности:
- открытую структуру, что позволяет добавлять в систему новые драйверы;
- гибкость организации доступа к драйверам через программные прерывания, что позволяет не фиксировать их в строго определенных областях памяти, быстро и легко их заменять;
- настраиваемую структуру, ориентирующую драйверные программы на определенный класс периферийных устройств, параметры которых размещены в специальных таблицах. Драйверы настраиваются на конкретные периферийные устройства при помощи изменений значений в этих таблицах;
- резидентное размещение в оперативной памяти, позволяющее использовать драйвер в любой момент времени из любой программы.
К основным драйверным программам относятся: драйвер жесткого диска, драйвер видеоадаптера, драйвер клавиатуры, драйвер печатающего устройства, системные драйверы (установка таймера, проверка конфигурации компьютера, определение емкости ОЗУ), дополнительные драйверы (драйвер связи и др.).
Операционная система занимает второй (средний) уровень иерархии ПО. Она управляет ресурсами компьютерной системы, к которым относятся оперативная и внешняя память, устройства ввода-вывода и программы пользователя. ОС взаимодействует с компьютером через интерфейс внутреннего ПО. Это дает возможность ПЭВМ, имеющим аппаратные различия, работать с одной и той же операционной системой.
ОС представляет собой набор программ управления ПЭВМ.
Состав ПО определяется кругом задач, которые пользователь предполагает решать с помощью компьютера.
По назначению, т.е. в зависимости от класса решаемых задач, ПО обычно разделяют на две основные группы: Общее (базовое) и прикладное.
Классификация программного обеспечения по функциональному назначению
Схема общей классификации ПО
– совокупность программ, обеспечивающих работоспособность компьютера; комплекс программ, которые осуществляют организацию вычислительного процесса и управление ресурсами компьютера.
– совокупность программных средств, позволяющих разрабатывать программы.
– совокупность программ, предназначенных для решения задач из различных сфер человеческой деятельности.