- •Раздел 2. Лист 75/75
- •1) Постановка задачи.
- •2) Математическая формализация.
- •3) Построение алгоритма.
- •4) Составление алгоритма на языке программирования.
- •5) Отладка и тестирование программы.
- •6) Проведение расчетов и анализ получаемых результатов.
- •Основные типы алгоритмов. Структуры и формы записи алгоритмов.
- •1) Словесно-формульный (на естественном языке)
- •2) Графический способ (с использованием графических примитивов, блок-схем)
- •Структурированные типы данных (массивы, файлы, записи, множества).
- •X: array [1..5,1..10] of real;
- •Var f :text;
- •Динамические структуры данных.
- •Динамическая память. Управление памятью.
- •Управление файлами.
- •Страничная память
- •Стратегии управления страничной памятью
- •Алгоритм fifo – Выталкивание первой пришедшей страницы – Простейший алгоритм
- •Операции над файлами
- •Организация ввода-вывода.
- •Жизненный цикл программ
- •6. Показатели качества по. Стандарты качества программного обеспечения. Тестирование и обеспечение качества.
- •Основные стандарты качества по гост 28195-89. Оценка качества программных средств. Общие положения
- •Гост 28806-90. Качество программных средств. Термины и определения
- •Гост р исо/мэк 9126-93. Оценка программной продукции. Характеристики качества и руководства по их применению
- •Уровни тестирования
- •Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестовые скрипты
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •8.Требования предъявляемые к ос. Ресурсы и их распределение в операционной системе.
- •9.Архитектура ос. Микроядерная архитектура.
- •11.Механизм прерываний. Способы выполнения прерываний. Приоретизация и маскирование прерываний. Диспетчеризация прерываний в операционной системе.
- •12.Специфика и свойства осрв. Технические свойства осрв.
- •13.Задачи, процессы, потоки. Связь между процессами в осрв.
- •Операции над процессами
- •Иерархия процессов
- •Преимущества многопоточности
- •17.Понятие безопасности информации и виды безопасности
- •18.Статьи затрат на разработку асоиу. Состав и структура асоиу: функциональные подсистемы, обеспечивающие и управляющие системы
- •19.Концепции системы: цели предприятия, цели асоиу. Содержание тз на проектирование асоиу.
- •20.Требования к технологии проектирования систем. Стандарты проектирования, оформление проектной документации, использование интерфейса.
- •21.Моделирование потоков данных. Накопительные процессы данных, потоки данных
- •1 Название подсистемы
- •1.1 Название процесса
- •22.Понятие пилотного проекта, его характеристики. Планирование и выполнение пилотного проекта
- •23.Оценка пилотного проекта
- •24.Внедрение пилотного проекта
- •25.Практическое использование пилотного проекта: план перехода и его реализация
Жизненный цикл программ
Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Этот цикл — процесс построения и развития ПО.
Модель жизненного цикла ПО — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.
Модели жизненного цикла:
Waterfall («водопад», каскадная модель)
Модель не предусматривает обратные связи (каждый элемент д.б. полностью закончен до перехода к следующему). При решении сложных задач это невозможно. Модель применима когда: 1) решается очень простая задача, 2) разрабатывается очередная версия ПП
Прототипирование
Сначала разрабатывается не сам программный продукт, а его прототип, содержащий решение главных проблем, стоящих перед разработчиками. После успешного завершения разработки прототипа по тем же принципам разрабатывается и настоящий программный продукт. Прототип позволяет лучше понимать требования к разрабатываемой программе. Используя прототип заказчик также может точнее сформулировать свои требования. Разработчик имеет возможность с помощью прототипа предъявить заказчику предварительные результаты своей работы.
Итерационная модель
Задача разделяется на подзадачи и определяется очередность их реализации т.о., чтобы каждая следующая подзадачи расширяла возможности ПП. Успех существенно зависит от того сколь удачно разделены задачи на подзадачи и как выбрана очередность. Преимущества: 1) возможность активного участия заказчика в разработке, он имеет возможность уточнить свои требования в ходе разработки; 2) возможность тестирования вновь разрабатываемых частей совместно с ранее разработанными, это уменьшит затраты на комплексную отладку; 3) во время разработки можно начинать внедрение по частям.
Жизненный цикл «спираль»
Каждый цикл в модели начинается с определения цели этого цикла, анализа разных путей ее достижения и возможных ограничений, оценивается степень неопределенности и риска. Выбирается стратегия проектирования, позволяющая их уменьшить. Далее разрабатывается первый прототип, следуют анализ, уточнение требований и т.д. Круг за кругом, программный продукт приближается к окончательному виду. Эта модель применяется для проектов с большой неопределенностью и риском.
Отличительной особенностью спиральной модели является специальное внимание, уделяемое рискам, влияющим на организацию жизненного цикла, и контрольным точкам. Боэм формулирует 10 наиболее распространённых (по приоритетам) рисков:
Дефицит специалистов.
Нереалистичные сроки и бюджет.
Реализация несоответствующей функциональности.
Разработка неправильного пользовательского интерфейса.
Перфекционизм, ненужная оптимизация и оттачивание деталей.
Непрекращающийся поток изменений.
Нехватка информации о внешних компонентах, определяющих окружение системы или вовлеченных в интеграцию.
Недостатки в работах, выполняемых внешними (по отношению к проекту) ресурсами.
Недостаточная производительность получаемой системы.
Разрыв в квалификации специалистов разных областей.
Категории специалистов, занятых разработкой и эксплуатацией программного обеспечения.
Основная категория специалистов, занятых разработкой программ, — это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности.
Системный программист – занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ.
Прикладной программист – осуществляет разработку и отладку программ для решения функциональных задач (т. е. задач по реализации функций управления в рамках информационной системы — управление деятельностью торгового предприятия, управление перевозкой грузов, планирование выпуска продукции).
Программист-аналитик – программист, анализирующий и проектирующий комплекс взаимосвязанных программ.
Постановщик задач – разработчик формальных постановок задач, требующих реализации на ЭВМ.
Администратор базы данных – человек, который обеспечивает организационную поддержку базы данных.
Администратор сети – человек, который обеспечивает организационную поддержку работы локальной сети.
Основным потребителем программ является конечный пользователь, который, как правило, не является специалистом в области программирования.
Для работы с ЭВМ существует группа специально обученных технических работников — операторов ЭВМ. Они не программируют, а используют готовые программы для обеспечения работы на ЭВМ конечных пользователей: набор текстов, печать документов, копирование информации, запись на внешние носители и др.