Файл: Учебное пособие по курсу Технология разработки программного обеспечения для студентов.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.10.2023
Просмотров: 364
Скачиваний: 2
СОДЕРЖАНИЕ
1Цели при разработке программного обеспечения
2Жизненный цикл ПО. Модели жизненного цикла
3.1Принципы структурного анализа
3.3Группы средств моделирования систем
4Построение модели в DFD на примере банковской задачи
7Методология функционального моделирования SADT (IDEF0)
7.1Structured Analysis and Design Technique
8Моделирование данных в нотации IDEF1x
9Комплексная интеграция BPWin, ERWin и Paradigm Plus.
9.1Соответствие объектов моделей процессов и моделей данных
9.2Экспорт между моделью данных и моделью процессов
9.3Paradigm Plus: двусторонняя связь с ERwin
10Создание физической модели данных в ERWin
10.2 Правила валидации и значения по умолчанию
10.4 Триггеры и хранимые процедуры
11Тестирование и сертификация программного обеспечения
11.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО
11.2Использование среды автоматизированного тестирования Platinum TESTBytes
11.3 Методы обеспечения качества и надежности программных средств
11.4 Использование CASE для повышения качества ПО
11.5 Влияние стандартов открытых систем на качество ПО
11.6 Повышение качества ПО путем тестирования
11.7 Основные особенности процесса тестирования ПО
11.8 Организационные особенности тестирования
12Организация и планирование тестирования для обеспечения качества ПО
12.1 Важнейшие разделы ISO 9003
12.3 Документирование системы качества
12.5 Внутренние проверки системы качества
13Стандарты, регламентирующие разработку ПО
13.1Стандарт ISO 12207:1995 - Процессы жизненного цикла программных средств
13.3 Серия стандартов ГОСТ 34-ХХХ «Информационная технология»
14Управление проектами разработки информационных систем
14.1 Процессы управления проектами
14.7 Процессы исполнения и контроля
15Определение концепции проекта (область применения, цели и подход)
16.3Диаграмма Гантта по проекту
16.4График движения денежных средств по проекту
3Анализ требований
3.1Принципы структурного анализа
Анализ требований разрабатываемой системы является важнейшим среди всех этапов ЖЦ. Он оказывает существенное влияние на все последующие этапы, являясь в то же время наименее изученным и понятным процессом. На этом этапе, во-первых, необходимо понять, что предполагается сделать, а во-вторых, задокументировать это, т.к. если требования не зафиксированы и не сделаны доступными для участников проекта, то они вроде бы и не существуют. При этом язык, на котором формулируются требования, должен быть достаточно прост и понятен заказчику.
Современная наука предоставляет для задач изучения требований к программному обеспечению механизм системного анализа.
Системный анализ изучает структуру реальных объектов и дает способы их формализованного описания. Общая теория систем, изучающая разнообразные по характеру системы с единых позиций, является его частью.
Системный анализ выполняется в три основные стадии:
-
выделение составных частей проблемы и их формализация; -
поиск пути решения проблемы (в том числе с использованием математических методов); -
реализация полученных результатов на практике.
Иногда системный анализ определяют как «методику улучшающего вмешательства в проблемную ситуацию»
Во многих аспектах системный анализ является наиболее трудной частью разработки. Проблемы, с которыми сталкивается системный аналитик, взаимосвязаны (и это является одной из главных причин их трудноразрешимости):
-
аналитику сложно получить исчерпывающую информацию для оценки требований к системе с точки зрения заказчика; -
заказчик, в свою очередь, не имеет достаточной информации о проблеме обработки данных, чтобы судить, что является выполнимым, а что - нет; -
аналитик сталкивается с чрезмерным количеством подробных сведений о предметной области и о новой системе; -
спецификация системы из-за объема и технических терминов часто непонятна для заказчика; -
в случае понятности спецификации для заказчика, она будет являться недостаточной для проектировщиков и программистов, создающих систему.
Применение известных аналитических методов снимает некоторые из перечисленных проблем анализа, однако эти проблемы могут быть существенно облегчены за счет применения современных структурных методов, среди которых центральное место занимают методологии структурного анализа. Структурным анализом принято называть метод исследования системы, который начинается с ее общего обзора и затем детализируется, приобретая иерархическую структуру со все большим числом уровней. Для таких методов характерно:
-
разбиение на уровни абстракции с ограничением числа элементов на каждом из уровней (обычно от 3 до 6-7); -
ограниченный контекст, включающий лишь существенные на каждом уровне детали; -
двойственность данных и операций над ними; -
использование строгих формальных правил записи; -
последовательное приближение к конечному результату.
Все методологии структурного анализа базируются на ряде общих принципов, часть из которых регламентирует организацию работ на начальных этапах ЖЦ, а часть используется при выработке рекомендаций по организации работ. В качестве двух базовых принципов используются следующие:
-
«Разделяй и властвуй», представляющий собой принцип решения трудных проблем путем разбиения их на множество меньших независимых задач, легких для понимания и решения. -
Принцип иерархического упорядочивания, декларирующий, что устройство этих частей также существенно для понимания целого. Понимаемость проблемы резко повышается при организации ее частей в древовидные иерархические структуры, т.е. система может быть понята и построена по уровням, каждый из которых добавляет новые детали.
Выделение двух базовых принципов инженерии программного обеспечения не означает, что остальные принципы являются второстепенными, игнорирование любого из них может привести к непредсказуемым последствиям (в том числе и к неуспеху всего проекта). Отметим основные из таких принципов.
-
Принцип абстрагирования – заключается в выделении существенных с некоторых позиций аспектов системы и отвлечение от несущественных с целью представления проблемы в простом общем виде. -
Принцип формализации - заключается в необходимости строгого методического подхода к решению проблемы. -
Принцип упрятывания – заключается в скрытии несущественной на конкретном этапе информации: каждая часть "знает" только необходимую ей информацию. -
Принцип концептуальной общности – заключается в следовании единой философии на всех этапах ЖЦ (структурный анализ - структурное проектирование – структурное программирование – структурное тестирование). -
Принцип полноты – заключается в контроле на присутствие лишних элементов. -
Принцип непротиворечивости – заключается в обоснованности и согласованности элементов. -
Принцип логической независимости – заключается в концентрации внимания на логическом проектировании для обеспечения независимости от физического проектирования. -
Принцип независимости данных – заключается в том, что модели данных должны быть проанализированы и спроектированы независимо от процессов их логической обработки, а также от их физической структуры и распределения. -
Принцип структурирования данных – заключается в том, что данные должны быть структурированы и иерархически организованы. -
Принцип доступа конечного пользователя – заключается в том, что пользователь должен иметь средства доступа к базе данных, которые он может использовать непосредственно (без программирования).
Соблюдение указанных принципов необходимо при организации работ на начальных этапах ЖЦ независимо от типа разрабатываемого ПО и используемых при этом методологий. Руководствуясь всеми принципами в комплексе, можно на более ранних стадиях разработки понять, что будет представлять из себя создаваемая система, обнаружить промахи и недоработки, что, в свою очередь, облегчит работы на последующих этапах ЖЦ и понизит стоимость разработки.
3.2Проблема сложности ИС
Тенденции развития современных информационных технологий приводят к постоянному возрастанию сложности информационных систем (ИС), создаваемых в различных областях экономики. Современные крупные проекты ИС характеризуются, как правило, следующими особенностями:
-
сложность описания (достаточно большое количество функций, процессов, элементов данных и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов; -
наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования (например, традиционных приложений, связанных с обработкой транзакций и решением регламентных задач, и приложений аналитической обработки (поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема); -
отсутствие прямых аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем; -
необходимость интеграции существующих и вновь разрабатываемых приложений; -
функционирование в неоднородной среде на нескольких аппаратных платформах; -
разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств; -
существенная временная протяженность проекта, обусловленная, с одной стороны, ограниченными возможностями коллектива разработчиков, и, с другой стороны, масштабами организации-заказчика и различной степенью готовности отдельных ее подразделений к внедрению ИС.
Для успешной реализации проекта объект проектирования (ИС) должен быть, прежде всего, адекватно описан, должны быть построены полные и непротиворечивые функциональные и информационные модели ИС. Накопленный к настоящему времени опыт проектирования ИС показывает, что это логически сложная, трудоемкая и длительная по времени работа, требующая высокой квалификации участвующих в ней специалистов. Однако до недавнего времени проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ИС. Кроме того, в процессе создания и функционирования ИС информационные потребности пользователей могут изменяться или уточняться, что еще более усложняет разработку и сопровождение таких систем.
3.3Группы средств моделирования систем
Сущность структурных методов при моделировании существующих или создаваемых систем заключается в разбиении этих систем на функциональные подсистемы, которые, в свою очередь, могут быть разбиты на более мелкие подсистемы и так далее – до получения элементарных процедур. При этом моделируемая система сохраняет целостное представление, в котором все компоненты системы взаимоувязаны. Базовыми принципами при структурном подходе являются следующие.
-
Принцип декомпозиции, состоящий в разбиении сложных систем на более простые подсистемы, которые легче поддаются анализу и моделированию; -
Принцип иерархического упорядочения, заключающийся в организации подсистем в иерархические древовидные структуры, в которых на каждом новом уровне детализируется структура предыдущего уровня.
В настоящее время структурный подход к моделированию и проектированию систем стал общепринятым, и все основные системы моделирования бизнес–процессов основаны на указанных выше принципах.
Современная эпистемология (наука о познании) полагает, что для описания системы достаточно охватить три аспекта:
-
функциональность системы; -
динамика системы; -
отношения сущностей системы.
В соответствии с этим все нотации моделирования могут быть классифицированы так, как это показано на рисунке 5.
-
Классификация нотаций моделирования
Среди всего многообразия средств решения данных задач в методологиях структурного анализа наиболее часто и эффективно применяемыми являются следующие:
-
DFD (Data Flow Diagrams) - диаграммы потоков данных совместно со словарями данных и спецификациями процессов или миниспецификациями; -
SADT (Structured Analysis and Design Technique) – методология структурного анализа и проектирования -
ERD (Entity-Relationship diagrams) – диаграммы «сущность-связь»; -
STD (State Transition Diagrams) – диаграммы переходов состояний.
Все они содержат графические и текстовые средства моделирования: первые – для удобства демонстрирования основных компонентов модели, вторые – для обеспечения точного определения ее компонентов и связей.