Технологии программирования (факультатив): различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
Строка 66: | Строка 66: | ||
и другие способы создания диаграмм с целью описания процессов управления: | и другие способы создания диаграмм с целью описания процессов управления: | ||
{{#ask: [[Категория:Diagrams]] [[Field_of_knowledge::Управление]] [[Description::+]] | ?Description }} | {{#ask: [[Категория:Diagrams]] [[Field_of_knowledge::Управление]] [[Environment::PlantUML]] [[Description::+]] | ?Description }} | ||
=== Тема 3. Жизненный цикл программы. Модели жизненного цикла === | === Тема 3. Жизненный цикл программы. Модели жизненного цикла === |
Версия 20:17, 22 февраля 2023
Планируемые результаты обучения (Знать, Уметь, Владеть) | Целью освоения дисциплины является формирование у студентов понимания принципов разработки программного обеспечения. Результаты обучения: обучающийся понимает, как устроен процесс разработки программного обеспечения
|
---|---|
Содержание разделов курса |
|
Видео запись | |
Среды и средства, которые поддерживают учебный курс | UML, Mermaid, Graphviz |
Книги, на которых основывается учебный курс | Head First. Паттерны проектирования, Мифический человеко-месяц или как создаются программные системы, СИСТЕМНАЯ ИНЖЕНЕРИЯ — 2022, Разработка компьютерных учебников и обучающих систем |
Содержание разделов дисциплины:
Тема 1. Классификация программных средств
- Классификация языков программирования
- https://www.acm.org/publications/computing-classification-system/1998/d.3.2
Тема 2. Требования к программному обеспечению
Полезное текстовое описание программы
- Назначение. Что является главной функцией программы и причиной ее написания?
- Среда. На каких машинах, аппаратных конфигурациях и конфигурациях операционной системы будет она работать?
- Область определения и область значений. Каковы допустимые значения входных данных? Какие правильные значения выходных результатов можно ожидать?
- Реализованные функции и использованные алгоритмы. Что конкретно может делать программа?
- Форматы ввода(вывода, точные и полные.
- Инструкция по работе, в том числе описание вывода на консоль и устройство вывода при нормальном и аварийном завершении.
- Опции. Какой выбор предоставляется пользователю в отношении функций? Каким образом его нужно задавать?
- Время работы. Сколько времени занимает решение задачи заданного размера на заданной конфигурации?
- Точность и проверка. Какова ожидаемая точность результатов? Какие имеются средства проверки точности?
Требования к программе в форме UML
- Классификация требований (диаграмма) (graphviz)
- Диаграмма прецедентов (use cases)
- Диаграмма пути пользователя (User Journey)
и другие способы создания диаграмм с целью описания процессов управления:
Description | |
---|---|
Activity diagram | Простые и очень понятные диаграммы алгоритмов - последовательность совершаемых действий. Возможно с проверкой результатов. |
Fork | Диаграммы ветвления (Fork) |
Use Case Diagram | UML — диаграмма, отражающая отношения между акторами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне. Прецедент — возможность моделируемой системы (часть её функциональности), благодаря которой пользователь может получить конкретный, измеримый и нужный ему результат. Диаграмма вариантов использования - это визуальное представление, используемое в программной инженерии для отображения взаимодействий между участниками системы и самой системой. Она отражает динамическое поведение системы, иллюстрируя ее сценарии использования и роли, которые с ними взаимодействуют. Эти диаграммы необходимы для уточнения функциональных требований к системе и понимания того, как пользователи будут взаимодействовать с системой. |
Диаграмма деятельности | Диагра́мма де́ятельности (Activity Diagram) — диаграмма, на которой показаны действия, состояния которых описаны на диаграммах состояний. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла ко входам другого. |
Диаграмма класса профессиональный стандарт | Пример использования диаграммы классов classDiagram для понятия профессиональный стандарт. Профессиональный стандарт описывается как Профессия, для который необходим набор трудовых функций. Каждая функция предполагает действия, знания, умения и другие характеристики |
Диаграмма классов | Диаграмма классов (англ. class diagram) — структурная диаграмма языка моделирования UML, демонстрирующая общую структуру иерархии классов системы, их коопераций, атрибутов (полей), методов, интерфейсов и взаимосвязей (отношений) между ними. Целью создания диаграммы классов является графическое представление статической структуры декларативных элементов системы (классов, типов и т. п.). Целью создания диаграммы классов является графическое представление статической структуры декларативных элементов системы (классов, типов и т. п.) |
Диаграмма последовательности | Диаграмма последовательности (англ. sequence diagram) — UML-диаграмма, на которой для некоторого набора объектов на единой временной оси показан жизненный цикл объекта (создание-деятельность-уничтожение некой сущности) и взаимодействие акторов (действующих лиц) информационной системы в рамках прецедента. Основными элементами диаграммы последовательности являются обозначения объектов (прямоугольники с названиями объектов), вертикальные «линии жизни» (англ. lifeline), отображающие течение времени, прямоугольники, отражающие деятельность объекта или исполнение им определенной функции (прямоугольники на пунктирной «линии жизни» — фокусы контроля, англ. focus of control), и стрелки, показывающие обмен сигналами или сообщениями между объектами. |
Диаграмма состояний |
|
Тема 3. Жизненный цикл программы. Модели жизненного цикла
Тема 4. Организация процесса разработки программного обеспечения
- Использовать различные подходы к организации процесса разработки программного обеспечения.
Тема 5. Общие принципы разработки программного обеспечения и разработки учебных материалов
- Структурное программирование
- Переносить принципы разработки программного обеспечения на разработку учебных материалов и организацию учебного процесса.
Тема 6. UML
- Использовать различные виды UML диаграмм для описания и проектирования программного обеспечения.
Диаграмма классов
Диаграмма Ганта
Тема 7. Среды коллективной разработки программного обеспечения
Использовать цифровые средства и среды коллективной разработки программного обеспечения.
Критерии оценки по дисциплине
Образовательный результат | Тема | Задание | Пример |
---|---|---|---|
Находить, описывать и классифицировать программные средства | Классификация программных средств | Принять участие в обсуждении классификации программных средств, привести собственные примеры программных средств см ACM_Digital_Library
|
Категория:DigitalTool + Категория:Book |
Использовать общепринятые и предлагать собственные основания для категоризации программных средств | Классификация программных средств | Используя WebGrid соберите поле своих собственных представлений о программных средствах | |
Сравнивать между собой программные средства, предназначенные для решения сходных задач. | Классификация программных средств | На примере сравнения средств обучения программированию Категория:DigitalTool , обучающих играх Категория:DEG , средствах создания диаграмм Категория:Diagrams , средствах анализа библиометрических данных, средах анализа данных Категория:Dataset, средах выращивания данных. | TheBrain, ShinyItemAnalysis, VUE, VOSviewer + ChatbotACM (dataset), NetLogo + StarLogo Nova |
Формулировать требования к программному обеспечению. | Требования к программному обеспечению | ? | Примеры требований |
Объяснять и изображать при помощи диаграмм модели жизненного цикла программ. | Жизненный цикл программ | ? | ? |
Использовать различные подходы к организации процесса разработки программного обеспечения. | Организация процесса разработки программного обеспечения | ? | ? |
Переносить принципы разработки программного обеспечения на разработку учебных материалов и организацию учебного процесса. | Общие принципы разработки программного обеспечения и разработки учебных материалов | ? | ? |
Использовать различные виды UML диаграмм для описания и проектирования программного обеспечения | UML диаграммы в проектировании программного обеспечения | Создание и описание собственных UML диаграмм | Категория:Diagrams |
Использовать цифровые средства и среды коллективной разработки программного обеспечения. | Среды коллективной разработки программного обеспечения. | ? | ? |
? | ? | ? |