Программное обеспечение и технологии программирования

Содержание

Слайд 2

Вопросы к теме 6 1. Системное программное обеспечение, его классификация. 2.

Вопросы к теме 6

1. Системное программное обеспечение, его классификация.
2. Прикладное программное

обеспечение, его классификация.
3. Жизненный цикл программного обеспечения.
4. Технологии программирования.
Слайд 3

Вопрос 1. Системное программное обеспечение, его классификация Программное обеспечение (ПО) —

Вопрос 1. Системное программное обеспечение, его классификация

Программное обеспечение (ПО)

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

Вопрос 1. Системное программное обеспечение, его классификация В настоящее время весь

Вопрос 1. Системное программное обеспечение, его классификация

В настоящее время

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

Вопрос 1. Системное программное обеспечение, его классификация Системное программное обеспечение –

Вопрос 1. Системное программное обеспечение, его классификация

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

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

Вопрос 1. Системное программное обеспечение, его классификация Системное программное обеспечение направлено:

Вопрос 1. Системное программное обеспечение, его классификация

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

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

Вопрос 1. Системное программное обеспечение, его классификация Системное программное обеспечение делится

Вопрос 1. Системное программное обеспечение, его классификация

Системное программное обеспечение делится

на 3 класса:
1. базовое программное обеспечение, или BIOS – программа, которая отвечает за управление всеми компонентами, установленными на материнской плате и предназначена для поддержки функций ввода – вывода; для тестирования оборудования, установленного на материнской плате; для загрузки операционной системы.
Слайд 8

Вопрос 1. Системное программное обеспечение, его классификация 2. операционные системы –

Вопрос 1. Системное программное обеспечение, его классификация

2. операционные системы –

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

Вопрос 1. Системное программное обеспечение, его классификация Операционная система предназначена для

Вопрос 1. Системное программное обеспечение, его классификация

Операционная система предназначена для

управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ. Существуют следующие виды операционных систем: Windows 98, Windows XP Professional, Windows Home Edition, Windows 7, Linux, Unix и др.
Слайд 10

Вопрос 1. Системное программное обеспечение, его классификация Операционные системы для персональных

Вопрос 1. Системное программное обеспечение, его классификация

Операционные системы для персональных

компьютеров делятся на:
– одно- и многозадачные (в зависимости от числа параллельно выполняемых прикладных процессов);
– одно- и многопользовательские (в зависимости от числа пользователей, одновременно работающих с операционной системой);
– непереносимые и переносимые на другие типы компьютеров;
– несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ.
Слайд 11

Вопрос 1. Системное программное обеспечение, его классификация Сетевые операционные системы –

Вопрос 1. Системное программное обеспечение, его классификация

Сетевые операционные системы –

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

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения СЕРВИСНОЕ программное

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения


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

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения драйверы специфических

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения

драйверы специфических и

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

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения программы обслуживания

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения

программы обслуживания

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

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения программы архивирования

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения

программы архивирования

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

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения Утилиты -

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения

Утилиты -

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

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения Наибольшее распространение

Вопрос 1. Системное программное обеспечение, классификация сервисного программного обеспечения

Наибольшее распространение

сегодня имеют комплекты утилит: Norton Utilities - фирма Symantec; Checkit PRO Deliuxe 2.0 - фирма Touch Stone; PC Tools for Windows 2.0; программа резервного копирования HP Colorado Backup for Windows 95.
Слайд 18

Вопрос 2. Прикладное программное обеспечение, его классификация Прикладное программное обеспечение. Данный

Вопрос 2. Прикладное программное обеспечение, его классификация

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

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

Вопрос 2. Прикладное программное обеспечение, его классификация 1. Проблемно-ориентированные ППП. ППП

Вопрос 2. Прикладное программное обеспечение, его классификация

1. Проблемно-ориентированные ППП.
ППП (пакет

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

Вопрос 2. Прикладное программное обеспечение, его классификация Для некоторых предметных областей

Вопрос 2. Прикладное программное обеспечение, его классификация

Для некоторых предметных областей

возможна типизация функций управления, структуры данных и алгоритмов обработки. Это вызвало разработку значительного числа ППП одинакового функционального назначения и, таким образом, создало рынок программных продуктов:
- ППП автоматизированного бухгалтерского учета;
- ППП финансовой деятельности;
- ППП управления персоналом (кадровый учет);
- ППП управления материальными запасами;
- ППП управления производством;
- банковские информационные системы и т. п.
Слайд 21

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: RS-Bank

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
RS-Bank 4.0 -

банковская система.
RS- Balance - сетевой программный комплекс
бухгалтерского учета и др.
Слайд 22

Вопрос 2. Прикладное программное обеспечение, его классификация 2. ППП автоматизированного проектирования

Вопрос 2. Прикладное программное обеспечение, его классификация

2. ППП автоматизированного проектирования
Программы

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

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: AutoCAD

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
AutoCAD R13.
Auto Vision

R1.
Autodesk WorkCentre и др.
Слайд 24

Вопрос 2. Прикладное программное обеспечение, его классификация 3. ППП общего назначения

Вопрос 2. Прикладное программное обеспечение, его классификация

3. ППП общего назначения
Данный

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

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: Visual

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
Visual FoxPro Standart

3.0., Access 2.0 for Windows.,
SQL Server for Windows NT 6.00., dBASE for Windows 5.0.,
Paradox for Windows 7.0., Oracle 7.0., Informix-Online 7.0.,
Microsoft SQL Server 6.0., InterBase 4.0 NetWare.,
SQL Server 6.0 for Windows., Watcom SQL Network Server.,
DB/2 1.2., Intersolv Q+E for Windows., Profit for Windows 1.0.,
Report Smith 2.0 for PC Database., Report Smith 2.0 for SQL DB Servers.,
Cristal Info 4.5., Word for Windows 6.0/7.0., AmiPro 3.0 for Windows.,
WordPerfect for Windows 6.0, Лексикон 2.0 for Windows,
Слайд 26

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: Excel

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
Excel for Windows

5.0/7.0., Quattro Pro 6.0 for Windows.,
Lotus 1-2-3 5.0 for Windows., PowerPoint for Windows 95.,
Screen Cam 1.1 for Windows., Multimedia Viewer. Premier 4.0.,
Freelance Graphics 2.1 for Windows., Autodesk Animator Pro 1.3.,
Autodesk 3D Studio R4, Microsoft Office Standart for Windows95.,
Works for DOS 2.0., Works for Windows 3.0.,
Lotus Notes ViP 1.0., Borland Office., Тройка плюс for Windows и др.
Слайд 27

Вопрос 2. Прикладное программное обеспечение, его классификация 4. Методо-ориентированные ППП Данный

Вопрос 2. Прикладное программное обеспечение, его классификация

4. Методо-ориентированные ППП
Данный класс

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

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: Storm,

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
Storm, LP83, SAS,

SPSS, SYSTAT, StatGraphics,
STADIA, Мезозавр, Эвриста, Time Line 6.0 for Windows, MS Project for Windows, Sure Trak,
Primavera и др.
Слайд 29

Вопрос 2. Прикладное программное обеспечение, его классификация 5. Офисные ППП Данный

Вопрос 2. Прикладное программное обеспечение, его классификация

5. Офисные ППП
Данный класс

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

Вопрос 2. Прикладное программное обеспечение, его классификация Программы-переводчики, средства проверки орфографии

Вопрос 2. Прикладное программное обеспечение, его классификация

Программы-переводчики, средства проверки орфографии и

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

Вопрос 2. Прикладное программное обеспечение, его классификация - Коммуникационные ППП –

Вопрос 2. Прикладное программное обеспечение, его классификация

- Коммуникационные ППП – предназначены

для организации взаимодействия пользователя с удаленными абонентами информационной сети. В условиях развития глобальной информационной сети Internet появился новый класс программного обеспечения – браузеры, средства создания WWW-страниц. Они различаются возможностями поддержки языка HTML, использованием цвета, текста, графики, звука. Большинство браузеров используют язык Java.
Слайд 32

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: cc-Mail

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
cc-Mail WorkGroup, Norton

pcANYWHERE,
WinFax PRO 4.0, NetScape Collabra Share 2.0.,
Novel GroupWise 4.1., Internet Suit, Web Server, Web Author,
Project for Windows95, Money for Windows 3.0,
MS Shedule for Windows 95, Lotus Organizer 2.1,
TimeLine for Windows 6.0, Stylus General for Windows (Eng-Rus-Eng), OCR Tiger for DOS, OCR Tiger Professional v.2,
OCR CuneiForm PRO v. 2.0 for Windows,
LingvoCorrector, Fine Reader 2.0 Standard,
Business Lingvo и др.
Слайд 33

Вопрос 2. Прикладное программное обеспечение, его классификация 6. Настольные издательские системы

Вопрос 2. Прикладное программное обеспечение, его классификация

6. Настольные издательские системы
Данный

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

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: PageMaker

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
PageMaker 6.0 for

Windows.
CorelDraw 6.0.
Corel Ventura 5.0.
Publisher for Windows 95.
Illustrator 4.0 for Windows.
Photoshop 3.0 for Windows и др.
Слайд 35

Вопрос 2. Прикладное программное обеспечение, его классификация 7. Программные средства мультимедиа.

Вопрос 2. Прикладное программное обеспечение, его классификация

7. Программные средства мультимедиа.
Этот

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

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: Sierra

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
Sierra Club Collection.
Outer

Space Collection.
Impressionists Collection.
Bethoven 9th Symphony.
Stravinsky.
Shubert.
Mozart и др.
Слайд 37

Вопрос 2. Прикладное программное обеспечение, его классификация 8. Системы искусственного интеллекта.

Вопрос 2. Прикладное программное обеспечение, его классификация

8. Системы искусственного интеллекта.
Данный

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

Вопрос 2. Прикладное программное обеспечение, его классификация готовые экспертные системы для

Вопрос 2. Прикладное программное обеспечение, его классификация

готовые экспертные системы для принятия

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

Вопрос 2. Прикладное программное обеспечение, его классификация Как правило, интеллектуальный интерфейс

Вопрос 2. Прикладное программное обеспечение, его классификация

Как правило, интеллектуальный интерфейс включает:
диалоговый

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

Вопрос 2. Прикладное программное обеспечение, его классификация Примеры программных продуктов: Интерэксперт, Guru и др.

Вопрос 2. Прикладное программное обеспечение, его классификация

Примеры программных продуктов:
Интерэксперт,
Guru и др.

Слайд 41

Вопрос 3. Жизненный цикл программного обеспечения Жизненный цикл программного обеспечения (ПО)

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

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

период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Стандарты жизненного цикла ПО
ГОСТ 34.601-90
ISO/IEC 12207:1995 (российский аналог — ГОСТ Р ИСО/МЭК 12207-99)
Слайд 42

Вопрос 3. Жизненный цикл программного обеспечения Процессы жизненного цикла ПО Основные:

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

Процессы жизненного цикла ПО
Основные:
Приобретение

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

Процессы жизненного цикла ПО Основные (продолжение): Эксплуатация (действия и задачи оператора

Процессы жизненного цикла ПО

Основные (продолжение):
Эксплуатация (действия и задачи оператора —

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

Процессы жизненного цикла ПО Вспомогательные: Документирование (формализованное описание информации, созданной в

Процессы жизненного цикла ПО

Вспомогательные:
Документирование (формализованное описание информации, созданной в течение

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

Процессы жизненного цикла ПО Вспомогательные (продолжение): Верификация (определение того, что программные

Процессы жизненного цикла ПО

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

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

Процессы жизненного цикла ПО Вспомогательные (продолжение): Аудит (определение соответствия требованиям, планам

Процессы жизненного цикла ПО

Вспомогательные (продолжение):
Аудит (определение соответствия требованиям, планам и условиям

договора)
Разрешение проблем (анализ и решение проблем, независимо от их происхождения или источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов)
Слайд 47

Процессы жизненного цикла ПО Организационные : Управление (действия и задачи, которые

Процессы жизненного цикла ПО

Организационные :
Управление (действия и задачи, которые могут выполняться

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

Процессы жизненного цикла ПО Организационные (продолжение): Усовершенствование (оценка, измерение, контроль и

Процессы жизненного цикла ПО

Организационные (продолжение):
Усовершенствование (оценка, измерение, контроль и усовершенствование процессов

ЖЦ)
Обучение (первоначальное обучение и последующее постоянное повышение квалификации персонала)
Слайд 49

Вопрос 3. Жизненный цикл программного обеспечения Модели жизненного цикла ПО Каскадная

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

Модели жизненного цикла ПО
Каскадная

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

Модели жизненного цикла ПО Этапы проекта в соответствии с каскадной моделью:

Модели жизненного цикла ПО

Этапы проекта в соответствии с каскадной моделью:


Формирование требований;
Проектирование;
Реализация;
Тестирование;
Внедрение;
Эксплуатация и сопровождение.
Слайд 51

Модели жизненного цикла ПО Спиральная модель Спиральная модель (англ. spiral model)

Модели жизненного цикла ПО

Спиральная модель
Спиральная модель (англ. spiral model)

была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования.
Слайд 52

Модели жизненного цикла ПО Прототип — действующий компонент ПО, реализующий отдельные

Модели жизненного цикла ПО

Прототип — действующий компонент ПО, реализующий отдельные функции

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

Модели жизненного цикла ПО На каждой итерации спиральной модели оцениваются: риск

Модели жизненного цикла ПО

На каждой итерации спиральной модели оцениваются:
риск

превышения сроков и стоимости проекта;
необходимость выполнения еще одной итерации;
степень полноты и точности понимания требований к системе;
целесообразность прекращения проекта.
Слайд 54

Модели жизненного цикла ПО Итерационная модель Естественное развитие каскадной и спиральной

Модели жизненного цикла ПО

Итерационная модель
Естественное развитие каскадной и спиральной

моделей привело к их сближению и появлению современного итерационного подхода, который представляет рациональное сочетание этих моделей. Различные варианты итерационного подхода реализованы в большинстве современных технологий и методов (RUP, MSF, XP).
Слайд 55

Вопрос 4. Технологии программирования Программирование — сравнительно молодая и быстро развивающаяся

Вопрос 4. Технологии программирования

Программирование — сравнительно молодая и быстро развивающаяся отрасль науки

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

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

Вопрос 4. Технологии программирования

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

используемых в процессе разработки программного обеспечения.
Изначально понятия технологии программирования как такового не было — это 60-е годы прошлого столетия — это период "стихийного" программирования. В этот период отсутствовало понятие структуры программы, типов данных и т.д. Вследствие этого код получался запутанным, противоречивым. Программирование тех лет считалось искусством. Конец 60-х — кризис в программирование.
Слайд 57

Вопрос 4. Технологии программирования Выход из этого кризиса — переход к

Вопрос 4. Технологии программирования

Выход из этого кризиса — переход к структурной

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

Вопрос 4. Технологии программирования Поддержка принципов структурного программирования была заложена в

Вопрос 4. Технологии программирования

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

так называемых процедурных языков программирования. Как правило, они включали основные "структурные" операторы передачи управления, поддерживали вложение подпрограмм, локализацию и ограничение области "видимости" данных. Среди наиболее известных языков этой группы стоит назвать PL/1, ALGOL-68, Pascal, С.
Слайд 59

Вопрос 4. Технологии программирования Дальнейший рост сложности и размеров разрабатываемого программного

Вопрос 4. Технологии программирования

Дальнейший рост сложности и размеров разрабатываемого программного

обеспечения потребовал развития структурирования данных. Как следствие этого в языках появляется возможность определения пользовательских типов данных. Одновременно усилилось стремление разграничить доступ к глобальным данным программы. В результате появилась и стала развиваться технология модульного программирования.
Слайд 60

Вопрос 4. Технологии программирования Модульное программирование предполагает выделение групп подпрограмм, использующих

Вопрос 4. Технологии программирования

Модульное программирование предполагает выделение групп подпрограмм, использующих

одни и те же глобальные данные, в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов. Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым "внутренним" переменным) запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.
Слайд 61

Вопрос 4. Технологии программирования Объектно-ориентированное программирование (ООП) определяется как технология создания

Вопрос 4. Технологии программирования

Объектно-ориентированное программирование (ООП) определяется как технология создания

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

Вопрос 4. Технологии программирования Объектный подход предлагает новые способы организации программ,

Вопрос 4. Технологии программирования

Объектный подход предлагает новые способы организации программ,

основанные на механизмах наследования, полиморфизма, композиции, наполнения. Эти механизмы позволяют конструировать сложные объекты из сравнительно простых.
Рассмотрим следующие понятия, используемые в ООП:
Объект ООП — это совокупность переменных состояния и связанных с ними методов (операций). Упомянутые методы определяют, как объект взаимодействует с окружающим миром.
Слайд 63

Вопрос 4. Технологии программирования Под методами объекта понимают процедуры и функции,

Вопрос 4. Технологии программирования

Под методами объекта понимают процедуры и функции,

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

Вопрос 4. Технологии программирования Наследование — это процесс, посредством которого один

Вопрос 4. Технологии программирования

Наследование — это процесс, посредством которого один объект может

наследовать свойства другого объекта и добавлять к ним черты, характерные только для него. В итоге создаётся иерархия объектных типов, где поля данных и методов "предков" автоматически являются и полями данных и методов "потомков".
Смысл и универсальность наследования заключается в том, что не надо каждый раз заново ("с нуля") описывать новый объект, а можно указать "родителя" (базовый класс) и описать отличительные особенности нового класса.
Слайд 65

Вопрос 4. Технологии программирования Полиморфизм — это свойство, которое позволяет одно

Вопрос 4. Технологии программирования

Полиморфизм — это свойство, которое позволяет одно и

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

Вопрос 4. Технологии программирования Современная технология программирования — компонентный подход, который

Вопрос 4. Технологии программирования

Современная технология программирования — компонентный подход, который предполагает

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

Вопрос 4. Технологии программирования Компонентный подход лежит в основе технологий, разработанных

Вопрос 4. Технологии программирования

Компонентный подход лежит в основе технологий, разработанных

на базе COM (Component Object Model — компонентная модель объектов), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture — общая архитектура с посредником обработки запросов объектов). Эти технологии используют сходные принципы и различаются лишь особенностями их реализации.
Слайд 68

Вопрос 4. Технологии программирования Технология СОМ фирмы Microsoft является развитием технологии

Вопрос 4. Технологии программирования

Технология СОМ фирмы Microsoft является развитием технологии

OLE (Object Linking and Embedding — связывание и внедрение объектов), которая использовалась в ранних версиях Windows для создания составных документов. Технология СОМ определяет общую парадигму взаимодействия программ любых типов: библиотек, приложений, операционных систем, независимо от того, функционируют ли эти программы на одном компьютере или на разных компьютерах. Модификация СОМ, обеспечивающая передачу вызовов между компьютерами, называется DCOM (Distributed COM — распределенная СОМ).