Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Последствия отказов при разных типах использования.




В некоторых системах многочасовой отказ вычислительной машины хотя и неприятен, но все же приемлем. В других же отказ вычислительной машины всего лишь на несколько минут чреват катастрофой. В последнем случае нам приходится ставить дополнительную аппаратуру. Но дополнительная аппаратура это еще полбеды. Нам приходится еще писать программы для сохранения критических данных и передачи их с одного процессора на другой. Часто это должно делаться не за минуты, а всего лишь за секунды. Это весьма сложное программное обеспечение. Программа, управляющая переключением светофоров в городе, не представляет собой ничего сложного; однако если эта программа должна всегда работать правильно, то сложность программного обеспечения возрастает по крайней мере втрое.
Диапазон сложного программного обеспечения простирается от научного центра (годовой) стоимостью 50 млн. долларов, обеспечивающий диалоговую работу 460 ученых, где 90% всех программ выполняется один-единственный раз, до управляющей системы, в которой программное обеспечение работает по 365 дней в году, по 24 ч. в сутки, не имеет права на малейший отказ и изменяется крайне редко — один раз в год.

Фаза разработки

Фаза разработки, входящая в жизненный цикл программного обеспечения, может быть разбита на шесть отдельных этапов:
— Определение требований
— Проектирование
— Написание команд
— Компоновка
— Тестирование или верификация
— Документирование
Поскольку разработка на обозримое будущее представляет собой основную проблему в области программного обеспечения, оставшаяся часть книги в основном будет посвящена рассмотрению этих шести этапов.

Фаза продолжающейся разработки

Как мы уже видели, эту фазу часто называют обслуживанием. Это наиболее часто игнорируемый элемент жизненного цикла, оставляемый на попечение какой-нибудь новой, часто неизвестной заранее группы. Наша ключевая идея состоит в том, что эта часть цикла должна приниматься во внимание с самого начала работ по разработке.
Задачи продолжающейся разработки. Продолжающейся разработкой занимается группа сопровождения. Ее задачи таковы:
1. Включение новых функций. В уже существующие про граммы добавляются новые функции. Например, если служащие фирмы вступили в профсоюз, мы должны начать удержания членских взносов и внести дополнение в про грамму составления платежных ведомостей.
2. Модификация функций. Существующие функции расширяются или видоизменяются. Например, принимается закон, изменяющий государственные налоги, и в ту часть программы, которая правильно работала для старого закона, надо вносить новые параметры, учитывающие новые налоговые положения. Случается также, что при первой сдаче программного обеспечения мы не успели выполнить все требования пользователей; нам приходится добавлять эти функции, выпуская новые модификации, или “версии”, системы.
3. Модификация оборудования. В систему включается новая аппаратура. Например, ставятся новые терминалы с большим разрешением. Функции при этом не изменяются, но для управления новыми дисплеями нам нужны новые про граммы.
4. Исправление ошибок. Пользователь обнаруживает в программе “ошибки”, и их нужно исправлять. Например, в случае когда страховые вычеты из зарплаты прекращаются в тот же день, когда начинаются выплаты за лечение в больнице, обе эти суммы оказываются напечатанными в обеих графах корешка платежной ведомости.
Усилия при продолжающейся разработке затрачиваются на:
1. Исправление программ, чтобы неправильно реализованные функции работали теперь правильно.
2. Модификацию или создание нового программного обеспечения для добавления функций, необходимость которых была заранее известна, но которые были отложены при разработке.
3. Модификацию или создание нового программного обеспечения для добавления функций, соответствующих новым требованиям, не отраженным в исходной документации.
Различие между пунктами 2 и 3 едва уловимо, но весьма важно. В пункте 2 говорится о том, что группа сопровождения должна всего лишь соблюдать первоначально документированные требования. В пункте 3 от группы сопровождения требуется фактическое определение новых требований. Это существенно отличается от простого следования требованиям. Для выполнения этой функции продолжающейся разработки требуются и другие люди, и другая их квалификация, и другая организация их труда, чем для выполнения других функций.

Три типа программного обеспечения

Все программное обеспечение может быть разделено на три всеохватывающих типа:
1. Прикладное обеспечение.
2. Системное обеспечение.
3. Инструментальное обеспечение.
Первые два типа обеспечения работают в период использования, а третье, инструментальное, используется в фазе разработки. В фазе разработки может также использоваться и системное обеспечение.
1. Прикладное программное обеспечение. Программы, фактически выполняющие поставленную перед ними задачу, на пример печать платежных ведомостей, инвентаризацию, коммутацию сообщений, резервирование билетов, прокладку маршрутов.
2. Системное программное обеспечение. Программы, которые выполняются в фазе использования наряду с прикладными программами. Системное обеспечение управляет ресурсами вычислительной машины, т.е. дисками, оперативной па мятью, лентами, центральным процессором. Программное обеспечение, известное под названием операционной системы, также попадает в эту категорию, сюда же попадают и системы управления базами данных (СУБД). И то и другое будет несколько позднее рассмотрено нами в этом же раз деле.
3. Инструментальное программное обеспечение. Программы, которые помогают программистам и администрации создавать программное обеспечение фазы использования. Наиболее известными представителями программ этой категории являются ассемблеры и трансляторы.
Чтобы вычислительная машина выполнила вашу работу, вам необходимо создать прикладное программное обеспечение.
Чтобы вычислительная машина эффективно справлялась со многими приложениями и была хорошо приспособлена к окружению, необходимо создать системное программное обеспечение.
Чтобы легче было разрабатывать программное обеспечение, необходимо использовать инструментальное программное обеспечение.

Прикладное программное обеспечение

Прикладные программы являются наиболее видимой частью программного обеспечения. Платежные ведомости, инвентарные списки, проектирование мостов, управление ракетами, расчет напряжений, вычисление траекторий, предсказание погоды, бухгалтерский учет — все это лишь несколько примеров из тысяч прикладных программ.
Этот тип обеспечения характерен тем, что: 1) его легче всего разрабатывать и 2) в этой области работает подавляющее большинство разработчиков программного обеспечения.
Большая часть прикладных программ создается служащими тех организаций, которые и будут его затем использовать. Некоторая часть прикладного обеспечения создается специальными организациями либо по контракту с конкретным пользователем, либо как продукция, предназначенная для свободной продажи пользователям.
Прикладные программы обычно составляются людьми, хорошо разбирающимися в процессах, которые они автоматизируют. Программу расчета зарплаты, например, часто составляют сотрудники бухгалтерии. По мере того как все сильнее ощущается недостаток программистов, все большее использование в различных организациях приобретают “стандартные” прикладные пакеты. Стандартный пакет — это программа, написанная таким образом, что она может применяться более чем одним пользователем. Конечно, некоторые ограничения на возможности применения пакетов существуют, но в основном эти ограничения вполне приемлемы. Эта область программирования — пакеты или программная продукция — является наиболее быстро развивающейся отраслью индустрии программирования.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...