|
Системы управления проектами
Перечислим группы средств, предназначенных для управления проектами:
- средства описания комплекса работ проекта, связей между отдельными работами и их временных характеристик;
- средства поддержки информации о ресурсах и затратах по проекту и его отдельным работам;
- средства контроля над ходом выполнения проекта;
- графические средства представления структуры проекта и средства создания отчетов по проекту.
Система должна позволять динамически пересматривать планы и сроки работ в ходе выполнения проекта. Возможно, система будет иметь средства отслеживания назначений сотрудников.
Подробную информацию о системах управления проектами, включающую описание их характеристик, можно получить в Интернете (http://www.aproject.ru/tools/tools.html). Перечислим ряд наиболее интересных систем:
- Microsoft Project (компании Microsoft - самая распространенная в мире на сегодняшний день система, которая может быть рекомендована для планирования несложных проектов. Пакет достаточно прост, имеет традиционные средства помощи и удобные инструменты создания отчетов;
- система Time Line (компании Time Line, Inc. (http://www.timeline.com/)) - также предназначена для несложных проектов. Содержит минимально необходимые функции управления проектами;
- Primavera (компании Primavera Systems, Inc. (http://www.primavera.com/)) - более мощная система, применяемая для управления средними и крупными проектами.
Организационные средства
К организационным средствам относятся:
- электронная почта;
- электронный календарь;
- интранет.
Электронная почта
Электронная почта может играть важную организационную роль в процессе управления проектом. Достоинства такого подхода в том, что вся информация пересылается по почте и остается "в истории". Во многих компаниях принято подкреплять почтой решения, достигнутые в результате устной договоренности. В крупных компьютерных компаниях инженер, как правило, получает по электронной почте около 100 рабочих писем в день, а менеджер от 300 до 500. В настоящее время набор почтовых программ входит в состав большинства операционных систем.
Электронный календарь
Электронный календарь представляет собой информационный пакет, в который заносятся пометки о будущих событиях типа совещаний, семинаров, крайних сроков важнейших событий. Информация может быть занесена как самостоятельно исполнителем, так и другими людьми, которым разрешен доступ (например, секретарем). Электронные календари реализованы в графических оболочках большинства современных операционных систем.
Интранет
Термином интранет обозначают корпоративные информационные системы, построенные на принципах, заимствованных из сети Интернет. По сути, интранет - это перенос хорошо известных сетевых технологий во внутрикорпоративные сети. Внутренняя сеть позволяет создать целостный портрет организации и обрести радикально новую систему внутренних коммуникаций и доступа к информационным ресурсам. Интранет может быть значительно "умнее" Интернета, потому что он контролируем, и в него можно инвестировать значительно больше знаний и средств. В качестве серверов итранета можно использовать хорошо известные серверы Интернета, например Apache (http://www.apache.org/).
Средства оценки качества
Для сравнения качества программных продуктов применяются количественные методы оценки. Среди программ оценки качества отметим Metricate компании Software Productivity Centre (http://www.spc.ca/)), которая анализирует все аспекты деятельности компаний по производству программного обеспечения. Это - эффективность технологических процессов, качество программного кода, уровень управления проектами, стоимость выполнения различных этапов, производительность получаемой системы, продуктивность труда разработчиков и качество готовых изделий.
5.2.3. Анализ требований и проектирование
Системы на основе структурной методологии
Для анализа требований и проектирования на основе структурной методологии могут быть применены следующие системы:
- Silverrun ModelSphere (компании magma solutions GmbH (http://www.spc.ca/)) - поддерживает методы DATARUN, Гейна-Сарсона, Йордона, Мартина и др.;
- Oracle Designer (компании Oracle (http://www.oracle.com/)) - поддерживает CASE*Method Баркера;
- ERwin (компании Computer Associates International, Inc. (http://www.cai.com/)) - поддерживает диаграммы функционального моделирования.
О системах на основе структурной методологии Обратим внимание, что практически все перечисленные системы в настоящее время поддерживают также и объектно-ориентированную методологию.
Из отечественных систем укажем следующие:
- ДРАКОН - поддерживающая ДРАКОН-схемы [Паронджанов 1999];
- CASE-Аналитик (компании Эйтекс) - поддерживающая подход Гейна-Сарсона. Система работает с иерархией диаграмм, последовательно детализирующих модель (рис. 5.1).
В состав системы САSЕ.Аналитик входят [Калянов 1996]:
- база данных проекта;
- графические редакторы потоковых диаграмм и структурограмм;
- средства вывода экранных и печатных форм;
- документатор;
- верификатор, позволяющий вести автоматический контроль выполнения формальных правил построения модели при вводе и редактировании.
Системы на основе объектно-ориентированной методологии
Укажем лучшие и наиболее известные системы для анализа требований и проектирования на основе объектно-ориентированной методологии:
- Rational Rose (компании Rational Software Corporation (http://www.rational.com/));
- Together Control Center (компании TogetherSoft Corporation (http://www.togethersoft.com/)).
Перечислим основные достоинства и возможности системы Rational Rose:
- система прошла достаточно долгий путь развития и совершенствования. Она поддерживает язык UML и ряд ранних языковых нотаций (например, Воосh и ОМТ (Object Modeling Technique));
- система реализована на обеих наиболее распространенных операционных системах - Unix и Windows;
- система имеет три основные модификации. Пользователь имеет возможность выбрать одну из них, устраивающую его по финансовым соображениям:
- Enterprise - с возможностью генерации кода на языках Visual C++, Visual BASIC, Java, CORBA IDL Еще совсем недавно существовала поддержка языка Smalltalk;
- Professional - возможность генерации кода на одном из перечисленных языков;
- Modeler - без языковой поддержки;
- система поддерживает восстановление спецификаций из кода;
- система поддерживает генерацию проектной документации.
Система обладает удобным рабочим интерфейсом, в который входят:
- панели главного меню;
- стандартная панель инструментов для быстрого доступа к часто используемым командам меню;
- специальная панель инструментов, соответствующая избранной диаграмме;
- окно браузера, позволяющего работать с моделями в виде иерархической структуры;
- окно диаграммы;
- окно спецификации;
- окно документации.
Программирование (реализация)
Трансляторы
Диван был транслятором. Он создавал вокруг себя поле, преобразующее, говоря просто, реальность действительную в реальность сказочную. Аркадий и Борис Стругацкие. "Понедельник начинается в субботу"
Транслятор - программный инструмент, предназначенный для перевода (трансляции) программ с одного формального языка на другой. Существует несколько основных видов трансляторов:
- компиляторы;
- декомпиляторы;
- интерпретаторы.
Общая схема трансляторов, компонентов трансляторов и связанных с ними инструментов представлена на рис. 5.2, где сплошная линия означает обязательную связь между компонентами, а пунктирная - возможность включения одного компонента в другой. Подчеркнем, что многие компоненты могут являться общими для различных видов трансляторов и инструментов.
Обратим внимание на то, что многие другие программные инструменты могут рассматриваться как языковые трансляторы, например:
- текстовые редакторы (транслируют текст и специфические команды форматирования в некоторый образ);
- процессоры запросов (транслируют высокоуровневый язык запросов в реляционный язык (например, SQL));
- программы доказательства теорем (преобразуют спецификацию теоремы в некоторый метаязык).
Компиляторы
Компиляторы в некотором смысле подобны зубным врачам: они требуются каждому программисту, но общение с ними редко приносит полное удовольствие. Майк Балл
На рис. 5.3 представлены основные информационные связи и потоки компилятора. Исходная программа преобразуется компонентами компилятора в ряд промежуточных представлений и, в конечном итоге, в программу на языке назначения. В течение этих преобразований компоненты работают с общими символьными таблицами и при необходимости обращаются к обработчику ошибок.
Далее мы расскажем об основных программах, входящих в состав компилятора. В сети Интернет подробный обзор таких программ можно найти на сайте Compiler Construction Tools (http://catalog.compilertools.net/).
- Драйвер (диспетчер, монитор) - это программа, последовательно вызывающая все остальные компоненты компилятора.
- Препроцессор - программа, которая выполняет модификацию данных с целью их подготовки для ввода в другую программу. Модификация может заключаться в простом переформатировании или применении макрорасширений.
- Анализатор - компонент компилятора, осуществляющий последовательно:
- лексический анализ, на котором входная программа, представляющая собой поток символов, разбивается на лексемы - конструкции (слова) языка;
- синтаксический анализ, в процессе которого происходит разбор структуры программы;
- контекстный анализ, во время которого выявляются зависимости между частями программы, включая анализ типов, областей видимости, соответствие параметров и т. п.
- Оптимизатор - компонент, выполняющий преобразования программы (как правило, на основе промежуточного представления) с целью улучшения ее характеристик (оптимизации) по одному или ряду параметров. Как правило, оптимизацию проводят по времени исполнения с целью получения более эффективной программы или по пространству - месту, которое файл с откомпилированной программой будет занимать. На рис. 5.4 представлено три основных подхода к оптимизации.
- Кодогенератор - компонент, завершающий компиляцию и порождающий на основании промежуточного представления программы либо ассемблер, либо объектный код.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|