
- •Информатика
- •Введение
- •1. Общие сведения об информатике
- •1.1. Информатика как наука
- •1.2 Определения информации
- •1.3. Виды информации
- •1.4. Структура информации
- •1.5. Требования, предъявляемые к социальной информации
- •Контрольные вопросы и задания:
- •2. История развития вычислительной техники
- •2.1. Ручной период вычислений или период абака
- •2.2. Механический период
- •2.3. Электромеханический период
- •2.4. Электронный период
- •Контрольные вопросы и задания
- •3. Поколения эвм
- •Контрольные вопросы и задания:
- •4. Сферы использования эвм
- •Контрольные вопросы и задания
- •5. Принципы построения эвм. Структура эвм, назначение основных блоков
- •5.1. Структура машины фон-неймановского типа
- •5.2. Назначение основных блоков эвм
- •5.2.1 Процессор
- •5.2.1 Устройства ввода-вывода
- •Контрольные вопросы и задания:
- •6. Персональные компьютеры
- •6.1. Современный настольный персональный компьютер
- •Контрольные вопросы и задания:
- •7. Двоичная система счисления
- •Контрольные вопросы и задания:
- •8. Память, ее характеристики
- •8.1. Определения. Единицы емкости памяти
- •8.2. Принципы устройства памяти
- •8.3. Виды памяти.
- •8.4. Внешние запоминающие устройства
- •Контрольные вопросы и задания:
- •9. Языки программирования современных эвм. Этапы разработки программ
- •9.1. Понятие программы
- •9.2. Машинный язык и языки программирования высокого уровня
- •9.3. Компиляторы и интерпретаторы языков программирования
- •9.4. Лингвистическое обеспечение современных эвм.
- •9.5. Этапы разработки программ для эвм
- •Контрольные вопросы и задания:
- •10. Программное обеспечение современных эвм
- •10.1. Роль программного обеспечения
- •10.2. Понятие об операционной системе
- •10.3. Основные задачи, решаемые ос пэвм
- •10.4. Современные операционные системы
- •10.5. Понятие интерфейса ос
- •10.6. Классификация операционных систем. Современные операционные системы
- •10.7. Оболочки операционных систем
- •Наиболее распространенные оболочки
- •10.8. Прикладное программное обеспечение
- •10.8.1.Текстовые редакторы
- •10.8.2. Табличные процессоры
- •10.8.3. Базы данных и субд
- •Контрольные вопросы и задания:
- •11. Алгоритмы
- •11.1. Понятие алгоритма
- •11.2. Свойства и состав алгоритмов
- •11.3. Способы записи алгоритмов. Блок-схемы
- •11.4. Базовые структуры алгоритмов: следование, ветвление, цикл
- •Контрольные вопросы и задания:
- •12. Информационные системы. Основные понятия и классификация
- •12.1. Классификация информационных систем
- •12.1.1. Классификация по масштабу
- •12.1.2. .Классификация по целям.
- •12.1.3. Классификация по способу организации
- •12.2. Архитектуры информационных систем
- •Контрольные вопросы и задания:
- •13. Понятие программного продукта. Качество и жизненный цикл программного продукта
- •13.1. Программный продукт. Особенности разработки программного обеспечения
- •Характеристики качества программного обеспечения
- •13.2. Качество программных продуктов
- •13.3. Показатели эффективности разработки программного обеспечения
- •13.4. Жизненный цикл программного обеспечения информационных систем
- •13.4.1.Основные этапы жизненного цикла по
- •13.4.2. Структура жизненного цикла по
- •13.4.3. Модели жизненного цикла по
- •Контрольные вопросы и задания:
- •14. Методология и технология разработки программного обеспечения
- •14.1. Методологии и инструменты проектирования
- •14.2. Методы и средства структурного анализа и проектирования
- •14.3. Диаграммы потоков данных
- •14.3.1. Основные символы
- •Основные элементы dfd диаграммы
- •14.3.2. Контекстная диаграмма и детализация процессов
- •14.3.3.Спецификация процесса (описание операций)
- •14.3.4. Диаграммы сущность связь
- •14.4. Методология rad
- •Контрольные вопросы и задания:
- •15. Тестирование и отладка программ
- •15.1.Понятие тестирования и отладки программ
- •15.2. Классификация ошибок, способы их выявления и устранения
- •Контрольные вопросы и задания:
- •16. Передача информации. Компьютерные сети основные понятия
- •16.1. Формы передачи информации на большие расстояния
- •16.2. Передача информации между компьютерами
- •16.3. Компьютерные сети
- •16.4. Классификация сетей
- •16.5. Локальные сети. Общие понятия
- •16.6. Глобальная сеть Internet. Общие понятия
- •Контрольные вопросы и задания:
- •17. Основы защиты информации
- •17.1. Способы несанкционированного доступа к компьютерной информации
- •17.2. Компьютерные вирусы и защита от них
- •17.2.1. Способы проявления компьютерных вирусов
- •17.2.2. Защита от поражения компьютерными вирусами
- •17.3. Нормативно правовая база защиты информации
- •Контрольные вопросы и задания:
- •18. Современная вычислительная техника (аналоговая и дискретная)
- •18.1. Аналоговая вычислительная техника
- •18.2. Основные характеристики авм
- •18.3. Гибридная вычислительная техника
- •18.4. Сравнительные характеристики аналоговой и дискретной техники
- •Контрольные вопросы и задания:
- •Библиография
- •Оглавление
13.4.2. Структура жизненного цикла по
Полный ЖЦ ПО включает в себя стратегическое планирование, анализ, проектирование, реализацию, внедрение и эксплуатацию. В общем случае ЖЦ можно разбить на ряд стадий. В общем случае деление на стадии достаточно произвольно. Рассмотрим один из вариантов такого деления, который предлагает корпорация Rational Software. Согласно ее методологии, ЖЦ ПО подразделяется на четыре стадии:
начало;
уточнение;
конструирование;
переход (передача в эксплуатации).
Границы каждой стадии определены некоторыми моментами времени, в которые необходимо принимать определенные критические решения и в которые должны быть достигнуты определенные ключевые цели.
Начальная стадия
На этой стадии устанавливается область применения системы и определяются граничные условия. Для этого необходимо идентифицировать все внешние объекты, с которыми должна взаимодействовать разрабатываемая система, и определить характер этого взаимодействия на высоком уровне. На начальной стадии идентифицируются все функциональные возможности системы и производится описание наиболее существенных из них.
Деловое применение включает:
критерии успеха разработки;
оценку риска;
оценку ресурсов, необходимых для выполнения разработки;
календарный план с указанием сроков завершения основных этапов.
Стадия уточнения
На этой стадии производится анализ прикладной области, разрабатывается архитектурная основа ИС. При принятии решений об архитектуре системы необходимо принимать во внимание всю ее целиком. Это означает, что необходимо описать большинство функциональных возможностей системы и учесть взаимосвязи между отдельными ее составляющими. В конце стадии уточнения проводится анализ архитектурных решений и способов устранения главных элементов риска, содержащихся в проекте.
Стадия конструирования
На этой стадии разрабатывается законченное изделие, готовое к передаче пользователю. По окончании конструирования определяется работоспособность ПО.
Стадия перехода
На стадии перехода производится передача разработанного ПО пользователям. При эксплуатации системы в реальных условиях часто возникают различные проблемы, требующие дополнительных работ по внесению корректив в разработанный продукт. Это связано с обнаружением ошибок и недоработок.
В конце этой стадии необходимо определить, достигнуты цели разработки или нет. Каждый процесс характеризуется определенными задачами и методами их решения, исходными данными, полученными на предыдущем этапе, и результатами. Результатами анализа, в частности, являются функциональные модели, информационные модели и соответствующие им диаграммы. ЖЦ ПО носит итерационный характер: результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних этапах.
13.4.3. Модели жизненного цикла по
Модель жизненного цикла – последовательность осуществления процессов, действий и задач, выполняемых на протяжении ЖЦ. Модель ЖЦ зависит от специфики ПО и специфики условий, в которых последнее создается и функционирует. Стандарт ISO/IEC 12207 описывает структуру процессов ЖЦ ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы.
К настоящему времени наибольшее распространение получили следующие две основные модели ЖЦ:
каскадная модель (70-85 г.г.);
спиральная модель (86-90 г.г.).
Каскадная модель, иногда называемая моделью «водопад» (waterfall) , демонстрирует классический подход к разработке различных систем в любых прикладных областях. Ее основной характеристикой является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будет полностью завершена работа на текущем (рис. 17.1). Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Положительные стороны применения каскадного подхода заключаются в следующем [2]:
на каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности;
выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие затраты.
Каскадный
подход хорошо зарекомендовал себя при
построении ИС, для которых в самом начале
разработки можно достаточно точно и
полно сформулировать все требования,
с тем чтобы предоставить разработчикам
свободу реализовать их как можно лучше
с технической точки зрения. В эту
категорию попадают сложные расчетные
системы, системы реального времени и
другие подобные задачи. Однако, в процессе
использования этого подхода обнаружился
ряд его недостатков, вызванных прежде
всего тем, что реальный процесс создания
ПО никогда полностью не укладывался в
такую жесткую схему. В процессе создания
ПО постоянно возникала потребность в
возврате к предыдущим этапам и уточнении
или пересмотре ранее принятых решений.
В результате реальный процесс создания
ПО принимал следующий вид (рис. 1
3.1):
Рис. 13.1. Каскадная схема разработки ПО
Рис. 13.2. Реальный процесс разработки ПО по каскадной схеме
Основным недостатком каскадного подхода является существенное запаздывание с получением результатов. Согласование результатов с пользователями производится только в точках, планируемых после завершения каждого этапа работ, требования к ИС «заморожены» в виде технического задания на все время ее создания. Таким образом, пользователи могут внести свои замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания ПО, пользователи получают систему, не удовлетворяющую их потребностям. Модели (как функциональные, так и информационные) автоматизируемого объекта могут устареть одновременно с их утверждением.
Для преодоления перечисленных проблем была предложена спиральная модель ЖЦ [10] (рис. 13.3), делающая упор на начальные этапы ЖЦ: анализ и проектирование. На этих этапах реализуемость технических решений проверяется путем создания прототипов. Каждый виток спирали соответствует созданию фрагмента или версии ПО, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Таким образом углубляются и последовательно конкретизируются детали проекта и в результате выбирается обоснованный вариант, который доводится до реализации.
.
Рис 13.3. Спиральная модель ЖЦ
Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждом этапе позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная же задача - как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований
Основная проблема спирального цикла - определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.