Goal abandoned
The author does not write in the goal 4 years 10 days
Goal diary

Что я еще интересного узнал с момента последней записи в цели.
Программная инженерия и Информатика
Нашел русскоязычное определение термина Software Engineering.
Программная инженерия определяется как приложение дисциплины инженерии к программному обеспечению.
Разработка программного обеспечения связана с дисциплинами информатики, управления проектами, и системной инженерии.
Кстати об информатике. Информатика то и есть Computer Science, по определению вкипедии. Т.е. мы еще с самой школы проходим основы Computer Science.
По определению, это наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.
Есть русскоязычное определение и для Software Development.
Разработка программного обеспечения - деятельность по созданию нового программного обеспечения.
Разработка программного обеспечения как инженерная дисциплина является составной частью (областью) программной инженерии
Процесс разработки программного обеспечения состоит из множества подпроцессов, или дисциплин
- Анализ требований → Спецификация программного обеспечения
- Проектирование программного обеспечения
- Программирование
- Тестирование программного обеспечения
- Системная интеграция (System integration)
- Внедрение программного обеспечения (или Установка программного обеспечения)
- Сопровождение программного обеспечения
Модели процесса
Водопадная (каскадная, последовательная) модель
Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке.
Этапы проекта в соответствии с каскадной моделью:
- Формирование требований;
- Проектирование;
- Реализация;
- Тестирование;
- Внедрение;
- Эксплуатация и сопровождение.
Итерационная модель
Модель предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект»
Спиральная модель
При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования. Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.
Что еще.
Начал читать первую главу книги "Beginning Software engineering". И обратил внимание на первые семь пунктов разделов главы:
- Requirements Gathering
- High‐Level Design
- Low‐Level Design
- Development
- Testing
- Deployment
- Maintenance
- Wrap‐up
- Everything All at Once
- Summary
Если объединить High‐Level Design и Low‐Level Design в просто Design, то получим упомянутую выше статью Процесс разработки программного обеспечения.

Все же, мне кажется, лучше использовать английские названия моделей построения проектов/систем, поскольку они в ходу. Сейчас я делаю проекты waterfall, lean и agile, причем последний имеет наибольшую популярность, поскольку заказчик желает менять (чаще дополнять) требования постоянно.
Да, списки фаз абсолютно правильные. Если хотите посмотреть что все это время делает System/Solution Architect смотрите картинку с фазами архитектуры https://en.m.wikipedia.org/wiki/The_Open_Group_Architecture_Framework

Тут моя любимая картинка о разнице подходов https://www.101ways.com/agile-vs-waterfall-vs-iterative-vs-lean-software-development-in-pictures/
Сейчас мой заказчик считает, что мы работаем agile, а на самом деле это lean :)

Видео "Early Computing: Crash Course Computer Science #1" из плейлиста "Crash Course Computer Science"
Вводно-историческое видео. Затронуто в видео:
- введение в компьютеры, происхождение и история;
- абак, астролябия, логарифмическая линейка, арифмометр;
- difference engine - analytical engine;
- punch cards
- как появилась IBM

Для Computer Science материалов поболее будет
Для начала, вот это видео
Там вкратце по всем направлениям пробегается. И вскользь Software engineering упоминается.
На этот путь неплохие ресурсы есть в Типичном программисте и Библиотеке программиста
- 5 отличных англоязычных книг по теоретическому Computer Science
- Получаем максимальную пользу от образования в Computer Science: 11 простых советов
- Как разобраться в Computer Science самостоятельно
А вот и план обучения:
Детальный план самообразования в Computer Science за 1.5 года
Вот эти две вещи, на мой взгляд, должны быть очень полезны на старте
- Crash Course Computer Science
- Книга "Теоретический минимум по Computer Science"
И, наконец, еще пара сборников видео по Computer Science

Цель стала заброшенная, это значит, что я полгода не делал по ней телодвижений. Сейчас что-нибудь сделаем.
В данной цели для упрощения я объединю термины "Software Engineering" и "Software Development".
Для продвижения по пути "Software Engineering/Development"есть 4 релевантные книги, которые я намерен прочесть:
- Software Development From A to Z
- Head First Software Development
- Guide to Software Development
- Beginning Software Engineering





Просматриваю видео с канала Winderton, там есть ролики и подкасты с упоминанием дисциплин Computer Science и Software Engineering.
Например, видео "О путях программиста и Software Engineering'е":
Правда, именно Software Engineering там мало, начинается он с 14:38 и ему посвящено всего пара минут.