Компьютерные вирусы и способы борьбы с ними
Рефераты >> Информатика >> Компьютерные вирусы и способы борьбы с ними

· CASE-средства зачастую трудно использовать в комплексе с другими подобными средствами. Это объясняется как различными парадигмами, поддерживаемыми различными средствами, так и проблемами передачи данных и управления от одного средства к другому;

· некоторые CASE-средства требуют слишком много усилий для того, чтобы оправдать их использование в небольшом проекте, при этом, тем не менее, можно извлечь выгоду из той дисциплины, к которой обязывает их применение;

· негативное отношение персонала к внедрению новой CASE-технологии может быть главной причиной провала проекта.

Пользователи CASE-средств должны быть готовы к необходимости долгосрочных затрат на эксплуатацию, частому появлению новых версий и возможному быстрому моральному старению средств, а также постоянным затратам на обучение и повышение квалификации персонала.

Несмотря на все высказанные предостережения и некоторый пессимизм, грамотный и разумный подход к использованию CASE-средств может преодолеть все перечисленные трудности. Успешное внедрение CASE-средств должно обеспечить такие выгоды как:

· высокий уровень технологической поддержки процессов разработки и сопровождения ПО;

· положительное воздействие на некоторые или все из перечисленных факторов: производительность, качество продукции, соблюдение стандартов, документирование;

приемлемый уровень отдачи от инвестиций в CASE-средства.

11. Жизненный цикл программной системы.

Под жизненным циклом программной системы обычно понимают весь период времени существования программной системы, начинающийся с момента выработки первоначальной концепции системы и кончающийся тогда, когда система морально устаревает. Жизненный цикл традиционно моделируется в виде некоторого числа последовательных этапов.

Обобщенный жизненный цикл можно представить в виде следующей последовательности этапов, которые, в свою очередь, можно также разбить на стадии:

1) планирование разработки - Определяются необходимые действия, планы и организация управления проектом. Определяются меры по обеспечению непрерывного выполнения фаз жизненного цикла.;

2) определение требований к системе;

2.1) выработка требований;

2.2) анализ требований;

3) проектирование системы;

3.1) проектирование архитектуры системы;

3.2) детальное проектирование компонент системы, в т.ч. для программного обеспечения;

3.2.1) общее проектирование программного обеспечения;

3.2.2) проектирование отдельных программных компонент;

4) реализация и тестирование системы;

4.1) создание отдельных компонент системы, в т.ч. для программного обеспечения;

4.1.1) создание отдельных программных модулей;

4.1.2) тестирование отдельных программных модулей;

4.2) тестирование компонент системы, в т.ч. программного обеспечения как единого компонента системы;

4.3) интегрирование отдельных компонент в систему;

5) выпуск системы;

6) эксплуатация системы;

7) завершение разработки.

В литературе описано множество типов жизненных циклов. Среди всего этого разнообразия можно выделить два основных.

Последовательный тип

Данный тип ЖЦ предполагает, что каждая следующая стадия может быть начата только после завершения работ на предыдущей стадии. Он применим когда:

требования к продукту четко определены и не меняются со временем;

имеется достаточно большой опыт реализации подобного рода систем;

время реализации проекта составляет от нескольких месяцев до года.

Реализация проекта по данному типу ЖЦ легко планируется и контролируется. Однако для этого необходимо заранее иметь все требования к продукту. Данный тип ЖЦ не приспособлен к изменениям требований к продукту. Разрабатываемый продукт не может использоваться, пока проект не будет близок к завершению. В реальности в последнее время этот тип жизненного цикла практически никогда не применяется.

Эволюционный тип

Функциональные возможности системы в данном случае наращиваются постепенно. В процессе разработки основные стадии ЖЦ (проектирование, реализация, тестирование) проходятся несколько раз применительно к очередной добавляемой порции возможностей системы.

Данный тип ЖЦ не требует заранее наличия всех требований к системе и позволяет заказчику активно участвовать в ее разработке, что является безусловным плюсом. Недостатки эволюционного типа:

сложность в управлении и контроле выполнения проекта;

сложность оценки затрат на разработку;

риск бесконечного улучшения системы.

Данный тип применим, когда требования к системе плохо определены или будут изменяться, отсутствует достаточный опыт в разработке подобных систем, используются новые технологии и (или) инструментальные средства, в ходе разработки системы необходимо иметь промежуточные версии продукта.

Выбор типа жизненного цикла

Выбор конкретного типа жизненного цикла зависит от ряда субъективных и объективных причин, сопутствующих проекту:

наличия четких и подробных требований к ПО;

ресурсов, имеющихся в наличии для проведения работ по проекту;

наличия и доступности заказчика в процессе разработки;

новизны используемых при разработке технологий и (или) инструментальных средств.

12. Объектно-ориентированный подход: определение физической и логической структуры системы и программы.

Понятие объекта интегрирует в себе представление о данных определенной структуры и допустимых процедурах обработки.

Объект - одно из основных понятий объектно-ориентированных языков программирования. Каждый объект имеет своё имя и является представителем некоторого класса подобных себе объектов. Под классом объектов подразумевается общее описание таких объектов, для которых характерно наличие множества общих свойств и общих действий, которые способны выполнять эти объекты. Существует, например, класс КОМАНДНАЯ КНОПКА - общее описание кнопок в окнах приложений. Кнопки могут быть разных размеров и цветов, иметь разные подписи, но имеют множество общих свойств и событий (например, щелчок мыши по кнопке). Началом работы алгоритма, а, следовательно, и программы, является какое-нибудь событие. Событием (Event) называется характеристика класса объектов, описывающая внешнее воздействие, на которое реагирует объект этого класса во время работы приложения. Объектно-ориентированное программирование основано на следующей идее: программы управляются событиями. Применительно к созданию диалоговых систем это можно пояснить так: после проектирования экранной формы устанавливаются события, и только затем программируются действия, связанные с этими событиями.

Существует два основных способа проектирования программных систем - структурное проектирование, основанное на алгоритмической декомпозиции, и объектно-ориентированное проектирование, основанное на объектно-ориентированной декомпозиции. Разделение по алгоритмам концентрирует внимание на порядке происходящих событий, а разделение по объектам придает особое значение агентам, которые являются либо объектами, либо субъектами действия. Однако нельзя сконструировать сложную систему одновременно двумя способами. Необходимо начать разделение системы либо по алгоритмам, либо по объектам, а затем, используя полученную структуру, попытаться рассмотреть проблему с другой точки зрения.


Страница: