МИНИСТЕРСТВО?НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«КАЛУЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им. К.Э. ЦИОЛКОВСКОГО»?
КАФЕДРА ИНФОРМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Лабораторная работа № 1
Методы и средства проектирования информационных систем и технологий
Выполнил:
__________________________ / Зеленько А.В.
подпись
Группа: Б-ИСиТ-31
Преподаватель:
_________________________ /Столярова Н.Б.
подпись
Калуга, 2022
Средства проектирования информационных систем (СП ИС) - это, комплекс инструментальных средств, обеспечивающих в рамках выбранной методологии проектирования поддержку полного жизненного цикла (ЖЦ) ИС, который включает в себя, как правило, стратегическое планирование, анализ, проектирование, реализацию, внедрение и эксплуатацию.
Зарубежные информационные системы
DSDM
Метод разработки динамических систем (Dynamic Systems Development Method, DSDM) -- это главным образом методика разработки программного обеспечения, основанная на концепции быстрой разработки приложений (Rapid Application Development, RAD). В 2007 году DSDM стал основным подходом к управлению проектом и разработки приложений. DSDM -- это итеративный и инкрементный подход, который придаёт особое значение продолжительному участию в процессе пользователя.
Цель метода -- сдать готовый проект вовремя и уложиться в бюджет, но в то же время регулируя изменения требований к проекту во время его разработки. DSDM входит в семейство гибкой методологии разработки программного обеспечения, а также разработок, не входящих в сферу информационных технологий.
Существует 9 принципов, состоящих из 4 основных и 5 начальных точек.
* Вовлечение пользователя -- это основа ведения эффективного проекта, где разработчики делят с пользователями рабочее пространство и поэтому принимаемые решения будут более точными.
* Команда должна быть уполномочена принимать важные для проекта решения без согласования с начальством.
* Частая поставка версий результата, с учётом такого правила, что «поставить что-то хорошее раньше -- это всегда лучше, чем поставить всё идеально сделанное в конце». Анализ поставок версий с предыдущей итерации учитывается на последующей.
* Главный критерий -- как можно более быстрая поставка программного обеспечения, которое удовлетворяет текущим потребностям рынка. Но в то же время поставка продукта, который удовлетворяет потребностям рынка, менее важна, чем решение критических проблем в функционале продукта.
* Разработка -- итеративная и инкрементная. Она основывается на обратной связи с пользователем, чтобы достичь оптимального с экономической точки зрения решения.
* Любые изменения во время разработки -- обратимы.
* Требования устанавливаются на высоком уровне прежде, чем начнётся проект.
* Тестирование интегрировано в жизненный цикл разработки.
* Взаимодействие и сотрудничество между всеми участниками необходимо для его эффективности.
Agile
Принципы Agile -- семейство процессов разработки, а не единственный подход в разработке программного обеспечения, и определяется Agile Manifesto. Agile не включает практики, а определяет ценности и принципы, которыми руководствуются команды.
Гибкий подход к разработке программного обеспечения, который часто применяют в небольших командах и больших организациях. Процесс работы «по эджайлу» делится на итерации -- короткие циклы по две-три недели. Каждый цикл решает серию задач.
Agile -- семейство процессов разработки, а не единственный подход в разработке программного обеспечения, и определяется Agile Manifesto. Agile не включает практики, а определяет ценности и принципы, которыми руководствуются команды.
Agile Manifesto разработан и принят 11--13 февраля 2001 года на лыжном курорте The Lodge at Snowbird в горах Юты. Agile Manifesto содержит 4 основные идеи и 12 принципов. Примечательно, что Agile Manifesto не содержит практических советов.
Основные идеи:
* люди и взаимодействие важнее процессов и инструментов;
* работающий продукт важнее исчерпывающей документации;
* сотрудничество с заказчиком важнее согласования условий контракта;
* готовность к изменениям важнее следования первоначальному плану.
Основополагающие принципы Agile Manifesto:
* наивысшим приоритетом признается удовлетворение заказчика за счёт ранней и бесперебойной поставки ценного программного обеспечения;
* изменение требований приветствуется даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
* частая поставка работающего программного обеспечения (каждые пару недель или пару месяцев с предпочтением меньшего периода);
* общение представителей бизнеса с разработчиками должно быть ежедневным на протяжении всего проекта;
* проекты следует строить вокруг заинтересованных людей, которых следует обеспечить нужными условиями работы, поддержкой и доверием;
* самый эффективный метод обмена информацией в команде -- личная встреча;
* работающее программное обеспечение -- лучший измеритель прогресса;
* спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
* постоянное внимание к техническому совершенству и хорошему проектированию увеличивают гибкость;
* простота, как искусство не делать лишней работы, очень важна;
* лучшие требования, архитектура и проектные решения получаются у самоорганизующихся команд;
* команда регулярно обдумывает способы повышения своей эффективности и соответственно корректирует рабочий процесс.
Scrum
Scrum -- это методика, помогающая командам вести совместную работу. Как спортивная команда готовится к решающей игре (к слову, scrum -- англ. «схватка», элемент игры в регби), так и команда сотрудников компании должна извлекать уроки из полученного опыта, осваивать принципы самоорганизации, работая над решением проблемы, и анализировать свои успехи и провалы, чтобы постоянно совершенствоваться. Scrum содействует этому.
Среди тех, кого увлекли идеи двух японцев, были Джефф Сазерленд и Кен Швабер. Вдохновившись статьей, они создали новый подход, который назвали Scrum, Джефф Сазерленд вместе с коллегами впервые применил Scrum для разработки систем в 1993 году, во время работы в Easel Corporation.
Владелец Продукта отвечает за максимизацию ценности продукта, получаемого в результате работы Скрам-команды. В его обязанности также входит курирование и приоритизация Бэклога Продукта. Около 50% времени Владелец Продукта проводит с клиентами и заинтересованными лицами, остальные 50% работает совместно с командой.
Сама по себе методика Scrum проста. Понять правила, артефакты, мероприятия и роли несложно. Она задает структуру, но в ней есть свобода выбора, которая исключает белые пятна в процессе разработки и позволяет в должной мере учесть специфику разных компаний.
Сложные задания можно упорядочивать в легко выполнимые пользовательские истории, а значит, Scrum идеально подойдет для сложных проектов. Благодаря тому, что роли и плановые мероприятия четко разграничены, на протяжении всего цикла разработки сохраняется прозрачность и коллективная ответственность. Частый выпуск продуктов мотивирует команду и гарантирует удовлетворенность пользователей, ведь они видят, как продукт развивается в течение короткого отрезка времени.
И все же, чтобы освоить Scrum, может понадобиться какое-то время, особенно если команда разработчиков привыкла к стандартной каскадной модели. Новой команде предстоит выбрать scrum-мастера, освоиться в мире коротких итераций, ежедневных scrum-собраний и обзоров итогов спринта. Это может стать настоящим сотрясением основ.
Российские информационные системы
Uniface
Uniface -- это платформа разработки и развертывания с минимальным кодом для корпоративных приложений, которые могут работать в широком диапазоне сред выполнения, включая мобильные устройства, мейнфреймы, Интернет, сервис-ориентированную архитектуру (SOA), Windows, Java EE и .NET . Uniface используется для создания критически важных приложений.
Приложения Uniface не зависят от базы данных и платформы. Uniface предоставляет интеграционную структуру, позволяющую интегрировать приложения Uniface со всеми основными продуктами СУБД, такими как Oracle, Microsoft SQL Server, MySQL и IBM Db2. Кроме того, Uniface также поддерживает файловые системы, такие как RMS (HP OpenVMS), последовательные файлы, текстовые файлы операционной системы и широкий спектр других технологий, таких как продукты на базе мейнфреймов IBM (CICS, IMS), веб-службы, SMTP и POP. электронная почта, каталоги LDAP, .NET, ActiveX, модель компонентных объектов (COM), программы C(++) и Java . Uniface работает под управлением Microsoft Windows, различных разновидностей Unix, Linux, CentOS и IBM Uniface можно использовать в сложных системах, которые хранят важные корпоративные данные, поддерживая критически важные бизнес-процессы, такие как торговые точки и онлайн-покупки в Интернете, финансовые операции, администрирование заработной платы и управление запасами. В настоящее время он используется тысячами компаний в более чем 30 странах с эффективной установленной базой в миллионы конечных пользователей. Приложения Uniface варьируются от клиент-серверных до веб-приложений, от ввода данных до рабочих процессов, а также порталов, доступ к которым осуществляется локально, через интрасети и Интернет.
Uniface Development Environment -- интегрированный набор инструментов для моделирования, реализации, компиляции, отладки и распространения приложений.
Приложения Uniface, в том числе указанные выше, используют общую инфраструктуру времени выполнения, состоящую из:
* Uniface Runtime Engine -- зависящий от платформы процесс, который интерпретирует и выполняет скомпилированные компоненты и библиотеки приложений. проектирование информационная система uniface
* Uniface Router -- многопоточный процесс, отвечающий за межпроцессное взаимодействие в приложениях Uniface. Он запускает и останавливает процессы Uniface Server, выполняет балансировку нагрузки и передает сообщения между различными процессами Uniface.
* Uniface Server -- серверный процесс, который позволяет клиентам Uniface получать доступ к удаленным ресурсам или выполнять удаленные компоненты. Он действует как сервер приложений, сервер данных и файловый сервер.
* Репозиторий Uniface -- СУБД с поддержкой SQL, используемая для хранения определений и свойств объектов разработки, моделей процессов и организаций, а также определений портала.
* Веб-сервер -- Uniface объединяет сервер Apache Tomcat для разработки и тестирования веб-приложений, но любой веб-сервер можно использовать в производственной среде.
* Сервлеты -- сервлеты Java, которые обеспечивают обмен данными между веб-сервером и сервером Uniface для веб-приложений и веб-служб Uniface.
* Коннекторы баз, данных -- драйверы, которые управляют соединением между Uniface и различными базами данных.
* Инструменты интеграции -- драйверы, компоненты и API, которые обеспечивают связь между Uniface и сторонними приложениями и технологиями, включая Java, CICS, IMS, LDAP, SMTP, POP, команды операционной системы, COM и другие.
Кроме того, Uniface Anywhere (ранее Uniface JTi или Java Thin Client Interface) может доставлять клиент-серверные приложения Uniface на любой компьютер, подключенный к Интернету, в качестве тонкого клиента.
Uniface -- это платформа разработки и развертывания с минимальным кодом, основанная на проприетарном языке процедурных сценариев (четвертого поколения) под названием Uniface Proc, который используется для кодирования поведения приложений. Uniface автоматизирует большинство операций ввода-вывода с помощью своего ядра и кода по умолчанию, поэтому не нужно кодировать многие фундаментальные действия.