- •Общая характеристика технологии программных средств.
- •Принципиальная схема разработки программных средств. (Технология, процесс создания).
- •Способы описания алгоритмов.
- •Описание алгоритма с помощью таблиц решения.
- •Технология системного проектирования программных средств. Принципиальная схема разработки.
- •Современные методы и средства разработки прикладных программных средств.
- •Характеристики качества программного обеспечения.
- •Языки программирования.
- •Надёжность программного обеспечения.
- •Показатели надёжности.
- •Факторы, определяющие надёжность по.
- •Стандартизация. Дисциплина и творчество программирования.
- •Виды программ и программных документов.
- •Виды программных документов.
- •Эксплуатационные документы.
- •Классификация документов.
- •Работы, выполняемые на стадии «Эскизный проект».
- •Структурное программирование.
- •Терминология и обозначения.
- •Очевидно, что g и h являются простыми программами, иначе f была бы не простой.
- •Число управляющих линий в блоке h удовлетворяет соотношению:
- •Графическая иерархическая документация (гид).
- •Простейшие пути повышения качества программ.
- •Классификация ошибок.
- •Сквозной структурный контроль.
- •Стиль программирования и качества программ.
- •Case – технологии.
- •Моделирование данных.
- •Что дает применение case-средств?
- •Средства реализации case-технологий.
- •Общая характеристика case-средства
- •Особенности рабочего интерфейса
- •Начало работы с проектом в среде
- •Разработка диаграммы вариантов использования в среде Rational Rose.
- •Разработка диаграммы классов в среде
- •Диаграмма классов
- •Разработка диаграммы состояний в среде Rational Rose.
- •Разработка диаграммы последовательности в среде Rational Rose.
- •Разработка диаграммы кооперации в среде Rational Rose.
- •Разработка диаграммы компонентов в среде Rational Rose.
- •Разработка диаграммы развёртывания в среде Rational Rose.
- •Практические примеры диаграмм.
- •Актеры.
- •Диаграмма классов (основы)
- •Ассоциации
- •Заказ от одного клиента
- •Полезные советы по использованию диаграмм классов
- •Диаграмма взаимодействия
- •Диаграмма кооперации
- •Диаграмма кооперации
- •Диаграмма пакетов
- •Диаграмма состояний
- •Верификация программ.
- •Восходящее тестирование, нисходящее тестирование.
- •Методы тестирования компонентов.
- •Структура коллектива программистов.
- •Общая структура коллектива, работающего над крупным проектом.
- •Трудовые затраты по видам работ (человеко/месяц).
Простейшие пути повышения качества программ.
Рассмотрим два термина по отношению к программе «правильная», «устойчивая».
Программа считается правильной, если она выполняет функции, которые на неё возлагает пользователь и не имеет не желательных подобных эффектов. Правильность в более плоском смысле называется корректностью.
Программа считается устойчивой, если вычислительная система, реализующая её, функционирует успешно несмотря на случайные отклонения как во внешних условиях (неправильные входные данные), так и внутри её самой (отказ одного из дисководов). Термин «устойчивость» аналогичен термину «нечувствительность» к отказам и сбоям.
Программирование - сложный интеллектуальный процесс. Важнейшие особенности процесса проектирования программы, которые порождают свойственные программированию проблемы:
широкое многообразие программных продуктов, затрудняющих специализацию коллективов и отдельных пользователей
практическое отсутствие прототипов и трудность использования аналогичных проектов в виду большого количества детальных отличий даже близких программ.
сложность разделения задачи на части, обусловленной необходимости точного описания как самой задачи, так и выделенных частей в достаточно компактной форме, и обязательного согласования раздельно выполненных заданий по входам и выходам для последующей интеграции.
зависимость общего результата от малейших упущений, неточностей и ошибок.
В программирование не может быть незначительных ошибок или не существовать погрешностей. Пропуск запятой или отсутствие пробела делают программу неработоспособной. Следовательно, программирование – сложный, изобилующий, насыщенный мельчайшими деталями процесс и ошибки в нём неизбежны.
Исследование многих авторов даёт примерно одинаковую частоту ошибок в сложных программах. Из 100 строк программы в среднем 1-2 содержит ошибку. Если программа не выполняет функций, которые вытекают из инструкций пользователя, то такая программа содержит по крайней мере одну ошибку. Под отказом программы понимают появление в неё ошибки.
Классификация ошибок.
1. Ошибки, связанные с недостаточным знанием аппаратных средств системы и конкретной её конфигурацией.
неисправность обращения к средствам ввода-вывода;
неправильное отношение к ВЗУ.
2. Ошибки, связанные с недостаточным знанием языка или конкретной реализации (версии) транслятора.
неправильное обращение к подпрограмме;
неправильный выбор и использование идентификаторов и меток;
изменение числа букв идентификатора и компилятора, размеров поля памяти, числа блоков, числа строк и т.д.;
ошибочное применение синтаксических конструкций;
неправильное использование команд.
3. Технологические ошибки.
3.1 ошибки спецификации: программа делает не то, что требовал заказчик или не то, что предусматривалось техническим заданием;
3.2 ошибки в алгоритме;
3.3 ошибки взаимного сопряжения модулей программы по управлению информацией;
3.4 неправильная передача управления;
3.5 неправильное формирование логического выражения;
3.6 наложение массивов или переменных.
Исследование показывает, что 40%-45% ошибок возникает на этапе постановки и понимания сущности задачи, распределения работ между исполнителями, выбора алгоритма и методов решения.