Главная » Просмотр файлов » programming.systems.L1-2.slides

programming.systems.L1-2.slides (1119458)

Файл №1119458 programming.systems.L1-2.slides (Лекции Карпова)programming.systems.L1-2.slides (1119458)2019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

СИСТЕМЫПРОГРАММИРОВАНИЯ- Основные понятия, назначение, структура и функционирование СП- Принципы ООП на примере языка С++ и СП, поддерживающие ООП- Элементы теории трансляцииКоллоквиум по ООП и С++(в третьей декаде марта)- Письменная работа (обязательная)Баллы учитываются на экзаменеТемы на экзамене (письменный): СП и основы трансляцииСИСТЕМЫПРОГРАММИРОВАНИЯприкладное программное обеспечениесистемы программированияпрограммы управления логическимиресурсамипрограммы управления физическимиресурсамиаппаратураИерархия вычислительной системыОперационныесистемыАрхитектура ЭВМи ЯАРазвитие СП:- программирование в машинных кодах- автокоды, языки ассемблера- трансляторы с языков высокого уровня- визуальные средства автоматизации и проектированияОпределение: системой программирования называетсякомплекс программных средств (инструментов, библиотек) ,предназначенных для поддержки разработки программногопродукта на протяжении всего жизненного цикла этогопродуктаПрограмма -- создается для решения отдельной задачи авторомпрограммы и используется в некоторой конкретной операционной среде.

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

Тестирование программных продуктов должно проходить болеетщательно и полно. Программный продукт должен быть настраиваемым иконфигурируемым.Системный программный продукт (интегрированный) -- комплекс(пакет) программных продуктов. Например, пакет офисных программ.Жизненный цикл программного продуктаОсновные фазы жизненного цикла ПП :ИспользованиеРазработка ППСопровождение(продолжающаясяразработка)Этапы жизненного цикла1) Постановка задачи. Анализ (определение) требований2) Проектирование3) Написание текста программ (программирование, “кодирование”)4) Компоновка или интеграция программного комплекса5) Верификация, тестирование и отладка6) Документирование7) Внедрение8) Тиражирование9) Сопровождение, повторяющее все предыдущие этапыФормализация определения требований (1-й этап ЖЦ)-- Таблицы решенийОтображают связь входных данных с выходными.

Для их построениявходные данные разбиваются на группы, представители которыхобрабатываются программным продуктом практически одинаково.Используются для данных, которые легко разбиваются нанемногочисленные группы.-- Функциональные диаграммыПредставляют собой графы с узлами, соответствующими входнымданным. Задаются условия и/или ограничениями на данные или ихсочетания. В диаграммах также описывается эффект обработкисоответствующих данных.-- Языки спецификаций, применяемые для формулированиятребований (язык CLU , SDL и другие).Проектирование (2-й этап ЖЦ)Метод «разделяй и властвуй» для борьбы со сложностьюРазбиение (декомпозиция) задачи на отдельные модули (подсистемы).Спецификации для модулей.

Дальнейшая декомпозиция модулей всоответствии со спецификациями.Два подхода к декомпозиции:-- алгоритмическая (структурное программирование «сверху-вниз»,данные играют пассивную роль)-- объектно-ориентированная (выделение отдельных объектов,которые способны воспринимать направляемые им сообщения иотвечать выполнением тех или иных ответных действий. Данные(объекты) играют активную роль, алгоритмы превращаются в операциинад выделенными объектами )CASE-технологии (Computer Aided Software Engineering) –средства автоматизированного проектирования(охватывают все, от подсистем верхнего уровня до отдельных модулей с обязательнойспецификацией всех механизмов межмодульного взаимодействия)Результаты второго этапа:-- схема иерархии подсистем (или модулей, для алгоритмическойдекомпозиции)-- функциональность и интерфейсы каждой подсистемы-- внутренняя структура каждого модуля: выбирается алгоритмработы модуля и способ внутреннего представленияКодирование (3-й этап ЖЦ)написание текстов программ на алгоритмическом языкеКомпоновка (4-й этап ЖЦ)интеграционный процесс комплексирования(комбинирования), то есть связывания отдельных частейпрограммы, написанных разными людьми или группами, водну большую систему программного обеспечения.Верификация, тестирование, отладка (5-й этап ЖЦ)Верификация -- проверка правильности программыТестирование -- процесс обнаружения дефектов в созданныхпрограммах, обнаружение несоответствия спецификациям.Тест - это задание программе с заранее известным ответом.

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

«спиральная»Примеры систем программирования:СП Turbo Pascal для ОС MS-DOS (продукт компании Borland) иСП Си для ОС UNIX (версия Free BSD 4.3).Схема классической системы программированияСистематекстовогоредактированияИсходнаяпрограммаМакрогенераторКомпиляторСистемаграфическогоредактированияАссемблерКомпоновщик(редакторсвязей)БиблиотекиДинамическаязагрузкаГотоваяОбъектнаяпрограмма…программаЗагрузчик(в составеОС)ОтладчикВыполнение(В СП Си под UNIX одна и та же команда СС является программной оболочкой икомпилятора и редактора связей)Для фиксации, удобной визуализации и редактирования материалов,возникающих на каждом из этапов создания ПП желательны дополнительныесредства СП на основе базы данных, обеспечивающие:согласованность (изменения в одном месте должны инициироватьизменения там, где используется измененный фрагмент ПП),непротиворечивость (принимаемые решения на одном из этапов должныбыть согласованы с решениями, принимаемыми на других этапах созданияПП),корректность изменений (вносимые изменения не должны нарушатьобщие требования к ПП),"историю" развития проекта (предыдущие версии принимаемыхрешений).возможность работы группы разработчиков в реальном времениавтоматическое или автоматизированное кодирование идокументирование ППавтоматизацию календарного планирования сроков создания ПП,разбиение общей постановки задачи на подзадачи, распределенияподзадач по конкретным разработчикам ПП (пример: MS Project)Дополнительные средства В СП Си (С++), базирующейся на ОСUNIX:Координатор (программа управления сборкой) Make (GNUMake).Make существенно упрощает процесс сборки проектов.Make отслеживает изменения файлов и перекомпилирует приобращении к ней только изменившиеся файлы и файлы, связанные сними по компиляции.Система SCCS (Source Code Control System)SCCS предназначена для отслеживания изменений различных версийфайлов проекта (создаваемого под ОС UNIX, не только в СП С) иразделения доступа к ним.Основные функции SCCS:- документирование модификаций проекта,- контроль полномочий пользователей-разработчиков проекта,- сопровождение параллельных версий проекта,- восстановление старых версий проекта.Аналогичной системой под ОС Windows является RCS (Revision Control System).Программа lintLint применяется для более жесткого контроля программ, написанных на Си, посравнению с компилятором.

Например, она– обнаруживает объекты, по-разному определенные в разных файлах,– обнаруживает переменные, которые используются раньше, чем имприсвоено значение или не используются вовсе,– осуществляет контроль соответствия формальных и фактическихпараметров для функций, декларированных как f( )Главное достоинство -- может проконтролировать всю программу, что особенноценно для языка, допускающего независимую компиляцию.– Серия Manual.Программа man в интерактивном режиме предоставляет пользователюдокументацию по всем компонентам системы программирования и операционнойсистемы.– Форматер nroffNroff (работает с любой СП под ОС UNIX) используется для создания печатнойдокументации.

Она преобразует неформатированный текстовый файл вформатируемый (команды форматирования вставляются непосредственно втекст).– Форматер tblTbl (работает с любой СП под ОС UNIX) также используется для создания печатнойдокументации. Она форматирует табличные данные.Другие компоненты классической системыпрограммированияИнтегрированная среда разработки (ИСР)Современная ИСР - комплекс программных средств, поддерживающихполный жизненный цикл ПП. Комплекс инструментальных средств, входящихв состав ИСР, иногда называют интегрированным CASE-средством.Простая ИСР объединяет в себе возможности текстовых редакторовисходных текстов программ, отладчиков и командный язык компиляцииПримеры ИСР: Turbo Pascal, Delphi, Visual Studio (под ОСWindows);K-develop для K Desktop Environment под ОС LINUX (вприведённой терминологии они будут простыми ИСР).“Продвинутая” ИСР :-- репозиторий, являющийся основой ИСР.Он должен обеспечивать хранение версий проекта и его отдельныхкомпонентов, синхронизацию поступления информации от различныхразработчиков при групповой разработке, контроль данных о проекте наполноту и непротиворечивость;-- графические средства анализа и проектирования,обеспечивающие создание и редактирование иерархически связанныхдиаграмм, образующих модели ПП, а также графический пользовательскийинтерфейс, обеспечивающий взаимодействие с функциями API (ApplicationProgram Interface - прикладного программного интерфейса ОС).-- средства разработки приложений, включая языки-- редактор текстов;-- средства документирования;-- средства тестирования и отладки;-- средства управления проектом;-- средства реинжиниринга (позволяют восстановить логику иструктуру программы по ее исходным текстам, с целью модификацииили перенесения на другую платформу).Редакторы текстов-- строковые, позволяющие смотреть и редактировать текст толькона одной строке, заканчивающейся признаком "конец строки";-- потоковые, воспринимающие текст в виде потока символов,признак конца строки также является символом;-- экранные, позволяющие перемещать по тексту окно, по которомуможно перемещать курсор и устанавливать его в нужные позиции;многие экранные редакторы позволяют видеть на экране текст втом виде, в котором он будет напечатан.Основные функции текстового редактора в рамках ИСР программногообеспечения:1) подготовка текста программы (обычные действия по созданию,редактированию, сохранению файла с текстом программы),2) многооконный интерфейс с поддержкой режима "буксировки"фрагментов текста мышкой (drag&drop),3) интеграция с компилятором:-- визуализация текста с выделением лексем (синтаксическая подсветкаэлементов языка),-- дополнение кода, интерактивная подсказка (а.

Характеристики

Тип файла
PDF-файл
Размер
320,88 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

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

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

Список файлов лекций

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее