Переход от неформального к формальному существенно неформален.

Лекция 8.

РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ

Порядок разработки программного модуля. Структурное программирование и пошаговая детализация. Понятие о псевдокоде. Контроль программного модуля.

8.1. Порядок разработки программного модуля.

При разработке программного модуля целесообразно придерживаться следующего порядка :

· изучение и проверка спецификации модуля, выбор языка программирования;

· выбор алгоритма и структуры данных;

· программирование (кодирование) модуля;

· шлифовка текста модуля;

· проверка модуля;

· компиляция модуля.

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

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


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

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

Шаг проверки модуля представляет собой ручную проверку внутренней логики модуля до начала его отладки (использующей выполнение его на компьютере), реализует общий принцип, сформулированный для обсуждаемой технологии программирования, о необходимости контроля принимаемых решений на каждом этапе разработки ПС (см. лекцию 3). Методы проверки модуля обсуждаются в разделе 8.4.

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

8.2. Структурное программирование.

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


Рис. 8.1. Основные управляющие конструкции структурного программирования.

Основными конструкциями структурного программирования являются: следование, разветвление и повторение (см. Рис. 8.1). Компонентами этих конструкций являются обобщенные операторы (узлы обработки ) S, S1, S2 и условие (предикат) P. В качестве обобщенного оператора может быть либо простой оператор используемого языка программирования (операторы присваивания, ввода, вывода, обращения к процедуре), либо фрагмент программы, являющийся композицией основных управляющих конструкций структурного программирования. Существенно, что каждая из этих конструкций имеет по управлению только один вход и один выход. Тем самым, и обобщенный оператор имеет только один вход и один выход.

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

Структурное программирование иногда называют еще "программированием без GO TO". Однако дело здесь не в операторе GO TO, а в его беспорядочном использовании. Очень часто при воплощении структурного программирования на некоторых языках программирования (например, на ФОРТРАНе) оператор перехода (GO TO) используется для реализации структурных конструкций, что не нарушает принципов структурного программирования. Запутывают программу как раз "неструктурные" операторы перехода, особенно переход к оператору, расположенному в тексте модуля выше (раньше) выполняемого оператора перехода. Тем не менее, попытка избежать оператора перехода в некоторых простых случаях может привести к слишком громоздким структурированным программам, что не улучшает их ясность и содержит опасность появления в тексте модуля дополнительных ошибок. Поэтому можно рекомендовать избегать употребления оператора перехода всюду, где это возможно, но не ценой ясности программы .

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

8.3. Пошаговая детализация и понятие о псевдокоде.

Структурное программирование дает рекомендации о том, каким должен быть текст модуля. Возникает вопрос, как должен действовать программист, чтобы построить такой текст. Часто программирование модуля начинают с построения его блок-схемы, описывающей в общих чертах логику его работы. Однако современная технология программирования не рекомендует этого делать без подходящей компьютерной поддержки. Хотя блок-схемы позволяют весьма наглядно представить логику работы модуля, при их ручном кодировании на языке программирования возникает весьма специфический источник ошибок: отображение существенно двумерных структур, какими являются блок-схемы, на линейный текст, представляющий модуль, содержит опасность искажения логики работы модуля, тем более, что психологически довольно трудно сохранить высокий уровень внимания при повторном ее рассмотрении. Исключением может быть случай, когда для построения блок-схем используется графический редактор и они формализованы настолько, что по ним автоматически генерируется текст на языке программирования (как, например, это делается в Р-технологии ).

В качестве основного метода построения текста модуля современная технология программирования рекомендует пошаговую детализацию . Сущность этого метода заключается в разбиении процесса разработки текста модуля на ряд шагов. На первом

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

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

· начало модуля на базовом языке, т. е. первое предложение или заголовок (спецификацию) этого модуля ;

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

· неформальное обозначение последовательности операторов тела модуля как одного обобщенного оператора (см. ниже), а также неформальное обозначение тела каждого описания процедуры или функции как одного обобщенного оператора;

· последнее предложение (конец) модуля на базовом языке .

Внешнее оформление описания процедуры или функции представляется аналогично. Впрочем, если следовать Дейкстре , раздел описаний лучше также представить здесь неформальным обозначением, произведя его детализацию в виде отдельного описания.

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

Рис. 8.2. Основные конструкции структурного программирования на псевдокоде.

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

Выход из повторения (цикла):

Выход из процедуры (функции):

Порядок разработки программного модуля.

  • 1. изучение и проверка спецификации модуля, выбор языка программирования; (т.е. разработчик, изучая спецификацию, выясняет, понятна она ему или нет, достаточно ли полно она описывает модуль; затем он выбирает язык программирования, на котором будет написан модуль, хотя язык программирования может быть единым для всего ПС)
  • 2. выбор алгоритма и структуры данных (здесь выясняется не известны ли какие-либо алгоритмы для решения поставленной задачи и если есть, то воспользоваться им)
  • 3. программирование модуля (написание кода программы)
  • 4. шлифовка текста модуля (редактирование имеющихся комментариев, добавление дополнительных комментариев, для того чтобы обеспечить требуемое качество)
  • 5. проверка модуля (проверяется логика работы модуля, отлаживается его работа)

Применяются следующие методы контроля программного модуля:

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

Структурное программирование.

На сегодняшний день самой популярной методикой программирования является структурное программирование «сверху-вниз».

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

Два принципа структурного программирования:

  • 1. последовательная детализация «сверху - вниз»
  • 2. ограниченность базового набора структур для построения алгоритмов любой степени сложности

Требования структурного программирования:

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

Основные свойства и достоинства структурного программирования:

  • 1. уменьшение сложности программ
  • 2. возможность демонстрации правильности программ на различных этапах решения задачи
  • 3. наглядность программ
  • 4. простота модификации (внесения изменения) программ.

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

Тут можно провести аналогию с развитием методов управления автотранспортом. Сначала безопасность обеспечивалась за счет разработки правил движения. Затем появилась система разметки дорог и регулирования перекрестков. И, наконец, стали строиться транспортные развязки, которые в принципе предотвращают пересечение потоков машин и пешеходов. Впрочем, используемые средства должны определяться характером решаемой задачи: для проселочной дороги вполне достаточно соблюдения простого правила - "смотри под ноги и по сторонам".

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

Любую программу можно построить, используя лишь три основных типа блоков:

  • 1. функциональный блок - отдельный линейный оператор или их последовательность;
  • 2. блок разветвления - If
  • 3. обобщенный цикл - конструкция типа While

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

Структурное программирование иногда называют еще "программированием без GO TO". Однако дело здесь не в операторе GO TO, а в его беспорядочном использовании. Очень часто при воплощении структурного программирования на некоторых языках программирования оператор перехода (GO TO) используется для реализации структурных конструкций, не снижая основных достоинств структурного программирования. Запутывают программу как раз "неструктурные" операторы перехода, особенно переход на оператор, расположенный в тексте модуля выше (раньше) выполняемого оператора перехода. Тем не менее, попытка избежать оператора перехода в некоторых простых случаях может привести к слишком громоздким структурированным программам, что не улучшает их ясность и содержит опасность появления в тексте модуля дополнительных ошибок. Поэтому можно рекомендовать избегать употребления оператора перехода всюду, где это возможно, но не ценой ясности программы.

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

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

ОТЧЕТ

По учебной практике

ПМ.01. Разработка программных модулей программного обеспечения для компьютерных систем

ПМ.04. Выполнение работ по профессии 16199 "Оператор электронно- вычислительных и вычислительных машин"

УГС: 09.00.00 Информатика и вычислительная

Специальность: 09.02.03Программирование в компьютерных системах

Квалификация выпускника: техник-программист

Выполнил студент гр. ПКС-16 КТ ТИ

Афанасьев Василий

Руководители практики:

Л.Н.Алексеева

Т.Ц.Кириллина

Оценка _____________

Дата сдачи__________

Якутск – 2017

Введение………………………………………………………………………………………………3

1. Краткая характеристика базы практики………………………………………………………….7

1.1. Краткая характеристика материально – технического оборудования лабораторий………...8

1.2. Краткая характеристика программного обеспечения лабораторий…………………………..9

1.3. Техника безопасности…………………………………………………………………………..10

2. Описание технологий выполненных работ……………………………………………………..12

2.1 ПМ.01. Теоретические основы для выполнения работ………………………………………12

2.1.1. ПМ.01. Разработка программных модулей программного обеспечения для компьютерных систем………………………………………………………………………………………………...13

2.1.2 ПМ.04. Выполнение работ по профессии 16199 "Оператор электронно- вычислительных и вычислительных машин"………………………………………………………………………………….15

2.2. Описание технологий выполненных работ…………………………………………………...22

2.2.1.ПМ.04.01 Выполнение работ по профессии 16199 "Оператор электронно- вычислительных и вычислительных машин"……………………………………………………………30

Заключение…………………………………………………………………………………………..39

Список использованной литературы………………………………………………………………42


ВВЕДЕНИЕ

Учебная практика - вид практики по получению первичных профессиональных умений, по ознакомлению с производством.

Целями учебной практики по УГС 09.00.00 Информатика и вычислительная техника связи по специальности : освоение обучающимися всех видов профессиональной деятельности по данной специальности, формирование общих и профессиональных компетенций, а также приобретение необходимых умений и опыта практической работы по специальности.

Учебная практика по специальности направлена на формирование у обучающихся умений, приобретение первоначального практического опыта и реализуется в рамках профессиональных модулей ППССЗ СПО по основным видам профессиональной деятельности для последующего освоения ими общих и профессиональных компетенций по специальности 09.02.03 Программирование в компьютерных системах .



Задачи учебной практики

В ходе освоения программы учебной практики студент должен:

иметь практический опыт:

· разработки алгоритма поставленной задачи и реализации его средствами автоматизированного проектирования;

· разработки кода программного продукта на основе готовой спецификации на уровне модуля;

· использования инструментальных средств на этапе отладки программного продукта;

· проведения тестирования программного модуля по определенному сценарию;

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

· конвертирования медиа файлов в различные форматы, экспорта и импорта файлов в различные программы-редакторы;



· обработки аудио-, визуального и мультимедийного контента с помощью специализированных программ-редакторов;

· создания и воспроизведения видео роликов, презентаций, слайд-шоу, медиа-файлов и другой игровой продукции из исходных аудио;

уметь:

по ПМ.01. РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ:

· осуществлять разработку кода программного модуля на современных языках программирования;

· создавать программу по разработанному алгоритму как отдельный модуль;

· выполнять отладку и тестирование программы на уровне модуля;

· оформлять документацию на программные средства;

· использовать инструментальные средства для автоматизации оформления документации;

по ПМ.04. ВЫПОЛНЕНИЕ РАБОТ ПО ПРОФЕССИИ: 16199 ОПЕРАТОР ЭЛЕКТРОННО - ВЫЧИСЛИТЕЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ МАШИН:

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

· настраивать основные компоненты графического интерфейса операционной системы и специализированных программ редакторов;

· управлять файлами данных на локальных, съемных запоминающихся устройствах, а также на дисках локальной компьютерной сети и в Интернете;

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

· создавать и редактировать графические объекты с помощью программ для обработки растровой и векторной графики;

· Конвертировать файлы с цифровой информацией в различные форматы;

· производить сканирование прозрачных и непрозрачных оригиналов;

· производить съемку и передачу цифровых изображений с фото- и видеокамеры на персональный компьютер;

· обрабатывать аудио, визуальный контент и медиа-файлы средствами звуковых, графических и видео-редакторов;

· создавать видеоролики, презентации, слайд шоу, медиа-файлы и другую итоговую продукцию из исходных аудио, визуальных и мультимедийных компонентов;

· воспроизводить аудио, визуальный контент и медиа-файлы средствами персонального компьютера и мультимедийного оборудования;

· производить распечатку, копирование и тиражирование документов на принтер и другие периферийные устройства вывода;

· использовать мультимедиа-проектор для демонстрации содержимого экранных форм с персонального компьютера;

· вести отчетную и техническую документацию;

знать:

по ПМ.01. РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ:

· основные этапы разработки программного обеспечения;

· основные принципы технологии структурного и объектно-ориентированного программирования;

· основные принципы отладки и тестирования программных продуктов;

· методы и средства разработки технической документации.

по ПМ.04. ВЫПОЛНЕНИЕ РАБОТ ПО ПРОФЕССИИ: 16199 ОПЕРАТОР ЭЛЕКТРОННО - ВЫЧИСЛИТЕЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ МАШИН:

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

· виды и параметры форматов аудио-, графических- и видео-и мультимедийных файлов и методы их конвертирования;

· назначение, возможности, правила эксплуатации мультимедийного оборудования;

· основные типы интерфейсов для подключения мультимедийного оборудования;

· основные приемы обработки цифровой информации;

· назначение, разновидности и функциональные возможности программ обработки звука;

· назначение, разновидности и функциональные возможности программ графических изображений;

· назначение, разновидности и функциональные возможности программ обработки видео- и мультимедиа контента.

И следующие профессиональные компетенции:

по ПМ.01. РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ:

ПК.1.1. Выполнять разработку спецификаций отдельных компонент.

ПК 1.2. Осуществлять разработку кода программного продукта на основе готовых спецификаций на уровне модуля.

ПК 1.3.Выполнять отладку программных модулей с использованием специализированных программных средств.

ПК 1.4. Выполнять тестирование программных модулей.

ПК 1.5. Осуществлять оптимизацию программного кода модуля.

ПК 1.6. Разрабатывать компоненты проектной и технической документации с использованием графических языков спецификаций.

по ПМ.04. ВЫПОЛНЕНИЕ РАБОТ ПО ПРОФЕССИИ: 16199 ОПЕРАТОР ЭЛЕКТРОННО - ВЫЧИСЛИТЕЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ МАШИН:

ПК.6.1. Выполнять ввод цифровой и аналоговой информации в персональный компьютер с различных носителей.

ПК 6.2. Конвертировать файлы с цифровой информацией в различные форматы.

ПК 6.3. Обрабатывать аудио и визуальный контент средствами звуковых, графических и видео-редакторов.

ПК 6.4. Создавать видеоролики, презентации, слайд-шоу, медиа-файлы и другую итоговую продукцию из исходных аудио, визуальных и мультимедийных компонентов.

ПК.6.5. Воспроизводить аудио, визуальный контент и медиа-файлы средствами персонального компьютера и мультимедийного оборудования.

ПК 7.1. Формировать медиатеки для структурированного хранения и катологизации цифровой информации.

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

ПК 7.3. Тиражировать мультимедиа контент на различных съемных носителях информации.

ПК.7.4. Публиковать мультимедиа контент в Интернете.

Структура и трудоемкость учебной практики

№ п/п Разделы (этапы) практики Недели Общая трудоемкость Формы текущего контроля
Кредиты Часы
Подготовительный этап, включающий установочную конференцию (инструктаж по технике безопасности) Участие в конференции; проверка дневника практики;
ПМ 01. РАЗРБОТКА ПРОРАММНЫХ МОДУЛЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ МДК.01.01. Системное программирование МДК.01.02. Прикладное программирование
Виды работ: · Разработка кода программного модуля на языке С++. · Создание информационной базы средствами 1С: Предприятие. · Построение простейших фигур, редактирование объектов с помощью САПР.
ПМ.04. ВЫПОЛНЕНИЕ РАБОТ ПО РАБОЧЕЙ ПРОФЕССИИ: 16199 ОПЕРАТОР ЭЛЕКТРОННО - ВЫЧИСЛИТЕЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ МАШИН МДК.04.01. Технология создания и обработки мультимедийной информации МДК.04.02. Технология публикации цифровой мультимедийной информации
Виды работ: · Методы обработки фотографий · Технологии создания и обработки мультимедийной информации · Создание видео Проверка и анализ отчетных материалов

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

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

ТЕХНИКА БЕЗОПАСНОСТИ

Требования безопасности перед началом работы

1) Запрещено входить в кабинет в верхней одежде, головных уборах, с громоздкими предметами и едой

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

6) Разрешается работать только на том компьютере, который выделен на занятие

7) Перед началом работы студент обязан осмотреть рабочее место и свой компьютер на предмет отсутствия видимых повреждений оборудования

Требования безопасности во время работы

1) С техникой обращаться бережно: не стучать по мониторам, не стучать мышкой о стол, не стучать по клавишам клавиатуры

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

3) Не пытаться исправить неполадки в оборудовании самостоятельно

4) Выполнять за компьютером только те действия, которые говорит преподаватель

5) Контролировать расстояние до экрана и правильную осанку

6) Не допускать работы на максимальной яркости экрана дисплея

7) В случае возникновения нештатных ситуаций сохранять спокойствие и чётко следовать указаниям преподавателя.

Запрещается

· Эксплуатировать неисправную технику

· При включённом напряжении сети отключать, подключать кабели, соединяющие различные устройства компьютера

· Работать с открытыми кожухами устройств компьютера

· Касаться экрана дисплея, тыльной стороны дисплея, разъёмов, соединительных кабелей, токоведущих частей аппаратуры

· Касаться автоматов защиты, пускателей, устройств сигнализации

· Во время работы касаться труб, батарей

· Самостоятельно устранять неисправность работы клавиатуры

· Нажимать на клавиши с усилием или допускать резкие удары

· Пользоваться каким-либо предметом при нажатии на клавиши

· Передвигать системный блок, дисплей или стол, на котором они стоят

· Загромождать проходы в кабинете сумками, портфелями, стульями

· Брать сумки, портфели за рабочее место у компьютера

· Брать с собой в класс верхнюю одежду и загромождать ею кабинет

· Быстро передвигаться по кабинету

· Класть какие-либо предметы на системный блок, дисплей, клавиатуру.

· Работать грязными, влажными руками, во влажной одежде

· Работать при недостаточном освещении

· Работать за дисплеем дольше положенного времени.


Проектирование

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

Во время проектирования разрабатываются проектные решения по выбору платформы, где будет функционировать система языка или языков реализации, назначаются требования к пользовательскому интерфейсу, определяется наиболее подходящая СУБД. Разрабатывается функциональная спецификация ПО: выбирается архитектура системы, оговариваются требования к аппаратному обеспечению, определяется набор орг. мероприятий, которые необходимы для внедрения ПО, а также перечень документов, регламентирующих его использование.

Реализация

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

Тестирование продукта

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

Результатом тестирования является устранение всех недостатков системы и заключение о ее качестве.

Внедрение и поддержка

Внедрения системы обычно предусматривает следующие шаги:

· установка системы,

· обучение пользователей,

· эксплуатация.

2)Основные принципы технологии структурного и объектно-ориентированного программирования;

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

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

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

3)Основные принципы отладки и тестирования программных средств .

Принципы отладки

Принципы локализации ошибок: Большинство ошибок обнаруживается вообще без запуска программы - просто внимательным просматриванием текста. Если отладка зашла в тупик и обнаружить ошибку не удается, лучше отложить программу. Когда глаз "замылен", эффективность работы упорно стремится к нулю. Чрезвычайно удобные вспомогательные средства - это отладочные механизмы среды разработки: трассировка, промежуточный контроль значений. Можно использовать даже дамп памяти, но такие радикальные действия нужны крайне редко. Экспериментирования типа "а что будет, если изменить плюс на минус" - нужно избегать всеми силами. Обычно это не дает результатов, а только больше запутывает процесс отладки, да еще и добавляет новые ошибки.

Принципы исправления ошибок еще больше похожи на законы Мерфи: Там, где найдена одна ошибка, возможно, есть и другие. Вероятность, что ошибка найдена правильно, никогда не равна ста процентам. Наша задача - найти саму ошибку, а не ее симптом. Это утверждение хочется пояснить. Если программа упорно выдает результат 0,1 вместо эталонного нуля, простым округлением вопрос не решить. Если результат получается отрицательным вместо эталонного положительного, бесполезно брать его по модулю - мы получим вместо решения задачи ерунду с подгонкой.
Исправляя одну ошибку, очень легко внести в программу еще парочку. "Наведенные" ошибки - настоящий бич отладки. Исправление ошибок зачастую вынуждает нас возвращаться на этап составления программы. Это неприятно, но порой неизбежно.

Векторное изображение представляет собой совокупность графических примитивов. Каждый примитив состоит из элементарных отрезков кривых, параметры которых (координаты узловых точек, радиус кривизны и пр.) описываются математическими формулами.

II-1) Виды и параметры форматов видео и методы их конвертирования.

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

PAL - видеостандарт аналогового цветного телевидения, используемый в Европе и России: размер видео 720х576, 25 fps (25 кадров в секунду). NTSC - стандарт аналогового цветногоо телевидения, разработанный в США, разрешение 720х480, 29,97 fps.

MPEG - один из основных стандартов сжатия. Аббревиатура MPEG (Moving Pictures Expert Group) - это название международного комитета, занимающегося разработкой данного стандарта сжатия. Его разновидности: DVD-, HDD-, Flash-камеры. MPEG-3 - сейчас не используется. Не путаем его с MP3 (MPEG Audio Layer 3) - технологией сжатия звука! MPEG-4 - это формат, получаемый с помощью известных кодеков DivX, XviD, H.264 и др. Часто его называют просто MP4. Уменьшает видеопоток еще сильнее, чем MPEG-2, но картинка приличного качества, поэтому этот формат поддерживает большинство современных DVD-плееров. Особо нужно отметить высокое качество видео, сжатого кодеком последнего поколения H.264 .3gp - видео для мобильных телефонов третьего поколения, имеют малый размер и низкое качество.

Формат графического файла

- способ представления и расположения графических данных на внешнем носителе.

Векторные форматы

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

Растровые форматы

В файлах растровых форматов запоминаются:

Размер изображения - количество видео пикселей в рисунке по горизонтали и вертикали

Битовая глубина - число битов, используемых для хранения цвета одного видео пикселя

Данные, описывающие рисунок (цвет каждого видео пикселя рисунка), а также некоторая дополнительная информация.

TIFF (Taged Image File Format) - стандартный формат в топографической графике и издательских системах. Файлы в формате TIFF обеспечивают лучшее качество печати. Из-за большого размера, данный формат не применяется при создании Web-сайтов и публикации в Интернет.

III-1) Назначение, возможности, правила эксплуатации мультимедийного оборудования.

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

Назначение.

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

Возможности.

Современные мультимедийные проекторы имеют, как правило, стандартный набор функциональных возможностей, среди которых:

· наличие экранного меню и пульта дистанционного ИК управления (иногда такой пульт может превращаться в кабельный),

· инверсия изображения по горизонтали и по вертикали, что позволяет использовать просветные экраны и потолочное крепление проектора,

· возможность регулировки яркости, контрастности, чёткости изображения,

· возможность настройки цветовой гаммы,

· возможность работы с 3D контентом,

· возможность работы в интерактивном режиме (интерактивный проектор),

· возможность подстройки под параметры входных компьютерных и видео сигналов,

· возможность дистанционного управления курсором компьютера (так наз. инфракрасная экранная мышь),

· возможность корректировки трапецеидальных искажений изображения,

· возможность выбора языка меню,

· наличие экономичного режима работы (уменьшение светового потока на 15-20%, обеспечивающее увеличение срока службы лампы в 1,5-2 раза).

Правила.

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

2. Обращайте внимание на все предупреждения и предостережения, приведенные в данном руководстве и указанные на корпусе устройства.

3. Проекционная лампа чрезвычайно яркая. Во избежание повреждения глаз, не смотрите в объектив, когда лампа включена.

4. Не располагайте проектор на неустойчивой поверхности, тележке или стойке.

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

6. Не кладите на проектор тяжелые предметы, вроде книг или сумок.

Перед нами цифровой мультимедийный интерфейс для несжатых HDTV-сигналов с разрешением до 1920x1080 (или 1080i), со встроенным механизмом защиты авторских прав Digital Rights Management (DRM). Текущая технология использует вилки типа A с 19 контактами.

Serial-ATA

SATA является последовательным интерфейсом для подключения накопителей (сегодня это, в основном, жёсткие диски) и призван заменить старый параллельный интерфейс ATA. Стандарт Serial ATA первого поколения сегодня используется очень широко и обеспечивает максимальную скорость передачи данных 150 Мбит/с. Максимальная длина кабеля составляет 1 метр. SATA использует подключение "точка-точка", когда один конец кабеля SATA подсоединяется к материнской плате ПК, а второй - к жёсткому диску. Дополнительные устройства к этому кабелю не подключаются, в отличие от параллельного ATA, когда на каждый кабель можно "вешать" два привода. Так что накопители "master" и "slave" уходят в прошлое.

Назначение.

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

Возможности.

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

Разновидности .

FL Studio (ранее - Fruity Loops ) - цифровая звуковая рабочая станция (DAW) и секвенсор для написания музыки. Музыка создаётся путём записи и сведения аудио- или MIDI-материала. Готовая композиция может быть записана в формате WAV, MP3 или OGG.

MAGIX Music Maker - программа для создания и записи музыки в домашних условиях, разработанная немецкой компанией Magix Software. Часть интерфейса Music Maker заимствована у программы Samplitude, которая является профессиональной звуковой рабочей станцией, в то время как Music Maker ориентирована в основном на начинающих музыкантов. С момента выпуска первой версии Music Maker в 1994 году было продано более одного миллиона лицензий, что сделало её одной из самых успешных программ для создания музыки в Европе. Цена лицензии от 60$.

Применение.

Использование графических редакторов для генерирования схем по вышивке, бисер оплетению и вязанию. При помощи графических редакторов (например, EmbroBox или BeadsWicker) можно создавать схемы для выполнения работ в разных техниках (например, «ткачество», «мозаика» или «кирпичный стежок»), а также ажурные схемы. За основу можно взять любую фотографию или отсканированный рисунок (в форматах BMP, JPEG, GIF). Готовую схему можно распечатать, в том числе и с использованием условных обозначений цвета, а можно сохранить как цифровой рисунок в наиболее удобном для художника формате (см. выше). Особенно полезной функцией в подобных редакторах является настройка количества используемых в вышивке/плетении цветов. Художник может сделать как полноцветную схему, так и эскиз для работы, выполненной в ограниченной цветовой палитре (например, эскиз для вышивки крестом полотенца, выполняющейся черными и красными нитками по белому полю).

Возможности.

Графический редактор позволяет быстро и эффективно отредактировать фотографию, создать монтаж, и даже нарисовать рисунок «с чистого листа». Как инструмент для художника он, может быть, может показаться не таким удобным, как специально для этого предназначенные графические редакторы, но это только на первый взгляд. Программа имеет все необходимые средства для рисования, начиная от простейшего пера, с изменяемой и легко настраиваемой «кистью», до множества цветовых палитр, которые позволяют «смешивать» цвета в любой пропорции. Имеются и инструменты векторной графики, которые зачастую позволяют значительно ускорить и облегчить работу. А если заняться рисованием на профессиональном уровне, то программа позволяет легко подключить графический планшет и полностью реализовать свои фантазии.

Разновидности.

1) Графический редактор Paint -- простой однооконный графический редактор, который позволяет создавать и редактировать достаточно сложные рисунки.Окно графического редактора Paint имеет стандартный вид. 2) Photoshop фирмы Adobe многооконный графический редактор позволяет создавать и редактировать сложные рисунки, а также обрабатывать графические изображения (фотографии). Содержит множество фильтров для обработки фотографий (изменение яркости, контрастности и т.д.). 3) Программа Microsoft Draw -- входящая в комплект MS Office. Эта программа служит для создания различных рисунков, схем. Обычно вызывается из MS Word. 4) Adobe Illustrator, Corel Draw -- программы используются в издательском деле, позволяет создавать сложные векторные изображения.

Назначение.

Сoздaниe видeoфильмoв мoжeт cтaть oчeнь цeнным умeниeм в пpaктикe работы учитeля инфopмaтики. Aвтopcкий видeoфильм – этo cpeдcтвo цeлeнaпpaвлeннoгo нaгляднoгo oбучeния, пoвышaющий интepec шкoльникoв к пpeдмeту. C дpугoй cтopoны, oбучeниe coздaнию видeo c paзличными cпeцэффeктaми может содействовать тaкжe пpoфopиeнтaциoннoму вocпитaнию.

Возможности.

Захват

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

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

Монтаж

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

Разновидности.

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

Vegas предлагает неограниченное количество видео- и аудио-дорожек, продвинутые инструменты для обработки звука, поддержку многоканального ввода-вывода в режиме полного дуплекса (для вывода сигнала можно задействовать 26 физических выходов с независимой шиной микширования на каждом), ресемплинг в реальном времени, автоматическое создание кроссфейдов, синхронизация посредством MIDI Time Code и MIDI Clock, дизеринг (с нойс-шейпингом) на выходах подгрупп и 24/32-разрядный звук с частотой дискретизации 192 кГц. Для обработки звука в реальном времени можно установить в разрыв каждой дорожки четырех-полосный параметрический эквалайзер и компрессор, а также использовать 32 посыла на подключаемые модули формата DirectX.

AdobePremierePro-профессиональная программа нелинейного видеомонтажа компании Adobe Systems. Является наследником программы Adobe Premiere (последняя вышедшая версия которой носила номер 6.5). Первая версия программы (она же Adobe Premiere 7) вышла 21 августа 2003 года для операционных систем семейства Windows. Начиная с третьей версии программа стала доступной и для операционных систем OS X. Первые две версии выходили отдельными продуктами, третья версия вышла в составе пакета Adobe Creative Suite 3


ЗАКЛЮЧЕНИЕ

В результате выполнения программы учебной практики выполнены задачи :

Закрепление, углубление и расширение теоретических знаний, умений и навыков, полученных студентами в процессе теоретического обучения;

Овладение профессионально – практическими умениями, производственными навыками и передовыми методами труда;

Овладение нормами профессии в мотивационной сфере: осознание мотивов и духовных ценностей в избранной профессии;

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

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

В ходе прохождения учебной практики были выполнены практические работы для формирования общих компетенций, включающих в себя способность:

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

ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество.

ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

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

ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.

ОК 6. Работать в коллективе и команде, эффективно общаться с коллегами, руководством, потребителями.

ОК 7. Брать на себя ответственность за работу членов команды (подчиненных), результат выполнения заданий.

ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.

ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности.

и профессиональных компетенций, соответствующих основным видам профессиональной деятельности:

ПК 1.1. Выполнять разработку спецификаций от

ПРОФЕССИОНАЛЬНЫЙ МОДУЛЬ
«Разработка программных
модулей программного
обеспечения для компьютерных
систем»

МДК

Системное программирование
Прикладное программирование

Цели и задачи модуля

знать:
основные этапы разработки программного
обеспечения;
основные принципы технологии структурного
и объектно-ориентированного
программирования;
основные принципы отладки и тестирования
программных продуктов;
методы и средства разработки технической
документации.

Цели и задачи модуля

уметь:
осуществлять разработку кода программного
модуля на современных языках программирования;
создавать программу по разработанному алгоритму
как отдельный модуль;
выполнять отладку и тестирование программы на
уровне модуля;
оформлять документацию на программные
средства;
использовать инструментальные средства для
автоматизации оформления документации;

Цели и задачи модуля

иметь практический опыт:
разработки алгоритма поставленной задачи и
реализации его средствами
автоматизированного проектирования;
разработки кода программного продукта на
основе готовой спецификации на уровне
модуля;
использования инструментальных средств на
этапе отладки программного продукта;
проведения тестирования программного
модуля по определенному сценарию;

Профессиональные компетенции

ПК 1.1. Выполнять разработку спецификаций отдельных
компонент.
ПК 1.2. Осуществлять разработку кода программного продукта
на основе готовых спецификаций на уровне модуля.
ПК 1.3. Выполнять отладку программных модулей с
использованием специализированных программных средств.
ПК 1.4. Выполнять тестирование программных модулей.
ПК 1.5. Осуществлять оптимизацию программного кода модуля.
ПК 1.6. Разрабатывать компоненты проектной и технической
документации с использованием графических языков
спецификаций.

Междисциплинарные связи

Информатика и ИКТ;
Информационные технологии;
Архитектура компьютерных систем;
Основы программирования;
Операционные системы.

Этапы изучения

Аудиторные занятия
Практические занятия
Самостоятельная работа
Курсовой проект
Учебная практика
Производственная практика
Квалификационный экзамен (защита
портфолио)

Прикладное программирование

Раздел 1. Основные принципы разработки прикладных программ

Тема 1.1. Основные понятия
прикладного программирования

Вопросы

Классификация программного обеспечения
Жизненный цикл ПО
Этапы разработки программ
Документирование программ

Что такое программирование?

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

Что такое программное обеспечение?

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

Какие классы программного обеспечения
вы знаете?

системное: операционные системы; драйверы
устройств; различные утилиты;
для разработчиков: среды программирования;
трансляторы и интерпретаторы; CASE-средства;
библиотеки программ;
для конечных пользователей: текстовые
процессоры; электронные таблицы; графические
редакторы; решатели математических задач;
обучающие и контролирующие системы;
компьютерные игры; прикладные программы.

Что представляет собой прикладная
программа?

Прикладная программа (application
program) - любая программа,
способствующая выполнению задачи,
возложенной на ЭВМ в пределах данной
организации, и вносящая прямой вклад в
реализацию этой задачи.

Что можно назвать программной системой?

Программная система представляет
собой набор решений множества
различных, но связанных между собой
задач (ОС, СУБД).
Более узкоспециализированные
программы не называют системами
(редактор текстов, компилятор и т. п.)

Жизненный цикл ПО (software life-cycle) весь период времени существования
системы программного обеспечения,
начиная от выработки первоначальной
концепции этой системы и кончая ее
моральным устареванием

ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ЭТАПЫ СОЗДАНИЯ ПРОГРАММ

Системный анализ.
Осуществляется анализ требований, предъявляемых к
программной системе, который проводится на основе
первичного исследования всех потоков информации
при традиционном проведении работ и осуществляется
в следующей последовательности:
а) уточнение видов и последовательности всех работ;
б) определение целей, которые должны быть
достигнуты разрабатываемой программой;
в) выявление аналогов, обеспечивающих достижение
подобных целей, их достоинств и недостатков.

ЭТАПЫ СОЗДАНИЯ ПРОГРАММ

Внешнее специфицирование
Состоит в определении внешних спецификаций, то есть
описаний входной и выходной информации,
форм их представления и способов обработки информации.
Реализуется в следующей последовательности:
а) постановка задачи на разработку новой программы;
б) оценка достигаемых целей разрабатываемого
программного изделия.
Далее, при необходимости, этапы 1-2 могут быть повторены до
достижения удовлетворительного облика программной
системы с описанием выполняемых ею функций и некоторой
ясностью реализации ее функционирования.

ЭТАПЫ СОЗДАНИЯ ПРОГРАММ

Проектирование программы
Проводится комплекс работ по формированию описания программы.
Исходными данными для этой фазы являются требования, изложенные
в спецификации, разработанной на предыдущем этапе. Принимаются
решения, касающиеся способов удовлетворения требований
спецификации. Эта фаза разработки программы делится на два этапа:
а) архитектурное проектирование. Представляет собой разработку
описания программы в самом общем виде. Это описание содержит
сведения о возможных вариантах структурного построения
программного изделия (либо в виде нескольких программ, либо в виде
нескольких частей одной программы), а также об основных
алгоритмах, и структурах данных. Результатом этой работы являются
окончательный вариант архитектуры программной системы,
требования к структуре отдельных программных компонент и
организации файлов для межпрограммного обмена данными;
б) рабочее проектирование. На этом этапе архитектурное описание
программы детализируется до такого уровня, который делает
возможными работы по ее реализации (кодированию и сборке). Для
этого осуществляется составление и проверка спецификаций модулей,
составление описаний логики модулей, составление окончательного
плана реализации программы.

ЭТАПЫ СОЗДАНИЯ ПРОГРАММ

Кодирование и тестирование
Осуществляются для отдельных модулей и
совокупности готовых модулей до
получения готовой программы.
Комплексное тестирование
Разработка эксплуатационной
документации
Приемо-сдаточные и другие виды
испытаний

ЭТАПЫ СОЗДАНИЯ ПРОГРАММ

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

ЭТАПЫ СОЗДАНИЯ ПРОГРАММ

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

Вопросы

1. Основные понятия программирования.
Классы программного обеспечения.
2. Жизненный цикл программного
обеспечения
3. Этапы создания программ

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

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

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

Программная спецификация (program
specification) - точное описание того
результата, которого нужно достичь с
помощью программы. Это описание
должно точно устанавливать, что должна
делать программа, не указывая, как она
должна это делать.

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

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

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

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

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

Различают внешнюю программную
документацию, которая согласуется с
заказчиком, и промежуточную
внутреннюю документацию проекта.
При составлении программной
документации сначала разрабатываются
внешние спецификации, а затем -
внутренние.

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

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

ДОКУМЕНТИРОВАНИЕ ПРОГРАММ

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

Домашнее задание

Составить список видов документов для
обеспечения жизненного цикла ПО.

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

ОБЩЕСИСТЕМНЫЕ ПРИНЦИПЫ СОЗДАНИЯ ПРОГРАММ

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

ОБЩЕСИСТЕМНЫЕ ПРИНЦИПЫ СОЗДАНИЯ ПРОГРАММ

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

Технологии программирования - это
апробированные стратегии создания
программ, которые излагаются в виде методик
с информационными фондами, описаниями
проектных процедур и проектных операций.
Существуют технология структурного
программирования, технология
проектирования программ с рациональной
структурой данных, технология объектноориентированного программирования,
технология визуального программирования.

ТЕХНОЛОГИИ И ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ

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

ТЕХНОЛОГИИ И ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ

Императивная парадигма
Эта модель вытекает из особенностей аппаратной части
стандартного компьютера, выполняющей инструкции
(команды) последовательно.
Основным видом абстракции, используемым в данной
парадигме, являются алгоритмы. На основе ее разработано
множество операторно-ориентированных языков
программирования.
Программа на таком языке состоит из последовательности
операторов, выполнение каждого из которых влечет за собой
изменение значения в одной или нескольких ячейках памяти. В
целом синтаксис такого языка имеет вид:
Оператор_1:
Оператор_2:
...

ТЕХНОЛОГИИ И ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ

Аппликативная парадигма
В основу этой парадигмы положено рассмотрение
функции, которую выполняет программа.
Ставится вопрос: какую функцию необходимо
применить к начальному состоянию машины (путем
выбора начального набора переменных и
комбинирования их определенным образом), чтобы
получить желаемый результат?
Языки, в которых акцентирован именно этот взгляд на
вычисления, называются аппликативными, или
функциональными. Синтаксис такого языка, как
правило, выглядит следующим образом:
Функция_n (... функция_2 (функция_1 (данные))...)

ТЕХНОЛОГИИ И ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ

Парадигма, основанная на системе правил
Языки, основанные на этой парадигме, осуществляют проверку
наличия необходимого разрешающего условия и в случае его
обнаружения выполняют соответствующее действие.
Выполнение программы на подобном языке похоже на
выполнение программы, написанной на императивном языке.
Однако операторы выполняются не в той последовательности, в
которой они определены в программе. Порядок выполнения
определяют разрешающие условия. Синтаксис таких языков
выглядит следующим образом:
разрешающее условие_1 -> действие_1 разрешающее
условие_2 -> действие__2
разрешающее условие_n -> действие _n
Иногда правила записываются в виде «действие if
разрешающее условие», когда выполняемое действие
записывается слева.

ТЕХНОЛОГИИ И ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ

Объектно-ориентированная парадигма
В этой модели строятся сложные объекты данных.
Для операций над ними определяется некоторый
ограниченный набор методов. Создаваемые
объекты могут наследовать свойства более простых
объектов.
Благодаря такой возможности объектноориентированные программы имеют высокую
эффективность, свойственную программам,
написанным на императивных языках. Возможность
разработки различных классов, которые используют
ограниченный набор объектов данных,
обусловливает гибкость и надежность, которые
свойственны аппликативному языку.

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

ТРАНСЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ ПРОГРАММ

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

ТРАНСЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ ПРОГРАММ

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

ТРАНСЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ ПРОГРАММ

Препроцессор (макропроцессор) - это
транслятор, исходный язык которого
является расширенной формой какого-либо
языка высокого уровня (например, Java или
C++), а объектный язык - стандартной
версией этого языка. Объектная программа,
созданная препроцессором, готова к
трансляции и выполнению обычными
процессорами исходного стандартного
языка

ТРАНСЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ ПРОГРАММ

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

ТРАНСЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ ПРОГРАММ

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

СРЕДЫ И РЕАЛИЗАЦИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

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

Задание

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