Фрагмент для ознакомления
2
Введение
В настоящее время с ростом сложности программных продуктов, большими требованиями к функционалу, безопасности и архитектуре программных продуктов актуальными становятся вопросы оптимизации процесса разработки программного обеспечения.
Современные программные продукты связаны с необходимостью работы с Интернет-ресурсами, централизованными базами данных, к которым необходимо обеспечивать безопасный доступ из различных подсистем, функционал прикладных решений предполагает необходимость обмена данными с разнородными подсистемами. Эффективность решения подобных задач связана с правильной организацией процесса разработки программных продуктов, а также выбором необходимых стандартов разработки.
Целью данной работы является анализ общих подходов к организации информационных систем.
Задачи работы:
- анализ требований к архитектуре программных систем;
- анализ основных стандартов по обмену данными и взаимодействию приложений;
- анализ технологий обмена данными на основе СОМ и CORBA;
- анализ систем представления данных в формате XML;
- анализ основных стандартов организации информационных систем.
Объект исследования: программные системы.
Предмет исследования: основные принципы организации информационных систем.
1. Общее представление о программных системах
1.1. Описание общих подходов к организации информационных систем
Программная система (Software system) представляет собой систему, включающую программные и аппаратные компоненты и данные, главная ценность которой создается посредством исполнения программного обеспечения.
Существуют следующие виды программных систем :
Встроенные программные системы (software-embedded systems), называемые также системами реального времени (real-time systems) или социотехнические системы (sociotechnical systems)
Программно насыщенные системы (software-intensive systems)
Вычислительно-ориентированные системы (computing-intensive systems).
В таблице 1 показаны принципы классификации программных систем.
Таблица 1 - Принципы классификации программных систем
Параметр Встроенные программные системы Программно насыщенные системы Вычислительно-ориентированные системы
Цели Работа со сложными подсистемами для достижения более высоких параметров по быстродействию и точности Манипуляции большими массивами информации для поддержки решений или приобретения знаний Возможности решения сложных задач, задачи моделирования сложных систем через расчеты и имитационное моделирование
Функционал Алгоритмический, логический Транзакционный Вычислительный
Входные параметры датчики, регуляторы как источники данных Информация, объекты данные в численном представлении
Обработка Расчеты в режиме реального времени Манипуляции, работа с графическим интерфейсом пользователя, обмен данными по сети Вычисления не в реальном масштабе времени
Выходы Действия, продукция Информация, объекты Информация
Временные характеристики Реальное время, непрерывно Нерегулярно По расписанию
Примеры Управление воздушным движением, системы вооружений, аэронавигация и управление летательным аппаратом Банковские сети, системы резервирования авиабилетов, веб-приложения Прогноз погоды, математическое и имитационное моделирование
Аппаратное обеспечение Мини- и микропроцессоры Многоуровневая архитектура Суперкомпьютеры
Типичные пользователи Операторы Руководители различных уровней Научные работники, аналитики
Архитектура программной системы представляет собой ее строение как она видится (или должна видеться) извне, т.е. представление программной системы как системы, включающей некоторые совокупности взаимодействующих компонент. (Это структура программы или вычислительной системы, включающей программные компоненты, а также видимые снаружи свойства данных компонентов, а также отношений между ними.) Такими подсистемами могут являться, как правило, отдельные программы. Разработка архитектуры представляет собой первый этап оптимизации программных систем, в рамках которого проводится реализация принципа выделения относительно других независимых компонентов.
Основными задачами разработки архитектуры программных систем являются :
· определение программных подсистем и проведение их отображения с внешними функциями (заданными во внешнем описании) системы;
· определение методов по взаимодействию между определенными программными подсистемами.
С учетом принимаемых на данной стадии решений проводятся работы по дальнейшей конкретизации функциональной спецификации.
Архитектура программной системы представляет собой совокупность решений относительно [10]:
· технологий по организации программной системы;
· выбору структурных компонент, составляющих систему, и их интерфейсов;
· поведения данных элементов, специфицированных в кооперации с иными элементами;
· составление из данных структурных и поведенческих элементов всех более и более крупных составляющих;
· разработка архитектурных стилей, направляющих и определяющих процесс организации системы: статических и динамических элементов, их интерфейсов, кооперации и способов их объединения.
Архитектура программных систем охватывает комплекс структурных и поведенческих аспектов, а также вопросы их использования, функциональности, производительности, гибкости, возможностей повторного использования, полноты, экономических и технологических ограничений и компромиссов, а также комплекс эстетических вопросов.
Для решения задач по визуализации, специфицированию, конструированию и документированию программных систем необходимо рассмотрение их с различных позиций, таких как :
определение конечных пользователей,
результатов системной аналитики,
определение руководства проекта,
позиций разработчиков,
требований тестирования,
технические писатели,
менеджмента.
Системная архитектура связана с управлением всевозможными позициями и таким образом способствует итеративности и инкрементности процессов разработки систем на всем протяжении их жизненного цикла.
Итеративные (iterative) процессы предполагают возможность управления потоком исполняемых версий системы.
Инкрементные (incremental) процессы подразумевают постоянность развития системной архитектуры при разработке новых версий системы, причем каждая из следующих версий имеет усовершенствования в сравнении с предыдущей.
Далее рассмотрим архитектуру модульного принципа орга
Фрагмент для ознакомления
3
Список использованных источников
1. Каймин В. А. Информатика: Учебник. - 6-е изд. - М.: НИЦ ИНФРА-М, 2015. - 285 с.
2. Сергеева И. И. Информатика : учебник. — 2-е изд., перераб. и доп. — М. : ИД «ФОРУМ» : ИНФРА-М, 2017. — 384 с.
3. Плотникова Н. Г. Информатика и информационно-коммуникационные технологии (ИКТ): Учебное. - М.: ИЦ РИОР: НИЦ ИНФРА-М, 2014. - 124 с
4. Гвоздева В. А. Информатика, автоматизированные информационные технологии и системы: Учебник. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2015. - 544 с.
5. Кент Бек. Экстремальное программирование. - СПб: Питер, 2015. - 339с.
6. Мацяшек Л.А. Практическая программная инженерия на основе учебного примера [Электронный ресурс] / Л.А. Мацяшек, Б.Л. Лионг; пер. с англ. - 2-е изд. (эл.). - М.: БИНОМ. Лаборатория знаний, 2012. - 956 с.:
7. Гаврилова, И. В. Разработка приложений [Электронный ресурс] : учеб. пособие / И. В. Гаврилова. — 2-е изд., стер. — М.: ФЛИНТА, 2012 . — 242 c.
8. Яшин В. Н. Информатика: программные средства персонального компьютера : учеб. пособие. — М. : ИНФРА-М, 2018. — 236 с.
9. Золотухина Е.Б. Управление жизненным циклом информационных систем (продвинутый курс). - М.:КУРС, НИЦ ИНФРА-М, 2017. - 119 с.
10. Ипатова Э. Р. Методологии и технологии системного проектирования информационных систем. - М.: Флинта: МПСИ, 2008. - 256 с.
11. Затонский А.В. Информационные технологии: разработка информационных моделей и систем: Учеб. пос. / А.В.Затонский - М.: ИЦ РИОР: НИЦ ИНФРА-М, 2014 - 344с.
12. Гагарина Л.Г. Разработка и эксплуатация автоматизированных информационных систем: Учебное пособие. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2017. - 384 с.
13. Назаров С.В. Архитектура и проектирование программных систем: Монография. - М.: НИЦ ИНФРА-М, 2014. - 351 с.
14. Сооляттэ, А. Ю. Управление проектами в компании: методология, технологии, практика. - М.: Московский финансово-промышленный университет «Синергия», 2015. - 325с.
15. Антамошкин, О. А. Программная инженерия. Теория и практика [Электронный ресурс] : учебник. - Красноярск: Сиб. Федер. ун-т, 2014. - 247 с.
16. Ерофеев Е.В. Инновационная мотивация в командообразующих группах для быстрой разработки программного обеспечения / Интернет-журнал "Науковедение", Вып. 1, 2014
17. Романов А.А. Разработка программных продуктов методом экстремального программирования. - М.: Вузовский учебник: ИНФРА-М, 2014. - 256 с.
18. Корячко В.П. Процессы и задачи управления проектами информационных систем: - М.: Гор. линия-Телеком, 2014. - 376 с.
19. Технология Agile. [Электронный ресурс]. Режим доступа: https://gantbpm.ru/agile/
20. Технология экстремальной разработки. [Электронный ресурс]. Режим доступа: https://worksection.com/blog/extreme-programming.html
21. Экстремальное программирование. [Электронный ресурс]. режим доступа: http://www.e-reading.club/bookreader.php/69190/Bek_-_Ekstremal%27noe_programmirovanie.html