- •Введение
- •1. Программное обеспечение как промышленная продукция
- •1.1 Основные понятия
- •1.2. Характеристики качества программного обеспечения
- •2. Жизненный цикл программного обеспечения
- •2.1. Понятие жизненного цикла программного обеспечения
- •2.2. Процессы жизненного цикла программного обеспечения
- •2.3. Модели жизненного цикла программного обеспечения
- •2.4. Стратегии проектирования программного обеспечения
- •3. Методологии разработки программного обеспечения
- •3.1 Структурный подход к разработке программного обеспечения
- •3.2 Модульное программирование.
- •Функциональная связность
- •Информационная связность
- •Коммуникативная связность
- •Процедурная связность
- •Временная связность
- •Логическая связность
- •Связность по совпадению
- •Определение связности модуля
- •3.3. Объектно-ориентированный подход к разработке программного обеспечения
- •3.3. Методология визуального программирования.
- •4. Тестирование программного обеспечения
- •4.1. Общие положения
- •4.2. Цели и задачи. Основные определения.
- •4.3. Организация процесса тестирования программного обеспечения
- •4.4. Стратегии тестирования программного обеспечения
- •4.5. Уровни тестирования программного обеспечения
- •5. Документирование программного обеспечения
- •5.1. Общие положения
- •5.2. Программа и методика испытаний
- •5.3. Описание программы
- •5.4. Пояснительная записка
- •5.5. Текст программы
- •5.6. Описание применения
- •5.7. Руководство системного программиста
- •5.8. Руководство программиста
- •5.9. Руководство оператора
- •Литература
3.3. Методология визуального программирования.
Визуальное программирование — методология разработки программ с использованием библиотек классов для манипулирования графическими объектами интерфейса пользователя. Визуальное программирование является следующим этапом развития объектно-ориентированных языков программирования. Наглядным примером могут служить среды проектирования ПО Borland Developer’s Studio b Microsoft Visual Studio, где редактируются графические объекты и одновременно создается соответствующий текст программы.
Методология визуального программирования используется при разработке программ, управляемых сообщениями и , в частности, windows-приложений.
Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:
языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;
языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland, С#
языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения, например, UML.
Значительное количество современных языков программирования имеет развитые визуальные средства для разработки графического интерфейса, причем осуществляется программирование размещенных на специальных формах объектов с настройкой их свойств и поведения. CodeGear Delphi и C++ Builder, Microsoft Visual Studio и языки, которые включает в себя это средство ( Visual Basic, Visual C#, Visual J# и т.д.) часто путают с визуальными языками программирования. Все эти языки являются текстовыми, а не визуальными (графическими). MS Visual Studio и Delphi является визуальными средами программирования, но не визуальными языками программирования.
Дополнительную информацию можно найти в пособии Карпович Е.Е. и Смагиной И. А. Программирование на языке высокого уровня. – Учебное пособие. – М.: МГГУ, 2011 г. 158 с.
4. Тестирование программного обеспечения
4.1. Общие положения
Как показывает опыт программирования, несмотря на тщательное проведение этапов проектирования и использование современных технологий программирования, не удается разработать полностью безошибочную программу. Основными активными методами поиска и устранения ошибок являются тестирование и отладка. Тестирование — процесс выявления имеющихся в программе ошибок, а отладка — процесс их устранения.
При тестировании проверяется, работает ли программа и все ее ветви в соответствии со своей спецификацией. Для того чтобы убедиться в том, что программист правильно понимает функции программы, и обеспечить полный и эффективный контроль всех ее ветвей, заранее разрабатывается стратегия тестирования.
4.2. Цели и задачи. Основные определения.
«Тестирование – процесс выполнения программы с намерением найти ошибки.» (Майерс)
«Тестирование программ может использоваться для демонстрации наличия ошибок, но оно никогда не покажет их отсутствие.» (Дейкстра, 1970 г)
Существующие на сегодняшний день методы тестирования программного обеспечения не позволяют однозначно и полностью устранить все дефекты и ошибки и установить корректность функционирования программного продукта. Поэтому, все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого программного продукта. Такой процесс формальной проверки или верификации может доказать, что дефекты отсутствуют, с точки зрения используемого метода. (То есть нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла программного обеспечения).
Существует множество подходов к решению задачи тестирования и верификации программного обеспечения, но эффективное тестирование сложных программных продуктов — это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых. Конечной целью любого процесса тестирования является обеспечение такого ёмкого (совокупного) понятия как Качество, с учётом всех или наиболее критичных для данного конкретного случая составляющих.
Тестирование программного обеспечения — попытка определить, выполняет ли программа то, что от неё ожидают. Как правило, никакое тестирование не может дать абсолютной гарантии работоспособности программы в будущем. Задачи тестирования программного обеспечения – снизить стоимость разработки путем раннего обнаружения дефектов.
