- •Понятие по: программа, программный комплекс, программный продукт, системный программный продукт.
- •Философия развития по. Тенденция развития по.
- •Инженерия по. Тенденции затрат на по.
- •Профессиональные и этические требования к специалистам по по. Основные проблемы, стоящие перед специалистами по по.
- •Управление качеством по и работа менеджеров по качеству.
- •Стандарт iso 9000 и управление качеством.
- •Вероятностные методы в оценке качества по.
- •Стандарты на продукцию и процесс разработки по.
- •Стандарты на техническую документацию.
- •Измерение показателей по. Характеристики качественного по.
- •Показатели программного продукта.
- •Объектно-ориентированные показатели.
- •Обзор моделей создания по.
- •Каскадная модель. Достоинства и недостатки каскадной модели.
- •Эволюционная модель. Два подхода к реализации эволюционного метода.
- •Формальная разработка систем.
- •Разработка по на основе ранее созданных компонентов.
- •Модель Миллса. Экстремальное программирование.
- •Спиральная модель разработки. Спиральная модель жизненного цикла разработки по
- •Спецификация по. Основные этапы.
- •Этапы процесса проектирования.
- •Управление проектами. Отличие программных проектов от технических.
- •Планирование проекта. График работ.
- •Анализ рисков.
- •Современный подход к проектированию по. V-цикл проектирования и разработки по.
- •Организация групп программистов.
- •Планирование проекта. План проекта. Контрольные метки этапов работ. График работ. Временные и сетевые диаграммы.
- •Методы проектирования.
- •Программирование и отладка.
- •Объектно-ориентированный анализ и проектирование (ооа/ооп). Методология объектно-ориентированного моделирования. Понятие объекта.
- •Сложные объекты. Использование объектной технологии. Объекты м классы объектов в uml. Взаимодействие между объектами.
- •Моделирование классов и отношений.
- •Пятиэтапный процесс тестирования. Альфа-тестирование, бетта-тестирование.
- •Эволюция программных систем.
- •Разработка по на основе визуального моделирования. Case – средства для разработки по. Ibm Rational & Rational Rhapsody.
- •Стандарты, регламентирующие Жизненный цикл по и процессы разработки.
- •Rup. Фазы и дисциплины унифицированного процесса.
- •Анализ требований на фазе начало up. Артефакты начальной фазы.
- •Стандарт uml 2.2.
- •Этапы проектирования ис с применением uml.
- •Диаграммы прецендентов.
- •Диаграммы классов.
- •Диаграмма объектов.
- •Диаграммы взаимодействия.
- •Метод ecm (Enterprise Component Modeling) в uml. Опишите игру в кости с помощью uml-diagram.
- •Методы верификации объектно-ориентированных программ.
- •Метод тестирования программ.
- •Организация проведения тестирования. Классификация ошибок.
- •Требования к покрытию критичных приложений тестами.
Показатели программного продукта.
Понятие программного продукта
Под программным продуктом понимается программа, которую независимо от ее разработчиков можно использовать в предусмотренных целях на разных компьютерах, если только они удовлетворяют ее системным требованиям. Разумеется, сформулированное сейчас определение верно не только для отдельной программы, но и для программного комплекса. При этом, когда мы говорим о возможности использования, то имеем в виду сразу несколько обстоятельств:
Программа в состоянии нормально функционировать не только на компьютере у автора, а в рамках любой подходящей системы.
Автор (или иной правообладатель) на определенных условиях позволяет распространять и использовать программу.
Человек, получивший в распоряжение дистрибутив программы, сможет самостоятельно установить и полноценно применять ее.
Последний пункт имеет непосредственное отношение к технической документации.
Типы технической документации на программный продукт
Всю документацию на программный продукт можно разделить на следующие категории:
Документация управления проектом — организационные документы, которыми обмениваются между собой те, кто так или иначе участвует создании программы.
Документация разработки — технические документы, которыми обмениваются между собой те, кто так или иначе участвует создании программы.
Документация продукции — технические документы, которые предоставляются потребителю в комплекте поставки программы или отдельно от нее.
В составе документации продукции можно выделить эксплуатационную документацию, т. е. такую, которая используется при эксплуатации системы. В свою очередь, в составе эксплуатационной документации можно выделить документацию пользователя, адресованную лицам, непосредственно работающим с программой.
Объектно-ориентированные показатели.
Это разработка программной системы в виде совокупности взаимодействительных объектов, объединенных в классы. Объект – элемент предметной области, обладающий состоянием, поведением и индивидуальностью.
Сходные по структуре и поведению объекты объединяются в классы. Состояние объекта определяется числом атрибутов, которые объект имеет, и их значением.
Поведение объекта определяется изменением его состояния либо самостоятельно, либо под воздействием других объектов.
Изменение состояния, поведения реализуется с помощью операций.
Выделяют 4 типа операций с объектами:
1) конструктор – выделяет память под объект;
2) деструктор – освобождает память, занимаемую объектом;
3) селектор – возвращает значение полей объектов и значения, вычисленные с их использованием, но не изменяет их;
4) модификатор – изменяет значение полей объекта.
Индивидуальность объекта – то, что позволяет выделить/отличить объект от остальных объектов класса.
В Delphi индивидуальность объекта заключается в его имени, адресе и размещении в памяти.
Чтобы создать объект:
- создаем класс;
- конструктор.
Обзор моделей создания по.
Каскадная модель жизненного цикла разработки ПО
Классическая каскадная модель, несмотря на полученную в последнее время нега-тивную оценку, исправно служила специалистам по программному инжинирингу мно¬гие годы. Понимание ее сильных сторон и недостатков улучшает оценочный анализ других, зачастую более эффективных моделей жизненного цикла, основанных на данной модели.
V-образная модель жизненного цикла разработки ПО
V-образная модель была создана с целью помочь работающей над проектом коман¬де в планировании с обеспечением дальнейшей возможности тестирования системы. В этой модели особое значение придается действиям, направленным на верифика¬цию и аттестацию продукта. Она демонстрирует, что тестирование продукта обсуж¬дается, проектируется и планируется на ранних этапах жизненного цикла разработ¬ки. План испытания приемки заказчиком разрабатывается на этапе планирования, а компоновочного испытания системы - на фазах анализа, разработки проекта и т.д. Этот процесс разработки планов испытания обозначен пунктирной линией между прямоугольниками V-образной модели.
Модель прототипирования жизненного цикла разработки ПО
Именно эта концепция построения экспериментальной, или прототипной сис¬темы привела к возникновению "структурной", "эволюционной" модели быстрого прототипирования (RAD), и спиральной модели. В своей боле поздней, в равной степени полной плодотворных идей работе под названием "No Silver Bullet, the Essence and Accidents of Programming" Брукс считает, что большинство ошибок, возникающих при разработке ПО, все же связаны с неправильным пониманием концепции системы, а не с синтаксисом или логикой.
Модель быстрой разработки приложений RAD (Rapid Application Development)
Благодаря методу RAD пользователь задействован на всех фазах жизненного цикла разработки проекта – не только при определении требований, но и при проектировании, разработке, тестировании, а также конечной поставке про¬граммного продукта.
Это обеспечивается нали¬чием средств разработки графического пользовательского интерфейса и кодогенераторов. Такие инструментальные средства, как Oracle Designer/2000, JavaJbuilder 3, Linux, Visual C++, Visual Basic 6, SAS, и другие можно использовать в качестве средств для быстрой разработки приложений.
Инкрементная модель жизненного цикла разработки ПО
Инкрементная разработка представляет собой процесс частичной реализации всей системы и медленного наращивания функциональных возможностей. Этот подход позволяет уменьшить затраты, понесенные до момента достижения уровня исходной производительности. С помощью этой модели ускоря¬ется процесс создания функционирующей системы. Этому способствует применяемый принцип компоновки из стандартных блоков, благодаря которому обеспечивает¬ся контроль над процессом разработки изменяющихся требований.
Инкрементная модель действует по принципу каскадной модели с перекрытиями, благодаря чему функциональные возможности продукта, пригодные к эксплуатации, формируется раньше. Для этого может понадобиться полный заранее сформирован¬ный набор требований, которые выполняются в виде последовательных, небольших по размеру проектов, либо выполнение проекта может начаться с формулирования общих целей, которые затем уточняются и реализуются группами разработчиков.
Спиральная модель жизненного цикла разработки ПО
Спиральная модель воплощает в себе преимущества каскадной модели. При этом в нее также включены анализ рисков, управление ими, а также процессы поддержки и менеджмента. Здесь также предусмотрена разработка программного продукта при использовании метода прототипирования или быстрой разработки приложений по-средством применения языков программирования и средств разработки четвертого поколения (и выше).
Адаптированные модели жизненного цикла разработки ПО
Иногда менеджер проекта выбирает модель жизненного цикла из какой-нибудь книги и затем руководствуется ею в процессе разработки. В других случаях может оказаться, что отсутствует именно та модель, которая в достаточной мере соответствовала бы потребностям проекта. Предположим, что требуется жизненный цикл, в котором предусмотрены возможные риски, но применение спиральной модели неоправданно. В этом случае нужно начать со спиральной модели и адаптировать ее к определенным потребностям. А если необходимо обеспечить функциональные возможности на уровне инкрементов, но также необходимо принять во внимание вопросы, связанные с надежностью системы? Тогда потребуется объединить инкрементную модель с V-образной моделью. Далее приведено несколько примеров адаптированных моделей.