Практический анализ и визуальное моделирование на UMLNikolai KireevПрезентация курса online-тренингов, проводимых совместно Школой Системного Анализа г. Москва и IT-Студией WebMax.BY г. Минск.
Запись на курс по ссылке: http://school.system-analysis.ru/uml-online/
CSS Modules в React | Odessa Frontend Meetup #4OdessaFrontendЧто такое CSS Modules, для чего они нужны и чем могут помочь при разработке приложений на React. Сергей Котерняк объясняет, почему выбор подхода по написанию стилей — это важно и какие существуют альтернативные подходы — BEM, Inline Styles, CSS in JS.
Лекция 5. Встроенные коллекции и модуль collections.Roman BrovkoИ снова встроенные коллекции: кортеж, список, множество, словарь - обход в глубину, обзор методов, примеры. Почти всё про модуль collections: именованные кортежи, счётчики, defaultdict, OrderedDict.
Лекция 3. Декораторы и модуль functools.Roman BrovkoСинтаксис декораторов. Декораторы с аргументами, без аргументов. Примеры использования декораторов. Модуль functools.
Лекция 2. Всё, что вы хотели знать о функциях в Python.Roman BrovkoСинтаксис объявления функций. Упаковка и распаковка аргументов. Ключевые аргументы и аргументы по умолчанию. Распаковка и оператор присваивания. Области видимости, правило LEGB, операторы global и nonlocal. Функциональное программирование, анонимные функции. Функции map, filter и zip. Генераторы списков, множеств и словарей. Немного о PEP 8.
Лекция 6. Классы 1.Roman BrovkoСинтаксис объявления классов. Атрибуты, связанные и несвязанные методы, __dict__, __slots__. Статические методы и методы класса. Свойства, декоратор @property. Наследование, перегрузка методов и функция super. Декораторы классов. Магические методы.
Лекция 1. Начало.Roman BrovkoКто, когда и зачем придумал язык Python. Интерпретаторы языка. Синтаксис языка с высоты птичьего полёта. Интерактивная оболочка IPython.
Лекция 11. Тестирование.Roman BrovkoЗачем тестировать? Тестирование в интерпретаторе и доктесты. Модуль unittest. Пакет py.test - на порядок лучше. Тестирование свойств и пакет hypothesis.
Лекция 10. Классы 2.Roman BrovkoДескрипторы: что-как-зачем. Конструктор __new__, класс type и метаклассы. Наследование встроенных типов. Модули abc и collections.abc.
Лекция 8. Итераторы, генераторы и модуль itertools.Roman BrovkoДва протокола итераторов: __next__ + __iter__ и __getitem__. Итераторы и цикл for, а также операторы in и not in. Генераторы, оператор-выражение yield. Генераторы как: итераторы, сопрограммы, менеджеры контекста. Модуль itertools.
Лекция 12. Быстрее, Python, ещё быстрее.Roman BrovkoИзмерение времени работы кода на Python с помощью модулей timeit, cProfile и line_profiler. Немного о NumPy. JIT и AOT компиляция кода на Python на примере Numba и Cython.
Лекция 4. Строки, байты, файлы и ввод/вывод.Roman BrovkoСтроковые литералы и сырые строки. Строки и Юникод. Основные методы работы со строками. Модуль string. Байты. Кодировки. Файлы и файловые объекты. Методы работы с файлами. Модуль io
Лекция 9. Модули, пакеты и система импорта.Roman BrovkoМодули. Операторы import и from ... import. Пакеты. Относительный и абсолютный импорт. __init__-фасад. И снова оператор import - обход в глубину.
Лекция 13. Многопоточность и GILRoman BrovkoМодули threading, queue и concurrent.futures. Использование потоков для параллельных вычислений на Python. GIL. Параллельность и конкурентность. Модуль asyncio. Модуль multiprocessing.
Практический анализ и визуальное моделирование на UMLNikolai KireevПрезентация курса online-тренингов, проводимых совместно Школой Системного Анализа г. Москва и IT-Студией WebMax.BY г. Минск.
Запись на курс по ссылке: http://school.system-analysis.ru/uml-online/
CSS Modules в React | Odessa Frontend Meetup #4OdessaFrontendЧто такое CSS Modules, для чего они нужны и чем могут помочь при разработке приложений на React. Сергей Котерняк объясняет, почему выбор подхода по написанию стилей — это важно и какие существуют альтернативные подходы — BEM, Inline Styles, CSS in JS.
Лекция 5. Встроенные коллекции и модуль collections.Roman BrovkoИ снова встроенные коллекции: кортеж, список, множество, словарь - обход в глубину, обзор методов, примеры. Почти всё про модуль collections: именованные кортежи, счётчики, defaultdict, OrderedDict.
Лекция 3. Декораторы и модуль functools.Roman BrovkoСинтаксис декораторов. Декораторы с аргументами, без аргументов. Примеры использования декораторов. Модуль functools.
Лекция 2. Всё, что вы хотели знать о функциях в Python.Roman BrovkoСинтаксис объявления функций. Упаковка и распаковка аргументов. Ключевые аргументы и аргументы по умолчанию. Распаковка и оператор присваивания. Области видимости, правило LEGB, операторы global и nonlocal. Функциональное программирование, анонимные функции. Функции map, filter и zip. Генераторы списков, множеств и словарей. Немного о PEP 8.
Лекция 6. Классы 1.Roman BrovkoСинтаксис объявления классов. Атрибуты, связанные и несвязанные методы, __dict__, __slots__. Статические методы и методы класса. Свойства, декоратор @property. Наследование, перегрузка методов и функция super. Декораторы классов. Магические методы.
Лекция 1. Начало.Roman BrovkoКто, когда и зачем придумал язык Python. Интерпретаторы языка. Синтаксис языка с высоты птичьего полёта. Интерактивная оболочка IPython.
Лекция 11. Тестирование.Roman BrovkoЗачем тестировать? Тестирование в интерпретаторе и доктесты. Модуль unittest. Пакет py.test - на порядок лучше. Тестирование свойств и пакет hypothesis.
Лекция 10. Классы 2.Roman BrovkoДескрипторы: что-как-зачем. Конструктор __new__, класс type и метаклассы. Наследование встроенных типов. Модули abc и collections.abc.
Лекция 8. Итераторы, генераторы и модуль itertools.Roman BrovkoДва протокола итераторов: __next__ + __iter__ и __getitem__. Итераторы и цикл for, а также операторы in и not in. Генераторы, оператор-выражение yield. Генераторы как: итераторы, сопрограммы, менеджеры контекста. Модуль itertools.
Лекция 12. Быстрее, Python, ещё быстрее.Roman BrovkoИзмерение времени работы кода на Python с помощью модулей timeit, cProfile и line_profiler. Немного о NumPy. JIT и AOT компиляция кода на Python на примере Numba и Cython.
Лекция 4. Строки, байты, файлы и ввод/вывод.Roman BrovkoСтроковые литералы и сырые строки. Строки и Юникод. Основные методы работы со строками. Модуль string. Байты. Кодировки. Файлы и файловые объекты. Методы работы с файлами. Модуль io
Лекция 9. Модули, пакеты и система импорта.Roman BrovkoМодули. Операторы import и from ... import. Пакеты. Относительный и абсолютный импорт. __init__-фасад. И снова оператор import - обход в глубину.
Лекция 13. Многопоточность и GILRoman BrovkoМодули threading, queue и concurrent.futures. Использование потоков для параллельных вычислений на Python. GIL. Параллельность и конкурентность. Модуль asyncio. Модуль multiprocessing.
Лекция 7. Исключения и менеджеры контекста.Roman BrovkoИсключения, зачем они нужны и как их обрабатывать. Встроенные исключения и базовые классы BaseException и Exception. Операторы try...except..else..finally. Менеджеры контекста и модуль contextlib.
Essentials of Visual modeling and UML (rus) by SkillsCup.comDmitry SkillsCup.comОсновы визуального моделирования и UML. Объектная технология и её плюсы. Важность визуального моделирования и 4 его принципа. Какой процесс лучше подходит для UML. 4 принципа объектного-ориентирования (ООП). Полиморфизм и обобщение. Примеры некоторых диаграмм UML.
Lection 23-24. Use Cases+ User StoriesYana BrodetskiUser Stories vs. Use Cases
● User Stories
● Определение User Story
● Структура пользовательской истории
● Принципы проверки на качество User Story
● Use Cases
● Определение Use Cases
● Структура Use Cases
● Принципы составления Use Cases
UML2. Eleven Trivial Tips for BPMN Modellers [1.01, RUS]Alex V. Petrov«Дорога в тысячу ли начинается с первого шага», — гласит китайская мудрость. Простые, правильные и понятные модели бизнес-процессов — своеобразный «знак качества», скреплять которым свою работу мечтает каждый профессионал-аналитик. Однако достижение нужного качества моделей у многих занимает годы непрерывной работы, а такой запас времени — непозволительная роскошь в стремительно развивающемся мире ИТ- и управленческого консалтинга. Многим не добавляет оптимизма и общепризнанный на сегодня открытый международный стандарт BPMN 2.0, допускающий чересчур много равновозможных решений одной и той же задачи в области моделирования.
В ходе общения с аудиторией на дискуссионном онлайн-семинаре Сообщества аналитиков UML2.Ru мы представили ряд простых способов повышения качества BPMN-моделей бизнес-процессов. Придерживаясь этих рекомендаций, вы вместе с участниками семинара сможете:
* унифицировать личную и командную технику моделирования процессов;
* добиться однозначного толкования моделей различными заинтересованными сторонами;
* преодолевать самые известные ограничения BPMN, не нарушая стандарт OMG и не выходя за рамки возможностей промышленных инструментов;
* заложить основу корпоративного соглашения о моделировании на описательном и аналитическом уровне.
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...DEVTYPEОсновы современной методологии объектно-ориентированного анализа и проектирования. Особенности визуального моделирования информационных систем. Базовые семантические конструкции языка UML 2 и их описание с помощью специальных обозначений. Основные элементы нотации языка UML 2 и их отличие от языка UML 1. Особенности моделей представления структуры и поведения в проектах разработки сложных программных систем и бизнес-процессов. Канонические диаграммы языка UML 2 и их общая характеристика. Механизмы расширения языка UML 2.
Нотация UML / UML NotationРоман ДушкинКраткая презентация о нотации UML, как её можно использовать в работе системного аналитика.
Short presentation on UML notation and how it can be used in the work of system analyst.
Понятия технологии разработки объектно-ориентированных информационных систем ...Aimurat AdilbekovПЛАН:
1. Причины неудачных проектов
2. Отсутствие моделей при разработке ПО
3. Лучшие практики разработки ПО
4. Что такое визуальное моделирование?
5. Основные понятия визуального моделирования
6. Классификация проектов по сложности
7. Основные понятия ООП
Статья «Формирование универсальных требований к пользовательским программам п...ph.d. Dmitry Stepanovпредлагается обобщенная структура описания программ. Используя предложенную структуру, формулируются универсальные требования, применимые к любым пользовательским разработкам и необходимые в процессе подготовки функционально-технической спецификации на разработку программы.
Полнота ролей и целей пользователейAnna AbramovaВыложено, чтобы напомнить участникам встречи, о чем шла речь на встрече СПб СоА, и чтобы дать понятие тем, кто будет приходить на следующие встречи, какие вопросы уже обсуждались.
Это не обучающий материал.
Individual task NetworkingRoman BrovkoThe document provides instructions for extending a UDP server to handle additional commands for reading the state of GPIO pins connected to LEDs on a board. The UDP server extension should accept "read gpio<PORT> <PIN>" commands to check the status of LEDs connected to pins 13, 12, 14, and 15, and reply with the pin and state like "GPIOD.15=1". The ncat utility can be used as a UDP client to send commands to control the LEDs or get their status by communicating with ports 5678 and 1234 of the UDP server, respectively.
Networking essentials lect3Roman BrovkoThis document provides an agenda and overview of topics related to the transport layer and networking essentials. The agenda includes discussions of the transport layer, UDP overview, TCP communication process, the socket API, and tools and utilities. Specific topics that will be covered include the role and functions of the transport layer, UDP features and headers, TCP reliability mechanisms like connection establishment and termination, sequence numbers and acknowledgments, window sliding, and data loss/retransmission. The document also provides brief overviews and usage examples for common networking tools like ifconfig, nmcli, route, ping, traceroute, netstat, dig, ncat, nmap, tcpdump, and wireshark.
Gl embedded starterkit_ethernetRoman BrovkoThis document provides an overview of connecting the STM32F407x microcontroller on the GlobalLogic Embedded Starter Kit to Ethernet. It discusses the STM32F407x Ethernet interface, HAL Ethernet driver, Lightweight TCP/IP stack, and examples of implementing TCP client/server and an HTTP server. The KSZ8081RND PHY chip is used along with the RMII interface. The document also outlines configuring LwIP and developing a UDP server to control LEDs on the board via commands from a UDP client.
Networking essentials lect2Roman BrovkoThe document provides an agenda and overview of key topics related to networking essentials including the network layer, IPv4 and IPv6 packets and addresses, and network address translation (NAT). Specifically, it discusses network layer characteristics such as addressing, encapsulation, routing and de-encapsulation. It also examines IPv4 packet headers, fragmentation, and maximum transmission units. IPv6 is introduced as improving on IPv4 by providing increased address space and simplified packet handling. Network address translation is defined as a method for mapping an IP address space to overcome IPv4 address depletion.
Networking essentials lect1Roman BrovkoThis document provides an overview of networking concepts including network types, medium access control protocols, TCP/IP protocol suite, addressing, Ethernet frames, ARP, and standards organizations. It begins with an agenda that lists these topics and includes diagrams to illustrate CSMA/CD, the OSI model, TCP/IP encapsulation, and Ethernet encapsulation. Examples are provided for different network devices, addressing formats and protocols.
Bare metal training_06_I2CRoman BrovkoThis document is a training presentation on I2C interface. It discusses understanding I2C, the internal structure of I2C modules, the I2C interface in an embedded starter kit schematic, using an I2C PWM LED controller, and using I2C in blocking mode. The individual task is to control LED brightness using I2C PWM outputs by modifying the duty cycle, frequency, and number of outputs.
Glesk worshopRoman BrovkoThe document describes a workshop for the GlobalLogic Embedded Starter Kit (GL ESK). It includes instructions for a "Hello World" project using the kit to blink an LED. It also provides guidance on additional exercises including controlling more LEDs with buttons, using interrupts to check buttons, and debugging techniques. The document recommends downloading documentation and sources from GitHub and provides information on the STM32F407 microcontroller and Discovery board used with the kit.
Bare metal training_05_uartRoman BrovkoThis document is a training module on using UART interfaces. It discusses UART fundamentals, the UART interface on an embedded starter kit, the internal structure of UART modules, and how to use UART in both polling and interrupt modes. Learners are assigned the tasks of modifying an existing UART code to control additional LEDs and print sensor values to a terminal using UART communication.
Bare metal training_04_adc_temp_sensorRoman BrovkoThis document outlines the goals, theory, and practice of a training on using analog to digital converters (ADCs) in polling and interrupt modes. The training covers the internal structure of ADCs, using an on-board temperature sensor, reading voltage values from an external potentiometer, and reading multiple ADC channels. Trainees are assigned individual tasks like controlling LED brightness based on temperature sensor readings.
Bare metal training_03_timers_pwmRoman BrovkoThis document provides an overview of a training on timers and PWM for bare metal embedded systems. The goals are to learn clock control, generate 1Hz signals using delays and timers, and create PWM signals at predefined duty cycles. It explains clock control diagrams and settings, and provides code examples to generate a 1Hz signal using delays, use Timer4 to toggle a pin in an interrupt handler, and set up PWM on Timer4 Channel 3. Finally, it lists an individual task to control 4 LEDs with PWM using different channels and buttons to fade the LEDs in/out.
Bare metal training_02_le_ds_and_buttonsRoman BrovkoThis document provides an overview of training materials for an embedded starter kit focused on bare metal programming of LEDs and buttons. The goals are to create firmware to control LEDs and read button presses, learn about the hardware operation of LEDs and buttons, and learn GPIO input/output and interrupt basics. It introduces GPIO configuration as digital I/O with pull-up/down resistors or analog, covers GPIO pin functionality, and discusses using interrupts to address the delay issues of polling button states in a main loop. The practice section has the learner set up a project to control an LED based on a button press via polling initially, then refactors to use interrupts to eliminate delays.
Bare metal training_01_hello_worldRoman BrovkoThis document outlines a training for creating a "Hello World" firmware project for an embedded starter kit using the Keil IDE. The goals are to create an LED blinking firmware, learn the hardware basics of the starter kit, and learn how to create, build, flash and debug firmware projects. Trainees will go through adding LEDs to the project, implementing a custom blinking sequence, and stepping through the code using the debugger.
Bare metal training_00_prerequisitesRoman BrovkoThis document provides instructions for installing software prerequisites for a bare metal embedded training using a GlobalLogic starter kit. The instructions include downloading and installing: 1) An ST-Link driver to interface with the board; 2) Keil uVision IDE for embedded development; and 3) STM32 CubeMx for configuration. Completing these steps prepares the hardware and software for the trainings by setting up the development environment and debugger connection to the board.
C language lect_21_advancedRoman BrovkoThe document discusses several topics related to advanced C language programming including:
1. Decomposing a program into multiple files by creating libraries and header files.
2. The structure of a software component including public header files, private header files, and library object files.
3. Techniques for building a program such as compilation, linking, and conditional compilation.
2. WWW.JAVABEGIN.RU
Определение
• Use Case («случай использования», прецедент) – набор сценариев (путей), которые нужно выполнить для достижения
целей приложения (с точки зрения пользователя)
• Описывает участников (actor), возможные сценарии (успешные и неудачные), которые выполняются для решения задач
приложения
• Сначала все описывается в виде текста, затем уже переводится в UML диаграммы
• Может описывать основные сценарии, которые составляют «ядро» приложения (дополнительные сценарии могут
добавляться по ходу разработки)
• Важный шаг для дальнейшего проектирования в стиле ООП
• Ориентация – на пользователей (часто – сценарии добавляются уже в процессе разработки)
Прецеденты (Use Cases) – варианты, сценарии
использования приложения
3. WWW.JAVABEGIN.RU
Заметки
• Для описания прецедентов часто используют обратную связь от пользователей (что они хотят увидеть в системе)
• Невозможно описать 100% прецедентов - как минимум нужно описать успешные сценарии, чтобы оценить работу приложения
• Хороший вариант группировки прецедентов – использование mindmap
Принцип «мозгового штурма» - выписать в единый список все, что приходит в голову («вынести» все данные из
головы) – после этого систематизировать их, разбивать на типы и пр.
4. WWW.JAVABEGIN.RU
Заметки
• Когда готова текстовая часть – переходим к созданию диаграмм
• От общего к частному – сначала описать основные цели программы, потом детализировать
• Слишком не усложнять, т.к. по ходу разработки многое может поменяться (итеративная разработка)
• Не путать понятия «use case» (текст) и «use case diagram» (диаграммы UML)
НЕ нужно одновременно рисовать диаграмму и продумать «use case» - сначала списки, потом диаграммы