Андрей Вакурин

Что нового в ARIS Risk & Compliance Manager 10

Report 1-514x371

ARIS Risk & Compliance Manager 10 offers improvements for the private cloud offering, reporting and usability, as well as enhancements for risk assessment evaluation and a new subscription for control execution.

ARIS Risk & Compliance Manager Cloud

The ARIS Risk & Compliance Manager Cloud offering is available in four different packages to reflect the requirements of different numbers of users and operations. It starts with a small package for up to 25 named users and 25,000 task forms a year and goes up to max 1,000 named users and 1,000,000 task forms a year. Like our ARIS Cloud Enterprise product, ARIS Risk & Compliance Manager Cloud is hosted in a private cloud environment by Amazon web Services (AWS). It offers the same capabilities for Internal Control Systems, Risk and Audit Management like the on premise version.

Reporting

ARIS reports now include dialogs for a better interaction with users and enable them to make various selections to better define their report result. One example is the Output change log dialog, in which you can define if you want a summarized or incremental report and which version numbers you want to include. Reports can now combine information from ARIS Risk & Compliance Manager and the ARIS modeling component. For example, risk management reports can be enriched by the respective model graphic or additional attributes or connected objects. ARIS Risk & Compliance Manager now also provides a report history by listing the latest reports in a “My recent reports” area.

 

Read more http://www.ariscommunity.com/users/elba/2017-06-12-what-s-new-aris-risk-compliance-manager-10

Israel Startup Weekend

26-27 августа в московском офисе Гилель пройдет Israel Startup Weekend, в рамках которого за 2 дня вы сможете оформить свою идею в проект, узнаете о возможностях развития российских стартапов в Израиле, погрузитесь в венчурную и стартап индустрию, а также поймете, какие критерии определяют успешность развития проекта и на что обращают внимание венчурные фонды, бизнес-ангелы при принятии решений об инвестировании в стартапы.

Условия участия:

· Наличие IT или наукоемкого проекта/идеи
· Попадание как минимум одного из основателей проекта под «Закон о возвращении» (документальное подтверждение наличия еврейских корней)
· Возраст основателей проекта – от 18 лет
· В проекте может быть как один человек, так и полноценная команда
· Участие бесплатное

Участники смогут получить:

· Консультационная и образовательная поддержка команд проектов
· Внеконкурсный отбор на акселерационную программу iDealMachine Israel в Израиле
· Запуск и доработка продукта за 24 часов
· Шанс воплотить свою идею/проект не только на российском, но и на израильском рынке

Этапы проведения:

· 9 августа – 24 августа – прием заявок
· 25 августа – объявление финалистов – участников мероприятия
· 26-27 августа – проведение мероприятия на площадке Гилель Москва

Регистрация и подробная информация: https://idealmachine.timepad.ru/event/547408/

Виды диаграмм UML

Виды диаграмм UML

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

Мы строим модели сложных систем, потому что не можем описать их полностью, «окинуть одним взглядом». Поэтому мы выделяем лишь существенные для конкретной задачи свойства системы и строим ее модель, отображающую эти свойства. Метод объектно-ориентированного анализа позволяет описывать реальные сложные системы наиболее адекватным образом. Но с увеличением сложности систем возникает потребность в хорошей технологии моделирования. Как мы уже говорили в предыдущей лекции, в качестве такой «стандартной» технологии используется унифицированный язык моделирования (Unified Modeling LanguageUML), который является графическим языком для спецификации, визуализации, проектирования и документирования систем. С помощью UML можно разработать подробную модель создаваемой системы, отображающую не только ее концепцию, но и конкретные особенности реализации. В рамках UML-модели все представления о системе фиксируются в виде специальных графических конструкций, получивших название диаграмм.

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

 

Почему нужно несколько видов диаграмм

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

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

Да, не слишком информативно. А что же такое тогда подсистема? Чтобы прояснить ситуацию, обратимся к классикам:

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

Что ж, ничего не попишешь, придется искать определение подсистемы. Там же сказано, что подсистема — это совокупность элементов, часть из которых задает спецификацию поведения других элементов. Ян Соммервилл объясняет это понятие таким образом:

Подсистема — это система, функционирование которой не зависит от сервисов других подсистем. Программная система структурируется в виде совокупности относительно независимых подсистем. Также определяются взаимодействия между подсистемами.

Тоже не слишком понятно, но уже лучше. Говоря «человеческим» языком, система представляется в виде набора более простых сущностей, которые относительно самодостаточны. Это можно сравнить с тем, как в процессе разработки программы мы строим графический интерфейс из стандартных «кубиков» — визуальных компонентов, или как сам текст программы тоже разбивается на модули, которые содержат подпрограммы, объединенные по функциональному признаку, и их можно использовать повторно, в следующих программах.

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

Модель — это некий (материальный или нет) объект, отображающий лишь наиболее значимые для данной задачи характеристики системы. Модели бывают разные — материальные и нематериальные, искусственные и естественные, декоративные и математические…

Приведем несколько примеров. Знакомые всем нам пластмассовые игрушечные автомобильчики, которыми мы с таким азартом играли в детстве, это не что иное, как материальная искусственная декоративная модель реального автомобиля. Конечно, в таком «авто» нет двигателя, мы не заполняем его бак бензином, в нем не работает (более того, вообще отсутствует) коробка передач, но как модель эта игрушка свои функции вполне выполняет: она дает ребенку представление об автомобиле, поскольку отображает его характерные черты — наличие четырех колес, кузова, дверей, окон, способность ехать и т.д.

В ходе медицинских исследований опыты на животных часто предшествуют клиническим испытаниям медицинских препаратов на людях. В таком случае животное выступает в роли материальной естественной модели человека.

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

Осталось лишь сказать, что такое диаграмма.

Диаграмма – это графическое представление множества элементов.

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

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

Несмотря на то что в предыдущем абзаце мы весьма вольготно обошлись с понятием модели, следует понимать, что в контексте приведенных выше определений ни одна отдельная диаграмма не является моделью. Диаграммы — лишь средство визуализации модели, и эти два понятия следует различать. Лишь набор диаграмм составляет модель системы и наиболее полно ее описывает, но не одна диаграмма, вырванная из контекста.

 

Виды диаграмм

UML 1.5 определял двенадцать типов диаграмм, разделенных на три группы:

  • четыре типа диаграмм представляют статическую структуру приложения;
  • пять представляют поведенческие аспекты системы;
  • три представляют физические аспекты функционирования системы (диаграммы реализации).

Текущая версия UML 2.1 внесла не слишком много изменений. Диаграммы слегка изменились внешне (появились фреймы и другие визуальные улучшения), немного усовершенствовалась нотация, некоторые диаграммы получили новые наименования.

Впрочем, точное число канонических диаграмм для нас абсолютно неважно, так как мы рассмотрим не все из них, а лишь некоторые — по той причине, что количество типов диаграмм для конкретной модели конкретного приложения не является строго фиксированным. Для простых приложений нет необходимости строить все без исключения диаграммы. Например, для локального приложения не обязательно строить диаграмму развертывания. Важно понимать, что перечень диаграмм зависит от специфики разрабатываемого проекта и определяется самим разработчиком. Если же любопытный читатель все-таки пожелает узнать обо всех диаграммах UML, мы отошлем его к стандарту UML(http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML). Напомним, что цель этого курса — не описать абсолютно все возможности UML, а лишь познакомить с этим языком, дать первоначальное представление об этой технологии.

Итак, мы кратко рассмотрим такие виды диаграмм, как:

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

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

 

Диаграмма прецедентов (use case diagram)

Любые (в том числе и программные) системы проектируются с учетом того, что в процессе своей работы они будут использоваться людьми и/или взаимодействовать с другими системами. Сущности, с которыми взаимодействует система в процессе своей работы, называются экторами, причем каждый эктор ожидает, что система будет вести себя строго определенным, предсказуемым образом. Попробуем дать более строгое определение эктора. Для этого воспользуемся замечательным визуальным словарем по UML Zicom Mentor:

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

Графически эктор изображается либо » человечком «, подобным тем, которые мы рисовали в детстве, изображая членов своей семьи, либо символом класса с соответствующим стереотипом, как показано на рисунке. Обе формы представления имеют один и тот же смысл и могут использоваться в диаграммах. «Стереотипированная» форма чаще применяется для представления системных экторов или в случаях, когда эктор имеет свойства и их нужно отобразить (рис. 2.1).

Внимательный читатель сразу же может задать вопрос: а почему эктор, а не актер? Согласны, слово «эктор» немного режет слух русского человека. Причина же, почему мы говорим именно так, проста — эктор образовано от слова action, что в переводе означает действие. Дословный же перевод слова «эктор» — действующее лицо — слишком длинный и неудобный для употребления. Поэтому мы будем и далее говорить именно так.

Рис. 2.1.

 

Тот же внимательный читатель мог заметить промелькнувшее в определении эктора слово «прецедент». Что же это такое? Этот вопрос заинтересует нас еще больше, если вспомнить, что сейчас мы говорим о диаграмме прецедентов. Итак,

Прецедент (use-case) — описание отдельного аспекта поведения системы с точки зрения пользователя (Буч).

Определение вполне понятное и исчерпывающее, но его можно еще немного уточнить, воспользовавшись тем же Zicom Mentor‘ом:

Прецедент (use case) — описание множества последовательных событий (включая варианты), выполняемых системой, которые приводят к наблюдаемому эктором результату. Прецедент представляет поведение сущности, описывая взаимодействие между экторами и системой. Прецедент не показывает, «как» достигается некоторый результат, а только «что» именно выполняется.

Прецеденты обозначаются очень простым образом — в виде эллипса, внутри которого указано его название. Прецеденты и экторы соединяются с помощью линий. Часто на одном из концов линии изображают стрелку, причем направлена она к тому, у кого запрашивают сервис, другими словами, чьими услугами пользуются. Это простое объяснение иллюстрирует понимание прецедентов как сервисов, пропагандируемое компанией IBM.

Рис. 2.2.

 

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

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

Рис. 2.3.

 

Полагаем, здесь все было бы понятно, если бы даже мы никогда не слышали о диаграммах прецедентов! Ведь так? Все мы в студенческие годы пользовались библиотеками (которые теперь для нас заменил Интернет), и потому все это для нас знакомо. Обратите также внимание на примечание, сопоставленное с одним из прецедентов. Следует заметить, что иногда на диаграммах прецедентов границы системы обозначают прямоугольником, в верхней части которого может быть указано название системы. Таким образом, прецеденты — действия, выполняемые системой в ответ на действия эктора, — помещаются внутри прямоугольника.

А вот еще один пример (рис. 2.4). Думаем, вы сами, без нашей помощи, легко догадаетесь, о чем там идет речь.

Рис. 2.4.

 

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

Подводя итоги, можно выделить такие цели создания диаграмм прецедентов:

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

 

Диаграмма классов (class diagram)

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

Класс (class) — категория вещей, которые имеют общие атрибуты и операции.

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

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

Диаграмма классов — это набор статических, декларативных элементов модели. Диаграммы классов могут применяться и при прямом проектировании, то есть в процессе разработки новой системы, и при обратном проектировании — описании существующих и используемых систем. Информация с диаграммы классов напрямую отображается в исходный код приложения — в большинстве существующих инструментов UML-моделирования возможна кодогенерация для определенного языка программирования (обычно Java или C++). Таким образом, диаграмма классов — конечный результат проектирования и отправная точка процесса разработки.

Но мы опять заговорились, а, как известно, лучше один раз увидеть, чем сто раз услышать. Мы уже знаем, как классы обозначаются в UML, но пока еще не видели ни одной диаграммы «с их участием». Итак, посмотрим на примеры диаграмм классов.

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

Рис. 2.5.

Рассмотрим еще пример (рис. 2.6):

Рис. 2.6.

 

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

Рис. 2.7.

 

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

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

 

Диаграмма объектов (object diagram)

И снова, прежде чем говорить о новом виде диаграмм, введем определения нужных нам понятий. Итак, мы уже знаем, что такое класс. А что такое объект? Обратимся к классикам, которые об объектах говорят так же просто и понятно, как и о классах:

Объект (object) — экземпляр класса.

Zicom Mentor «говорит» об объектах более обстоятельно:

Объект (object) —

  • конкретная материализация абстракции;
  • сущность с хорошо определенными границами, в которой инкапсулированы состояние и поведение;
  • экземпляр класса (вернее, классификатора — эктор, класс или интерфейс). Объект уникально идентифицируется значениями атрибутов, определяющими его состояние в данный момент времени.

«Второе» определение, по сути, просто расширяет «Бучевское». Да, действительно, объект — это экземпляр класса. Скажем, объектом класса «Микроволновая печь» из примера, приведенного выше, может быть и простейший прибор фирмы «Saturn» небольшой емкости и с механическим управлением, и навороченный агрегат с грилем, сенсорным управлением и системой трехмерного распределения энергии от Samsung или LG.

Еще пример — все мы являемся объектами класса «человек» и различимы между собой по таким признакам (значениям атрибутов), как имя, цвет волос, глаз, рост, вес, возраст и т. д. (в зависимости от того, какую задачу мы рассматриваем и какие свойства человека для нас в ней важны).

Как же обозначается объект в UML? А очень просто — объект, как и класс, обозначается прямоугольником, но его имя подчеркивается. Под словом имя здесь мы понимаем название объекта и наименование его класса, разделенные двоеточием. Для указания значений атрибутов объекта в его обозначении может быть предусмотрена специальная секция. Еще один нюанс состоит в том, что объект может быть анонимным: это нужно в том случае, если в данный момент не важно, какой именно объект данного класса принимает участие во взаимодействии. Примеры — на рис. 2.8.

Рис. 2.8.

 

Итак, на определение основных понятий мы потратили довольно много времени, и пора бы уже вернуться к основному предмету нашего внимания — диаграмме объектов. Для чего нужны диаграммы объектов? Они показывают множество объектов — экземпляров классов (изображенных на диаграмме классов) и отношений между ними в некоторый момент времени. То есть диаграмма объектов — это своего рода снимок состояния системы в определенный момент времени, показывающий множество объектов, их состояния и отношения между ними в данный момент.

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

Приведем простейший пример такой диаграммы (рис. 2.9).

Рис. 2.9.

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

Другой пример (рис. 2.10).

Рис. 2.10.

 

Эта диаграмма тоже понятна в общих чертах даже без дополнительных объяснений. Здесь мы видим взаимосвязь объектов — организационных единиц в некоторой компании.

И наконец, последний пример (рис. 2.11): диаграмма объектов учебной среды «Робот» для Turbo Pascal, в которой наше поколение школьников училось основам алгоритмизации.

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

Рис. 2.11.

 

Диаграмма последовательностей (sequence diagram)

Только что мы познакомились с диаграммой объектов, которая показывает отношения между объектами в некоторый момент времени, т. е. предоставляет нам снимок состояния системы, являясь статической. Диаграмма же последовательностей отображает взаимодействие объектов в динамике. Что значит «в динамике»? Как раз с этим нам и предстоит разобраться.

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

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

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

Теперь о том, какие обозначения используются на диаграмме последовательностей. Как и ранее, объекты обозначаются прямоугольниками с подчеркнутыми именами (чтобы отличить их от классов), сообщения (вызовы методов) — линиями со стрелками, возвращаемые результаты — пунктирными линиями со стрелками. Прямоугольники на вертикальных линиях под каждым из объектов показывают «время жизни» (фокус) объектов. Впрочем, довольно часто их не изображают на диаграмме, все это зависит от индивидуального стиля проектирования.

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

Рис. 2.12.

Думаем, смысл диаграммы вполне понятен: студент хочет записаться на некий семинар, предлагаемый в рамках некоторого учебного курса. С этой целью проводится проверка подготовленности студента, для чего запрашивается список (история) семинаров курса, уже пройденных студентом (перейти к следующему семинару можно, лишь проработав материал предыдущих занятий — знакомая картина, не правда ли?). После получения истории семинаров объект класса «Слушатель» получает статус подготовленности, на основе которой студенту сообщается результат (статус) его попытки записи на семинар. Кстати, обратите внимание на вызов методов. Как видите, все просто!

Рис. 2.13.

 

А вот что описывает следующая диаграмма (рис. 2.13), попробуйте догадаться самостоятельно. Только, чур, не подсматривать в нижеследующий текст лекции!

Ну как, догадались? А мы даже и не сомневались! Конечно, это же работа обычного домового лифта, которым мы пользуемся каждый день! Кстати, посмотрите на имена объектов — видно, что это уже несколько иной стиль проектирования, чем в предыдущем примере. И наконец, еще один пример (рис. 2.14):

Рис. 2.14.

Узнаете свой мобильный?

 

Диаграмма взаимодействия (кооперации, collaboration diagram)

Диаграммы последовательностей — это отличное средство документирования поведения системы, детализации логики сценариев использования; но есть еще один способ — использовать диаграммы взаимодействия.

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

Следует отметить, что использование диаграммы последовательностей или диаграммы взаимодействия — личный выбор каждого проектировщика и зависит от индивидуального стиля проектирования. Мы, например, чаще отдаем предпочтение диаграмме последовательностей. На обозначениях, применяемых на диаграмме взаимодействия, думаем, не стоит останавливаться подробно. Здесь все стандартно: объекты обозначаются прямоугольниками с подчеркнутыми именами (чтобы отличить их от классов, помните?), ассоциации между объектами указываются в виде соединяющих их линий, над ними может быть изображена стрелка с указанием названия сообщения и его порядкового номера.

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

Но давайте же, наконец, перейдем к примерам (рис. 2.15):

Рис. 2.15.

 

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

Рис. 2.16.

 

Надеемся, что и эта диаграмма не смогла поставить вас в тупик. Скорее всего, она описывает процесс управления учебными курсами (очевидно, путем создания их из готовых модулей) для некоего учебного центра. Как видите, все просто!

И, наконец, еще один пример (рис. 2.17), который должен вызвать легкое «дежавю» у внимательного читателя.

Рис. 2.17.

 

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

 

Диаграмма состояний (statechart diagram)

Объекты характеризуются поведением и состоянием, в котором находятся. Например, человек может быть новорожденным, младенцем, ребенком, подростком или взрослым. Другими словами, объекты что-то делают и что-то «знают». Диаграммы состояний применяются для того, чтобы объяснить, каким образом работают сложные объекты. Несмотря на то что смысл понятия «состояние» интуитивно понятен, все же приведем его определение в таком виде, в каком его дают классики и Zicom Mentor:

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

Диаграмма состояний показывает, как объект переходит из одного состояния в другое. Очевидно, что диаграммы состояний служат для моделирования динамических аспектов системы (как и диаграммы последовательностей, кооперации, прецедентов и, как мы увидим далее, диаграммы деятельности). Часто можно услышать, что диаграмма состояний показывает автомат, но об этом мы поговорим подробнее чуть позже. Диаграмма состояний полезна при моделировании жизненного цикла объекта (как и ее частная разновидность — диаграмма деятельности, о которой мы будем говорить далее).

От других диаграмм диаграмма состояний отличается тем, что описывает процесс изменения состояний только одного экземпляра определенного класса — одного объекта, причем объекта реактивного, то есть объекта, поведение которого характеризуется его реакцией на внешние события. Понятие жизненного цикла применимо как раз к реактивным объектам, настоящее состояние (и поведение) которых обусловлено их прошлым состоянием. Но диаграммы состояний важны не только для описания динамики отдельного объекта. Они могут использоваться для конструирования исполняемых систем путем прямого и обратного проектирования. И они действительно с успехом применяются в таком качестве, вспомним существующие варианты «исполняемого UML», такие как UNIMOD, FLORA и др.

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

Приведем пример простейшей диаграммы состояний (рис. 2.18):

Рис. 2.18.

 

Думаем, здесь все понятно без лишних слов. А вот более сложный пример (рис. 2.19):

Рис. 2.19.

 

Здесь мы видим составное состояние, включающее другие состояния, одно из которых содержит также параллельные подсостояния. Мы не говорили ранее о том, как все это обозначается, но ведь и так понятно — это диаграмма прохождения академического курса студентом. Для того чтобы пройти курс, студент должен выполнить лабораторные работы, защитить курсовой проект и сдать экзамен. Все просто!

А вот еще один пример (рис. 2.20):

Рис. 2.20.

 

Не сомневаемся, что вы легко догадались, что это за устройство — конечно же, таймер! Такой прибор может применяться в составе различных реле, например, для отключения телевизора по истечении указанного промежутка времени. Основное его назначение — контроль времени (проверка, не истек ли указанный промежуток), но у него есть еще один режим работы — установка. По истечении указанного промежутка времени или при «сбросе» устройство отключается. В конце концов, о чем мы говорим — вы сами много раз устанавливали слип-таймер в телевизоре или устанавливали опцию «Выключить по завершении» в NeroBurning ROM!

 

Диаграмма активности (деятельности, activity diagram)

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

Да, кстати, надеемся, вы помните, что такое алгоритм? Существует огромное количество определений этого понятия. Вот одно из них:

Алгоритм — последовательность определенных действий или элементарных операций, выполнение которых приводит к получению желаемого результата.

Алгоритмы окружают нас повсюду, хоть мы и редко задумываемся об этом. Вспомните кулинарные рецепты или руководства по эксплуатации бытовых приборов! Конечно, отечественный потребитель привык жить по принципу «если ничего не помогает, прочтите, наконец, инструкцию», но факт остается фактом: чем сложнее устройство или система, тем важнее строго следовать алгоритму.

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

Рис. 2.21.

 

Многие из нас именно так начинают свой день, не правда ли? Обратите внимание на то, как изображено параллельное пение и принятие душа, — на обычной блок-схеме это было бы невозможно! А вот еще пример(рис. 2.22):

Рис. 2.22.

 

И опять все понятно — это оформление заказа в интернет-магазине! Ну и напоследок еще одна диаграмма (рис. 2.23).
Рис. 2.23.

Догадались, что она описывает? Сможете отличить этот тип диаграмм? Тогда пошли дальше!

 

Диаграмма развертывания (deployment diagram)

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

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

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

Диаграмма развертывания показывает топологию системы и распределение компонентов системы по ее узлам, а также соединения — маршруты передачи информации между аппаратными узлами. Это единственная диаграмма, на которой применяются «трехмерные» обозначения: узлы системы обозначаются кубиками. Все остальные обозначения в UML — плоские фигуры. Но приведем пример (рис. 2.24):

Рис. 2.24.

 

Думаем, и без объяснений понятно, что описывает эта диаграмма. А вот диаграмма развертывания с большим количеством узлов (рис. 2.25).

Рис. 2.25.

 

И опять все понятно! Это инфраструктура некоего учебного заведения, включающая шлюз, файл-сервер, принт-сервер, принтеры в лабораториях и холле и т. д. Пользователь (вероятно, студент или преподаватель) может получить доступ к этим ресурсам либо со своей домашней машины, либо с рабочих станций, находящихся в лабораториях вуза. Обратите внимание на подписи под линиями, показывающими линии передачи информации, например, видно, что рабочая станция получает доступ к файлам, хранящимся на файл-сервере, посредством NFS. Также хорошая идея — рядом с обозначением узла перечислить программное обеспечение, установленное на данном узле, как это сделано, например, для рабочей станции.

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

Если да, то пойдем дальше.

 

ООП и последовательность построения диаграмм

Прочитав материал этой лекции, нетерпеливый читатель скажет: «Это ведь все элементарно!». Да, это правда, простые задачи решаются с помощью UML без особого труда. А вот более сложные системы, прочитав только эту лекцию, возможно, так же адекватно смоделировать не удастся. Естественно, читать об UML недостаточно — надо им пользоваться! Может быть, даже сразу вы чего-то и не поймете, но по мере увеличения опыта использования UML вы все лучше начнете понимать его конструкции. Так же как и другие языки, UML требует особого способа мышления, умения рассматривать систему с разных сторон и точек зрения.

Можно дать множество рекомендаций относительно того, какие же именно диаграммы строить и как, но мы будем краткими. Прежде всего, вы должны ответить для себя на такие вопросы:

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

И еще одно — никогда не выбрасывайте даже «забракованные» диаграммы: они могут в дальнейшем оказаться полезными при анализе направления вашей мысли, поиске ошибок проектирования, да и просто для экспериментов по незначительному изменению системы.

Диаграммы, как уже говорилось выше, можно и нужно строить в некоторой логической последовательности. Но как выработать эту последовательность, если у вас нет опыта моделирования? Как научиться этому? Вот несколько простых приемов, которые помогут вам (или вашей команде) выработать свой стиль проектирования.

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

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

Стройте модели предметной области задачи в виде диаграммы классов! Это хороший способ понять, как визуализироватьмножества взаимосвязанных абстракций. Таким же образом стройте модели статической части задач.

Моделируйте динамическую часть задачи с помощью простых диаграмм последовательностей и кооперации. Хорошо начать с модели взаимодействия пользователя с системой — так вы сможете легко выделить наиболее важные прецеденты.

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

  • диаграмма прецедентов,
  • диаграмма классов,
  • диаграмма объектов,
  • диаграмма последовательностей,
  • диаграмма кооперации,
  • диаграмма состояний,
  • диаграмма активности,
  • диаграмма развертывания.

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

И напоследок еще несколько советов относительно использования UML.

Хорошее и полезное упражнение — строить модели классов и отношений между ними для уже написанного вами кода на С++ или Java.

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

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

Обратите особое внимание на средства UML для моделирования компонентов, параллельности, распределенности, паттернов проектирования. Большинство из этих вопросов мы рассмотрим далее.

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

Кроме прочего, важным моментом здесь является выбор пакета UML-моделирования (CASE-средства), что тоже может повлиять на ваш индивидуальный стиль проектирования. Более подробно мы поговорим об этом в одной из последующих лекций, пока же отметим, что все диаграммы, виденные вами в этой лекции, построены с помощью TAU G2 от Telelogic.

 

Выводы

  • Диаграммы разных видов позволяют взглянуть на систему с разных точек зрения.
  • UML содержит диаграммы трех типов — для моделирования статической структуры, поведенческих аспектов и подробностей реализации приложения.
  • Недостаточно читать об UML — им надо пользоваться!

 

Контрольные вопросы

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

ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ МОБИЛЬНОГО ПРИЛОЖЕНИЯ

Структура документа:

Глоссарий

Общие положения

2.1 Предмет разработки

2.2 Назначение документа

  1. Требования к графическому дизайну сайта

3.1 Требования к дизайну сайта

3.2 Порядок утверждения дизайн-концепции

  1. Функциональные требования

4.1 Классы пользователей

4.2 Требования к представлению сайта

4.3 Требования к системе управления сайтом

4.4 Требования к разделению доступа

  1. Требования к видам обеспечения

5.1 Требования к информационному обеспечению

5.2 Требования к программному обеспечению

5.3 Требования к техническому обеспечению

5.4 Требования к лингвистическому обеспечению

5.5 Требования к эргономике и технической эстетике

  1. Требования к приемке-сдаче проекта

6.1 Требования к наполнению информацией

6.2 Требования к персоналу

6.3 Порядок предоставления дистрибутива

6.4 Порядок переноса сайта на технические средства заказчика

  1. Глоссарий

 

Термин Описание
Сайт Информационная система, предоставляющая пользователям сети

Интернет доступ к своему содержимому и функционалу в виде упорядоченного набора взаимосвязанных HTML-страниц

 

Мобильное приложение Мобильное приложение – это специально разработанное приложение под конкретную мобильную платформу (iOS, Android, Windows Phone).
Нативное мобильное приложение Приложение можно назвать «родным» для операционных систем – Android, IOS, WinPhone . Такие мобильные приложения пишутся на языках программирования, утвержденных разработчиками программного обеспечения под каждую конкретную платформу, а потому органично встраиваются в сами операционные системы. Приложения загружаются через магазины приложений (App Store, Google Play и т.д.) и соответствуют требованиям этих магазинов.
Администратор Лицо, осуществляющее от имени Заказчика информационную поддержку сайта
Дизайн веб-сайта Уникальные для конкретного веб-сайта структура, графическое

оформление и способы представления информации

 

 

  1. Общие положения

2.1 Предмет разработки

 

user case

Рис. Use case

 

Предметом разработки является

  • мобильное приложение с автоматическим наполнением контента;
  • Сайт;

 

Назначение мобильного приложения:

  • Предоставление полной информации о местах курортной зоны;
  • Возможность осуществлять бронирование развлечений (экскурсий, снаряжения и тд);
  • Возможность осуществлять бронирование проживание (тур, отели, дома отдыха, курорты и тд);
  • Возможность осуществлять бронирование транспорта (авиа билетов, жд билетов, такси, автобусов);
  • Возможность осуществлять бронирование питания (столик в ресторане, вызов кейтеринг и тд);

 

Назначение сайта

—   Вывод рекламной информации о мобильном приложении;

—   Осуществление администрирование мобильного приложения;

—   Вывод аналитической информации (с возможностью отправить на принтер и на почтовый адрес);

 

Цель создания мобильного приложения:

—   Агрегирование сервисов курортной зоны России в одной месте;

—   Возможность бронирования путешествий «в один клик»;

—   Обмен сообщениями и отзывами между пользователями;

 

Целевая аудитория сайта:

—   Семейные пары (средний возраст которых родителей 30-35 лет) с маленькими детьми, которые планируют провести отдых на курортных зонах России (Сочи, Крым и тд);

—  Молодежь (от 18 до 30 лет), которая планирует отправиться на зимние курортные зоны (Красная поляна, Кавказ и тд.);

—   Активные люди, которые любят путешествовать по России и сами планируют свой отпуск;

 

 

2.2 Назначение документа

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

Подпись Заказчика и Исполнителя на настоящем документе подтверждает их согласие с нижеследующими фактами и условиями:

  • Исполнитель подготовил и разработал настоящий документ, именуемый Техническое Задание, который содержит перечень требований к выполняемым работам.
  • Заказчик согласен со всеми положениями настоящего Технического Задания.
  • Заказчик не вправе требовать от Исполнителя в рамках текущего Договора выполнения работ либо оказания услуг, прямо не описанных в настоящем Техническом Задании.
  • Исполнитель обязуется выполнить работы в объёме, указанном в настоящем Техническом Задании.
  • Заказчик не вправе требовать от Исполнителя соблюдения каких-либо форматов и стандартов, если это не указано в настоящем Техническом Задании.
  • Все неоднозначности, выявленные в настоящем Техническом задании после его подписания, подлежат двухстороннему согласованию между Сторонами.
  • В процессе согласования могут быть разработаны дополнительные требования, которые оформляются дополнительным соглашением к Договору и соответствующим образом оцениваются.

 

  1. Требования к графическому дизайну сайта

3.1 Требования к дизайну сайта

При разработке сайта должны быть использованы преимущественно светлые и контрастные цветовые решения (пример дизайнерских решений: https://habrahabr.ru/post/334722/ ).

Оформление должно быть разработано в достаточно консервативном ключе.

На страницах недолжно быть большого объема текста.

 

В дизайне сайта не должны присутствовать:

— мелькающие баннеры;

— много сливающегося текста;

— тёмные и агрессивные цветовые сочетания и графические решения.

 

Снимок

Рис. Пример формы авторизации

 

3.2 Порядок утверждения дизайн-концепции

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

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

 

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

 

  1. Функциональные требования

4.1 Классы пользователей

  • Гость – неавторизованный пользователь, обладает правами:
  • Регистрация в мобильном приложении;
  • Авторизация: ввод аутентификационных данных;
  • Авторизованный пользователь обладает правами:
  • Статические разделы – просмотр;
  • Разделы новостей – просмотр;
  • Новости – просмотр;
  • Раздел бронирование билетов – просмотр;
  • Раздел бронирования развлечений – просмотр;
  • Раздел бронирования путевок – просмотр;
  • Раздел бронирования транспорта – просмотр;
  • Видеоролики, фотографии – просмотр, добавление отзыва, редактирование собственного отзыва
  • Обратная связь – создание письма
  • Сообщение в техподдержку – создание заявки
  • Комментарии к разделам и подразделам– просмотр, добавление собственных, редактирование собственных
  • Подписка на рассылки и уведомления
  • Личный кабинет:
  • Информация о пользователе – просмотр, редактирование собственной информации
  • Статистика писем– просмотр собственных писем
  • Список рассылок и уведомлений – просмотр, редактирование, удаление

 

3) Администратор – пользователь, авторизованный в интерфейсе сайта

  • Полный доступ ко всем функциональным возможностям администрирования мобильного приложения:
  • Статические разделы — просмотр, добавление, редактирование, удаление
  • Разделы новостей — просмотр, добавление, редактирование, удаление
  • Новости – просмотр, добавление, редактирование, удаление
  • Статьи – просмотр, добавление, редактирование, удаление
  • Разделы– просмотр, добавление, редактирование, удаление
  • Видеоролики, фотографии – просмотр, добавление, редактирование, удаление
  • Личные данные пользователей – просмотр, редактирование
  • Список рассылок и уведомлений – просмотр, добавление, редактирование, удаление
  • Комментарии к фотографиям, видеороликам, текстам– просмотр, редактирование, удаление
  • Группы пользователей – просмотр, добавление, редактирование, удаление
  • Пользователь — просмотр, добавление, редактирование, удаление, раздача прав
  • Статистика – просмотр

 

4.2 Требования к представлению мобильного приложения

Требования к представлению главной страницы мобильного приложения.

 

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

В нижней части экрана должно располагаться горизонтальное меню и включать разделы: Транспорт, Питание, Развлечение, Проживание.

 

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

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

Требования к отображению раздела «проживание».

При переходе пользователя на раздел «проживание» пользователю в верхней части экрана

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

Требования к внутренним страницам раздела проживание.

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

Требования к отображению раздела «развлечения».

При переходе пользователя на раздел «развлечения» пользователю

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

 

Требования к внутренним страницам раздела «развлечения».

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

 

Требования к разрабатываемому разделу «транспорт»

  • Должны присутствовать разделы-выборы авиа-билеты, жд билеты, вызов такси, аренда автобуса;
  • В разделе авиабилеты должен быть календарь с выбором дата отчета и прилета, пунктом отправления и пунктом назначения, класс
  • В разделе авто должны присутствовать выбор тип авто: эконом, «люкс», «комфорт»

 

Требования к разрабатываемому разделу «питание»

  • Вызов питания на дом
  • Заказ столика в ресторане

 

Требования к внутренним страницам раздела «питание».

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

 

 

Требования к внутренним страницам раздела «личный кабинет».

  • После регистрации пользователя у него создается личный кабинет.
  • У пользователя появляются списки меню в нижней части приложения и в боковой части, который открывается с помощью слайдера пальцем.
  • Личный кабинет пользователя находится в боковой части экрана. Там должна быть возможность выбрать фотографию пользователю, выбрать перейти в раздел редактирования личного кабинете. Добавления данных кредитной карты, добавления информации, включения галочки пуш уведовлений.
  • К личному кабинету прикрепляется мониторинг действий (возможно гугл метрика).
  • На основании активности пользователя формируется релевантные предложения

 

 

Требования к странице «оплата».

Оплата путевки, тура, экскурсии, снаряжения и тд.

  • После добавления элемента (путевки и тд) в корзину, пользователю выводится сообщения о том, хочет ли он продолжить покупку чего-нибудь еще и перейти на оплату.
  • После перехода пользователю на вкладку оплаты, если у него не введены данные карты, то ему предлагается вести данные карты (Номер, код, владелец). После введения этих данных пользователь переходит на страницу подтверждения оплаты
  • На странице подтверждения оплаты ему выводится список того, что он выбрал, стоимость заказы, налог на данную услугу, комиссия, если она есть, и итоговая стоимость и кнопка оплатить.
  • После нажатия на кнопку оплатить. Клиенту выводится сообщение, что его заказ принят и обрабатывается. Если у клиента недостаточно денег, то ему выводится сообщение, о том, что у него недостаточно денег и предлагается ему вести другой номер карты или повторить попытку снова.
  • После успешной транзакции на почту клиента приходит чек о совершенной операции.
  • Оплата услуг должна производиться с помощью стороннего сервиса — Payonline.
  • После оплаты пользователю должно вернуться 6% кеш бека со следующей покупки.
  • Передача данных производится внутри приложения с помощь REST или JSON технологии.

Оплата авиа, жд билетов.

  • Оплата билетов происходит с помощью iframe, который выводится после нажатия на кнопку оплатить.
  • В iframe передаются параметры: фамилия, имя, отчество, данные кредитной карты.
  • После оплаты возвращается callback в мобильное приложение.

 

Требования к структуре сайта

  • Сайт создается с целью внесения в ручном режиме информации на сайт.
  • Для выгрузки отчетности

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

 

Авторизация

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

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

 

Данные для доступа (авторизации):

  • Логин – адрес электронной почты пользователя
  • Пароль – строка содержащая от 8 символов, состоящая из A-z, 0-9.

 

Ниже формы располагаются ссылка:

  • Забыли пароль

Форма «Забыли пароль» содержит поля:

  • Email адрес пользователя, указанный при регистрации

При неудачной попытке авторизации – появляется приглашение для повторной попытки

авторизоваться с формой авторизации.

 

Списки рассылок и уведомления

Авторизованные пользователи могут управлять своими списками рассылок, а также

просматривать полученные уведомления.

 

Функциональные требования:

Администратор

  • Добавить рассылку
  • Удаление рассылку
  • Редактирование рассылку

 

Авторизованный пользователь

  • Просмотреть список рассылок
  • Подписаться на список рассылок
  • Отписать от списка рассылок
  • Просмотреть уведомления

 

4.4 Требования к разделению доступа

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

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

 

  1. Требования к видам обеспечения

5.1 Требования к информационному обеспечению

Требования к хранению данных

Все данные сайта должны храниться в структурированном виде под управлением реляционной

СУБД. Исключения составляют файлы данных, предназначенные для просмотра и скачивания

(изображения, видео, документы и т.п.). Такие файлы сохраняются в файловой системе, а в БД

размещаются ссылки на них.

Наполнение различных сайтов, функционирование которых поддерживается одной и той же

инсталляцией системы, должно храниться под управлением единой СУБД.

 

Требования к языкам программирования

Для реализации статических страниц и шаблонов должны использоваться языки HTML 4.0 и CSS.

Исходный код должен разрабатываться в соответствии со стандартами W3C (HTML 4.0).

Для реализации интерактивных элементов клиентской части должны использоваться языки

JavaScript и DHTML.

Для реализации динамических страниц должен использоваться язык PHP.

Для разработки мобильного приложения должен быть использован ReactJS

 

Требования к организации гиперссылок

Все ссылки в мобильном приложении должны быть относительными (за исключением внешних).

Требования к иллюстрациям

Все рисунки и фото объемом более 1 kb (кроме элементов дизайна страницы) должны быть

выполнены с замещающим текстом. Все рисунки должны быть в формате gif или jpg.

Требования к объему одной страницы

Объем одной стандартной загружаемой страницы сайта в среднем не должен превышать 170 kb.

 

5.2 Требования к программному обеспечению

Серверная часть:

  • Операционная система семейства Unix (Linux, FreeBSD и пр.)
  • Веб-сервер Apache 1.3.18 и выше
  • Nginx, модуль mod_accel для Apache
  • Набор библиотек и утилит ffmpeg
  • PHP 4.2.0 и выше (должен быть собран как модуль Apache)
  • СУБД MySQL 4.1.14 и выше (предпочтительно: поддержка формата InnoDB).
  • Модули PHP: Mcrypt, FTP, ffmpeg-php
  • Библиотеки PHP: Smarty, GeoIP
  • Возможность доступа к localhost по FTP протоколу
  • 2 пользователя БД

Желательно, чтобы PHP не был запущен в SafeMode.

Клиентская часть:

  • Любой из перечисленный ниже браузеров (указана минимальная версия) с включенным
  • Internet Explorer 6
  • Mozilla 1.6 (Firefox 1.0)
  • Opera 9
  • Adobe Flash Player версии 9 и выше. Сайт должен быть работоспособен (информация,
  • расположенная на нем, должна быть доступна) при отключении в браузере поддержки flash и

 

5.3 Требования к техническому обеспечению

Серверная часть:

  • Компьютер с процессором Xeon 4 ядерный
  • 2 ГГц (рекомендуется от 3 ГГц)
  • Оперативная память 4 Гб
  • Место на жестком диске от 1 Гб

Точные технически характеристики сервера будут уточнены после завершения системы и

обширного тестирования всех модулей

 

Клиентская часть:

  • Компьютер с процессором i3 ГГц (рекомендуется от 1.5ГГц)
  • Оперативная память 256 Мб (рекомендуется от 512 Мб)

5.4 Требования к лингвистическому обеспечению

Сайт должен выполняться на русском языке.

5.5 Требования к эргономике и технической эстетике

Дизайн приложения должен быть адаптивный и работать корректно во всех устройствах (Android и IOS) с разрешением экрана 720х1280 пикселей, 1080х1920, 2560×1440, 640х1136 и 750х1334 пикселей соответственно. Интерфейс подключаемых модулей должен быть выполнен в едином стиле с интерфейсом ядра системы и должен обеспечивать возможность прозрачного перемещения администратора между модулями системы и использование одинаковых процедур управления и навигационных элементов для выполнения однотипных операций.

 

  1. Требования к приемке-сдаче проекта

6.1 Требования к наполнению информацией

Общие требования к информационному наполнению

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

6.3 Требования к персоналу

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

Администратор, оператор: уверенный пользователь сети Интернет, знание Microsoft Word.

Прочие пользователи: уверенный пользователь сети Интернет.

6.4 Порядок предоставления дистрибутива

По окончании разработки Исполнитель должен предоставить Заказчику дистрибутив системы в

составе:

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

— дамп проектной базы данных с актуальной информацией.

Дистрибутив предоставляется на CD-диске в виде файлового архива.

6.5 Порядок переноса сайта на технические средства заказчика

После завершения сдачи-приемки сайта, в рамках гарантийной поддержки Исполнителем

производится однократный перенос разработанного программного обеспечения в apple store, google market .

Перед осуществлением переноса Заказчик обеспечивает удаленный shell-доступ к веб-серверу и

доступ к базе данных сайта.

6.6 Дополнительные требования

Требования к производительности

Работа любого скрипта не должна превышать 60 секунд.

При условии нагрузки на сервер не более

500.000 обращений к страницам портала в сутки.

Требования к безопасности

Требуется защитить исходный код общей части сайта. Не должно быть возможности считать php-

код скриптов. Требуется разграничение доступа.

Пароли пользователей хранятся в зашифрованном виде. Перехват данных на уровне протокола tcp возможен.

На уровне СУБД должно быть реализовано разграничение доступа к данным в БД.

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

Система может быть недоступна не более чем 24 часа в год. Резервирование данных осуществляет

хостинг-провайдер. У администратора сайта должна быть возможность выгрузить и загрузить

копию сайта

SWEBOK — Software Engineering Body of Knowledge

The Guide to the Software Engineering Body of Knowledge (SWEBOK Guide) describes generally accepted knowledge about software engineering. Its 15 knowledge areas (KAs) summarize basic concepts and include a reference list pointing to more detailed information. For SWEBOK Guide V3, SWEBOK editors received and replied to comments from approximately 150 reviewers in 33 countries.

SWEBOK_logo_v2

В сфере управления ИТ-проектами существует ряд международных стандартов. Это такие, как PMBОK (Project Management Body of Knowledge), SWEBOK (Software Engineering Body of Knowledge) и ряд других.

Project Management Body of Knowledge(PMBOK) – Стандарт управления проектами PMBOK Guide 3-rd Edition (Project Management Body of Knowledge), Американского института управления проектами (PMI – Project Management Institute) определяет круг знаний, необходимых для эффективного управления проектами. Стандарт PMBOK Guide 3-rd Edition включают в себя процессы, охватывающие все стадии жизненного цикла проекта (инициация, планирование, исполнение, контроль и завершение). Результаты или выходы одного процесса являются входами для другого процесса.

В конце 90-х годов прошлого века знания и опыт, которые были накоплены в индустрии программного обеспечения за предшествующие 30-35 лет, оформилось в то, что принято называть дисциплиной программной инженерии – Software Engineering. В какой-то мере, такое формирование дисциплины на основе широко распространенного практического опыта напоминает те процессы, которые происходили в управлении проектами. Возникали и развивались профессиональные ассоциации, специализированные институты, комитеты по стандартизации и другие образования, которые, в конце концов, пришли к общему мнению о необходимости сведения профессиональных знаний по соответствующим областям и стандартизации соответствующих программ обучения.

К 2004 году сформулировали два ключевых описания того, что сегодня мы и называем основами программной инженерии – Software Engineering:

1. Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE 2004 Version – Руководство к Своду Знаний по Программной Инженерии, в дальнейшем просто “SWEBOK”;

2. Software Engineering 2004. Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering – Рекомендации по преподаванию программной инженерии (данное название на русском языке представлено в вольном смысловом переводе).

SWEBOK делит знания по программной инженерии на 10 областей:

· Software Requirements – требования к ПО.

· Software Design – проектирование ПО.

· Software Construction – конструирование ПО.

· Software Testing – тестирование ПО.

· Software Maintenance – сопровождение ПО.

· Software Configuration Management – управление конфигурацией.

· Software Engineering Management – управление IT проектом.

· Software Engineering Process – процесс программной инженерии.

· Software Engineering Tools and Methods – методы и инструменты.

· Software Quality – качество ПО.

234

235

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

· Computer engineering

· Computer science

· Management

· Mathematics

· Project management

· Quality management

· Systems engineering

.

236
Software Engineering Code of Ethics and Professional Practice http://www.acm.org/about/se-code

ГОСТ 34.602-89 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА СОЗДАНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ


ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ.
Комплекс стандартов на автоматизированные системы

34.602-89

ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА СОЗДАНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ

Information technology. Set of standards for automated systems. Technical directions for developing of automated system

ОКСТУ 0034

Дата введения с 01.01.1990г.

Настоящий стандарт распространяется на автоматизированные системы (АС) для автоматизации различных видов деятельности (управление, проектирование, исследование и т. п.), включая их сочетания, и устанавливает состав, содержание, правила оформления документа «Техническое задание на создание (развитие или модернизацию) системы» (далее — ТЗ на АС).

Рекомендуемый порядок разработки, согласования и утверждения ТЗ на АС приведен в приложении 1.

1. ОБЩИЕ ПОЛОЖЕНИЯ

1.1. ТЗ на АС является основным документом, определяющим требования и порядок создания (развития или модернизации — далее создания) автоматизированной системы, в соответствии с которым проводится разработка АС и ее приемка при вводе в действие.

1.2. ТЗ на АС разрабатывают на систему в целом, предназначенную для работы самостоятельно или в составе другой системы.

Дополнительно могут быть разработаны ТЗ на части АС:

  • на подсистемы АС, комплексы задач АС и т. п. в соответствии с требованиями настоящего стандарта;
  • на комплектующие средства технического обеспечения и программно-технические комплексы в соответствии со стандартами ЕСКД и СРПП;
  • на программные средства в соответствии со стандартами ЕСПД;
  • на информационные изделия в соответствии с ГОСТ 19.201 и НТД, действующей в ведомстве заказчика АС.

Примечание. В ТЗ на АСУ для группы взаимосвязанных объектов следует включать только общие для группы объектов требования. Специфические требования отдельного объекта управления следует отражать в ТЗ на АСУ этого объекта.

1.3. Требования к АС в объеме, установленном настоящим стандартом, могут быть включены в задание на проектирование вновь создаваемого объекта автоматизации. В этом случае ТЗ на АС не разрабатывают.

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

1.5. ТЗ на АС разрабатывают на основании исходных данных в том числе содержащихся в итоговой документации стадии «Исследование и обоснование создания АС», установленной ГОСТ 24.601.

1.6. В ТЗ на АС включают только те требования, которые дополняют требования к системам данного вида (АСУ, САПР, АСНИ и т. д.), содержащиеся в действующих НТД, и определяются спецификой конкретного объекта, для которого создается система.

1.7. Изменения к ТЗ на АС оформляют дополнением или подписанным заказчиком и разработчиком протоколом. Дополнение или указанный протокол являются неотъемлемой частью ТЗ на АС. На титульном листе ТЗ на АС должна быть запись «Действует с … ».

2. СОСТАВ И СОДЕРЖАНИЕ

2.1. ТЗ на АС содержит следующие разделы, которые могут быть разделены на подразделы:

  • 1) общие сведения;
  • 2) назначение и цели создания (развития) системы;
  • 3) характеристика объектов автоматизации;
  • 4) требования к системе;
  • 5) состав и содержание работ по созданию системы;
  • 6) порядок контроля и приемки системы;
  • 7) требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие;
  • 8) требования к документированию;
  • 9) источники разработки.

В ТЗ на АС могут включаться приложения.

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

В ТЗ на части системы не включают разделы, дублирующие содержание разделов ТЗ на АС в целом.

2.3. В разделе «Общие сведения» указывают:

  • 1) полное наименование системы и ее условное обозначение;
  • 2) шифр темы или шифр (номер) договора;
  • 3) наименование предприятий (объединений) разработчика и заказчика (пользователя) системы и их реквизиты;
  • 4) перечень документов, на основании которых создается система, кем и когда утверждены эти документы;
  • 5) плановые сроки начала и окончания работы по созданию системы;
  • 6) сведения об источниках и порядке финансирования работ;
  • 7) порядок оформления и предъявления заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы.

2.4. Раздел «Назначение и цели создания (развития) системы» состоит из подразделов:

  • 1) назначение системы;
  • 2) цели создания системы.

2.4.1. В подразделе «Назначение системы» указывают вид автоматизируемой деятельности (управление, проектирование и т. п.) и перечень объектов автоматизации (объектов), на которых предполагается ее использовать.

Для АСУ дополнительно указывают перечень автоматизируемых органов (пунктов) управления и управляемых объектов.

2.4.2. В подразделе «Цели создания системы» приводят наименования и требуемые значения технических, технологических, производственно-экономических или других показателей объекта автоматизации, которые должны быть достигнуты в результате создания АС, и указывают критерии оценки достижения целей создания системы.

2.5. В разделе «Характеристики объекта автоматизации» приводят:

  • 1) краткие сведения об объекте автоматизации или ссылки на документы, содержащие такую информацию;
  • 2) сведения об условиях эксплуатации объекта автоматизации и характеристиках окружающей среды.

Примечание: Для САПР в разделе дополнительно приводят основные параметры и характеристики объектов проектирования.

2.6. Раздел «Требования к системе» состоит из следующих подразделов:

  • 1) требования к системе в целом;
  • 2) требования к функциям (задачам), выполняемым системой;
  • 3) требования к видам обеспечения.

Состав требований к системе, включаемых в данный раздел ТЗ на АС, устанавливают в зависимости от вида, назначения, специфических особенностей и условий функционирования конкретной системы. В каждом подразделе приводят ссылки на действующие НТД, определяющие требования к системам соответствующего вида.

2.6.1. В подразделе «Требования к системе в целом» указывают:

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

2.6.1.1. В требованиях к структуре и функционированию системы приводят:

  • 1) перечень подсистем, их назначение и основные характеристики, требования к числу уровней иерархии и степени централизации системы;
  • 2) требования к способам и средствам связи для информационного обмена между компонентами системы;
  • 3) требования к характеристикам взаимосвязей создаваемой системы со смежными системами, требования к ее совместимости, в том числе указания о способах обмена информацией (автоматически, пересылкой документов, по телефону и т. п.);
  • 4) требования к режимам функционирования системы;
  • 5) требования по диагностированию системы;
  • 6) перспективы развития, модернизации системы.

2.6.1.2. В требованиях к численности и квалификации персонала на АС приводят:

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

2.6.1.3. В требованиях к показателям назначения АС приводят значения параметров, характеризующие степень соответствия системы ее назначению.

Для АСУ указывают:

  • степень приспособляемости системы к изменению процессов и методов управления, к отклонениям параметров объекта управления;
  • допустимые пределы модернизации и развития системы;
  • вероятностно-временные характеристики, при которых сохраняется целевое назначение системы.

2.6.1.4. В требования к надежности включают:

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

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

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

2.6.1.7. Для подвижных АС в требования к транспортабельности включают конструктивные требования, обеспечивающие транспортабельность технических средств системы, а также требования к транспортным средствам.

2.6.1.8. В требования к эксплуатации, техническому обслуживанию, ремонту и хранению включают:

  • 1) условия и регламент (режим) эксплуатации, которые должны обеспечивать использование технических средств (ТС) системы с заданными техническими показателями, в том числе виды и периодичность обслуживания ТС системы или допустимость работы без обслуживания;
  • 2) предварительные требования к допустимым площадям для размещения персонала и ТС системы, к параметрам сетей энергоснабжения и т. п.;
  • 3) требования по количеству, квалификации обслуживающего персонала и режимам его работы;
  • 4) требования к составу, размещению и условиям хранения комплекта запасных изделий и приборов;
  • 5) требования к регламенту обслуживания.

2.6.1.9. В требования к защите информации от несанкционированного доступа включают требования, установленные в НТД, действующей в отрасли (ведомстве) заказчика.

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

2.6.1.11. В требованиях к средствам защиты от внешних воздействий приводят:

  • 1) требования к радиоэлектронной защите средств АС;
  • 2) требования по стойкости, устойчивости и прочности к внешним воздействиям (среде применения).

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

2.6.1.13. В требования к стандартизации и унификации включают: показатели, устанавливающие требуемую степень использования стандартных, унифицированных методов реализации функций (задач) системы, поставляемых программных средств, типовых математических методов и моделей, типовых проектных решений, унифицированных форм управленческих документов, установленных ГОСТ 6.10.1, общесоюзных классификаторов технико-экономической информации и классификаторов других категорий в соответствии с областью их применения, требования к использованию типовых автоматизированных рабочих мест, компонентов и комплексов.

2.6.1.14. В дополнительные требования включают:

  • 1) требования к оснащению системы устройствами для обучения персонала (тренажерами, другими устройствами аналогичного назначения) и документацией на них;
  • 2) требования к сервисной аппаратуре, стендам для проверки элементов системы;
  • 3) требования к системе, связанные с особыми условиями эксплуатации;
  • 4) специальные требования по усмотрению разработчика или заказчика системы.

2.6.2. В подразделе «Требование к функциям (задачам)», выполняемым системой, приводят:

 

  • 1) по каждой подсистеме перечень функций, задач или их комплексов (в том числе обеспечивающих взаимодействие частей системы), подлежащих автоматизации;при создании системы в две или более очереди — перечень функциональных подсистем, отдельных функций или задач, вводимых в действие в 1-й и последующих очередях;
  • 2) временной регламент реализации каждой функции, задачи (или комплекса задач);
  • 3) требования к качеству реализации каждой функции (задачи или комплекса задач), к форме представления выходной информации, характеристики необходимой точности и времени выполнения, требования одновременности выполнения группы функций, достоверности выдачи результатов;
  • 4) перечень и критерии отказов для каждой функции, по которой задаются требования по надежности.2.6.3. В подразделе «Требования к видам обеспечения» в зависимости от вида системы приводят требования к математическому, информационному, лингвистическому, программному, техническому, метрологическому, организационному, методическому и другие видам обеспечения системы.2.6.3.1. Для математического обеспечения системы приводят требования к составу, области применения (ограничения) и способам, использования в системе математических методов и моделей, типовых алгоритмов и алгоритмов, подлежащих разработке.2.6.3.2. Для информационного обеспечения системы приводят требования:
    • 1) к составу, структуре и способам организации данных в системе;
    • 2) к информационному обмену между компонентами системы;
    • 3) к информационной совместимости со смежными системами;
    • 4) по использованию общесоюзных и зарегистрированных республиканских, отраслевых классификаторов, унифицированных документов и классификаторов, действующих на данном предприятии;
    • 5) по применению систем управления базами данных;
    • 6) к структуре процесса сбора, обработки, передачи данных в системе и представлению данных;
    • 7) к защите данных от разрушений при авариях и сбоях в электропитании системы;
    • 8) к контролю, хранению, обновлению и восстановлению данных;
    • 9) к процедуре придания юридической силы документам, продуцируемым техническими средствами АС (в соответствии с ГОСТ 6.10.4).

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

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

    • 1) к независимости программных средств от используемых СВТ и операционной среды;
    • 2) к качеству программных средств, а также к способам его обеспечения и контроля;
    • 3) по необходимости согласования вновь разрабатываемых программных средств с фондом алгоритмов и программ.

    2.6.3.5. Для технического обеспечения системы приводят требования:

    • 1) к видам технических средств, в том числе к видам комплексов технических средств, программно-технических комплексов и других комплектующих изделий, допустимых к использованию в системе;
    • 2) к функциональным, конструктивным и эксплуатационным характеристикам средств технического обеспечения системы.

    2.6.3.6. В требованиях к метрологическому обеспечению приводят:

    • 1) предварительный перечень измерительных каналов;
    • 2) требования к точности измерений параметров и (или) к метрологическим характеристикам измерительных каналов;
    • 3) требования к метрологической совместимости технических средств системы;
    • 4) перечень управляющих и вычислительных каналов системы, для которых необходимо оценивать точностные характеристики;
    • 5) требования к метрологическому обеспечению технических и программных средств, входящих в состав измерительных каналов системы, средств, встроенного контроля, метрологической пригодности измерительных каналов и средств измерений, используемых при наладке и испытаниях системы;
    • 6) вид метрологической аттестации (государственная или ведомственная) с указанием порядка ее выполнения и организаций, проводящих аттестацию.

    2.6.3.7. Для организационного обеспечения приводят требования:

  • 1) к структуре и функциям подразделений, участвующих в функционировании системы или обеспечивающих эксплуатацию;
  • 2) к организации функционирования системы и порядку взаимодействия персонала АС и персонала объекта автоматизации;
  • 3) к защите от ошибочных действий персонала системы.2.6.3.8. Для методического обеспечения САПР приводят требования к составу нормативно-технической документации системы (перечень применяемых при ее функционировании стандартов, нормативов, методик и т. п.).2.7. Раздел «Состав и содержание работ по созданию (развитию) системы» должен содержать перечень стадий и этапов работ по созданию системы в соответствии с ГОСТ 24.601, сроки их выполнения, перечень организаций — исполнителей работ, ссылки на документы, подтверждающие согласие этих организаций на участие в создании системы, или запись, определяющую ответственного (заказчик или разработчик) за проведение этих работ.В данном разделе также приводят:
    • 1) перечень документов, по ГОСТ 34.201-89, предъявляемых по окончании соответствующих стадий и этапов работ;
    • 2) вид и порядок проведения экспертизы технической документации (стадия, этап, объем проверяемой документации, организация-эксперт);
    • 3) программу работ, направленных на обеспечение требуемого уровня надежности разрабатываемой системы (при необходимости);
    • 4) перечень работ по метрологическому обеспечению на всех стадиях создания системы с указанием их сроков выполнения и организаций-исполнителей (при необходимости).

    2.8. В разделе «Порядок контроля и приемки системы» указывают:

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

    2.9. В разделе «Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие» необходимо привести перечень основных мероприятий и их исполнителей, которые следует выполнить при подготовке объекта автоматизации к вводу АС в действие.

    В перечень основных мероприятий включают:

    • 1) приведение поступающей в систему информации (в соответствии с требованиями к информационному и лингвистическому обеспечению) к виду, пригодному для обработки с помощью ЭВМ;
    • 2) изменения, которые необходимо осуществить в объекте автоматизации;
    • 3) создание условий функционирования объекта автоматизации, при которых гарантируется соответствие создаваемой системы требованиям, содержащимся в ТЗ;
    • 4) создание необходимых для функционирования системы подразделений и служб;
    • 5) сроки и порядок комплектования штатов и обучения персонала.

    Например, для АСУ приводят:

    • изменения применяемых методов управления;
    • создание условий для работы компонентов АСУ, при которых гарантируется соответствие системы требованиям, содержащимся в ТЗ.

    2.10. В разделе «Требования к документированию» приводят:

    • 1) согласованный разработчиком и Заказчиком системы перечень подлежащих разработке комплектов и видов документов, соответствующих требованиям ГОСТ 34.201-89 и НТД отрасли заказчика;
      перечень документов, выпускаемых на машинных носителях;
      требования к микрофильмированию документации;
    • 2) требования по документированию комплектующих элементов межотраслевого применения в соответствии с требованиями ЕСКД и ЕСПД;
    • 3) при отсутствии государственных стандартов, определяющих требования к документированию элементов системы, дополнительно включают требования к составу и содержанию таких документов.

    2.11. В разделе «Источники разработки» должны быть перечислены документы и информационные материалы (технико-экономическое обоснование, отчеты о законченных научно-исследовательских работах, информационные материалы на отечественные, зарубежные системы-аналоги и др.), на основании которых разрабатывалось ТЗ и которые должны быть использованы при создании системы.

    2.12. В состав ТЗ на АС при наличии утвержденных методик включают приложения, содержащие:

    • 1) расчет ожидаемой эффективности системы;
    • 2) оценку научно-технического уровня системы.

    Приложения включают в состав ТЗ на АС по согласованию между разработчиком и заказчиком системы.

    3. ПРАВИЛА ОФОРМЛЕНИЯ

    3.1. Разделы и подразделы ТЗ на АС должны быть размещены в порядке, установленном в разд. 2 настоящего стандарта.

    3.2. ТЗ на АС оформляют в соответствии с требованиями ГОСТ 2.105.95 на листах формата А4 по ГОСТ 2.301 без рамки, основной надписи и дополнительных граф к ней.

    Номера листов (страниц) проставляют, начиная с первого листа, следующего за титульным листом, в верхней части листа (над текстом, посередине) после обозначения кода ТЗ на АС.

    3.3. Значения показателей, норм и требований указывают, как правило, с предельными отклонениями или максимальным и минимальным значениями. Если эти показатели, нормы, требования однозначно регламентированы НТД, в ТЗ на АС следует приводить ссылку на эти документы или их разделы, а также дополнительные требования, учитывающие особенности создаваемой системы. Если конкретные значения показателей, норм и требований не могут быть установлены в процессе разработки ТЗ на АС, в нем следует сделать запись о порядке установления и согласования этих показателей, норм и требований:

       «Окончательное требование (значение) уточняется в процессе ...и согласовывается протоколом с ... на стадии ...».
    

    При этом в текст ТЗ на АС изменений не вносят.

    3.4. На титульном листе помещают подписи заказчика, разработчика и согласующих организаций, которые скрепляют гербовой печатью. При необходимости титульный лист оформляют на нескольких страницах. Подписи разработчиков ТЗ на АС и должностных лиц, участвующих в согласовании и рассмотрении проекта ТЗ на АС, помещают на последнем листе.

    Форма титульного листа ТЗ на АС приведена в приложении 2. Форма последнего листа ТЗ на АС приведена в приложении 3.

    3.5. При необходимости на титульном листе ТЗ на АС допускается помещать установленные в отрасли коды, например: гриф секретности, код работы, регистрационный номер ТЗ и др.

    3.6. Титульный лист дополнения к ТЗ на АС оформляют аналогично титульному листу технического задания. Вместо наименования «Техническое задание» пишут «Дополнение № … к ТЗ на AC … ».

    3.7. На последующих листах дополнения к ТЗ на АС помещают основание для изменения, содержание изменения и ссылки на документы, в соответствии с которыми вносятся эти изменения.

    3.8. При изложении текста дополнения к ТЗ следует указывать номера соответствующих пунктов, подпунктов, таблиц основного ТЗ на АС и т. п. и применять слова: «заменить», «дополнить», «исключить», «изложить в новой редакции».


    ПРИЛОЖЕНИЕ 1
    Рекомендуемое

    ПОРЯДОК РАЗРАБОТКИ, СОГЛАСОВАНИЯ И УТВЕРЖДЕНИЯ ТЗ НА АС

    1. Проект ТЗ на АС разрабатывает организация-разработчик системы с участием заказчика на основании технических требований (заявки, тактико-технического задания и т. п.).

    При конкурсной организации работ варианты проекта ТЗ на АС рассматриваются заказчиком, который — либо выбирает предпочтительный, вариант, либо на основании сопоставительного анализа подготавливает с участием будущего разработчика АС окончательный вариант ТЗ на AC.

    2. Необходимость согласования проекта ТЗ на АС с органами государственного надзора и другими заинтересованными организациями определяют совместно заказчик системы и разработчик проекта ТЗ на АС,

    Работу по согласованию проекта ТЗ на AC осуществляют совместно разработчик ТЗ на АС и заказчик системы, каждый в организациях своего министерства (ведомства).

    3. Срок согласования проекта ТЗ на АС в каждой организации не должен превышать 15 дней со дня его получения. Рекомендуется рассылать на согласование экземпляры проекта ТЗ на АС (копий) одновременно во все организации (подразделения).

    4. Замечания по проекту ТЗ на АС должны быть представлены с техническим обоснованием. Решения по замечаниям должны быть приняты разработчиком проекта ТЗ на АС и заказчиком системы до утверждения ТЗ на АС.

    5. Если при согласовании проекта ТЗ на АС возникли разногласия между разработчиком и заказчиком (или другими заинтересованными организациями), то составляется протокол разногласий (форма произвольная) и конкретное решение принимается в установленном порядке.

    6. Согласование проекта ТЗ на АС разрешается оформлять отдельным документом (письмом). В этом случае под грифом «Согласовано» делают ссылку на этот документ.

    7. Утверждение ТЗ на АС осуществляют руководители предприятий (организаций) разработчика и заказчика системы.

    8. ТЗ на АС (дополнение к ТЗ) до передачи его на утверждение должно быть проверено службой нормоконтроля организации — разработчика ТЗ и, при необходимости, подвергнуто метрологической экспертизе.

    9. Копии, утвержденного ТЗ на АС в 10-дневный срок после утверждения высылаются разработчиком ТЗ на АС участникам создания системы.

    10. Согласование и утверждение дополнений к ТЗ на АС проводят в порядке, установленном для ТЗ на АС.

    11. Изменения к ТЗ на АС не допускается утверждать после представления системы или ее очереди на приемо-сдаточные испытания.

    12. Регистрация, учет и хранение ТЗ на АС и дополнений к нему проводят в соответствии, с требованиями ГОСТ 2.501.


    ПРИЛОЖЕНИЕ 2
    Рекомендуемое

    ФОРМА ТИТУЛЬНОГО ЛИСТА ТЗ НА АС

    ________________________________________________________

    ________________________________________________________

    наименование
    организации — разработчика ТЗ на АС

    УТВЕРЖДАЮ

    Руководитель
    (должность, наименование предприятия — заказчика АС)

    Личная подпись
    Расшифровка подписи

    Печать

    Дата

    УТВЕРЖДАЮ

    Руководитель
    (должность, наименование предприятия — разработчик” АС)

    Личная подпись
    Расшифровка подписи

    Печать

    Дата

    ________________________________________________________

    наименование вида АС

    ________________________________________________________

    наименование объекта
    автоматизации

    ________________________________________________________

    сокращенное
    наименование АС

    ТЕХНИЧЕСКОЕ ЗАДАНИЕ

    На ____ листах

    Действует
    с

    СОГЛАСОВАНО

    Руководитель
    (должность, наименование согласующей организации)

    Личная подпись
    Расшифровка подписи

    Печать

    Дата


    ПРИЛОЖЕНИЕ 3
    Рекомендуемое

    ФОРМА ПОСЛЕДНЕГО ЛИСТА ТЗ НА АС

    (код ТЗ)

    СОСТАВИЛИ

    Наименование организации, предприятия

    Должность исполнителя

    Фамилия имя, отчество

    Подпись

    Дата

    СОГЛАСОВАНО

    Наименование организации, предприятия

    Должность исполнителя

    Фамилия имя, отчество

    Подпись

    Дата


    ПРИЛОЖЕНИЕ 4
    Справочное

    ПОЛОЖЕНИЯ ПО СОЗДАНИЮ ЕДИНОГО КОМПЛЕКСА СТАНДАРТОВ АВТОМАТИЗИРОВАННЫХ СИСТЕМ

    1. Исходные предпосылки создания комплекса

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

    1.2. В период принятия Госстандартом СССР решения о совершенствовании межотраслевых комплексов стандартов действовали следующие комплексы и системы стандартов, устанавливающие требования к различным видам АС:

    • 1) единая система стандартов автоматизированных систем управления (24-я система), распространяющаяся на АСУ, АСУП, АСУ ТП и другие организационно-экономические системы;
    • 2) комплекс стандартов (система 23501); распространяющихся на системы автоматизированного проектирования;
    • 3) четвертая группа 14-й системы стандартов, распространяющаяся на автоматизированные системы технологической подготовки производства.

    1.3. Практика применения стандартов на АСУ, САПР, АСУ ТП, АСТПП показала, что в них применяется одинаковый понятийный аппарат, имеется много общих объектов стандартизации, однако требования стандартов не согласованы между собой, имеются различия по составу и содержанию работ, различия по обозначению, составу, содержанию и оформлению документов и пр.

    1.4. На фоне отсутствия единой технической политики в области создания АС многообразие стандартов не обеспечивало широкой совместимости АС при их взаимодействии, не позволяло тиражировать системы, тормозило развитие перспективных направлений использования средств вычислительной техники.

    1.5. В настоящее время осуществляется переход к созданию сложных АС (за рубежом системы CAD — САМ), включающих в свой состав АСУ технологическими процессами и производствами, САПР — конструктора, САПР — технолога, АСНИ и др. системы. Использование противоречивых правил при создании таких систем приводит к снижению качества, увеличению стоимости работ, затягиванию сроков ввода АС в действие.

    1.6. Единый комплекс стандартов и руководящих документов должен распространяться на автоматизированные системы различного назначения: АСНИ, САПР, ОАСУ, АСУП, АСУТП, АСУГПС, АСК, АСТПП, включая их интеграцию.

    1.7. При разработке межотраслевых документов следует учитывать следующие особенности АС как объектов стандартизации:

    • 1) техническое задание является основным документом, в соответствии с которым проводят создание АС и приемку его заказчиком;
    • 2) АС, как правило, создают проектным путем с комплектацией изделиями серийного и единичного производства и проведением строительных, монтажных, наладочных и пусковых работ, необходимых для ввода в действие АС;
    • 3) в общем случае АС (подсистема АС) состоит из программно-технических (ПТК), программно-методических комплексов (ПМК) и компонентов технического, программного и информационного обеспечений.
      Компоненты этих видов обеспечения, а также ПМК и ПТК должны изготовляться и поставляется как продукция производственно-технического назначения.
      Компоненты могут входить в АС в качестве самостоятельных частей или могут быть объединены в комплексы;
    • 4) создание АС в организациях (предприятиях) требует специальной подготовки пользователей и обслуживающего персонала системы;
    • 5) функционирование АС и комплексов обеспечивается совокупностью организационно-методических документов, рассматриваемых в процессе создания как компоненты правового, методического, лингвистического, математического, организационного и др. видов обеспечений. Отдельные решения, получаемые в процессе разработки этих обеспечений, могут реализовываться в виде компонентов технического, программного или информационного обеспечений;
    • 6) совместное функционирование и взаимодействие различных систем и комплексов осуществляется на базе локальных сетей ЭВМ.

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

    2. Взаимосвязь ЕКС АС с другими системами и комплексами стандартов

    2.1. Стандартизация в области АС является составной частью работ по обобщенной проблеме «Информационная технология».

    2.2. Единый комплекс стандартов руководящих документов на автоматизированные системы совместно с другими системами и комплексами стандартов должен образовывать полное нормативно-техническое обеспечение процессов создания и функционирования АС.

    2.3. ЕКС АС должен охватывать специфические для автоматизированных систем направления стандартизации и распространять традиционные направления стандартизации на программно-технические, программно-методические комплексы и автоматизированные системы в целом.

    2.4. Направления и задачи стандартизации при нормативно-техническом обеспечении процессов создания и функционирования АС группируют следующим образом:

    • 1) установление технических требований к продукции;
    • 2) регламентация методов испытаний и правил аттестации и сертификации продукции;
    • 3) регламентация правил и порядка разработки;
    • 4) установление правил документирования;
    • 5) обеспечение совместимости;
    • 6) регламентация организационно-методических вопросов функционирования систем.

    Направления 1-4 являются традиционными при разработке, изготовлении и поставке продукции. Направления 5, 6 являются специфичными и вытекают из особенностей, присущих АС.

    2.5. Обеспеченность АС в целом и их составных частей нормативно-технической документацией в рамках принятых направлений и задач стандартизации различна.

    Компоненты технического, программного и информационного обеспечений, как продукцию производственно-технического назначения, рассматривают, соответственно, как конструкторские, программные и информационные изделия. На эти изделия распространяются действующие комплексы стандартов ЕСКД, СРПП, ЕСПД, СГИП, УСД, классификаторы и кодификаторы технико-экономической информации, комплексы стандартов вида «ОТТ», «Методы испытаний», «ТУ», а также ОТТ заказчика.

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

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

    2.5.3. Информационные изделия в настоящее время не обеспечены НТД, хотя отдельные вопросы проработаны в рамках УСД, классификаторах и кодификаторах технико-экономической информации.

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

 

Установка Bonita BPM на CentOS

34

Bonita Open Solution – французский вендор. В opensource-версии системы отсутствуют средства мониторинга процессов. В свою очередь, в коммерческом варианте системы они есть. Решение состоит из трёх основных компонентов, разделенных по назначению:

Studio — моделирование и автоматизация бизнес-процессов;
Execution Engine — исполнение бизнес-процессов;
User Experience — интерфейс для работы пользователя с его процессами.

Моделирование процессов Bonita Open Solution происходит в нотации BPMN.

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

Устанавливаем и настраиваем X Window System

yum groupinstall «X Window System»
yum install firefox

Добавляем пользователя Bonita для запуска Bonita Open Solution

adduser -d /opt/bonita -c «Bonita Open Solution user» -m bonita
chown bonita:bonita /opt/bonita
su bonita
cd ~
mkdir distrib # В этой папке будут находится все дистрибутивы
exit

Устанавливаем и настраиваем JRE (Java Runtime Environment)

Из firefox откройте www.java.com, скачайте JRE по кнопке “Linux x64” и перемещаем в папку /opt/bonita/distrib.

su bonita
cd ~
tar -zxvf ~/distrib/jre********.tar.gz
ln -s jre******* jre

Вписываем в ~/.bashrc конфигурацию пути и домашней папки JRE:

export JAVA_HOME=~/jre
export JRE_HOME=$JAVA_HOME
export CATALINA_HOME=~/BOS
export PATH=$JAVA_HOME:$PATH:$HOME/bin

Устанавливаем и настроиваем Bonita BPM

Из firefox открываем www.bonitasoft.com, скачаваем Bundle с Tomcat BonitaBPMCommunity и перемещаем в папку /opt/bonita/distrib/.

su bonita
cd ~
unzip ~/distrib/BonitaBPMCommunity.zip
ln -s BonitaBPMCommunity BOS

Подготавливаем сценарий запуска /etc/init.d/bos:

#!/bin/sh
#chkconfig 2345 99 10
#description: Bonita Open Solution

BOS_USER=bonita
BOS_HOME=/opt/bonita/BOS

case $1 in
‘start’)
rm -f $BOS_HOME/logs/catalina.out
su bonita -l -c $BOS_HOME/bin/startup.sh &
;;
‘stop’)
su bonita -l -c $BOS_HOME/bin/shutdown.sh &
;;
‘restart’)
su bonita -l -c $BOS_HOME/bin/shutdown.sh
rm -f $BOS_HOME/logs/catalina.out
su bonita -l -c $BOS_HOME/bin/startup.sh &
;;
*)
echo «usage: $0 {start|stop|restart}»
;;
esac

exit

Выполняем:

chmod +x /etc/init.d/bos
service bos start

С помощью браузера заходим на http://:8080/bonita с логином install и паролем install

Создаем пользователя для администрирования и добавляем в профайл Administrator

В файле «/opt/bonita/BOS/bonita/server/tenants/1/conf/bonita-server.properties» изменяем пароль в строке «userPassword» на сгенерированную последовательность.

В файле «/opt/bonita/BOS/bonita/client/platform/conf/platform-tenant-config.properties» изменяем пароль в строке «platform.tenant.default.password» на ту же последовательность.

Перезапускаем систему:

service bos restart

Используем для входа адрес: http://:8080/bonita/

 

Оригинал взят от сюда http://larionov.pro/blog/2013/bonita-bpm-6-centos-6-stand-alone-h2/

Business Analyst Career Road Map

Who is the Business Analysis Professional?

«A business analyst is any person who performs business analysis tasks described in the BABOK® Guide, no matter their job title or organizational role. Business analysts are responsible for discovering, synthesizing, and analyzing information from a variety of sources within an enterprise, including tools, processes, documentation, and stakeholders. The business analyst is responsible for eliciting the actual needs of stakeholders — which frequently involves investigating and clarifying their expressed desires — in order to determine underlying issues and causes». (BABOK® Guide), http://www.iiba.org/Careers.aspx

Title vs. Role

Business analysis professionals work in a wide range of industries and support a variety of functional areas although their job titles can vary widely. Whether you are a systems analyst, requirements manager, product manager, or consultant, your title reflects your position as defined by your particular company. A role reflects the discipline you practice and your professional association — business analysis.

Are you already a business analyst and want to advance to a more senior position?

The IIBA® Business Analyst Career Road Map outlines the business analysis opportunities available to you. The Career Road Map is designed to identify the many roles within business analysis, and show your options based on your experience today. It includes the emerging roles in business architecture and business intelligence which are in high demand.

Role Descriptions

The role names are not job titles – a role name represents the various tasks, techniques and knowledge needed by an individual to be successful.  The roles could be combined into one position:  a business requirements analyst could also have deep expertise in process and therefore the business requirements analyst and process analyst roles can be considered as a career path.

Another example: a Systems Analyst may be part of a software development project that utilizes the Agile method. Therefore the Systems Analyst has Agile expertise; he/she could hold an Intermediate Systems Analyst and Intermediate Agile Analyst role but his/her title could be Intermediate Systems Analyst.

Review the Role Descriptions to find out the responsibilities involved and the skills and knowledge needed, to help you map your career.

 

Tk5k8BK_RnQ7kDZ7GIRfpo

Задачка с Титаником

Сейчас Python является одним из наиболее распространенных языков программирования. Одним из его преимуществ является большое количество пакетов, решающих самые разные задачи. В нашем курсе мы рекомендуем использовать библиотеки Pandas, NumPy и SciPy, которые существенно упрощают чтение, хранение и обработку данных. В дальнейших работах вы также познакомитесь с пакетом Scikit-Learn, в котором реализованы многие алгоритмы машинного обучения.

  • Какое количество мужчин и женщин ехало на корабле? В качестве ответа приведите два числа через пробел.
  • Какой части пассажиров удалось выжить? Посчитайте долю выживших пассажиров. Ответ приведите в процентах (число в интервале от 0 до 100, знак процента не нужен), округлив до двух знаков.
  • Какую долю пассажиры первого класса составляли среди всех пассажиров? Ответ приведите в процентах (число в интервале от 0 до 100, знак процента не нужен), округлив до двух знаков.
  • Какого возраста были пассажиры? Посчитайте среднее и медиану возраста пассажиров. В качестве ответа приведите два числа через пробел.
  • Коррелируют ли число братьев/сестер/супругов с числом родителей/детей? Посчитайте корреляцию Пирсона между признаками SibSp и Parch.


74w
import pandas
In [26]:
data = pandas.read_csv('C:\\Users\\Andrey\\Desktop\\titanic.csv')
print (data)
     PassengerId  Survived  Pclass  \
0              1         0       3   
1              2         1       1   
2              3         1       3   
3              4         1       1   
4              5         0       3   
5              6         0       3   
6              7         0       1   
7              8         0       3   
8              9         1       3   
9             10         1       2   
10            11         1       3   
11            12         1       1   
12            13         0       3   
13            14         0       3   
14            15         0       3   
15            16         1       2   
16            17         0       3   
17            18         1       2   
18            19         0       3   
19            20         1       3   
20            21         0       2   
21            22         1       2   
22            23         1       3   
23            24         1       1   
24            25         0       3   
25            26         1       3   
26            27         0       3   
27            28         0       1   
28            29         1       3   
29            30         0       3   
..           ...       ...     ...   
861          862         0       2   
862          863         1       1   
863          864         0       3   
864          865         0       2   
865          866         1       2   
866          867         1       2   
867          868         0       1   
868          869         0       3   
869          870         1       3   
870          871         0       3   
871          872         1       1   
872          873         0       1   
873          874         0       3   
874          875         1       2   
875          876         1       3   
876          877         0       3   
877          878         0       3   
878          879         0       3   
879          880         1       1   
880          881         1       2   
881          882         0       3   
882          883         0       3   
883          884         0       2   
884          885         0       3   
885          886         0       3   
886          887         0       2   
887          888         1       1   
888          889         0       3   
889          890         1       1   
890          891         0       3   

                                                  Name     Sex   Age  SibSp  \
0                              Braund, Mr. Owen Harris    male  22.0      1   
1    Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   
2                               Heikkinen, Miss. Laina  female  26.0      0   
3         Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   
4                             Allen, Mr. William Henry    male  35.0      0   
5                                     Moran, Mr. James    male   NaN      0   
6                              McCarthy, Mr. Timothy J    male  54.0      0   
7                       Palsson, Master. Gosta Leonard    male   2.0      3   
8    Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)  female  27.0      0   
9                  Nasser, Mrs. Nicholas (Adele Achem)  female  14.0      1   
10                     Sandstrom, Miss. Marguerite Rut  female   4.0      1   
11                            Bonnell, Miss. Elizabeth  female  58.0      0   
12                      Saundercock, Mr. William Henry    male  20.0      0   
13                         Andersson, Mr. Anders Johan    male  39.0      1   
14                Vestrom, Miss. Hulda Amanda Adolfina  female  14.0      0   
15                    Hewlett, Mrs. (Mary D Kingcome)   female  55.0      0   
16                                Rice, Master. Eugene    male   2.0      4   
17                        Williams, Mr. Charles Eugene    male   NaN      0   
18   Vander Planke, Mrs. Julius (Emelia Maria Vande...  female  31.0      1   
19                             Masselmani, Mrs. Fatima  female   NaN      0   
20                                Fynney, Mr. Joseph J    male  35.0      0   
21                               Beesley, Mr. Lawrence    male  34.0      0   
22                         McGowan, Miss. Anna "Annie"  female  15.0      0   
23                        Sloper, Mr. William Thompson    male  28.0      0   
24                       Palsson, Miss. Torborg Danira  female   8.0      3   
25   Asplund, Mrs. Carl Oscar (Selma Augusta Emilia...  female  38.0      1   
26                             Emir, Mr. Farred Chehab    male   NaN      0   
27                      Fortune, Mr. Charles Alexander    male  19.0      3   
28                       O'Dwyer, Miss. Ellen "Nellie"  female   NaN      0   
29                                 Todoroff, Mr. Lalio    male   NaN      0   
..                                                 ...     ...   ...    ...   
861                        Giles, Mr. Frederick Edward    male  21.0      1   
862  Swift, Mrs. Frederick Joel (Margaret Welles Ba...  female  48.0      0   
863                  Sage, Miss. Dorothy Edith "Dolly"  female   NaN      8   
864                             Gill, Mr. John William    male  24.0      0   
865                           Bystrom, Mrs. (Karolina)  female  42.0      0   
866                       Duran y More, Miss. Asuncion  female  27.0      1   
867               Roebling, Mr. Washington Augustus II    male  31.0      0   
868                        van Melkebeke, Mr. Philemon    male   NaN      0   
869                    Johnson, Master. Harold Theodor    male   4.0      1   
870                                  Balkic, Mr. Cerin    male  26.0      0   
871   Beckwith, Mrs. Richard Leonard (Sallie Monypeny)  female  47.0      1   
872                           Carlsson, Mr. Frans Olof    male  33.0      0   
873                        Vander Cruyssen, Mr. Victor    male  47.0      0   
874              Abelson, Mrs. Samuel (Hannah Wizosky)  female  28.0      1   
875                   Najib, Miss. Adele Kiamie "Jane"  female  15.0      0   
876                      Gustafsson, Mr. Alfred Ossian    male  20.0      0   
877                               Petroff, Mr. Nedelio    male  19.0      0   
878                                 Laleff, Mr. Kristo    male   NaN      0   
879      Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)  female  56.0      0   
880       Shelley, Mrs. William (Imanita Parrish Hall)  female  25.0      0   
881                                 Markun, Mr. Johann    male  33.0      0   
882                       Dahlberg, Miss. Gerda Ulrika  female  22.0      0   
883                      Banfield, Mr. Frederick James    male  28.0      0   
884                             Sutehall, Mr. Henry Jr    male  25.0      0   
885               Rice, Mrs. William (Margaret Norton)  female  39.0      0   
886                              Montvila, Rev. Juozas    male  27.0      0   
887                       Graham, Miss. Margaret Edith  female  19.0      0   
888           Johnston, Miss. Catherine Helen "Carrie"  female   NaN      1   
889                              Behr, Mr. Karl Howell    male  26.0      0   
890                                Dooley, Mr. Patrick    male  32.0      0   

     Parch            Ticket      Fare        Cabin Embarked  
0        0         A/5 21171    7.2500          NaN        S  
1        0          PC 17599   71.2833          C85        C  
2        0  STON/O2. 3101282    7.9250          NaN        S  
3        0            113803   53.1000         C123        S  
4        0            373450    8.0500          NaN        S  
5        0            330877    8.4583          NaN        Q  
6        0             17463   51.8625          E46        S  
7        1            349909   21.0750          NaN        S  
8        2            347742   11.1333          NaN        S  
9        0            237736   30.0708          NaN        C  
10       1           PP 9549   16.7000           G6        S  
11       0            113783   26.5500         C103        S  
12       0         A/5. 2151    8.0500          NaN        S  
13       5            347082   31.2750          NaN        S  
14       0            350406    7.8542          NaN        S  
15       0            248706   16.0000          NaN        S  
16       1            382652   29.1250          NaN        Q  
17       0            244373   13.0000          NaN        S  
18       0            345763   18.0000          NaN        S  
19       0              2649    7.2250          NaN        C  
20       0            239865   26.0000          NaN        S  
21       0            248698   13.0000          D56        S  
22       0            330923    8.0292          NaN        Q  
23       0            113788   35.5000           A6        S  
24       1            349909   21.0750          NaN        S  
25       5            347077   31.3875          NaN        S  
26       0              2631    7.2250          NaN        C  
27       2             19950  263.0000  C23 C25 C27        S  
28       0            330959    7.8792          NaN        Q  
29       0            349216    7.8958          NaN        S  
..     ...               ...       ...          ...      ...  
861      0             28134   11.5000          NaN        S  
862      0             17466   25.9292          D17        S  
863      2          CA. 2343   69.5500          NaN        S  
864      0            233866   13.0000          NaN        S  
865      0            236852   13.0000          NaN        S  
866      0     SC/PARIS 2149   13.8583          NaN        C  
867      0          PC 17590   50.4958          A24        S  
868      0            345777    9.5000          NaN        S  
869      1            347742   11.1333          NaN        S  
870      0            349248    7.8958          NaN        S  
871      1             11751   52.5542          D35        S  
872      0               695    5.0000  B51 B53 B55        S  
873      0            345765    9.0000          NaN        S  
874      0         P/PP 3381   24.0000          NaN        C  
875      0              2667    7.2250          NaN        C  
876      0              7534    9.8458          NaN        S  
877      0            349212    7.8958          NaN        S  
878      0            349217    7.8958          NaN        S  
879      1             11767   83.1583          C50        C  
880      1            230433   26.0000          NaN        S  
881      0            349257    7.8958          NaN        S  
882      0              7552   10.5167          NaN        S  
883      0  C.A./SOTON 34068   10.5000          NaN        S  
884      0   SOTON/OQ 392076    7.0500          NaN        S  
885      5            382652   29.1250          NaN        Q  
886      0            211536   13.0000          NaN        S  
887      0            112053   30.0000          B42        S  
888      2        W./C. 6607   23.4500          NaN        S  
889      0            111369   30.0000         C148        C  
890      0            370376    7.7500          NaN        Q  

[891 rows x 12 columns]
In [51]:
guy=0
women=0
for index, row in data.iterrows(): 
    row[4]=str(row[4])
    if row[4]== "male":
        guy=guy+1
    else:
        women=women+1
print(guy,',',women)  #мужчины #женщины
577 , 314
In [28]:
servived=0
non_servived=0
doly=0
for index, row in data.iterrows(): 
    row[1]=str(row[1])
    if row[1]== "1":
        servived=servived+1
    else:
        non_servived=non_servived+1
sum=servived+non_servived      
percent=round((servived*100)/sum)
print(percent) #выжившие
38
In [72]:
class1=0
class2=0
class3=0
class4=0
sum=0
doly=0

for index, row in data.iterrows(): 
    row[2]=str(row[2])
    
    if row[2]== "1":
        class1=class1+1 
    if row[2]== "2":
        class2=class2+1
    if row[2]== "3":
        class3=class3+1
    if row[2]== "4":
        class4=class4+1
    
sum=class1+class2+class3+class4
doly= round(class1*(100/sum),2)
print(doly)  #доля первого класса
24.24
In [189]:
survived=0
notsurvived=0
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D 
import pandas
data = pandas.read_csv('C:\\Users\\Andrey\\Desktop\\titanic.csv')
for index, row in data.iterrows(): 
    
    plt.plot(row[5], row[6], 'ro')
    
    row[1]=str(row[1])
    if row[1]== "1":
        survived=survived+1
    else:
        notsurvived=notsurvived+1
    
plt.grid(True)
plt.xlabel(u'Возраст')
plt.ylabel(u'Шлюпка')
plt.title(u'Рассадка пассажиров по шлюпкам')
plt.show()
sum=survived+notsurvived      
percent1=((survived*100)/sum)
percent2=100-percent1
print("Выжило = ",percent1,"%", "Кол-во", survived)
print("Не выжило = ",percent2,"%", "Кол-во",notsurvived)
Выжило =  38.38383838383838 % Кол-во 342
Не выжило =  61.61616161616162 % Кол-во 549
In [22]:
b=data['Age'].mean()  #среднее
m=data['Age'].median()   #медиана
print(round(b,2), m)
29.7 28.0
In [188]:
import pandas
import math
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D 

data = pandas.read_csv('C:\\Users\\Andrey\\Desktop\\titanic.csv')
data.corr()
Out[188]:
PassengerId Survived Pclass Age SibSp Parch Fare
PassengerId 1.000000 -0.005007 -0.035144 0.036847 -0.057527 -0.001652 0.012658
Survived -0.005007 1.000000 -0.338481 -0.077221 -0.035322 0.081629 0.257307
Pclass -0.035144 -0.338481 1.000000 -0.369226 0.083081 0.018443 -0.549500
Age 0.036847 -0.077221 -0.369226 1.000000 -0.308247 -0.189119 0.096067
SibSp -0.057527 -0.035322 0.083081 -0.308247 1.000000 0.414838 0.159651
Parch -0.001652 0.081629 0.018443 -0.189119 0.414838 1.000000 0.216225
Fare 0.012658 0.257307 -0.549500 0.096067 0.159651 0.216225 1.000000

 

Нам необходимо построить классификатор Decision Trees

.

In [2]:
import numpy as np
import pandas as pd
In [6]:
from numpy import *
from sklearn.tree import DecisionTreeClassifier
data = pd.read_csv('C:\\tias\\titanic_1\\titanic.csv', index_col='PassengerId')
main_data_frame = pd.DataFrame(data=data, columns=['Pclass', 'Fare', 'Age', 'Sex', 'Survived'])
main_data_frame = main_data_frame[["Pclass", "Fare", "Age", "Sex", "Survived"]].dropna()   #очищаем от Nano(в)
output = main_data_frame[["Pclass", "Fare", "Age", "Sex"]].replace("female",0).replace("male",1)
clf = DecisionTreeClassifier(random_state=241)
Y = main_data_frame['Survived']
X = output

print(X.columns)
clf.fit(X, Y)
print(clf.feature_importances_)
Index(['Pclass', 'Fare', 'Age', 'Sex'], dtype='object')
[ 0.14000522  0.30343647  0.2560461   0.30051221]