1ИСТОРИЯ РАЗВИТИЯ ИСРП. История развития исрп
Скачать 49.21 Kb.
|
1ИСТОРИЯ РАЗВИТИЯ ИСРП 2 ИСТОРИЯ РАЗВИТИЯ ИСРП Программные продукты можно классифицировать по различным признакам. Рассмотрим классификацию, в которой основополагающим признаком является сфера (область) использования программных продуктов: аппаратная часть автономных компьютеров и сетей ЭВМ; функциональные задачи различных предметных областей; технология разработки программ. В этих областях выделим соответственно три класса программных продуктов: системное программное обеспечение; пакеты прикладных программ; инструментарий технологии программирования. Очевидно, что в рамках нашей дисциплины нас интересует третье направление. Развитие этого направления, связанно с переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, обеспечению гарантированного уровня их качества. В рамках этого направления сформировались следующие группы программных продуктов: - средства для создания приложений, включающие: локальные средства, обеспечивающие выполнение отдельных работ по созданию программ; интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;- СASE-технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная дли автоматизации процессов разработки и реализации информационных систем. Средства для создания приложений - совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ. Локальные средства разработки программ. Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя. Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере. Системы программирования (programming system) включают: - компилятор; - интегрированную среду разработчика программ; - отладчик; - средства оптимизации кода программ; - набор библиотек (возможно с исходными текстами программ); - редактор связей; - сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами; - справочные системы; - документатор исходного кода программы; - систему поддержки и управления проектом программного комплекса. Средства поддержки проектов - новый класс программного обеспечения, предназначен для: - отслеживания изменений, выполненных разработчиками программ; - поддержки версий программы с автоматической разноской изменений; - получения статистики о ходе работ проекта. Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими, как: - библиотека функций, процедур, объектов и методов обработки; - макрокоманды; - клавишные макросы; - языковые макросы; - программные модули-вставки; - конструкторы экранных форм и отчетов; - генераторы приложений; - языки запросов высокого уровня; - языки манипулирования данными; - конструкторы меню и многое другое. Интегрированные среды разработки программ. Дальнейшим развитием локальных средств разработки программ, которые объединяют набор средств для комплексного применения на всех технологических этапах создания программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария данного вида - повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов. CASE-технология создания информационных систем. Средства CASE-технологии - относительно новое, сформировавшееся на рубеже 80-х г направление.CASE-технология - программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем. В истории развития ИСРП обычно выделяют шесть периодов. Периоды различаются применяемой техникой и методами разработки ПС. В эти периоды, в качестве инструментов разработки, используют следующие ПС: Период 1. Ассемблеры, анализаторы. Период 2. Компиляторы, интерпретаторы, трассировщики. Период 3. Символические отладчики, пакеты программ. Период 4. Системы анализа и управления исходными текстами. Период 5. Первое поколение CASE. Это CASE – средства, позволяющие выполнять поддержку начальных работ процесса разработки ПС и систем. Адресованы непосредственно системным аналитикам, проектировщикам, специалистам в предметной области. Поддерживают графические модели, экранные редакторы, словари данных. Не предназначены для поддержки полного ЖЦ ПС. Период 6. Второе поколение CASE. Представляют собой набор инструментальных средств, каждое из которых предназначено для поддержки отдельных этапов процесса разработки или других процессов ЖЦ. В совокупности обычно поддерживают практически полный ЖЦ. Используют средства моделирования предметной области, графического представления требований, поддержки автоматической кодогенерации. Содержат средства контроля и управления разработкой, интеграции системной информации, оценки качества результатов разработки. Поддерживают моделирование и прототипирование системы, тестирование, верификацию, анализ сгенерированных программ, генерацию документации по проекту. Наиболее востребованы CASE – средства на первых этапах ЖЦ, связанных с анализом требований и проектированием. CASE – средства позволяют использовать визуальные среды разработки, средства моделирования и быстрого прототипирования разрабатываемой системы. Это позволяет как можно раньше оценить, насколько будущая система устраивает заказчика и насколько она дружественна будущему пользователю. Сравним усредненные оценки трудозатрат по основным этапам разработки ПС при различных подходах к процессу разработки. Номерам строк будут соответствовать: 1 – традиционная разработка с использованием классических технологий; 2 – разработка с использованием современных структурных методологий проектирования; 3 – разработка с использование CASE – средств. Из таблицы видно, что при традиционной разработке ПС основные усилия направлены на кодирование и тестирование, а при использовании CASE – технологий – на анализ и проектирование, поскольку CASE предполагают автоматическую кодогенерацию, автоматизированное тестирование и автоматический контроль проекта. Сопровождение кодов ПС заменяется сопровождением спецификаций проектирования. В результате данных факторов цена ошибок, существовавших в проекте при разработке и сопровождении, существенно снижается. Литература: Бахтизин В.В. Технология разработки программного обеспечения: учеб. пособие / В.В.Бахтизин, Л.А.Глухова. – Минск: БГУИР, 2010. – 267 с. [с.242 - 244] 3БАЗОВЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯ CASE – СРЕДСТВ 4 БАЗОВЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯ CASE - СРЕДСТВ Большинство CASE – средств основано на парадигме метод – нотация – средство. Парадигма – это система изменяющихся форм некоторого понятия. Метод – это систематическая процедура или техника генерации описания компонент ПС. Нотация – это система обозначений, предназначенная для описания структуры системы, элементов данных, этапов обработки; может включать графы, диаграммы, таблицы, схемы алгоритмов, формальные и естественные языки. Средства – это инструментарий для поддержки методов, помогающий пользователям при создании и редактировании графического проекта в интерактивном режиме, способствующий организации проекта в виде иерархии уровней абстракции, выполняющий проверки соответствия компонентов. К CASE – средствам может быть отнесено любое программное средство, обеспечивающее автоматическую помощь при разработке ПС, их сопровождении или управлении проектом, базирующееся на следующих основополагающих принципах: Графическая ориентация. В CASE – средствах используется мощная графика для описания и документирования систем и для улучшения интерфейса с пользователем. Интеграция. CASE – средство обеспечивает легкость передачи данных между своими компонентами и другими средствами, входящими в состав линейки CASE – средств. Это позволяет поддерживать совокупность процессов ЖЦ. Локализация всей проектной информации в репозитории. Исполнителям проекта доступны соответствующие разделы репозитория в соответствии с их уровнем доступа. Это обеспечивает поддержку принципа коллективной работы. Кроме перечисленных принципов в основе концептуального построения CASE – средств лежат следующие положения: Человеческий фактор, его учет позволяет привести процессы ЖЦ к легкой, удобной и экономичной форме. Использование базовых программных средств, применяющихся в других приложениях (СУБД, компиляторов различных языков программирования, отладчиков и др.). Автоматизированная или автоматическая кодогенерация. При автоматизированной кодогенерации выполняется частичная генерация кодов программного средства, остальные участки программируются в ручную. При автоматической кодогенерации выполняется полная генерация кодов. Возможны различные виды генерации (проектной документации, баз данных, кодов, автоматическая сборка модулей) Ограничение сложности. Такое ограничение позволяет поддерживать сложность компонентов разрабатываемого программного средства или системы на уровне, доступном для понимания, использования и модификации. Доступность для различных категорий пользователей, в том числе заказчиков, специалистов в предметной области, системных аналитиков, проектировщиков, программистов, тестировщиков, инженеров по качеству, менеджеров проекта. CASE– средства содержат инструменты различного функционального назначения, поддерживающие различные этапы основных, вспомогательных и организационных процессов ЖЦ. Рентабельность, обеспечивает быструю окупаемость денежных средств, вложенных в CASE – средства, за счет сокращения сроков и стоимости проектов. Сопровождаемость. CASE – средства обладают способностью адаптации к изменяющимся требованиям и целям проекта. 5 ОСНОВНЫЕ ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ CASE - СРЕДСТВ В состав CASE – средств входят четыре основных компонента. Средства централизованного хранения всей информации о проекте (репозиторий). Предназначены для хранения информации о разрабатываемом программном средстве в течении всего ЖЦ. Средства ввода. Служат для ввода данных в репозиторий, организации взаимодействия участников проекта с CASE – средством. Должны поддерживать различные методологии анализа, проектирования, тестирования, контроля. Предназначены для использования в течении ЖЦ различными категориями участников проекта. Средства анализа и разработки. Предназначены для анализа различных видов графических и текстовых описаний и их преобразования в процессе разработки. Средства вывода. Служат для кодогенерации, создания различного вида документов, управления проектом. Все компоненты CASE – средств в совокупности обладают следующими функциональными возможностями: Поддержка графических моделей; Контроль ошибок; Поддержка репозитория; Поддержка основных, вспомогательных и организационных процессов ЖЦ. В CASE – средствах разрабатываемые ПС представляются схематически. На разных уровнях проектирования могут использоваться различные виды и нотации графического представления ПС. Обычно применяются диаграммы различных типов. Разработка диаграмм осуществляется с помощью специальных графических редакторов, основными функциями которых являются создание и редактирование иерархически связанных диаграмм, их объектов и связей между объектами, а также автоматический контроль ошибок. В CASE - средствах, как правило, реализуются следующие типы контроля. Контроль синтаксиса диаграмм и типов их элементов. Контроль полноты и корректности диаграмм. Контроль декомпозиции функций. Сквозной контроль диаграмм. Основными функциями репозитория являются хранение, обновление, анализ, визуализация всей информации по проекту и организация доступа к ней. Репозиторий хранит более 100 типов объектов. Каждый информационный объект, хранящийся в репозитории, описывается совокупностью своих свойств, например, идентификатор, тип, текстовое описание, компоненты, область значений, свиязи с другими объектами, времена создания и последнего обновления, автор ит.п. Репозиторий является базой для автоматической генерации документации по проекту. Основными типами отчетов являются: Отчеты по содержимому – включают информацию по потокам данных и их компонентов; списки функциональных блоков диаграмм и их входные и выходные потоки; списки всех информационных объектов и их атрибутов; историю изменений объектов; описания модулей и интерфейсов между ними; планы тестирования модулей и т.п. Отчеты по перекрестным ссылкам – содержат информацию по связям всех вызывающих и вызываемых модулей; спсики объектов репозитория, к которым имеет доступ конкретный исполнитель проекта; информацию по связям между диаграммами и конкретными данными; маршруты движения данных от входа к выходу; Отчеты по результатам анализа – включают данные по взаимной корректности диаграмм, списки неопределенных информационных объектов, списки неполных диаграмм, данные по результатам анализа струткуры проекта и т.п.; Отчеты по декомпозиции объектов – включают совокупности объектов, входящих в каждый объект, а также объекты, в состав которых входит каждый объект. Основой поддержки процесса разработки являются следующие свойства современных CASE – средств. Покрытие всего жизненного цикла ПС. Поддержка прототипирования. Это касается в первую очередь моделей, поддерживающих инкрементную и эволюционную стратегии разработки. Прототипирование применяется на ранних этапах ЖЦ и позволяет уточнять требования к системе, а также прогнозировать поведение разрабатываемого продукта. Поддержка современных методологий разработки ПС. Современные CASE – средства поддерживают, как правило, различные методологии, предназначенные для использования на различных этапах процесса разработки. При этом выполняется графическая поддержка построения диаграмм различных типов, контроль корректности использования шагов проектирования и подготовка документации. Автоматическая кодогенерация. 6 КЛАССИФИКАЦИЯ CASE - СРЕДСТВ Все CASE - средства подразделяют на типы, категории и уровни. Классификация по типам отражает функциональное назначение CASE – средств в ЖЦ ПС. Анализ и проектирование. Средства этого типа используются для поддержки начальных этапов процесса разработки: анализа предметной области, разработки требований к системе, проектирования системной архитектуры, технического проектирования программной архитектуры, технического проектирования программных средств. Средства данного типа поддерживают известные методологии анализа и проектирования. На выходе генерируются спецификации системы, ее компонентов и интерфейсов, архитектура системы, архитектура программного средства, технический проект, включая алгоритмы и структуры данных. Примерами являются: AllFusion Process Modeler (BPwin), CASE.Аналититк, Design/IDEF, Telelogic DOORS, Telelogic Modeler, Telelogic TAU, Telelogic Rhapsody, Telelogic Statemate. Проектирование баз данных и файлов. Средства этого типа обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в третью нормальную форму, автоматическую генерацию схем баз данных и описаний форматов файлов на уровне программного кода. Примерами являются: AllFusion Process Modeler (BPwin), CA Erwin Data Model Validator, S-Designor, Silverrun, Designer2000, Telelogic TAU, Telelogic Rhapsody. Программирование и тестирование. Средства этого типа поддерживают программирование и тестирование. Данные средства автоматически выполняют кодогенерацию на основе спецификаций или моделей. Содержат графические редакторы, средства поддержки работы с репозиторием, генераторы и анализаторы кодов, генераторы тестов, анализаторы покрытия тестами, отладчики. Примерамиявляются: TAU/Developer, TUA/Tester, Logiscope Audit, Logiscope RuleChecker, Logiscope TestChecker, Logiscope Reviewer, Rhapsody Developer. Сопровождение и реинженерия. Общей целью средсвт этого типа является поддержка корректировки, изменений, преобразований, реинженерия существующей системы, поддержка документации по проекту. К данным средствам относятся средства документирования, анализаторы программ, средства управления изменениями и конфигурацией ПС и систем, средства реструктурирования и реинженении, средства обеспечения мобильности. Примерами являются: Telelogic DocExpress, Telelogic Synegry, Telelogic Change, AllFusion Change Management Suite. Окружение. К средствам данного типа относятся средства поддержки интеграции CASE – средств и данных. Примерами являются: Telelogic Rhapsody Gateway, Telelogic Rhapsody Interface Pack, AllFusion Data Profiler, AllFusion Model Manager, AllFusion Model Navigator. Управление проектом. К средствам данного типа относятся средства поддержки процесса управления ЖЦ. Их функциями являются планирование, контроль, руководство, организация взаимодействия. Примерами являются: Telelogic FocalPoint, Telelogic dashboard, AllFusion Process Management Suite, Advisor. Классификация по категориям отражает уровень интегрированности CASE – средств по выполняемым функциям. Категория Tool. Tool – рабочий инструмент. Включает средства самого низкого уровня интегрированности. В данную категорию входят инструментальные средства, решающие небольшую автономную задачу при разработке ПС. Обычно средства данной категории являются компонентами CASE – средств белее высокого уровня интегрированности. Категория ToolKit. ToolKit – набор инструментов, пакет разработчика. Включает средства среднего уровня интегрированности. Средства данной категории используют репозиторий для всей информации о проекте и ориентированы обычно на поддержку одного этапа или одной работы процесса разработки или на поддержку одного из вспомогательных или организационных процессов. Средства данной категории представляют собой интегрированную совокупность инструментальных средств, имеющих как правило общую функциональную ориентацию. Категория Workbench. Workbench – рабочее место. Средства данной категории обладают самой высокой степенью интеграции. Они представляют собой интегрированную совокупность инструментальных средств, поддерживающих практически весь процесс разработки и ряд вспомогательных и организационных процессов. Классификация по уровням связана с областью действия CASE – средств. Верхние CASE – средства. Средства данного уровня называют средствами компьютерного планирования. Их основной целью является помощь руководителям организации, предприятия и конкретных проектов в определении политики организации и создании планов проектов. CASE – средства данного уровня позволяют строить модель предметной области, проводить анализ различных сценариев (существующего, наихудших, наилучших), накапливать информацию для принятия оптимальных решений. Таким образом, применительно к ЖЦ ПС данные средства поддерживают процесс заказа и первую работу процесса разработки (подготовка процесса разработки). Графические средства данного уровня используются как формализованный язык общения между заказчиком и разработчиком требований. Примерами являются: Telelogic System Architect, Telelogic Focal Point, Telelogic Dashboard, AllFusion Modeling Suite. Средние CASE – средства. Средства данного уровня поддерживают начальные этапы процесса разработки. Обычно данные средства обладают возможностью накопления и хранения информации по проекту. Это позволяет использовать накопленные данные как в текущем, так и в других проектах. Часто эти средства поддерживают прототипирование и автоматическое документирование. Нижние CASE – средства. Средства данного уровня поддерживают вторую половину работ процесса разработки. Содержат графические средства, исключающие необходимость разработки спецификаций для программных модулей. Спецификации представляются моделями и непосредственно преобразуются в программные коды. Автоматически генерируется до 90% кода. Как правило, они поддерживают прототипирование, тестирование, управление конфигурацией, генерацию документации, облегчают модификацию и сопровождение ПС. Литература: Бахтизин В.В. Технология разработки программного обеспечения: учеб. пособие / В.В.Бахтизин, Л.А.Глухова. – Минск: БГУИР, 2010. – 267 с. [с.24 - 254] 7ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА УПРАВЛЕНИЯ ПРОЕКТОМ 8 ОБЗОР ВОЗМОЖНОСТЕЙ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ УПРАВЛЕНИЯ ПРОЕКТОМ Управление проектом объединяет множество инструментальных средств, методов и технологий, связанных с планированием проекта и управлением интегрированным процессом. Управление проектом – нечто вроде распределения и управления бюджетом, временем и людьми. Давно проверенный практикой принцип гласит, что если вы не сможете спланировать что-то, вы не сможете это и сделать. Планирование требует некоторых начальных знаний того, что требуется для разработки системы в этой организации, с этими людьми, с этими ресурсами, в этой организационной культуре и т.п. Организация должна оценить, что происходило с предыдущими проектами, определить из предыдущих проектов метрики (систему показателей). Современные инструментальные средства управления проектами объединяют обычное управление проектом со стратегическим планированием, бизнес – моделированием, портфельным управлением, управлением документацией, технологическим процессом и т.д. Лучшие представители управления большими проектами используют web- технологии. Которые позволяют осуществлять динамическое, интерактивное и синхронное управление большими коллективами и процессами. Одним из главных инструментов управления планированием проектом являются сетевые графики. Два традиционных вида графиков операций – метод критического пути и диаграмма Ганта. Инструментальные средства управления проектами могут формировать график операции, как только будет обеспечена необходимая проектная информация. Требуемая проектная информация включает определение операций, их продолжительность, ресурсы, предшествующие события и события которые являются следствием операций. Инструментальные средства управления проектами регулируют и перестраивают планы всякий раз, когда происходят изменения в операциях или ресурсах. Это позволяет менеджерам понять, может ли дополнительный ресурс дать лучший результат в проекте. |