Программное обеспечение: примеры. Разработка программного обеспечения. Общие требования к приемке работы. Какое программное обеспечение используется на Losst

Техническое задание на разработку программы
"10-Страйк: Инвентаризация Компьютеров" для учета компьютеров сети предприятия "

1. Введение

1.1. Наименование программы

2. Требования к программе

2.2. Требования к надежности

2.2.1. Требования к обеспечению надежного функционирования программы

2.2.3. Отказы из-за некорректных действий пользователей системы 3. Условия эксплуатации
3.1. Климатические условия эксплуатации
3.2. Требования к квалификации и численности персонала
3.3. Требования к составу и параметрам технических средств
3.4. Требования к информационной и программной совместимости
3.4.1. Требования к информационным структурам и методам решения
3.4.2. Требования к исходным кодам и языкам программирования
3.4.3. Требования к программным средствам, используемым программой
3.4.4. Требования к защите информации и программ
3.5. Специальные требования
4. Требования к программной документации
4.1. Предварительный состав программной документации
5. Технико-экономические показатели
5.1. Экономические преимущества разработки
6. Стадии и этапы разработки
6.1. Стадии разработки
6.2. Этапы разработки
6.3. Содержание работ по этапам
7. Порядок контроля и приемки
7.1. Виды испытаний

1. Введение

1.1. Наименование программы

Наименование программы: "10-Страйк: Инвентаризация Компьютеров" для учета компьютеров сети предприятия "

1.2. Назначение и область применения

Программа "10-Страйк: Инвентаризация Компьютеров " предназначена для инвентаризации компьютеров в локальных сетях, она позволяет администраторам сетей создать и вести базу данных инвентаризации и учета компьютеров, комплектующих, программ и лицензий с возможностью просмотра и отслеживания конфигурации удаленных компьютеров. Также она позволяет вести учет аппаратного и программного обеспечения на них.

И c полнители:

C оисполнители:нет

2. Требования к программе

2.1. Требования к функциональным характеристикам

Программа должна обеспечивать возможность выполнения перечисленных ниже основных функций:

1) Сбор информации в организации с любой структурой

1.1.Получение информации по различным группам данных (более 50) аппаратного и программного обеспечения;

1.2.Сбор информации с локального и удалённых компьютеров и смартфонов под управлением Windows (WMI, NetBios, реестр), Linux и MacOS (по SSH), Android (SSH);

1.3.Три способа сбора информации: , , .

Гибкая настройка сбора информации с компьютеров без прав администратора и компьютеров без сети, а также для компьютеров из удаленных филиалов и мобильных компьютеров сотрудников, находящихся в командировках.

2. Подготовка отчетности

2.1. Ведение базы данных компьютеров с созданием собственных полей по учёту данных о пользователе и инвентаризации;

    1. Создание различных отчётов (более 70 шаблонов отчетов в форматах pdf, html, doc, xml (xls), xls, txt) по состоянию аппаратного и программного обеспечения в сети;

3. Оповещение об изменениях и обнаруженных проблемах

3.1.Контроль изменений аппаратного и программного обеспечения на компьютерах сети;

3.2.Оповещение об изменениях в конфигурациях на компьютерах;

3.3.Оповещение об обнаруженных проблемах (мало места на жестком диске, истекает действие лицензионного ключа);

    1. Ведение диагностики S.M.A.R.T., определение состояния здоровья жестких дисков;

4. Учет приложений и лицензий

4.1.Учет лицензионной информации, учет закупок лицензионного ПО, обнаружение проблем, связанных с лицензионной политикой;

4.2.Менеджер приложений. Ведение черного и белого списков ПО, запрещенного и разрешенного. Отчеты по установкам ПО;

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

2.2. Требования к надежности

2.2.1 Требования к обеспечению надежного функционирования программы

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:

а) организацией бесперебойного питания технических средств;

б) использованием лицензионного программного обеспечения;

в) регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;
г) регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов

2.2.2. Время восстановления после отказа

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

2.2.3. Отказы из-за некорректных действий пользователей системы

Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой через Веб интерфейс недопустимы.

3. Условия эксплуатации

3.1. Климатические условия эксплуатации

Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации.

3.2. Требования к квалификации и численности персонала

С программой могут работать несколько администраторов c разграничением прав доступа.

При этом, первый пользователь, запустивший программу, получает полный доступ к базе. Остальные пользователи будут работать в режиме "только чтение" и при запуске программы получат оповещение с именем компьютера, заблокировавшего доступ. В таком режиме они могут просматривать и искать информацию, создавать отчёты, но не обновлять базу данных (аналогично работает, например, MS Word при открытии файлов по сети)

В перечень задач, выполняемых администратором, также могут входить:

а) задача поддержания работоспособности технических средств;

б)задачи установки (инсталляции) и поддержания работоспособности системных программных средств - операционной системы;

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

д)выявление соответствия лицензионных ключей и серийных номеров программных продуктов,

е)выявление пользователей, нарушающих лицензионное соглашение, а также ведение учёта лицензий;

ж) добавление компьютеров из диапазона IP адресов и др;

3.3. Требования к составу и параметрам технических средств

Особых требований к составу и параметрам технических средств не предъявляется.

Успешно работает с базой более 10000 компьютеров.

3.4. Требования к информационной и программной совместимости

3.4.1. Требования к информационным структурам и методам решения

При использовании для сбора информации с компьютеров и проведения инвентаризации, программа устанавливается только на компьютер администратора и не требует установки программ на компьютерах пользователей . Процесс сбора данных ведется в фоновом режиме, параллельно опрашиваются несколько компьютеров одновременно, освобождая время на просмотр данных и подготовку отчетов. Опрос ведется по протоколам WMI и SSH, позволяя опрашивать Windows, Linux и MacOS компьютеры, а также Android-устройства.

Импорт структуры организации осуществляется из Active Directory.

Для опроса компьютеров под управлением ОС Линукс можно использовать протокол SSH . На машинах должен стоять SSH -сервер.

Программа может работать с СУБД MS SQL, MySQL, Oracle . Поддерживаются российские СУБД Linter и Postgre.

3.4.1.2. Требования к запросам пользователей данных из базы

Пользователи и администраторы работают с базой данных через Веб интерфейс.

Программа собирает данные с помощью технологии WMI.

Если применение WMI в сети по какой-либо причине невозможно (политика безопасности или Windows Home-версий), программа поддерживает еще два альтернативных способа сбора информации с компьютеров: с помощью агентов и клиентов. Клиенты позволяют опрашивать даже компьютеры без сети , а также командировочные ноутбуки.

3.4.2. Требования к исходным кодам и языкам программирования

Дополнительные требования не предъявляются.

Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows Vista/7/8 /10.

3.4.4. Требования к защите информации и программ

Требования к защите информации и программ не предъявляются.

3.5. Специальные требования

Программа должна обеспечивать одновременную работу нескольких администраторов и пользователей посредством Веб- интерфейса.

4. Требования к программной документации

4.1. Предварительный состав программной документации

Состав программной документации должен включать в себя:

4.1.1. техническое задание;

4.1.2. программу и методики испытаний;

4.1.3. руководство оператора;

5. Технико-экономические показатели

5.1. Экономические преимущества разработки

Ориентировочная экономическая эффективность не рассчитываются. Аналогия не проводится ввиду уникальности предъявляемых требований к разработке.

6. Стадии и этапы разработки

6.1. Стадии разработки

Разработка должна быть проведена в три стадии:

1. разработка технического задания;

2. рабочее проектирование;

3. внедрение.

6.2. Этапы разработки

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.
На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

1. разработка программы;

2. разработка программной документации;

3. испытания программы.

На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.

6.3. Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

    постановка задачи;

    определение и уточнение требований к техническим средствам;

    определение требований к программе;

    определение стадий, этапов и сроков разработки программы и документации на неё;

    согласование и утверждение технического задания.
    На этапе разработки программы должна быть выполнена работа по программированию (кодированию) и отладке программы

    На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации. На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:
    а). разработка, согласование и утверждение и методики испытаний; b ). проведение приемо-сдаточных испытаний;

c )корректировка программы и программной документации по результатам испытаний.

    На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию на объектах Заказчика.

7. Порядок контроля и приемки

7.1. Виды испытаний

Приемо-сдаточные испытания должны проводиться на объекте Заказчика в оговоренные сроки. Приемо-сдаточные испытания программы должны проводиться согласно разработанной Исполнителем и согласованной Заказчиком Программы и методик испытаний. Ход проведения приемо-сдаточных испытаний Заказчик и Исполнитель документируют в Протоколе проведения испытаний.

7.2. Общие требования к приемке работы

На основании Протокола проведения испытаний Исполнитель совместно с Заказчиком подписывает Акт приемки-сдачи программы в эксплуатацию.

Рис. 100.

Программы - это упорядоченные последовательности команд. Цель любой компьютерной программы - управление аппаратными средствами. Состав программного обеспечения (ПО) компьютера называют программной конфигурацией. Между программами, как и между физическими узлами и блоками, существует взаимосвязь - многие программы работают, опираясь на другие программы более низкого уровня, т. е., мы можем говорить о межпрограммном интерфейсе. Уровни программного обеспечения представляют собой пирамидальную конструкцию (рис. 100). Каждый следующий уровень опирается на программное обеспечение предшествующих уровней.

Рассмотрим уровни программного обеспечения.

Базовый уровень

Самый низкий уровень программного обеспечения. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Базовые программные средства хранятся в микросхемах ПЗУ. Программы и данные записываются в микросхемы ПЗУ на этапе производства. В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяются перепрограммируемые постоянно запоминающие устройства (ППЗУ - англ. Erasable and Programmable Read Only Memory, EPROM).

Системный уровень

Системный уровень - переходный. Программы, работающие на этом уровне, обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, т.е. выполняет «посреднические» функции. Конкретные программы, отвечающие за взаимодействие с конкретными устройствами, называются драйверами устройств - они входят в состав программного обеспечения системного уровня.

Другой класс программ системного уровня отвечает за взаимодействие с пользователем. Именно благодаря им он получает возможность вводить данные в вычислительную систему, управлять ее работой и получать результат в удобной для себя форме. Эти программные средства называют средствами обеспечения пользовательского интерфейса.

Совокупность программного обеспечения системного уровня образует ядро операционной системы (ОС) компьютера. Наличие ОС - непременное условие для возможной практической работы человека с компьютером.

Служебный уровень

Программное обеспечение этого уровня взаимодействует как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ (их называют утилитами) состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы. Некоторые служебные программы (программы обслуживания) изначально включают в состав ОС, например программа дефрагментации дисков, восстановление системы и т.д. (в Windows - это программы, которые находятся в категории Служебные).

Прикладной уровень

Программное обеспечение прикладного уровня представляет собой комплекс прикладных программ, с помощью которых на данном рабочем месте выполняются конкретные задания.

К прикладным программным средствам относят:

  • - текстовые редакторы - предназначены для создания и редактирования текста. Дополнительные функции состоят в автоматизации процесса ввода и редактирования. В качестве примера можно привести программу Notepad (Блокнот);
  • - текстовые процессоры. Основным отличием текстовых процессоров от текстовых редакторов в том, что они позволяют не только вводить и редактировать тексты, но и внедрять в него графики, формулы, таблицы и других объекты. Классическим примером текстового процессора является Microsoft Word;
  • - графические редакторы - предназначены для создания или обработки графических изображений.

Различают: растровые редакторы, векторные редакторы и программные средства для создания и обработки трехмерной графики (ЗО-редакторы). Самый простой пример растрового графического редактора, который присутствует на каждом компьютере - Paint. Растровые изображения имеют несколько видов расширения: jpeg или jpg, png, gif, bmp и др. Второй пример графического растрового редактора - Adobe Photoshop. Photoshop имеет огромный функционал, поддержку большого числа плагинов (программные модули, динамически подключаемые к основной программе и предназначенные для расширения и/или использования ее возможностей) и инструментов. Позволяет работать в различных цветовых моделях и с различными расширениями файлов.

Векторный графический редактор CorelDRAW из пакета CorelDRAW Graphics Suite представляет собой мощный профессиональный продукт для создания различного рода графики и анимации. Тем не менее благодаря встроенной развитой системе обучения и справки программа весьма проста для освоения даже новичками в области векторной графики.

В качестве второго примера векторного графического редактора можно привести свободно распространяемую программу Inkscape. Она обладает большими возможностями для создания высококачественных иллюстраций или рисования плакатов. Данная программа подойдет для создания и обработки векторной графики как начинающим пользователям, так и для серьезной работы опытным пользователям.

Редакторы трехмерной графики служат для создания фильмов, компьютерных игр, графического дизайна, изобилующих анимацией, визуальными эффектами. Широкое распространение подобные программы нашли в области машиностроения, архитектуры, производства потребительских товаров и т.п. В качестве примера можно привести такие программные продукты, как Autodesk Maya, Autodesk 3ds Max:

- системы управления базами данных (СУБД). Основными функциями СУБД являются: создание незаполненной структуры базы данных, предоставление средств ее заполнения или импорта данных из таблиц другой базы, обеспечение возможности доступа к данным, а такие предоставления средств поиска и фильтрации.

Принято делить СУБД на настольные и промышленные. Примером настольных СУБД служат: Access, FoxPro. Промышленные СУБД ориентированы на создание информационных систем, оперирующих большим объемом информации с повышенным требованием безопасности, например: Oracle, MS SQL Server:

  • - электронные таблицы - представляют собой программный инструмент, предназначенный для хранения различных типов данных, проведения над ними расчетов. Самое популярное средство работы с электронными таблицами - программа Excel;
  • - системы автоматизированного проектирования (САПР) - предназначены для автоматизации проектно-конструкторских работ. Применяются в машиностроении, приборостроении, архитектуре.

Наиболее распространенной САПР в мире является программа AutoCAD (англ. Computer-Aided Design) - двух- и трехмерная система автоматизированного проектирования и черчения. В качестве примера российской САПР можно привести систему ADEM (англ. Automated Design Engineering Manufacturing), предназначенную для автоматизации конструкторско-технологической подготовки производства;

  • - настольные издательские системы - позволяют осуществлять электронную верстку широкого спектра основных типов документов: информационного бюллетеня, цветной брошюры, каталога, справочника. Примерами таких программ являются: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher;
  • - экспертные системы - предназначены для анализа данных, содержащихся в базе знаний, и выдачи рекомендаций по запросу пользователя.

Экспертные системы способны в сложной ситуации (при недостатке времени, информации или опыта) дать квалифицированную консультацию (совет, подсказку), помогающую специалисту или менеджеру принять обоснованное решение. База знаний экспертной системы содержит сведения о предметной области (медицина, юриспруденция и т.п.) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты. В качестве примера можно привести программную экспертную систему CLIPS (англ. С Language Integrated Production System);

  • - web-редакторы (HTML-редакторы) - позволяют создавать с минимальными временными затратами простые и сложные, красиво оформленные Web-страницы. Одним из наиболее популярных HTML-редакторов в мире является программа Adobe Dreamweaver;
  • - браузеры (обозреватели) - программные средства, предназначенные для просмотра web-сайтов. Наиболее популярными являются программы Internet Explorer, Mozilla Firefox, Google Chrome, Opera;
  • - бухгалтерские системы (системы автоматизации бухгалтерского учета) - предназначены для автоматизации подготовки бухгалтерских документов предприятия и их учета, для подготовки регулярных отчетов по итогам производственной, хозяйственной и финансовой деятельности.

Бухгалтерский учет в крупных предприятиях ведется при помощи современных ERP (англ. Enterprise Resource Planning System - система планирования ресурсов предприятия) - систем, позволяющих автоматизировать не только бухгалтерский учет, но и управление производством. В этих целях обычно используются такие системы, как SAP, Oracle E-Business Suite, 1С:Предприятие, Microsoft Dynamics NAV (Navision), ERP «Галактика» и др.;

- финансовые аналитические системы - предназначены для использования уже накопленных, проверенных, объединенных финансовых показателей. При этом можно выделить несколько базовых функциональных возможностей подобных программ: систематизация информации, расчет аналитических показателей и коэффициентов, формирование отчетов презентационного качества.

К финансовым аналитическим системам относятся такие программы, как Project Expert, позволяющая решать задачи разработки бизнес-плана, проектирования развития бизнеса, анализа инвестиционных проектов для предприятий любой отраслевой принадлежности и масштабов деятельности.

Audit Expert - программа для анализа финансового состояния предприятия на основании его финансовой отчетности позволяет осуществлять временной, структурный, финансовый анализ, расчет различных финансовых показателей, получение отчетов и заключений по результатам анализа.

К служебным программным средствам относят:

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

Типичными представителями этого класса программ являются FAR Manager, Total Commander, FreeComander;

- средства сжатия данных (архиваторы) - программы, которые осуществляют сжатие данных в один файл архива для более легкой передачи или компактного их хранения.

Из числа наиболее популярных программ можно выделить: ARJ, РКРАК, LHA, ICE, HYPER, ZIP, РАК, ZOO, RAR;

- средства диагностики - предназначены для тестирования компьютера или отдельных компонентов. Выдают подробную информацию о его состоянии, функциональности и возможных программных и физических неполадках.

Диагностика - систематизированный способ поиска неисправностей с последующим их устранением. Среди программ диагностики можно выделить SiSoftware Sandra (англ. System ANalyser, Diagnostic and Reporting Assistant) - это информационная и диагностическая программа. Она предоставляет практически всю информацию об аппаратном и программном обеспечении компьютера. Другая программа - 3DMark, ориентированная исключительно на измерение производительности видеосистемы;

средства контроля (мониторинга) - позволяют следить за процессами, происходящими в компьютерной системе. В случае опасности предусмотрена возможность предупреждения, отключения компьютера или же изменения режима работы некоторых устройств.

В качестве примера можно привести программу MB Probe, с помощью которой можно снимать температуру от нескольких термодатчиков, определить напряжения ядра процессора и материнской платы, держать под контролем обороты вентиляторов. Температура винчестера, атрибуты внутренней системы диагностики S.M.A.R.T., а также напряжения датчиков оборотов вентиляторов материнской платы могут быть представлены с помощью утилиты SpeedFan;

  • - средства коммуникации (коммуникационные программы) - позволяют общаться в реальном времени с людьми, находящимися на расстоянии от вас. К коммуникационным программам относят ICQ, Skype, Yahoo massager, Google Talk и др.;
  • - средства обеспечения компьютерной безопасности - включают в себя антивирусы, межсетевые экраны (файерволы), программы для шифрования данных и антишпионы.

К антивирусному программному обеспечению данной категории относят Kaspersky Virus Removal Tool - программу разработанную специалистами лаборатории Касперского для сканирования компьютера на наличие вредоносных программ. Kaspersky A VP Tool находит и изолирует: вирусы, трояны, черви, шпионские и рекламные модули, все типы руткитов и тому подобные вредоносные программы. Другая популярная программа Dr.Web Curelt! - бесплатный антивирус для сканирования, обнаружения и удаления (лечения) компьютеров под управлением Windows.

В качестве примера межсетевого экрана можно привести такую программу, как Comodo Internet Security - бесплатный пакет для комплексной защиты компьютера от вирусов, троянов, других вредоносных программ и хакерских атак. Его действие заключается в блокировании установки вирусов, червей, шпионских программ, модификации критических файлов системы, кроме того, встроенный планировщик заданий позволяет проводить сканирование по расписанию, есть функция ежедневного автоматического обновления вирусной базы данных и т.д.

SUPERAntiSpyware Free - программа для обнаружения и удаления шпионских, рекламных и вредоносных программ, червей, руткитов (программа для скрытия следов присутствия злоумышленника или вредоносной программы в системе) и другого подозрительного программного обеспечения. Этот антишпион позволяет проводить полное, настраиваемое сканирование жестких дисков, портативных устройств, памяти, реестра, отдельных папок и файлов.

Контрольные вопросы и задания

  • 1. Что называется программой? Дайте определение понятию «программная конфигурация».
  • 2. Начертите схему уровней программного обеспечения.
  • 3. Дайте характеристику базовому уровню программного обеспечения.
  • 4. Что называется драйвером устройства? Опишите назначение программ системного уровня.
  • 5. Каково назначение утилит? Поясните назначение программ системного уровня. Приведите примеры подобных программ.
  • 6. Перечислите программы, которые относят к прикладному уровню программного обеспечения.
  • 7. Какие типы программ, относящиеся к графическим редакторам, вы знаете?
  • 8. Поясните основные функции систем управления базами данных. Приведите примеры программ данного класса.
  • 9. В чем особенности экспертных систем?
  • 10. Раскройте назначение финансовых аналитических систем. Приведите примеры программ данного класса.
  • 11. Перечислите программы, относящиеся к служебным программным средствам.
  • 12. Какой класс программ позволяет выполнять основные операции над файлами? Приведите примеры.
  • 13. В чем отличие программ, предназначенных для диагностики и мониторинга компьютерных систем?
  • 14. Что относится к средствам обеспечения компьютерной безопасности? Перечислите и опишите соответствующие программы.
  • 15. Разработайте таблицу, которая содержит рассмотренные виды программного обеспечения, установленные на вашем компьютере.
Техническое задание на разработку программы
«______________»
к Договору №___

1. Введение
1.1. Наименование программы
1.2. Назначение и область применения
2. Требования к программе
2.1. Требования к функциональным характеристикам
2.2. Требования к надежности
2.2.1. Требования к обеспечению надежного функционирования программы
2.2.2. Время восстановления после отказа
2.2.3. Отказы из-за некорректных действий пользователей системы
3. Условия эксплуатации
3.1. Климатические условия эксплуатации
3.2. Требования к квалификации и численности персонала
3.3. Требования к составу и параметрам технических средств
3.4. Требования к информационной и программной совместимости
3.4.1. Требования к информационным структурам и методам решения
3.4.2. Требования к исходным кодам и языкам программирования
3.4.3. Требования к программным средствам, используемым программой
3.4.4. Требования к защите информации и программ
3.5. Специальные требования
4. Требования к программной документации
4.1. Предварительный состав программной документации
5. Технико-экономические показатели
5.1. Экономические преимущества разработки
6. Стадии и этапы разработки
6.1. Стадии разработки
6.2. Этапы разработки
6.3. Содержание работ по этапам
7. Порядок контроля и приемки
7.1. Виды испытаний
7.2. Общие требования к приемке работы

1. Введение

1.1. Наименование программы

Наименование программы: «АСУ «______________»»

1.2. Назначение и область применения

Программа предназначена для автоматизации обработки данных клиентов кафе/бара. Она оперирует следующими данными:

  • возможные персональные данные о клиент;
  • данные по обслуживанию клиента;
  • данные по дисконтной системе;

2.1. Требования к функциональным характеристикам

Программа должна обеспечивать возможность выполнения перечисленных ниже функций:

  • возможность вывода данных о клиенте по запросу;
  • возможность расчета скидок;
  • добавление/удаление клиентов;
  • изменение данных о клиенте;
  • возможность изменения дисконтной системы;

2.2.1 Требования к обеспечению надежного функционирования программы

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:

  • организацией бесперебойного питания технических средств;
  • использованием лицензионного программного обеспечения;
  • регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;
  • регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов
  • Со стороны разработчика:
  • автоматическое создание резервных копий;
  • система автоматического обновления программы;
  • автоматическое восстановление системы;

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

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

Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой.

3.1. Требования к квалификации и численности персонала

Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 1 штатной единицы - оператор ПК. В перечень задач, выполняемых оператором ПК, должны входить:

  • ведение базы данных по клиентам;
  • задачи установки (инсталляции) и поддержания работоспособности системных программных средств - операционной системы;
  • задача установки (инсталляции) программы;
  • задача создания резервных копий базы данных.

3.2. Требования к составу и параметрам технических средств
^

  • процессор с тактовой частотой 2.0Hz, не менее;
  • оперативную память объемом, 1Гигабайт, не менее;
  • свободное дисковое пространство не менее 1гб;
  • сетевая карта;

3.3.1. Требования к информационным структурам и методам решения

Программное обеспечение представляет из себя самостоятельное исполняемое приложение. Формат базы данных совместим с ADO.

Пользователи работают с базой данных через системный интерфейс.

3.3.3. Требования к исходным кодам и языкам программирования

Дополнительные требования не предъявляются.

Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows XP.

Требования к защите информации и программ не предъявляются.

3.5. Специальные требования

Специальные требования не предъявляются.
^

4.1. Предварительный состав программной документации

Состав программной документации должен включать в себя:

  • техническое задание;
  • программу и методики испытаний;
  • руководство оператора;

5.1. Экономические преимущества разработки

Программа является бесплатным продуктом, финансовые средства не затрачиваются, и преимуществом является ускорение автоматизации обработки данных клиентов кафе/бара

6.1. Стадии разработки

Разработка должна быть проведена в три стадии:

  1. Разработка технического задания;
  2. Рабочее проектирование;
  3. Внедрение.

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания. На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

  • разработка программы;
  • разработка программной документации;
  • испытания программы.

На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

  • Постановка задачи;
  • Определение и уточнение требований к техническим средствам;
  • Определение требований к программе;
  • Определение стадий, этапов и сроков разработки программы и документации на неё;
  • Согласование и утверждение технического задания. На этапе разработки программы должна быть выполнена работа по программированию (кодированию) и отладке программы. На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации.

На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:

  • Разработка, согласование и утверждение и методики испытаний;
  • Проведение приемо-сдаточных испытаний;
  • Корректировка программы и программной документации по результатам испытаний.

На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию на объектах Заказчика.

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. Утилизация

На основе разработанных документов можно приступать к непосредственному проектированию объекта.

Linux уже давно захватил огромную часть рынка информационных технологий, большинство серверов работают под Linux, все суперкомпьютеры используют Linux, большинство планшетов и смартфонов используют Android, который, по сути, тоже является системой семейства Linux. Losst - сайт про Linux и свободное программное обеспечение, а поэтому для обеспечения его работы используется только свободное ПО.

В этой небольшой заметке мы рассмотрим какие программные решения используются для поддержания работы сайт, почему была выбрана та или иная программа и чем она лучше других. Ведь все это и есть Linux в действии. Начнем с самого низкого уровня и будет подниматься выше.

Какое программное обеспечение используется на Losst

1. Система виртуализации - XEN

Как и большинство современных сайтов Losst расположен на VPS сервисе. В качестве системы виртуализации используется XEN-PV. В сторону OpenVZ я вообще смотреть не рекомендую, так как там вы получаете только контейнер и не можете полностью контролировать свою операционную систему. Виртуализация KVM уже лучше, модуль виртуализации работает на уровне ядра, и вы можете контролировать свою ОС, для виртуализации аппаратных устройств используется Qemu. Но здесь минус в том, что возможен оверселлинг. В Xen оверселлинг реализуется сложнее, а технология паравиртуализации XEN-PV дает производительность схожую с реальным железом.

2. Операционная система - CentOS 7

В качестве операционной системы используется CentOS 7. Я выбрал эту ОС из-за длительного строка поддержки и постоянных обновлений. Если обновить Ubuntu 16.04 до LTS на сервере может вызвать определенные проблемы, то CentOS в рамках седьмой версии (на данный момент самой свежей) обновляется штатным пакетным менеджером без возникновения каких-либо проблем. Например, не так давно вышла новая версия Red Hat 7.4 и через несколько месяцев CentOS прозрачно обновилась до этой версии и получила новый Nginx с поддержкой ALPN, PHP 7 и другие улучшения. А поскольку система создана на основе корпоративной Red hat, то она очень стабильна.

3. Панель управления - VestaCP

Конечно, можно настроить сервер без всяких панелей управления, но на это нужно много времени, которое не всегда есть. Поэтому я использую панель управления с открытым исходным кодом - VestaCP. Некоторое время назад я использовал ISPManager и могу сказать что по субъективным ощущениям Vesta намного лучше. Красивый интерфейс, интуитивно понятное расположение функций, легкое управление пользователями, возможность настраивать шаблоны конфигурации по своему усмотрению, создание домена в несколько кликов, настройка Cron и веб-интерфейса и просмотр статистики. Отличная панель, если вы еще не использовали ее - рекомендую.

4. Веб-сервер - Nginx

Высокопроизводительный веб-сервер, который может выдерживать большие нагрузки благодаря своей оптимизированности под HighLoad. До перехода на использование HTTPS я использовал Apache, но потом нагрузка на сервер значительно выросла и мне пришлось искать более производительное решение. На данный момент Nginx отлично справляется со своей задачей. Сам Nginx может отдавать хоть 10 000 страниц в секунду, но узким местом здесь является PHP. Чтобы хоть как-то решить эту проблему используется fastcgi кэш для скриптов.

5. Интерпретатор скриптов - PHP 7

Основная часть сайтов сейчас написана на PHP и это нормально, так как php - самый популярный язык программирования для веб. Я использую php-fpm в связке с Nginx, это оптимальное решение. Я выбрал именно PHP 7 потому что по многим тестам его производительность немного выше чем у предыдущих версий. Также для ускорения выполнения php кода используется кэш opcache.

6. Безопасность - Lets Encrypt

Весь интернет медленно, но уверено переходит на безопасный протокол HTTPS, и хотя на этом сайте нечего перехватывать, мы тоже используем этот протокол, потому что это дает преимущества в поиске, более быструю загрузку и гарантию того, что в будущем браузеры не будут называть сайт небезопасным. Бесплатный сертификат от Lets Encrypt удовлетворяет все требования. Продление работает автоматически с помощью VestaCP.

7. Почтовый сервер - Postfix

Для отправки почты с сайта и приема почтовых сообщений для домена используется почтовый сервер Postfix. Я не выбирал этот сервер, он был автоматически установлен в VestaCP и отлично справляется со своей задачей.

8. Почтовый интерфейс - Roundcube

Чтобы иметь возможность читать письма, которые приходят на адреса из домена @сайт я использую веб-интерфейс почты roundcube. Интерфейс достаточно простой и в то же время удобный. Есть все необходимые возможности - выделение сообщений, удаление, отметка важных сообщений, сортировка по папкам и многое другое.

9. СУБД - MariaDB

Ни один современный динамический сайт не работает без системы управления базами данных. На Losst используется СУБД MariaDB - эта СУБД разработана создателем MySQL после перехода последней в собственность Oracle. Эта база данных имеет все возможности MySQL, более высокую производительность, а также огромное сообщество разработчиков. Обновления для MariaDB выходят быстрее чем MySQL, а также разработка ведется более активно.

10. Резервное копирование - automysqlbackup

Резервное копирование на сервере - это одна из самых важных вещей. Пусть оно будет не нужным основную часть времени, но один раз это может спасти огромное количество вашего времени и ресурсов. Я использую скрипт для автоматического копирования базы данных automysqlbackup. Резервная копия выполняется каждый день, к тому же скрипт позволяет выполнять ротацию копий и удалять лишние. Сохраняются все копии за последнюю неделю, ода копия недельной давности, одна месячной и одна годовой. Такое поведение можно настроить для каждой из баз данных.

11. Система мониторинга - zabbix

В работе сайта важно, чтобы он был постоянно доступен для пользователей и поисковых систем. Поэтому для мониторинга состояния сервера используется Zabbix. Zabbix позволяет отслеживать все состояние служб, нагрузку на сервер и другие параметры, а также информировать о появлении проблем через Email или Telegram. Чем раньше я узнаю о проблеме, тем раньше она будет решена и сайт снова заработает.

12. Система управления контентом - WordPress

WordPress - одна из самых популярных систем управления контентом в мире, она имеет огромное количество возможностей и огромное количество плагинов, созданных сторонними разработчиками. Да WordPress не идеален. Без кэширования он очень медленный и еще имеет кучу проблем. Но разрабатывать собственную CMS тоже не вариант, поскольку это занимает очень много времени и у вас просто не будет времени наполнять сайт контентом и думать о других вещах. Я знаю о чем говорю, несколько лет назад я уже пытался создать CMS на PHP, исходники до сих пор где-то лежат на GitHub, из того проекта ничего не вышло. В итоге либо вы делаете CMS, либо сайт, все вместе делать не получиться.

Выводы

В этой статье мы рассмотрели какое программное обеспечение используется для работы Losst. На момент написания статьи - все основные используемые программы распространяются с открытым исходным кодом. Конечно, есть плагины для WordPress, которые имеют закрытую лицензию, но это уже необходимость. А какое программное обеспечение используете вы на своих серверах? Напишите в комментариях!

Каждый день, запуская персональный компьютер, ноутбук или телефон, мы сталкиваемся с программами, которые нас обслуживают. Причем, если не задумываться, то кажется, что использование программного обеспечения начинается в тот момент, когда мы запускаем ярлык на рабочем столе. Однако это далеко не так.

База

Давайте разберёмся, что такое программное обеспечение. По сути, оно представляет собой совокупность команд и программного кода, заключенного в графическую оболочку - интерфейс. Вот только интерфейс бывает разный и зависит непосредственно от приложения и его назначения.

Любое программное обеспечение состоит из файлов, в которых прописаны процедуры и функции, которым следует программа при исполнении.

Одной из первых моделей программного обеспечения стала так называемая машина Тьюринга. В 1935 году Алан Тьюринг сформулировал математическую модель, согласно которой некая абстрактная машина, должна была переходить из одного состояния в другое, выполняя элементарные команды из фиксированного набора.

Начнем разбор вопроса о том, что такое программное обеспечение, с его классификации.

Операционная система

Изначально можно выделить различные классы программного обеспечения. Первым и самым основным нужно назвать системное ПО. Интерфейсы, программы и коды без которых невозможно работать на компьютере или другой технике, использующей какую либо программную среду. Это самое необходимое программное обеспечение в вашем персональном компьютере.

В этом классе можно выделить два важных подраздела:

  1. Базовое программное обеспечение. Оно включает в себя все виды операционных систем, независимо от того, являются ли они официальными или пиратскими, запускаются ли на них общедоступные приложения или исключительно 1-2 прикладные программы, для которых и создавалась эта программная среда. Также к этой группе можно отнести различные эмуляторы и виртуальные машины, позволяющие имитировать различные программные среды.
  2. Отдельной группой стоит сервисное программное обеспечение. Как понятно из названия, оно создано для обслуживания операционной системы и её защиты. К ним можно отнести поисковые системы, антивирусы, а также средства диагностики и устранения неполадок в вашем ПК.

Само по себе, системное ПО - это совокупность различных программ и сред, предназначенных для поддержки работы персонального компьютера и компьютерных сетей. Разработка программного обеспечения этого типа представляет собой долгий и кропотливый процесс, поскольку от него будет зависеть работоспособность рабочего места. Системное ПО выполняет следующие задачи:

  • создание среды для функционирования прикладных программ;
  • поддержка работы ПК и сети;
  • диагностирование и проведение профилактики сбоев ПК и ЛВС;
  • проведение дополнительных поддерживающих операций, таких как архивирование, форматирование, дефрагментация и другие.

Для компьютера

Другое знание, дающее нам возможность разобраться, что такое программное обеспечение, это понимание того, чем разрабатывается ПО. Для этого процесса используется - инструментальное ПО, то есть комплекс программных и аппаратных средств, служащих для написания и компилирования системного кода прикладных утилит.

В инструментальном ПО можно выделить три подгруппы:

  • языки и системы программирования;
  • интегрированные среды программирования;
  • программные комплексы.

Существует великое множество языков программирования, и все они делятся на подгруппы по принципу ориентированности - по сфере решаемых задач готового продукта.

Нельзя не сказать несколько слов и о том, что такое машинно-ориентированные языки программирования. Они служат для написания программного обеспечения не для конечного пользователя, а для создания поддерживающего программного кода непосредственно для аппаратуры. Эти языки позволяют учитывать уникальность архитектуры и принципов работы конкретной ЭВМ или, например, рабочего станка на заводе, не работающего под распространёнными операционными системами.

Для пользователя

Машинно-независимые языки программирования исполняют функцию написания программных кодов, а также прикладных программ для готовых оболочек и операционных систем.

  • Процедурно-ориентированные языки программирования - это специализированное программное обеспечение. Примеры - Паскаль (Pascal), Бэйсик (Basic). Эти простейшие языки программирования служат для написания элементарных прикладных программ, функций и процедур. А также, для описания алгоритмов решения поставленных задач.
  • Проблемно-ориентированные языки - позволяют решать задачи в более узких конкретных областях программирования, их примерами можно назвать - Лисп, АПЛ.
  • Объектно-ориентированные языки - более современные и удобные средства для создания прикладных приложений и создающие различные виды программного обеспечения для конечного пользователя. Главной их особенностью является возможность делать готовые элементы приложения, такие как диалоговые окна, поля для заполнения, кнопки. Для иллюстрации можно назвать такие языки, как С++ и Visual Basic.

С чем мы работаем

Последним классом является прикладное программное обеспечения. Если вы внимательно читали статью, то уже должны были догадаться, что это ничто иное, как те программы, приложения и игры, с которыми мы имеем дело в повседневной жизни. Но даже такое простейшее понятие специалисты подразделяют на подклассы.

  1. Пожалуй, самая распространённая категория приложений - это мультимедиа. Т. е. программы воспроизведения видео, аудио, игры. Всё то, что служит для развлечения конечного пользователя. Таким образом, одно из величайших изобретений человечества из рабочего научного инструмента превратилось в средство развлечения широкой публики.
  2. Информационно-поисковое ПО. Как понимаете, это различные браузеры и клиенты интернет-технологии, предназначенные для получения информации из мировой сети.
  3. Общего назначения. Это виды программного обеспечения, используемого в обычной жизни исключительно по необходимости. Это графические и текстовые редакторы, почтовые сервисы, базы данных.
  4. Проблемно-ориентированное. Например, экспертные системы или системы аудио- и видеоконференций.
  5. Программные среды профессионального уровня. Это бухгалтерские и педагогические системы, системы контроля управления доступа.

Наглядный пример

Узнав, что такое программное обеспечение, рассмотрим некоторые реальные примеры программ и приложений, с которыми мы можем столкнуться в реальной жизни.

  • 1C Бухгалтерия. Яркий пример профессионального ПО, служащего для работы с бухгалтерией, правовой областью и ещё множеством поддерживаемых и смежных областей.
  • Microsof Office Word. Самый понятный и доступный пример ПО общего назначения. Практически каждый в своей жизни запускал этот пакет программ для составления резюме, реферата или отчета.
  • Microsof Office Access. Простейшая реализация базы данных, также являющееся ПО общего назначения.
  • О категории мультимедиа слышали все. Это всем известный Windows Media Player, способный проигрывать как аудио-, так и видеофайлы.
  • Photoshop - очередной пример ПО общего назначения. Являясь профессиональным графическим редактором, используемым во многих полиграфических фирмах, также относится к программной среде профессионального уровня.
  • Если говорить о ПО общего назначения, то с ним сталкивался каждый человек, хоть раз запускавший компьютер. Это всем известный Windows.

Всё это - очень распространённое программное обеспечение. Примеры других программ приводить не имеет смысла. В наше время, когда разработкой приложений может заняться даже ребёнок, скачать любое из них по своему вкусу, на замену известным брендам, может каждый пользователь.

Инсталляция

Установка программного обеспечения в большинстве случаев не вызовет затруднений у обычного пользователя. Большинство приложений, которыми мы пользуемся в повседневной жизни, специально ориентированы на непосвященного пользователя. В готовую программу вшивается специальный модуль - инсталлятор.

Когда вы вставляете диск с ПО в дисковод, происходит автозапуск программы установки. Переходя по диалоговым окнам, вы выбираете путь на жестком диске, куда будет установлено ПО. Если это поддерживающее обеспечение для вашей операционной системы, то оно будет автоматически установлено в необходимую папку.

Некоторое ПО, например необходимое для разработки приложений, не требует установки. Запускается рабочий ярлык в папке программы, а вслед за ним и средство разработки.

Установка программного обеспечения для некоторых аппаратных средств ПК, таких как материнская плата или БИОС, может потребовать специальных навыков и профессиональных знаний, поэтому не стесняйтесь в таких случаях вызывать специалиста.

Творение

Разработка программного обеспечения проходит в несколько этапов.

  • Начальная стадия - это этап появления и реализации идеи. Создание дизайна будущего приложения, а также его функционала.
  • Альфа-тестирование - процесс внутреннего тестирования. Его и добавление каких-либо функций проводят внутри ограниченного круга людей, обычно разработчиков или близких к ним людей.
  • Бета-тестирование проводят среди потребителей по решению производителя. Это процесс отладки программы.
  • Релиз-кандидат. Программа, прошедшая все стадии тестирования, с найденными и исправленными критическими ошибками. Практически готовое приложение к релизу.
  • И, наконец, релиз. Готовый к выпуску и тиражированию продукт.
  • Последний этап, который продолжает длиться после выпуска - программная поддержка и сопровождение приложения.

Выводы

Итак, как вы теперь понимаете, разработка и использование программного обеспечения, является неотделимой частью нашей повседневной жизни. Казалось бы, совершая простейшие действия за персональным компьютером, мы каждый день сталкиваемся с самым различным ПО, созданным путём кропотливой работы специалистов специально для пользователей. Классификация программ и приложений настолько широка, что невозможно с точностью сказать, с чем вы сейчас работаете.