Накопители на жестких магнитных дисках Классификация современных компьютеров Архитектура персонального компьютера Операционная система Windows Типы локальных сетей Несанкционированный доступ и вирусы СУБД MS Access

Курс лекций по информатике, персональный компьютер

Жизненный цикл программного обеспечения

Одним из базовых понятий методологии проектирования ИВС является понятие жизненного цикла ее программного обеспечения (ПО).

4.1. Жизненный цикл ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.

Основным нормативным документом, регламентирующим жизненный цикл ПО, является международный стандарт ISO/IEC 12207 (ISO - International Organization of Standardization Международная организация по стандартизации, IEC - International Electrotechnical Commission Международная комиссия по электротехнике).  Он определяет следующую структуру жизненного цикла ПО, основанную на трех группах процессов:

основные процессы жизненного цикла ПО (приобретение, поставка, разработка, эксплуатация, сопровождение);

вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, оценка, аудит, решение проблем);

организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла ПО, обучение).

4.2. Модель жизненного цикла ПО – это структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении жизненного цикла ПО.

Модель жизненного цикла ПО зависит от специфики ИВС и специфики условий, в которых последняя создается и функционирует. Регламенты жизненного цикла ПО являются общими для любых моделей жизненного цикла, методологий и технологий разработки. Стандарт ISO/IEC 12207 описывает структуру процессов жизненного цикла ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы. К настоящему времени наибольшее распространение получили следующие две основные модели жизненного цикла ПО.

Каскадная модель - ее основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Понятие бухгалтерских экономических систем Главная цель функционирования бухгалтерской информационной ситемы (БУИС) на предприятии − обеспечение руководства предприятия финансовой информацией для принятия обоснованных решений при выборе альтернативных вариантов использования ограниченных ресурсов. БУИС служит связующим звеном между хозяйственной деятельностью и людьми, принимающими решения. По оценкам специалистов, в общей совокупности информации, циркулирующей в экономической информационной системе предприятия, более половины ее объема составляют данные бухгалтерского учета.

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

5. Технологии разработки программ

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

5.1. Метод структурного программирования

Структурное программирование - это метод разработки и записи программ, ориентированные на максимальное удобство для ясного понимания программ человеком. При этом фрагменты программ должны следовать друг за другом, должна четко прослеживаться логика программы, должны быть исключены "скачки" на дальние фрагменты программы. Это программирование без оператора "go to".

Этот метод существенно помогает в формализации создания программ. Он предполагает:

Использование небольшого числа алгоритмических конструкций, реализуемых соответствующими операторами языка

Нисходящее проектирование программы, когда первоначально программа рассматривается как совокупность действий, каждое из которых затем детализируется и представляется как последовательность более простых и конкретных действий и т.д. вплоть до отдельных операторов языка.

Использование принципа сосредоточения функций, когда та или иная подпрограмма реализует какую-то одну функцию.

Соответствующее представление данных с использованием большого числа разнообразных типов и т.д.

Набор кирпичиков такой программы - это логические структуры. Для них действуют правила - следование (последовательность операторов или их групп, выполняемых друг за другом в порядке их следования в программе), ветвление (управляющая структура, которая в зависимости от выполнения условия определяет выбор для исполнения одного из двух или более заданных в этой структуре групп операторов), повторение (цикл, в котором группа операторов может выполняться повторно, если соблюдается заданное условие).

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

Не создавать большие программные модули.

Логически завершенные последовательности операторов оформлять в виде подпрограмм (отлаживая их отдельно, легче локализовать и исправить ошибки).

Подпрограммы лучше компоновать отдельными модулями и размещать их в отдельные файлы (при изменении одного такого модуля не нужно будет перекомпилировать все остальные).

При написании текста программы использовать систему отступов (так проще разобраться со структурой программы, понять ее содержание, быстрее найти некоторые ошибки).

Не объединять в одной строке несколько операторов, за исключением простейших (это может затруднить поиск ошибок).

Идентификаторам программы давать имена, отражающие их суть.

Использовать при написании программы возможность расцвечивания разными цветами различных элементов программы (так проще контролировать правильность использования зарезервированных слов языка, комментариев, вставок и т.д.).

Использовать комментарии. Особенно для связанных групп операторов или даже для отдельных операторов, если нужно подчеркнуть их особенности и т.д.

 Популярные СУБД

СУБД

Тип модели БД

Язык запросов

Clipper

Сетевая

Собственный

dBase

Реляционная

DQL

FoxPro

Сетевая

Собственный

Reflex

Файловая

Собственный

ORACLE

Реляционная

SQL

Системы управления базами знаний и экспертные системы

Задачи на принятие решений по тем или иным критериям возникают повсюду в нашей жизни. Современные методы решения задач подобного типа составляют одну из важнейших прикладных компонент теории искусственного интеллекта (ИИ). Компьютерной поддержкой для решения задач по принятию решений явились экспертные системы (ЭС) и системы представления различного рода знаний (СПЗ).

В современных ИИ- системах знания хранятся в специальных БД – базах знаний (БЗ). Если БД содержит собственно данные о некоторой предметной области, то БЗ содержит как сами данные, так и описание их свойств. Процесс построения БЗ на основе информации эксперта состоит из трех этапов: описания предметной области, выбора способа и модели представления знаний и приобретения знаний. Сам процесс построения БЗ достаточно сложен, плохо структурирован и носит итеративный характер, заключающийся в циклической модификации БЗ на основе результатов ее тестирования.

В общем случае ЭС состоит из БД и/ или БЗ и программного обеспечения, поддерживающего данные базы в актуальном состоянии и симулирующие знания и аналитические способности эксперта в конкретной предметной области. Первые ЭС были разработаны для задач медицинской диагностики, и число таких систем постоянно растет. Вторым классом задач, хорошо отвечающим ЭС-технологии, являются задачи по принятию решений в случае, когда в прикладной области имеется ограниченное число высоко квалифицированных экспертов. К третьему классу задач, стимулирующих создание ЭС, относятся задачи, требующие постоянного и длительного по времени принятия решений в трудных или экстремальных условиях (например, в нефте и газо - добыче).

ЭС широко используются в таких прикладных областях, как: медицинская и техническая диагностика, планирование, прогнозирование, мониторинг, интерпретация результатов наблюдений, контроль и управление, обучение и др.

Вместе с тем следует четко представлять основные ограничения, присущие даже самым интеллектуальным ЭС. Многие ЭС в полном объеме доступны только для создателей их БЗ. Серьезной проблемой является вопрос адекватного отображения знаний эксперта в формальном виде. Кроме того, компьютер полностью лишен интуиции, играющей чрезвычайно важную роль в принятии решений.


Работа с электронными таблицами