vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Совместными усилиями с [livejournal.com profile] snowman_sailor и [livejournal.com profile] ramendik написали план учебника по введению в программную инженерию. Вместо двух частей получилось три.

На мой взгляд, проект получился весьма амбициозным, и не уверен что у нас троих хватит квалификации, чтобы раскрыть (особенно, учитывая ограничения на объем) все темы. (правда, как известно, хочешь в чем-нибудь разобраться - прочитай по нему спецкурс).

В общем я бы с удовольствием пригласил на отдельные разделы других авторов, которые лучше меня понимают в соответствующих вопросах. (все это планируется публиковать под CC).
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Date: 2015-01-27 09:42 am (UTC)
From: [identity profile] schegloff.livejournal.com
Это не введение, а пятилетний курс для будущих генеральных конструкторов мега-приложений :)

Либо название поменяйте, либо надо сокращать. Введение в специальность - курс на десяток лекций, и тоненькая брошюрка.

Date: 2015-01-27 09:52 am (UTC)
From: [identity profile] schegloff.livejournal.com
Вот и назовите "Общее программоведение" :)

Date: 2015-01-27 10:03 am (UTC)
From: [identity profile] snowman-sailor.livejournal.com
Нет тут пяти лет, нормальный обзорный курс на два семестра по одной лекции и одному семинару в неделю. Понятно, что воды можно налить сколько угодно, но от воды больше вреда, чем пользы.

Date: 2015-01-27 10:07 am (UTC)
From: [identity profile] darkmoor.livejournal.com
Для генеральных конструкторов мега-приложений структура документа должна быть принципиально иной.

Если конкретно - скромный эпилог под заголовком "Жизнь после релиза" придется развернуть в три самостоятельных раздела, превышающие по объему весь остальной текст, вместе взятый.

Честно говоря, мне хотелось об этом сказать сразу, как только увидел оный план. Но вот как раз потому, что учебник называется "Введение...", а не "Конструирование больших программных систем", заставил себя заткнуться.

Date: 2015-01-27 10:07 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Что пришло в голову и чего я часто видел что люди не знают:

1) введение про время, причинность и теорию относительности (что бывают события, про которые нельзя сказать, кто был первым, что сообщения распространяются не мгновенно, и т.д.); - кстати, обьяснять VCS и БД будет проще

2) введение в моделирование данных и онтологию (почему нельзя всему присвоить id, почему вредно считать что чего-то бывает только 1 штука, что такое вообще identity - сравнение по ссылке, по значению, почему нельзя составить Исчерпывающий Список Всего, что делать если мы Машину-5 разобрали на Запчасть-7 и Запчасть-8, а потом собрали из них Машину-10 и Машину-11 и т.д.)
Особенно это в форматах данных важно (версионирование, то-се. СУБД часть вопросов худо-бедно закрывают)

UPD: отличие между неизвестными, ошибочными, неполными и неточными данными еще

3) про оценку производительности (как мерять, как интерпретировать результаты, как искать бутылочные горлышки)

4) как собирать с юзеров фидбек, как отличать фантазии юзеров от наблюдений юзеров (известный анекдот "голова болеть начала? а вот когда мы эту сотовую вышку еще и включим..."), и вообще инженерия требований, хоть она и достойна отдельной книги...

5) как правильно обрабатывать ошибки, хмммм, тут нет серебряной пули но я где-то видел хороший сравнительный обзор, только ссылку потерял

Список ни в коем случае не полон, просто не включая мозг написал
Edited Date: 2015-01-27 10:09 am (UTC)

Date: 2015-01-27 10:07 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Там важно чтобы была туева хуча ключевых слов, по которым можно дальше копать тему в Гугле.

Date: 2015-01-27 10:09 am (UTC)
From: [identity profile] filonov.livejournal.com
Как-то не вырисовывается концептуальной целостности. Скорее пока какая-то каша, собранная по принципу "а еще я вот про это знаю".
В первой части - каши больше. в третьей - меньше.

Дабы не быть голословным:
- разделы "межпрограмное взаимодействи", "Расширяемые программы", "использование внешних программ", IMHO нуждаются в сведении в
два раздела



Date: 2015-01-27 10:16 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Мне кажется, тут не может быть концептуальной целостности, но можно сделать постепенное углубление.

Date: 2015-01-27 10:27 am (UTC)
From: [identity profile] filonov.livejournal.com
тут не может быть концептуальной целостности, но можно сделать постепенное углубление.
Нельзя, слишком уж все перемешано.
К сожалению коментарий ушел раньше чем я его дописал.

- разделы "межпрограмное взаимодействи", "Расширяемые программы", "использование внешних программ", IMHO нуждаются в сведении в два раздела - теоретические основы межпрограмного взаимодействия, и обзор используемых реализаций.
- Раздел о виртуализации производит странное впечатление. Объединять ее с кроссплатформенностью смысла нет никакого. Существенная часть того что относят к виртуализации двинулась в сторону изоляции среды исполнения, но при этом альтернативные варианты изоляции оставлены без внимания.

- часть раздела "настройка и персонализация" явно просится в третью часть.



Date: 2015-01-27 10:41 am (UTC)
From: [identity profile] ynot.livejournal.com
как и ожидалось еще с того обсуждения, получается прекрасный двухмесячный курс интенсивной переподготовки на программистов для взрослых землеведов, лесотехников и юристов с достаточными умственными способностями. "Все, что нужно, в одном учебнике". Как вы и писали, это прекрасно заточено под ваши нанимательские нужды - "пришел незнамо кто но вроде с дипломом, надо доточить под наши стандарты".

к процессу подготовки первокурсников в рамках массового очного первого образования 17-леток отношения не имеет. (простите ради аллаха, вы давно первокурсников "среднего хорошего вуза" вживую видели?)

P.S. (читать "введение в специальность" в течение ДВУХ СЕМЕСТРОВ раз в неделю, как здесь предлагалось - это безумие. Введение должно быть достаточно интенсивным, а не подпороговым, чтобы скорость запоминания хоть немного превышала скорость выветривания)

P.P.S - основной вопрос - пожалуйста, сообщите предпололжительное кол-во учебных часов для этого курса?
Edited Date: 2015-01-27 10:45 am (UTC)

Date: 2015-01-27 10:43 am (UTC)
eldhenn: (Default)
From: [personal profile] eldhenn
> введение про время, причинность и теорию относительности

Это надо изучать если не в начальной школе, то по крайней мере не позже полового созревания. Но лучше всё-таки в начальной.

Date: 2015-01-27 10:45 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
С точки зрения менеджера, собирающегося доучивать принимаемых на работу, ну, скажем, студентов, чинить начальную школу уже поздно.

Я бы не стал на этом основании исключать такие темы, а также подразумевать, что их все знают. Даже из ээммм взрослых с высшим образованием таких людей вряд ли найдется 5%

Date: 2015-01-27 10:46 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Да, мне тоже кажется, что это интенсивка.

Date: 2015-01-27 10:50 am (UTC)
eldhenn: (Default)
From: [personal profile] eldhenn
Я не к тому, чтобы исключать. Я к тому, что это тема крайне важная, системообразующая, и уж если мы не чиним начальную школу - то по этой теме стоит сделать особый, отдельный курс, и прогонять через него всех, на кого у нас есть власть. Начав с себя. То есть вообще всех. В любом возрасте и на любой позиции, хоть младшего техписа, хоть финдиректора.

Date: 2015-01-27 10:51 am (UTC)
eldhenn: (Default)
From: [personal profile] eldhenn
ЗЫ Сам бы с удовольствием прошёл, до меня эти вещи начали доходить не так давно, уже после 30ти.

Date: 2015-01-27 10:53 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Ну дык. Я впервые встретил хоть сколько-нибудь адекватные статьи на тему в 22 года :(

До этого да, видел кучу литературы (про многопоточность, и т.д. и т.п.) в которой вроде как авторы должны были знать про сабж, но видимо сами не знали, поэтому писали то, что и сейчас выглядит малопонятным бредом.

Date: 2015-01-27 11:01 am (UTC)
From: [identity profile] snowman-sailor.livejournal.com
1) Про время, причинность и теорию относительности это хорошая идея. Скорее всего это должно пойти в главу о параллельном программировании.

2) Онтологии и моделирование данных там размазаны тонким слоем между управлением знаниями и хранением данных. Возможно, рассказывать про них явно хорошая идея.

3) Оценка производительности есть в тестировании, к которому она, собственно, и относится

4) Инженерию требований может и стоит включить, но насчет "достойна отдельной книги" не уверен. Мне не попадалось ни одной вменяемой книги о работе с требованиями. Все они разводят воду вокруг трех мыслей: аккуратно все записывайте, проверяйте хотелки пользователей на моделях, отслеживайте противоречия между требованиями. Да и работа с требованиями, на мой взгляд, куда больше политика чем инженерия.

Date: 2015-01-27 11:04 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
4) Этих трех мыслей совершенно недостаточно. Потому что хотелки пользователей и проблемы пользователей - это две большие разницы.

Можно вот с вот этого хотя бы начать: Discovering Requirements: How to Specify Products and Services

Date: 2015-01-27 11:07 am (UTC)
From: [personal profile] alll
Имхо не хватает раздела про деньги. :) Ну то-есть что-то типа "зачем мы пишем код с точки зрения работодателя и как это влияет на принимаемые решения вплоть до закрытия проекта".
Edited Date: 2015-01-27 11:08 am (UTC)
Page 1 of 6 << [1] [2] [3] [4] [5] [6] >>

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2025

S M T W T F S
     1 2
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 08:20 pm
Powered by Dreamwidth Studios