Автор: Пользователь скрыл имя, 19 Марта 2012 в 00:56, реферат
Широкое использование вычислительной техники в различных сферах деятельности человека привело к потребности создания соответствующего программного обеспечения. Однако трудоемкость и наукоемкость разработки программ настолько огромны, что ведутся работы по созданию новых технологий автоматизации проектирования программных средств. Это направление получило название CASE-технология (Computer – Aided Software Engineering, т.е. разработка программного обеспечения с помощью компьютера).
ВВЕДНИЕ 3
Определений целей, функций, входов и выходов системы 6
Сущность структурного анализа и проектирования 9
Структура CASE-средств 15
Результаты использования CASE-средств 18
Критерии оценки и выбора CASE-средств 22
Переход к практическому использованию CASE-средств 24
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«КАМСКАЯ
ГОСУДАРСТВЕННАЯ ИНЖЕНЕРНО-
(ИНЭКА)
Кафедра «Математическое моделирование и информационные технологии в экономике»
КОНТРОЛЬНАЯ РАБОТА
по дисциплине
«ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ»
Тема: «Инструментальные средства автоматизации процессов проектирования и разработки программного обеспечения»
Выполнил студент:
Группа:
№ зачетной книжки:
Проверил:
г.Набережные Челны
2011г.
Оглавление
ВВЕДНИЕ 3
Определений целей, функций, входов и выходов системы 6
Сущность структурного анализа и проектирования 9
Структура CASE-средств 15
Результаты использования CASE-средств 18
Критерии оценки и выбора CASE-средств 22
Переход к практическому использованию CASE-средств 24
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28
Широкое использование вычислительной техники в различных сферах деятельности человека привело к потребности создания соответствующего программного обеспечения. Однако трудоемкость и наукоемкость разработки программ настолько огромны, что ведутся работы по созданию новых технологий автоматизации проектирования программных средств. Это направление получило название CASE-технология (Computer – Aided Software Engineering, т.е. разработка программного обеспечения с помощью компьютера).
В настоящее время под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения информационной системы, включая анализ и формулировку требований, проектирование прикладного программного обеспечения (приложений) и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы. CASE-средства вместе с системным программным обеспечением и техническими средствами образуют полную среду разработки информационной системы.
CASE-технологии
представляют собой
Постоянное усложнение программных проектов и увеличение объема работ при их разработке обусловило потребность в универсальном средстве, позволяющем структурировать, упорядочить и даже автоматизировать процесс создания программного обеспечения.
Обеспечить
поддержку наиболее трудоемких этапов
разработки программного обеспечения
– этапов анализа и проектирования
– позволяет использование
Термин CASE используется в настоящее время в весьма широком смысле. Первоначальное значение термина CASE, ограниченное вопросами автоматизации разработки только лишь программного обеспечения, в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных информационных систем в целом.
CASE-технологии являются естественным продолжением эволюции всей отрасли разработки программного обеспечения. Появлению CASE-технологии предшествовали исследования в области методологии программирования.
Программирование обрело черты системного подхода с разработкой и внедрением языков высокого уровня, методов структурного и модульного программирования, языков проектирования и средств их поддержки, формальных и неформальных языков описаний системных требований и спецификаций и т.д. Кроме того, появлению CASE-технологии способствовали и такие факторы, как: подготовка аналитиков и программистов, восприимчивых к концепциям модульного и структурного программирования; широкое внедрение и постоянный рост производительности компьютеров, позволившие использовать эффективные графические средства и автоматизировать большинство этапов проектирования; внедрение сетевой технологии, предоставившей возможность объединения усилий отдельных исполнителей в единый процесс проектирования путем использования разделяемой базы данных, содержащей необходимую информацию о проекте.
CASE-средства (Computer-Aided Software/System Engineering) – это программные средства, поддерживающие методологию проектирования информационных систем, а также набор инструментальных средств, поддерживающих процессы создания и сопровождения информационных систем, моделирование предметной области, включая анализ и формулировку требований, проектирование процессов и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом.
Использование CASE-технологий позволяет:
Большинство
существующих CASE-средств основано на парадигме
методология/метод/нотация/
К CASE-средствам принято относить любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла программного обеспечения и обладающее следующими характерными особенностями:
Основная цель использования CASE-технологий заключается в максимальной автоматизации стадий анализа и проектирования систем с целью построения формальных и непротиворечивых моделей системы.
Другая, не менее важная, цель использования CASE-технологий – вынесение части деятельности (чем больше, тем лучше) из стадии кодирования в стадию проектирования.
Большинство современных CASE-средств поддерживает методологии структурного и/или объектно-ориентированного анализа и проектирования информационных систем. Выбор того или иного подхода (парадигмы1) подразумевает следование ему и на стадии кодирования. Их отличие друг от друга заключается в выборе способа декомпозиции системы (задачи). Если за основу принимается функциональная1 (алгоритмическая) декомпозиция, то речь идет о структурном подходе, если объектная – об объектно-ориентированном.
Выбор
того или иного подхода зависит
от специфики решаемой задачи. Как
правило, структурный подход применяется
для автоматизации задач, оперирующих
большими объемами «пассивных» данных
и ориентированных на использование
реляционных баз данных (например,
учет, сбор статистики, математические
и инженерные расчеты, анализ данных).
Объектно-ориентированный
Все современные CASE-средства можно классифицировать по типам и категориям. Классификация по типам отражает функциональную ориентацию CASE-средств на те или иные процессы жизненного цикла. Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи, набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла информационных систем и полностью интегрированные средства, поддерживающие весь жизненный цикл информационных систем и связанные общим репозиторием. Помимо этого CASE-средства можно классифицировать по применяемым методологиям и моделям систем и БД; степени интегрированности с СУБД; доступным платформам.
Классификация по типам в основном совпадает с компонентным составом CASE-средств и включает:
Результатом применения одной из методологий (в данном случае SADT) является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции информационной системы и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рис.1).
Рисунок 1. Функциональный блок и интерфейсные дуги
Программы, написанные на первых языках программирования, как и первая программа, написанная лично, представляли собой простое перечисление команд, выполняемых от начала до конца. Естественно, в этих программах уже присутствовали управляющие конструкции типа циклов, условных и безусловных переходов и т. д. Но по мере усложнения программ (увеличения кода) их разработка и сопровождение при таком подходе становились все более затруднительными. Тогда в языках стали появляться дополнительные конструкции (функции и процедуры), возможность модульной разработки программы и последующая ее сборка из разных файлов. Программа стала представлять собой не просто единое целое с трудно различимым внутренним устройством (типа «черного ящика»), а структуру, состоящую из четко выраженных модулей, связанных между собой определенными отношениями (интерфейсами). То есть программа приобрела структуру иерархической многоуровневой модульной системы. Каждый уровень такой системы является законченным модулем, поддерживаемым и контролируемым модулем, находящимся над ним.
Методологии структурного анализа и проектирования информационных систем появились позже фактического использования этих принципов на практике (структурного программирования). В конце 60-х гг. ХХ в. стали появляться и применяться первые методологии, ориентированные на структурный подход.
При анализе и проектировании структурным подходом принято называть метод исследования системы, основанный на представлении ее в виде иерархии взаимосвязанных функций. Обычно описание системы начинается с ее общего обзора и затем детализируется, приобретая иерархическую структуру со всё большим числом уровней. Разбиение на уровни абстракции производится с ограничением числа элементов на каждом из них. Описание каждого уровня включает в себя только существенные для этого уровня элементы (принцип абстрагирования). Процесс разбиения продолжается вплоть до конкретных процедур, дальнейшая детализация которых не имеет смысла. При этом автоматизируемая система должна сохранять целостное представление, в котором все составляющие ее компоненты взаимосвязаны (принцип согласованности).
Большинство методологий структурного анализа и проектирования основано на представлении моделей разрабатываемых систем в виде диаграмм. Наиболее популярные из них представлены в таблице 1.
Таблица 1. Методологии структурного анализа и проектирования
Методология |
Тип разрабатываемой модели |
SADT (Structured Analysis and Design Technique, методология
структурного анализа и |
Функциональная |
DFD (Data Flow Diagrams, диаграммы потоков данных) |
Смешанная (функциональная, информационная, компонентная) |
ERD (Entity-Relationship Diagrams, диаграммы «сущность-связь») |
Информационная |
STD (State Transition Diagrams, диаграммы изменения состояний) |
Поведенческая |
Flowcharts (блок-схемы) |
Смешанная (поведенческая, информационная, компонентная) |
IDEF0 (Integrated Definition Function Modeling, ) |
Функциональная |
IDEF1 |
Информационная |
IDEF2 |
Динамическая |
IDEF3 |
Смешанная (функциональная, информационная, компонентная) |
UML (Unified Modeling Language) |
Визуальная |