Технологии программирования (факультатив): различия между версиями
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
Строка 70: | Строка 70: | ||
=== Тема 3. Жизненный цикл программы. Модели жизненного цикла === | === Тема 3. Жизненный цикл программы. Модели жизненного цикла === | ||
* [[ГОСТ Р ИСО/МЭК 12207-2010]], [[Жизненный цикл программ]] | |||
* Объяснять и изображать при помощи диаграмм [[graphviz]], [[mermaid]] модели жизненного цикла программ. | * Объяснять и изображать при помощи диаграмм [[graphviz]], [[mermaid]] модели жизненного цикла программ. | ||
Версия 17:15, 1 марта 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 | Простые и очень понятные диаграммы алгоритмов - последовательность совершаемых действий. Возможно с проверкой результатов. |
BN diagram | Диаграмма использования Байесовских сетей в оценивании |
Diagram of Ecosystem | Обобщенная диаграмма экосистемы |
ForumScheme | Диаграмма Сообщества "Classroom 2.0" |
Git diagrams | Диаграмма Сообщества "LiderID" |
PDCA cycle | The PDCA cycle is a continuous improvement model that stands for Plan-Do-Check-Act. It is also known as the Deming cycle or the Shewhart cycle. The PDCA cycle is a problem-solving approach that helps organizations to improve their processes and products.
The four stages of the PDCA cycle are as follows: 1. Plan: This stage involves identifying the problem, setting goals, and developing a plan to achieve those goals. The plan should be specific, measurable, achievable, relevant, and time-bound (SMART). 2. Do: This stage involves implementing the plan. The plan should be executed according to the defined steps, and the results should be monitored. 3. Check: This stage involves evaluating the results of the implementation. The results should be compared to the goals set in the planning stage. If the results are not satisfactory, the plan should be revised. 4. Act: This stage involves taking action based on the results of the evaluation. If the results are satisfactory, the plan should be standardized and implemented. If the results are not satisfactory, the plan should be revised, and the cycle should start again. The PDCA cycle is a continuous process, and it can be applied to any process or product. It helps organizations to identify and solve problems, improve processes, and achieve their goals. |
Roblox (диаграмма) | Диаграммы, описывающие сообщество Roblox |
Use Case Diagram | UML — диаграмма, отражающая отношения между акторами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне. Прецедент — возможность моделируемой системы (часть её функциональности), благодаря которой пользователь может получить конкретный, измеримый и нужный ему результат. Диаграмма вариантов использования - это визуальное представление, используемое в программной инженерии для отображения взаимодействий между участниками системы и самой системой. Она отражает динамическое поведение системы, иллюстрируя ее сценарии использования и роли, которые с ними взаимодействуют. Эти диаграммы необходимы для уточнения функциональных требований к системе и понимания того, как пользователи будут взаимодействовать с системой. |
Диаграмма Ганта | Диагра́мма Га́нта (англ. Gantt chart, также ленточная диаграмма, график Ганта, календарный график) — это популярный тип столбчатых диаграмм (гистограмм), который используется для иллюстрации плана, графика работ по какому-либо проекту. Является одним из методов планирования проектов. Используется в приложениях по управлению проектами. |
Диаграмма Хазарского Словаря | Пример flowchart диаграммы - описание use case |
Диаграмма деятельности | Диагра́мма де́ятельности (Activity Diagram) — диаграмма, на которой показаны действия, состояния которых описаны на диаграммах состояний. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла ко входам другого. |
Диаграмма класса профессиональный стандарт | Пример использования диаграммы классов classDiagram для понятия профессиональный стандарт. Профессиональный стандарт описывается как Профессия, для который необходим набор трудовых функций. Каждая функция предполагает действия, знания, умения и другие характеристики |
Диаграмма классов | Диаграмма классов (англ. class diagram) — структурная диаграмма языка моделирования UML, демонстрирующая общую структуру иерархии классов системы, их коопераций, атрибутов (полей), методов, интерфейсов и взаимосвязей (отношений) между ними. Целью создания диаграммы классов является графическое представление статической структуры декларативных элементов системы (классов, типов и т. п.). Целью создания диаграммы классов является графическое представление статической структуры декларативных элементов системы (классов, типов и т. п.) |
Диаграмма курса «Технологии программирования» | План изучения курса «Технологии программирования». Февраль. |
Диаграмма последовательности | Диаграмма последовательности (англ. sequence diagram) — UML-диаграмма, на которой для некоторого набора объектов на единой временной оси показан жизненный цикл объекта (создание-деятельность-уничтожение некой сущности) и взаимодействие акторов (действующих лиц) информационной системы в рамках прецедента. Основными элементами диаграммы последовательности являются обозначения объектов (прямоугольники с названиями объектов), вертикальные «линии жизни» (англ. lifeline), отображающие течение времени, прямоугольники, отражающие деятельность объекта или исполнение им определенной функции (прямоугольники на пунктирной «линии жизни» — фокусы контроля, англ. focus of control), и стрелки, показывающие обмен сигналами или сообщениями между объектами. |
Диаграмма прецедентов | Диаграмма прецедентов или диаграмма вариантов использования (англ. use case diagram) в UML — диаграмма, отражающая отношения между акторами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне. Пример flowchart диаграммы - описание use case |
Диаграмма профиля компетенций | Представление профиля компетенций в виде диаграммы - 2 диаграммы, чтобы показать, как меняются компетенции в ходе обучения |
Диаграмма пути пользователя |
|
Диаграмма связи школы и технологий | Связи школы и технологий из внешнего источника: |
Диаграмма состояний |
|
Диаграмма формирования компетентного профиля | Последовательность формирования - что делает участник и что он осваивает в ходе этой деятельности. |
Классификация требований (диаграмма) | Диаграмма классификации требований к программному обеспечению представляет отношения функциональный и нефункциональных требования
|
Медицинский центр (диаграмма) | Как работает врач с пациентом |
Мероприятие | Мероприятие — Совокупность действий, объединённых одной общественно значимой задачей. |
Модульное программирование (диаграмма) | Диаграмма, в которой демонстрируются основные принципы модульного программирования |
Продвижение участника | Диаграмма продвижения участника на поле Вики (Mermaid) - вариант описания взаимодействия пользователя с системой |
Языки (диаграмма класса) | Пример - classDiagram - для всех сущностей внутри можно и нужно создавать подобные графы |
Тема 3. Жизненный цикл программы. Модели жизненного цикла
- ГОСТ Р ИСО/МЭК 12207-2010, Жизненный цикл программ
- Объяснять и изображать при помощи диаграмм graphviz, mermaid модели жизненного цикла программ.
Тема 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 |
Формулировать требования к программному обеспечению. Учитывать требования Гост и СанПИН | Требования к программному обеспечению | Познакомиться с требованиями и понятиями внутри статей ГОСТ Р 59895-2021, ГОСТ 19.106-78, Классификация требований (диаграмма). Добавить релевантные учебному курсу стандарты и диаграммы. | Диаграмма курса «Технологии программирования» |
Объяснять и изображать при помощи диаграмм модели жизненного цикла программ. | Жизненный цикл программ | ? | ? |
Использовать различные подходы к организации процесса разработки программного обеспечения. | Организация процесса разработки программного обеспечения | ? | ? |
Переносить принципы разработки программного обеспечения на разработку учебных материалов и организацию учебного процесса. | Общие принципы разработки программного обеспечения и разработки учебных материалов | ? | ? |
Использовать различные виды UML диаграмм для описания и проектирования программного обеспечения | UML диаграммы в проектировании программного обеспечения | Создание и описание собственных UML диаграмм | Категория:Diagrams |
Использовать цифровые средства и среды коллективной разработки программного обеспечения. | Среды коллективной разработки программного обеспечения. | ? | ? |
? | ? | ? |