
- •1. Введение в проектирование по.
- •1.1 Особенности разработки современных программных проектов.
- •1.2 Основные понятия проектирования по
- •1.3 Понятие автоматизированной ис
- •1.4 Технология разработки по
- •2. Структура и архитектура по
- •2.1 Понятие архитектуры по
- •2.2 Проектирование системной архитектуры.
- •2.3 Проектирование программной архитектуры и техническое проектирование программных средств.
- •3. Методологии и технологии проектирования информационных систем.
- •3.1 Общие требования к методологии и технологии.
- •3.2 Методология rad.
1. Введение в проектирование по.
1.1 Особенности разработки современных программных проектов.
Тенденция развития современных информационных технологий приводит к постоянно возрастающей сложности информационных систем, создаваемых в различных областях экономики.
Современные крупные проекты ИС характеризуются следующими особенностями:
структурная, функциональная и информационная сложность объекта внедрения;
высокая техническая сложность, из-за наличия подсистем, обеспечивающих управление транзакциями, аналитическую обработку данных, безопасность;
отсутствие полных аналогов и высокая доля вновь разрабатываемого ПО;
наличие унаследованного ПО и необходимость его интеграции с разрабатываемым ПО;
территориально распределенная и неоднородная среда функционирования;
большое количество участников проектирования, разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и опыту;
значительная длительность жизненного цикла ПО.
Кризис разработки ПО заключается в том, что проекты выполняются с превышением сметы расходов и/или сроков отведенных на разработку, а разработанное ПО не обладает требуемыми функциональными возможностями, имеет низкую производительность и качество.
Причины несвоевременного выполнения проектов:
нечеткая и неполная формулировка требований;
недостаточное вовлечение пользователей в работу над проектом;
отсутствие необходимых ресурсов;
неудовлетворительное планирование и отсутствие грамотного управления проектом;
частое изменение требований и спецификаций;
новизна и несовершенство используемой технологии;
недостаточная поддержка со стороны высшего руководства;
недостаточно высокая квалификация разработчиков, отсутствие необходимого опыта.
В процессе разработки ПО возникают следующие проблемы:
недостаток прозрачности. В любой момент времени сложно сказать, в каком состоянии находится проект и каков процент его завершения.
недостаток контроля. Без точной оценки процесса разработки срываются графики выполнения работ и превышаются установленные бюджеты. Сложно оценить объем выполненной и оставшейся работы.
недостаток наблюдения. Невозможность наблюдать ход развития проекта не позволяет контролировать ход разработки в реальном времени. С помощью инструментальных средств менеджеры проектов принимают решения на основе данных, поступающих в реальном времени.
неконтролируемые изменения. У потребителей постоянно возникают новые идеи относительно разрабатываемого программного обеспечения. Влияние изменений может быть существенным для успеха проекта, поэтому важно оценивать предлагаемые изменения и реализовывать только одобренные, контролируя этот процесс с помощью программных средств.
1.2 Основные понятия проектирования по
Основой проектирования программного обеспечения является системный подход.
Системный подход – это методология исследования объекта любой природы как системы.
Система – это совокупность взаимосвязанных частей, работающих совместно для достижения некоторого результата. Определяющий признак системы – поведение системы в целом не сводимо к совокупности поведения частей системы.
Проектирование ПО – это процесс создания спецификаций ПО на основе исходных требований к нему. Проект – текущий или окончательный результат проектирования. Проект ПО включает в себя модели и проектную документацию, описывающие архитектуру, подсистемы, интерфейсы, программные компоненты, структуры данных и алгоритмы.
Для успешной реализации проекта объект проектирования должен быть, прежде всего, адекватно описан, должны быть построены полные и непротиворечивые функциональные и информационные модели системы.
На начальном этапе развития программной инженерии проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на практическом опыте, экспертных оценках и экспериментальных проверках качества функционирования системы.
В процессе создания и функционирования ИС, информационные потребности пользователей могут изменяться или уточняться, что усложняет разработку и сопровождение таких систем.
Для решения этих проблем была предложена структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания ИС и принимаемых технических решений. Она основана на наглядной графической технике, при которой для описания различного рода моделей ИС используются схемы и диаграммы. Однако широкое применение этой методологии и следование ее рекомендациям при разработке конкретных ИС встречалось достаточно редко, поскольку при неавтоматизированной (ручной) разработке очень трудно разработать и графически представить строгие формальные спецификации системы, проверить их на полноту и непротиворечивость, и тем более внести изменения.
Ручная разработка обычно порождала следующие проблемы:
неадекватная спецификация требований;
неспособность обнаруживать ошибки в проектных решениях;
низкое качество документации, снижающее эксплуатационные качества;
затяжной цикл и неудовлетворительные результаты тестирования.
Перечисленные факторы способствовали появлению программно-технологических средств специального класса - CASE-средств (Computer Aided Software Engineering), реализующих CASE-технологию создания и сопровождения ИС. В настоящее время под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют полную среду разработки ИС. CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств.
CASE-средства можно классифицировать на типы:
средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области;
средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций;
средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД;
средства разработки приложений;
средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций.
Особенности внедрения CASE-средств:
CASE-средства не всегда дают незамедлительный эффект, он может быть получен спустя некоторое время;
реальные затраты на внедрение CASE-средств обычно немного превышают затраты на их приобретение;
CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения.
Успешное внедрение CASE-средств должно обеспечивать такие преимущества:
высокий уровень технологической поддержки процессов разработки и сопровождения ПО;
положительное воздействие на такие факторы: производительность, качество продукции, соблюдение стандартов, документирование;
приемлемый уровень отдачи от инвесторов в CASE-средства.