Главная страница
Навигация по странице:

  • Содержание АннотацияВведениеГлава 1. Теоретические Основы

  • Глава 3. Моделирование Программных систем......14

  • Глава 4. Архитектуры распределенных программных систем

  • Глава 5. Объектное моделирование и программирование...26

  • Глава 6. Обеспечение качества программных продуктов..31

  • Глава 7. Документирование программных систем...35

  • Заключение........40 Список литературы Приложение Аннотация

  • Глава 2. Процесс разработки программных систем

  • Дипломная работа 50% (2023) (1). Задача данного проекта Процесс создание и разработки программ


    Скачать 1.38 Mb.
    НазваниеЗадача данного проекта Процесс создание и разработки программ
    Дата26.04.2023
    Размер1.38 Mb.
    Формат файлаdocx
    Имя файлаДипломная работа 50% (2023) (1).docx
    ТипЗадача
    #1090810
    страница1 из 4
      1   2   3   4













    Содержание

    Аннотация

    Введение

    Глава 1. Теоретические Основы..............3

    1.1 Цель и задача данного проекта....................................4

    1.2 Процесс создание и разработки программ.................4

    1.3 Системный анализ программных систем...................5

    1.4 Системный подход как исследование.........................6

    Глава 2. Процесс разработки программных систем.................8

    2.1 Жизненный цикл ПО..................................................8

    2.2 Этапы проектирование программных систем...........9

    2.3 Управление программных проектами........................11

    2.4 CASE - технологии.........................................................12

    2.5 Методологии разработки ПО..........................................13

    Глава 3. Моделирование Программных систем......14

    3.1 Архитектура программной системы........15

    3.2 Структурное моделирование процессов.......18

    3.3 Структурное моделирование информации......19

    Глава 4. Архитектуры распределенных программных систем.....20

    4.1 Характеристики современных распределение систем...........22

    4.2 Проблемы проектирование распределенных систем.............23

    4.3 Основные типы архитектур РАС.........23

    4.4 Клиент-серверные архитектуры...........23

    4.5 Технологии проектирование РАС.................25

    Глава 5. Объектное моделирование и программирование...26

    5.1 Объективный подход и объектная декомпозиция........27

    5.2 Язык объектного моделирование UML.........28

    5.3 Объектно-ориентированное программирование..........29

    Глава 6. Обеспечение качества программных продуктов..31

    6.1 Проблемы надежности и качества программных систем....32

    6.2 Тестирование и рефакторинг программного кода....33

    6.3 Качество программного обеспечение по ISO 9126.......34

    Глава 7. Документирование программных систем...35

    7.1 Документация в АСОИУ...35

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

    7.3 Стандартизация программной документации.....37

    Заключение........40

    Список литературы

    Приложение

    Аннотация

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

    The discipline "Designing the architecture of software systems" is one of the key disciplines from the cycle of training courses for a modern specialist in the field of information technology, it gives a complete picture of the entire cycle of industrial software development using modern methodologies, technologies and development tools. Within the framework of this course, all stages of development are considered and the foundations are laid for theoretical and practical approaches to the development process itself, as a clear sequence of phases leading to a guaranteed result within a given time frame and with a given quality

    Введение

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

    1.1 Цель и задача данного проекта

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

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

    1.2 Процесс создание и разработки программ

    Архитектурное проектирование Архитектурным проектированием называют первый этап процесса проектирования, на котором определяются подсистемы, а также структура управления и взаимодействия подсистем. Целью архитектурного проектирования является описание архитектуры программного обеспечения. Модель системной архитектуры часто является отправной точкой для создания спецификации различных частей системы. В процессе архитектурного проектирования разрабатывается базовая структура системы, определяются основные компоненты системы и взаимодействия между ними.
    Архитектурное проектирование Полезные определения: Подсистема — это система удовлетворяет "классическому" определению "система"), операции (методы) которой не зависят от сервисов, предоставляемых другими подсистемами. Подсистемы состоят из модулей и имеют определенные интерфейсы, с помощью которых взаимодействуют с другими подсистемами. Модуль — это обычно компонент системы, который предоставляет один или несколько сервисов для других модулей. Модуль может использовать сервисы, поддерживаемые другими модулями. Как правило, модуль никогда не рассматривается как независимая система. Модули обычно состоят из ряда других, более простых компонентов.

    1.3 Системный анализ программных систем

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

    1. структурированность

    2. взаимосвязанность и согласованность проблем

    3. целеполагание и разрешимость

    4. допустимость, рациональность и оптимальность

    5. ориентация на качественный результат

    6. согласованность целей, средств и результатов

    7. стабильность и изменчивость.

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

    При этом используются два основных метода исследования: − декомпозиция – метод анализа и получения оценок проблемы на основе изучения свойств ее частей; − агрегирование – метод исследования на основе объединения подзадачи в единую задачу.

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

    1.4 Системный подход как исследование

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

    1. Исследование феномена целостности и установление состава элементов целого.

    2. Изучение закономерностей соединения элементов в систему и определение структуры объекта, что является ядром системного подхода.

    3. Установление функций системы в тесной связи с анализом ее структуры, т. е. структурно-функциональный анализ системы

    4. Изучение и анализ генезиса системы, сфер ее влияния, связей с другими системами.

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

    6. Исследуемый объект оценивается как единое целое независимо от рассматриваемой точки зрения.

    7. Решение проблем отдельных элементов подчиняется решению общих для всей системы проблем.

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

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

    Главными принципами системного подхода являются:

    1. Единство – система рассматривается как единое целое, являясь совокупностью составных частей.

    2. Целостность – элементы системы могут быть разной направленности по функциональности и характеру поведения, но они одновременно должны быть совместимы между собой.

    3. Динамичность – способность системы к изменению состояния под воздействием направленных или случайных факторов.

    4. Взаимозависимость системы и среды – система проявляет свои свойства в процессе взаимодействия со средой.

    5. Иерархичность – структурное упорядочивание частей, когда каждый элемент системы рассматривается как подсистема, а сама система – как элемент более сложной системы.

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

    7. Множественность состояний – определение различных моделей, каждая из которых описывает определенное состояние системы.

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

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

    10. Элементного, показывающего из каких элементов состоит система при ее отображении и исследовании.

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

    12. Функционального, отвечающего на вопрос: «Какие функции выполняет сама система и образующие ее компоненты?»

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

    14. Интегративного, устанавливающего общие механизмы сохранения, совершенствования и развития системы.

    15. Исторического, объясняющего то, каким образом возникла система, какие этапы проходила в своем развитии и каковы перспективы ее дальнейшего совершенствования.

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



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

    1. Любая система создана для решения определенных задач и имеет предназначение, задаваемое ее целями.

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

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

    Глава 2. Процесс разработки программных систем

    2.1 Жизненный цикл ПО

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

    системный анализ и обоснование необходимости разработки;

    1. Формирование требований.

    2. Проектирование.

    3. Программирование.

    4. Тестирование и отладка.

    5. Ввод программы в действие.

    6. Эксплуатация и сопровождение.

    7. Завершение эксплуатации.

    Процессы жизненного цикла ПО в настоящее время регламентируются стандартом ISO 12207–1999 и показаны на (рис 2). Они объединены в три группы: основные, вспомогательные и организационные.



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

    2.2 Этапы проектирование программных систем

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

    1. Однократный проход (водопадная стратегия), в ходе которого выполняется линейная последовательность этапов конструирования

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

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

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

    − определение требований.

    − проектирование.

    − конструирование (реализация, кодирование).

    − воплощение.

    − тестирование и отладка (в том числе верификация).

    − инсталляция,

    − поддержка.

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



    2.3 Управление программных проектами

    Процесс проектирования программной системы является, как правило, достаточно сложным и противоречивым.

    К основным источникам возникающих сложностей относятся:

    − наличие и доступность высококвалифицированных специалистов на рынке труда

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

    −эффективность используемых методов разработки, включая методы моделирования, проектирования, тестирования и управления версиями

    −наличие и доступность специалистов, обладающих экспертизой в прикладной области

    −используемая методология и ее соответствие данному проекту; сроки и финансирование проекта

    −множество других организационных и технических переменных.

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

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

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

    3. Идентифицированные процессы разработки сопровождаются неизвестным количеством неидентифицированных.

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

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

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

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

    1. анализ – сбор информации, исследование, составление и сопровождение требований к продукту

    2. управление – организация и управление производственными процессами

    3. производство – проектирование и разработка ПО

    4. тестирование – проверка и контрольные испытания ПО

    5. обеспечение – производство дополнительных продуктов и услуг

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

    2.4 CASE - технологии

    Многочисленные факторы, определяющие сложности в реализации программных проектов, привели к появлению программно-технологических средств автоматизации процесса проектирования ПО – CASE-средств. При этом реализуется специальная CASE-технология создания и сопровождения программных систем, которая представляет собой методологию автоматизированного проектирования ПО, а также инструментальные средства реализации. Это позволяет в наглядной форме представлять модель предметной области, анализировать ее на всех этапах разработки и сопровождения системы, разрабатывать программные компоненты в соответствии с информационными запросами пользователей. САSЕ технология включает в себя методы визуализации программных решений, с помощью которых на основе графической нотации строятся диаграммы, поддерживаемые инструментальной средой.

    САSЕ-средства повышают производительность труда программистов и улучшают качество программного обеспечения. Это достигается тем, что они:

    −Обеспечивают автоматизированный контроль совместимости спецификаций проекта

    −Уменьшают время создания прототипа системы и ускоряют процесс проектирования и разработки

    −Автоматизируют формирование проектной документации для всех этапов жизненного цикла

    −Частично генерируют коды программ для различных сред разработки; − поддерживают технологии повторного использования компонентов

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

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

    2.5 Методологии разработки ПО

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

    На разных уровнях и по разным критериям выделяют пересекающиеся модели: − водопадная (каскадная) модель, реализующая основное направление нисходящего структурного программирования

    − макетирование

    − спиральная (итерационная) модель разработки ПО

    − объектно-ориентированное программирование

    − гибкие (agile) технологии: экстремальное программирование (ХР), Scrum, TDD, FDD

    − методология моделирования RUP (Rational Unified Process); − методологии компонентного подхода (СОМ, CORBA, RAD).

      1   2   3   4


    написать администратору сайта