SlideShare una empresa de Scribd logo
1 de 20
1
Часть 1.
Введение в технологию
программирования
(©) Владислав Лавров, vlavrov.com
Методы и средства проектирования
информационных систем и технологий
2
1.1. Программа как формализованное
описание процесса обработки данных.
Программное средство.
Данные
- это представление фактов и идей в формализованном
виде, пригодном для передачи и переработки в некоем
процессе
Информация
- это смысл, который придаётся данным при их
представлении
Обработка данных
- это выполнение систематической последовательности
действий с данными
Носители данных
- материальные объекты, способные хранить данные
(©) Владислав Лавров, vlavrov.com
3
Информационная среда
- совокупность носителей данных, используемых при
какой-либо обработке данных
Состояние информационной среды
- набор данных, содержащихся в какой-либо момент в
информационной среде
Процесс
- последовательность сменяющих друг друга состояний
некоторой информационной среды
Программа
- формализованное описание процесса
Программное средство (программный продукт)
- программа или логически связанная совокупность
программ на носителях данных, снабжённая
программной документацией
(©) Владислав Лавров, vlavrov.com
4
Алгоритм
- это точное предписание, определяющее
вычислительный процесс, идущий от
варьируемых исходных данных к искомому
результату
Марков, Андрей Андреевич (1856-1922)
— выдающийся русский математик,
внёсший большой вклад в теорию
вероятности, математический анализ и
теорию чисел.
1.2. Алгоритмы
(©) Владислав Лавров, vlavrov.com
5
Алгоритм
- это всякая система вычислений, выполняемых по
строго определённым правилам, которая после
какого-либо числа шагов заведомо приводит к
решению поставленной задачи
Колмогоров Андрей Николаевич (1903-1987) —
выдающийся советский математик, доктор физико-
математических наук, профессор Московского
Государственного Университета (1931), академик
Академии Наук СССР (1939), лауреат Сталинской
премии, Герой Социалистического Труда.
Колмогоров — один из основоположников
современной теории вероятностей, им получены
фундаментальные результаты в топологии,
математической логике, теории турбулентности,
теории сложности алгоритмов и ряде других
областей математики и её приложений.
(©) Владислав Лавров, vlavrov.com
6
Алгоритм
- это строго детерминированная
последовательность действий, описывающая
процесс преобразования объекта из начального
состояния в конечное, записанная с помощью
понятных исполнителю команд
Угринович, Николай Дмитриевич
Заведующий лабораторией информационных технологий Московского
института открытого образования, автор многочисленных учебных и
методических пособий по курсу информатики, а также нового учебного и
программно-методического комплекса по курсу информатики и
информационных технологий.
(©) Владислав Лавров, vlavrov.com
7
Алгоритм
- это точное и конечное описание того или
иного общего метода, основанного на
применении исполнимых элементарных
тактов обработки.
(©) Владислав Лавров, vlavrov.com
8
Свойства алгоритма (Д.Кнут)
Дональд Эрвин Кнут (род. 1938) — американский учёный, почётный
профессор Стэнфордского университета и нескольких других
университетов в разных странах, преподаватель и идеолог
программирования, автор 19 монографий (в том числе ряда
классических книг по программированию) и более 160 статей,
разработчик нескольких известных программных технологий. Автор
всемирно известной серии книг, посвящённой основным
алгоритмам и методам вычислительной математики, а также
создатель настольных издательских систем TEX и METAFONT,
предназначенных для набора и вёрстки книг, посвящённых
технической тематике (в первую очередь — физико-
математических).
1. Конечность
2. Определенность (детерминированность)
3. Наличие входных данных
4. Наличие выходных данных
5. Эффективность
(©) Владислав Лавров, vlavrov.com
9
1.3. Модели и моделирование
Модель
- упрощенное представление реальности. Это
такой материально или мысленно
представляемый объект, который в процессе
исследования замещает объект-оригинал так,
что его непосредственное изучение дает новые
знания об объекте-оригинале.
Моделирование
- метод исследования систем на основе
переноса изучаемых свойств системы на
объекты другой природы
(©) Владислав Лавров, vlavrov.com
10
Принципы моделирования
(Буч Г., Рамбо Д. и Джекобсон А. )
Гради Буч (род. 1955 г.) - американский инженер,
руководитель исследований в IBM Research. Гради Буч
наиболее известен как создатель унифицированного языка
моделирования UML, который он разработал совместно с
Иваром Якобсоном и Джеймсом Рамбо.
Буч Г., Рамбо Д., Джекобсон А.
Язык UML. Руководство пользователя.
- М.: ДМК, 2000. 432 с.
(©) Владислав Лавров, vlavrov.com
11
Принципы моделирования
(Буч Г., Рамбо Д. и Джекобсон А. )
1. Выбор модели оказывает определяющее влияние
на подход к решению проблемы и на то,
как будет выглядеть это решение.
2. Каждая модель может быть воплощена с разной
степенью абстракции. При этом переход от одной
степени абстракции к другой дает нам новую модель.
3. Лучшими моделями являются те, которые ближе
к реальности по некоторому выбранному критерию.
4. Следует использовать совокупность нескольких
моделей.
(©) Владислав Лавров, vlavrov.com
12
1.4. Замечания по поводу понятия
правильной программы
1. Понятие ошибки в программе является существенно неформальным
«В программе имеется ошибка, если она не выполняет того, что
разумно ожидать от нее пользователю» [Гленфорд Майерс]
«Разумное ожидание» пользователя формируется на основании
документации по применению этой программы.
2. Причиной ошибки в этом случае может оказаться сама
функциональная спецификация, а не программа
3. Нельзя доказать формальными методами (математически)
правильность программы
4. Нельзя доказать тестированием правильность программы.
Тестирование может лишь продемонстрировать наличие в программе
ошибки [Эдсгер Дeйкстра ]
Следствия:
(©) Владислав Лавров, vlavrov.com
13
1.5. Надежность программного средства
Надежность программного средства
- это его способность безотказно выполнять
определенные функции при заданных условиях в
течение заданного периода времени с достаточно
большой вероятностью
Отказ программного средства
- проявление в нем ошибки
Надежное программное средство (ПС) не исключает
наличия в нем ошибок.
Важно лишь, чтобы эти ошибки при практическом
применении этого ПС в заданных условиях проявлялись
достаточно редко
Следствие:
(©) Владислав Лавров, vlavrov.com
14
1.6. Технология программирования
как технология разработки надежных
программных средств
Технология программирования
совокупность производственных методов и процессов,
приводящую к созданию требуемого программного
средства, а также описание этой совокупности процессов
Процесс
совокупность взаимосвязанных действий (процедур),
преобразующих некоторые входные данные в выходные
Стадия
часть действий по созданию программного обеспечения,
ограниченная некоторыми временными рамками и
заканчивающаяся выпуском конкретного продукта,
определяемого заданными для данной стадии
требованиями
(©) Владислав Лавров, vlavrov.com
15
Пример каскадного технологического подхода
к ведению жизненного цикла
Технологический подход
специфическая комбинация стадий и процессов,
ориентированных на разные классы программного
обеспечения, особенности коллектива разработчиков, а
также условия, в которых оно создается и
функционирует.
(©) Владислав Лавров, vlavrov.com
16
Жизненный цикл программного обеспечения
- весь период его разработки и эксплуатации, начиная с
момента возникновения замысла и заканчивая
прекращением всех видов его использования.
(©) Владислав Лавров, vlavrov.com
17
1.7. Функции профессиональных программистов
1. Разработка систем большого объема.
2. Создание системного и инструментального программного
обеспечения
3. Разработка программною продукта с предъявлением
особых требований к качеству и эффективности.
4. Разработка программ на основе подхода открытых систем
5. Применение системного анализа
(©) Владислав Лавров, vlavrov.com
18
1.8. Черты и особенности мышления программистов
• Способность определить архитектуру программы.
• Умение видеть задачу одновременно на разных уровнях
детализации.
• Умение представлять себе проектируемый процесс в
динамике.
• Разработка программ на основе подхода открытых
систем.
• Умение видеть дальше одной разрабатываемой в данный
момент программы.
• Умение обобщать типичные ситуации.
• Умение применять и комбинировать хорошо известные
программистские приёмы и типовые алгоритмы.
(©) Владислав Лавров, vlavrov.com
19
• Наличие комплексного мышления.
• Культура собственного труда.
• Способность анализировать собственные
ошибки.
• Умение работать в коллективе.
• Умение работать с пользователем.
• Владение интеллектуальными средствами.
Черты и особенности мышления программистов
(продолжение)
(©) Владислав Лавров, vlavrov.com
20
Основная задача
Создание высококачественного
программного обеспечения
Последовательность решения
Методология
программирования
Технологический
подход
Инструментальные
средства разработки
1.9. Основная задача профессионального
программирования
(©) Владислав Лавров, vlavrov.com

Más contenido relacionado

La actualidad más candente

чмв лабораторная №3
чмв   лабораторная №3чмв   лабораторная №3
чмв лабораторная №3student_kai
 
чмв лекция №6
чмв   лекция №6чмв   лекция №6
чмв лекция №6student_kai
 
чмв лекция №5
чмв   лекция №5чмв   лекция №5
чмв лекция №5student_kai
 
чмв лабораторная №2
чмв   лабораторная №2чмв   лабораторная №2
чмв лабораторная №2student_kai
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7student_kai
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation processDima Dzuba
 
чмв лабораторная №1
чмв   лабораторная №1чмв   лабораторная №1
чмв лабораторная №1student_kai
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияRauan Ibraikhan
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных системDima Dzuba
 

La actualidad más candente (20)

МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)
 
МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)
 
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
Методоллогии Agile
 
Составные части объектного подхода
Составные части объектного подходаСоставные части объектного подхода
Составные части объектного подхода
 
лекция № 12
лекция № 12лекция № 12
лекция № 12
 
ООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсыООП. Рекомендуемые информационные ресурсы
ООП. Рекомендуемые информационные ресурсы
 
чмв лабораторная №3
чмв   лабораторная №3чмв   лабораторная №3
чмв лабораторная №3
 
чмв лекция №6
чмв   лекция №6чмв   лекция №6
чмв лекция №6
 
чмв лекция №5
чмв   лекция №5чмв   лекция №5
чмв лекция №5
 
чмв лабораторная №2
чмв   лабораторная №2чмв   лабораторная №2
чмв лабораторная №2
 
чмв лекция №7
чмв   лекция №7чмв   лекция №7
чмв лекция №7
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
Интерфейсы
ИнтерфейсыИнтерфейсы
Интерфейсы
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation process
 
чмв лабораторная №1
чмв   лабораторная №1чмв   лабораторная №1
чмв лабораторная №1
 
Dotnet
DotnetDotnet
Dotnet
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных систем
 
жц (2)
жц (2)жц (2)
жц (2)
 

Destacado

Destacado (20)

Управление данными (литература)
Управление данными (литература)Управление данными (литература)
Управление данными (литература)
 
Управление данными (Введение в СУБД)
Управление данными (Введение в СУБД)Управление данными (Введение в СУБД)
Управление данными (Введение в СУБД)
 
Информатика (эффективный поиск в Интернет)
Информатика (эффективный поиск в Интернет)Информатика (эффективный поиск в Интернет)
Информатика (эффективный поиск в Интернет)
 
1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ1. Кафедра ТИМ УрФУ
1. Кафедра ТИМ УрФУ
 
Управление данными (модели данных)
Управление данными (модели данных)Управление данными (модели данных)
Управление данными (модели данных)
 
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУОбразовательная программа ИСТ на кафедре ТИМ УрФУ
Образовательная программа ИСТ на кафедре ТИМ УрФУ
 
Управление данными (sql)
Управление данными (sql)Управление данными (sql)
Управление данными (sql)
 
Управление данными (распределенная обработка)
Управление данными (распределенная обработка)Управление данными (распределенная обработка)
Управление данными (распределенная обработка)
 
3. Общая характеристика АСУ
3. Общая характеристика АСУ3. Общая характеристика АСУ
3. Общая характеристика АСУ
 
Управление данными (реляционная модель)
Управление данными (реляционная модель)Управление данными (реляционная модель)
Управление данными (реляционная модель)
 
Управление данными (дополнительно)
Управление данными (дополнительно)Управление данными (дополнительно)
Управление данными (дополнительно)
 
Управление данными. Основы проектирования БД
Управление данными. Основы проектирования БДУправление данными. Основы проектирования БД
Управление данными. Основы проектирования БД
 
Управление данными (хранилища данных и OLAP)
Управление данными (хранилища данных и OLAP)Управление данными (хранилища данных и OLAP)
Управление данными (хранилища данных и OLAP)
 
Управление данными (транзакции)
Управление данными (транзакции)Управление данными (транзакции)
Управление данными (транзакции)
 
Информатика (рекомендуемые информационные ресурсы)
Информатика (рекомендуемые информационные ресурсы)Информатика (рекомендуемые информационные ресурсы)
Информатика (рекомендуемые информационные ресурсы)
 
Информатика (архитектура ПО)
Информатика (архитектура ПО)Информатика (архитектура ПО)
Информатика (архитектура ПО)
 
Проектирование БД (литература)
Проектирование БД (литература)Проектирование БД (литература)
Проектирование БД (литература)
 
Информатика (прикладное ПО)
Информатика (прикладное ПО)Информатика (прикладное ПО)
Информатика (прикладное ПО)
 
информатика (информация и информатика)
информатика (информация и информатика)информатика (информация и информатика)
информатика (информация и информатика)
 
Информатика (СУБД)
Информатика (СУБД)Информатика (СУБД)
Информатика (СУБД)
 

Similar a МиСПИСиТ (введение)

методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)romachka_pole
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Andrii Gakhov
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Unguryan Vitaliy
 
Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...Ilya Nikitin
 
метод Oracle (45)
метод Oracle (45)метод Oracle (45)
метод Oracle (45)romachka_pole
 
Современна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияСовременна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияMarcus Akoev
 
лабораторная работа № 1
лабораторная работа № 1лабораторная работа № 1
лабораторная работа № 1Gulnaz Shakirova
 
заявка петелин 3
заявка петелин 3заявка петелин 3
заявка петелин 3dgim
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
программное обеспечение современного компьютера. пшеничникова
программное обеспечение современного компьютера. пшеничниковапрограммное обеспечение современного компьютера. пшеничникова
программное обеспечение современного компьютера. пшеничниковаghostofthedream
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.Igor Shkulipa
 
04 1 информатика 10-11. книга 1-шауцукова_2004
04 1  информатика 10-11. книга 1-шауцукова_200404 1  информатика 10-11. книга 1-шауцукова_2004
04 1 информатика 10-11. книга 1-шауцукова_2004psvayy
 
Ситуационная инженерия методов
Ситуационная инженерия методовСитуационная инженерия методов
Ситуационная инженерия методовAnatoly Levenchuk
 
Современное состояние средств разработки мобильных приложений на платформах i...
Современное состояние средств разработки мобильных приложений на платформах i...Современное состояние средств разработки мобильных приложений на платформах i...
Современное состояние средств разработки мобильных приложений на платформах i...Scientific and Educational Initiative
 

Similar a МиСПИСиТ (введение) (20)

методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
 
пр 2 ПО.docx
пр 2 ПО.docxпр 2 ПО.docx
пр 2 ПО.docx
 
Lection 3 4_pm
Lection 3 4_pmLection 3 4_pm
Lection 3 4_pm
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
 
Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...
 
метод Oracle (45)
метод Oracle (45)метод Oracle (45)
метод Oracle (45)
 
Современна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияСовременна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерия
 
IT Project Life cycle
IT Project Life cycleIT Project Life cycle
IT Project Life cycle
 
лабораторная работа № 1
лабораторная работа № 1лабораторная работа № 1
лабораторная работа № 1
 
заявка петелин 3
заявка петелин 3заявка петелин 3
заявка петелин 3
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
программное обеспечение современного компьютера. пшеничникова
программное обеспечение современного компьютера. пшеничниковапрограммное обеспечение современного компьютера. пшеничникова
программное обеспечение современного компьютера. пшеничникова
 
лекция 5 (2часа)
лекция 5 (2часа)лекция 5 (2часа)
лекция 5 (2часа)
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
 
04 1 информатика 10-11. книга 1-шауцукова_2004
04 1  информатика 10-11. книга 1-шауцукова_200404 1  информатика 10-11. книга 1-шауцукова_2004
04 1 информатика 10-11. книга 1-шауцукова_2004
 
Ситуационная инженерия методов
Ситуационная инженерия методовСитуационная инженерия методов
Ситуационная инженерия методов
 
лекция № 11
лекция № 11лекция № 11
лекция № 11
 
Lekcia14
Lekcia14Lekcia14
Lekcia14
 
Современное состояние средств разработки мобильных приложений на платформах i...
Современное состояние средств разработки мобильных приложений на платформах i...Современное состояние средств разработки мобильных приложений на платформах i...
Современное состояние средств разработки мобильных приложений на платформах i...
 

Más de Ural Federal University named after First President of Russia B.N. Yeltsin

Más de Ural Federal University named after First President of Russia B.N. Yeltsin (20)

2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.2016 ВКР Черемискина Н.А.
2016 ВКР Черемискина Н.А.
 
2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.2016 ВКР Гребнева Н.В.
2016 ВКР Гребнева Н.В.
 
2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.2016 ВКР Имашева А.А.
2016 ВКР Имашева А.А.
 
Введение в методы agile
Введение в методы agileВведение в методы agile
Введение в методы agile
 
3. Информация и ее роль
3. Информация и ее роль3. Информация и ее роль
3. Информация и ее роль
 
Наследование и полиморфизм
Наследование и полиморфизмНаследование и полиморфизм
Наследование и полиморфизм
 
Классы и объекты С#
Классы и объекты С#Классы и объекты С#
Классы и объекты С#
 
магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 09.04.02 ист на кафедре тим урфу+
 
магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+магистратура 22.04.02 металлургия на кафедре тим+
магистратура 22.04.02 металлургия на кафедре тим+
 
1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+1.5 тп (технологические подходы)+
1.5 тп (технологические подходы)+
 
1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+1.4 тп (общие принципы разработки)+
1.4 тп (общие принципы разработки)+
 
1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+1.3 тп (источники ошибок)+
1.3 тп (источники ошибок)+
 
2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД2014 Сабиров Е.Р. презентация КП по ПБД
2014 Сабиров Е.Р. презентация КП по ПБД
 
2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД2014 Мищенко К.В. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД
 
2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД2014 Пильщиков С.Н. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД
 
2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю2014 диплом Терехова А.Ю
2014 диплом Терехова А.Ю
 
2014 диплом Мухаметшин Р.Р
2014 диплом Мухаметшин Р.Р2014 диплом Мухаметшин Р.Р
2014 диплом Мухаметшин Р.Р
 
Тест драйв на кафедре ТИМ 9 января 2014
Тест драйв на кафедре ТИМ 9 января 2014Тест драйв на кафедре ТИМ 9 января 2014
Тест драйв на кафедре ТИМ 9 января 2014
 
2013 Пильщиков С.Н. Курсовая работа по ТРПО
2013 Пильщиков С.Н. Курсовая работа по ТРПО2013 Пильщиков С.Н. Курсовая работа по ТРПО
2013 Пильщиков С.Н. Курсовая работа по ТРПО
 
2013 Сабиров Е.Р. Курсовая работа по ТРПО
2013 Сабиров Е.Р. Курсовая работа по ТРПО2013 Сабиров Е.Р. Курсовая работа по ТРПО
2013 Сабиров Е.Р. Курсовая работа по ТРПО
 

МиСПИСиТ (введение)

  • 1. 1 Часть 1. Введение в технологию программирования (©) Владислав Лавров, vlavrov.com Методы и средства проектирования информационных систем и технологий
  • 2. 2 1.1. Программа как формализованное описание процесса обработки данных. Программное средство. Данные - это представление фактов и идей в формализованном виде, пригодном для передачи и переработки в некоем процессе Информация - это смысл, который придаётся данным при их представлении Обработка данных - это выполнение систематической последовательности действий с данными Носители данных - материальные объекты, способные хранить данные (©) Владислав Лавров, vlavrov.com
  • 3. 3 Информационная среда - совокупность носителей данных, используемых при какой-либо обработке данных Состояние информационной среды - набор данных, содержащихся в какой-либо момент в информационной среде Процесс - последовательность сменяющих друг друга состояний некоторой информационной среды Программа - формализованное описание процесса Программное средство (программный продукт) - программа или логически связанная совокупность программ на носителях данных, снабжённая программной документацией (©) Владислав Лавров, vlavrov.com
  • 4. 4 Алгоритм - это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату Марков, Андрей Андреевич (1856-1922) — выдающийся русский математик, внёсший большой вклад в теорию вероятности, математический анализ и теорию чисел. 1.2. Алгоритмы (©) Владислав Лавров, vlavrov.com
  • 5. 5 Алгоритм - это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи Колмогоров Андрей Николаевич (1903-1987) — выдающийся советский математик, доктор физико- математических наук, профессор Московского Государственного Университета (1931), академик Академии Наук СССР (1939), лауреат Сталинской премии, Герой Социалистического Труда. Колмогоров — один из основоположников современной теории вероятностей, им получены фундаментальные результаты в топологии, математической логике, теории турбулентности, теории сложности алгоритмов и ряде других областей математики и её приложений. (©) Владислав Лавров, vlavrov.com
  • 6. 6 Алгоритм - это строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд Угринович, Николай Дмитриевич Заведующий лабораторией информационных технологий Московского института открытого образования, автор многочисленных учебных и методических пособий по курсу информатики, а также нового учебного и программно-методического комплекса по курсу информатики и информационных технологий. (©) Владислав Лавров, vlavrov.com
  • 7. 7 Алгоритм - это точное и конечное описание того или иного общего метода, основанного на применении исполнимых элементарных тактов обработки. (©) Владислав Лавров, vlavrov.com
  • 8. 8 Свойства алгоритма (Д.Кнут) Дональд Эрвин Кнут (род. 1938) — американский учёный, почётный профессор Стэнфордского университета и нескольких других университетов в разных странах, преподаватель и идеолог программирования, автор 19 монографий (в том числе ряда классических книг по программированию) и более 160 статей, разработчик нескольких известных программных технологий. Автор всемирно известной серии книг, посвящённой основным алгоритмам и методам вычислительной математики, а также создатель настольных издательских систем TEX и METAFONT, предназначенных для набора и вёрстки книг, посвящённых технической тематике (в первую очередь — физико- математических). 1. Конечность 2. Определенность (детерминированность) 3. Наличие входных данных 4. Наличие выходных данных 5. Эффективность (©) Владислав Лавров, vlavrov.com
  • 9. 9 1.3. Модели и моделирование Модель - упрощенное представление реальности. Это такой материально или мысленно представляемый объект, который в процессе исследования замещает объект-оригинал так, что его непосредственное изучение дает новые знания об объекте-оригинале. Моделирование - метод исследования систем на основе переноса изучаемых свойств системы на объекты другой природы (©) Владислав Лавров, vlavrov.com
  • 10. 10 Принципы моделирования (Буч Г., Рамбо Д. и Джекобсон А. ) Гради Буч (род. 1955 г.) - американский инженер, руководитель исследований в IBM Research. Гради Буч наиболее известен как создатель унифицированного языка моделирования UML, который он разработал совместно с Иваром Якобсоном и Джеймсом Рамбо. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. - М.: ДМК, 2000. 432 с. (©) Владислав Лавров, vlavrov.com
  • 11. 11 Принципы моделирования (Буч Г., Рамбо Д. и Джекобсон А. ) 1. Выбор модели оказывает определяющее влияние на подход к решению проблемы и на то, как будет выглядеть это решение. 2. Каждая модель может быть воплощена с разной степенью абстракции. При этом переход от одной степени абстракции к другой дает нам новую модель. 3. Лучшими моделями являются те, которые ближе к реальности по некоторому выбранному критерию. 4. Следует использовать совокупность нескольких моделей. (©) Владислав Лавров, vlavrov.com
  • 12. 12 1.4. Замечания по поводу понятия правильной программы 1. Понятие ошибки в программе является существенно неформальным «В программе имеется ошибка, если она не выполняет того, что разумно ожидать от нее пользователю» [Гленфорд Майерс] «Разумное ожидание» пользователя формируется на основании документации по применению этой программы. 2. Причиной ошибки в этом случае может оказаться сама функциональная спецификация, а не программа 3. Нельзя доказать формальными методами (математически) правильность программы 4. Нельзя доказать тестированием правильность программы. Тестирование может лишь продемонстрировать наличие в программе ошибки [Эдсгер Дeйкстра ] Следствия: (©) Владислав Лавров, vlavrov.com
  • 13. 13 1.5. Надежность программного средства Надежность программного средства - это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью Отказ программного средства - проявление в нем ошибки Надежное программное средство (ПС) не исключает наличия в нем ошибок. Важно лишь, чтобы эти ошибки при практическом применении этого ПС в заданных условиях проявлялись достаточно редко Следствие: (©) Владислав Лавров, vlavrov.com
  • 14. 14 1.6. Технология программирования как технология разработки надежных программных средств Технология программирования совокупность производственных методов и процессов, приводящую к созданию требуемого программного средства, а также описание этой совокупности процессов Процесс совокупность взаимосвязанных действий (процедур), преобразующих некоторые входные данные в выходные Стадия часть действий по созданию программного обеспечения, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта, определяемого заданными для данной стадии требованиями (©) Владислав Лавров, vlavrov.com
  • 15. 15 Пример каскадного технологического подхода к ведению жизненного цикла Технологический подход специфическая комбинация стадий и процессов, ориентированных на разные классы программного обеспечения, особенности коллектива разработчиков, а также условия, в которых оно создается и функционирует. (©) Владислав Лавров, vlavrov.com
  • 16. 16 Жизненный цикл программного обеспечения - весь период его разработки и эксплуатации, начиная с момента возникновения замысла и заканчивая прекращением всех видов его использования. (©) Владислав Лавров, vlavrov.com
  • 17. 17 1.7. Функции профессиональных программистов 1. Разработка систем большого объема. 2. Создание системного и инструментального программного обеспечения 3. Разработка программною продукта с предъявлением особых требований к качеству и эффективности. 4. Разработка программ на основе подхода открытых систем 5. Применение системного анализа (©) Владислав Лавров, vlavrov.com
  • 18. 18 1.8. Черты и особенности мышления программистов • Способность определить архитектуру программы. • Умение видеть задачу одновременно на разных уровнях детализации. • Умение представлять себе проектируемый процесс в динамике. • Разработка программ на основе подхода открытых систем. • Умение видеть дальше одной разрабатываемой в данный момент программы. • Умение обобщать типичные ситуации. • Умение применять и комбинировать хорошо известные программистские приёмы и типовые алгоритмы. (©) Владислав Лавров, vlavrov.com
  • 19. 19 • Наличие комплексного мышления. • Культура собственного труда. • Способность анализировать собственные ошибки. • Умение работать в коллективе. • Умение работать с пользователем. • Владение интеллектуальными средствами. Черты и особенности мышления программистов (продолжение) (©) Владислав Лавров, vlavrov.com
  • 20. 20 Основная задача Создание высококачественного программного обеспечения Последовательность решения Методология программирования Технологический подход Инструментальные средства разработки 1.9. Основная задача профессионального программирования (©) Владислав Лавров, vlavrov.com