IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Корпоративный стиль программирования, Сочиняю докУмент
Гость_MrYuran_*
сообщение 13.8.2010, 15:18
Сообщение #1





Гости






Итак, руки таки дошли.
Предлагаю в данной теме родить документ, регламентирующий процесс разработки и документирования встраиваемого ПО.

Код
МЕТОДИКА РАЗРАБОТКИ ВСТРАИВАЕМОГО ПО.
1. Цель разработки данного документа.
1.1 Обеспечение единых унифицированных подходов к созданию встраиваемого ПО на предприятии, на основании общепринятых и отработанных методик.
1.2 Обеспечение переносимости программных модулей и компонентов как между проектами, так и между аппаратными платформами.
1.3 Унификация подходов к тестированию и верификации программных модулей и компонентов.
1.4 Ускорение сроков разработки и отладки ПО, как следствие пп. 1.1-1.3
1.5 Увеличение надёжности вследствие повторного использования отработанных программных модулей и компонентов.
1.6 Уменьшение трудоёмкости сопровождения и модификации ПО


Предлагаю части документа выдавать параграфами/разделами в тегах [соде][/соде], а обсуждать - как обычно.

PS: с нумерацией разделов можно не напрягаться, пусть машина думает.
Важнее наполнение.

Примерный грубый план документа:
- спецификация проекта/модуля - основа основ и первоисточник.
- программный модуль и его интерфейсы.
- разделение программных слоёв для обеспечения переносимости.
- методики тестирования и верификации модулей
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 13.8.2010, 17:32
Сообщение #2


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(MrYuran @ 13.8.2010, 17:18) *
Итак, руки таки дошли.

Очень хорошо.
Вот Вам в помощь и нам для обсуждения.
Перейти в начало страницы
 
+Цитировать сообщение
tester
сообщение 16.8.2010, 13:55
Сообщение #3


Активный участник
***

Группа: Пользователи
Сообщений: 41
Регистрация: 15.8.2010
Из: SPb
Пользователь №: 197



Цитата(MrYuran @ 13.8.2010, 17:18) *
Итак, руки таки дошли.
Предлагаю в данной теме родить документ, регламентирующий процесс разработки и документирования встраиваемого ПО.

Кстати, знакомы с книгой И. Соммервилла "Инженерия программного обеспечения"? Это, правда, не о встраиваемых системах, но как раз по Вашей теме. (Могу скинуть в DVJU-формате)
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 16.8.2010, 14:03
Сообщение #4





Гости






Цитата(tester @ 16.8.2010, 15:55) *
(Могу скинуть в DVJU-формате)

Буду очень признателен.
Макконела тоже никак не соберусь прочитать...
С экрана - некогда, в бумаге - что-то в продаже не видать.
А я в основном читаю в дороге, частуда-часобратно
Быстрей бы уж китайцы всё своими планшетами стобаксовыми завалили
Перейти в начало страницы
 
+Цитировать сообщение
tester
сообщение 16.8.2010, 14:07
Сообщение #5


Активный участник
***

Группа: Пользователи
Сообщений: 41
Регистрация: 15.8.2010
Из: SPb
Пользователь №: 197



Цитата(MrYuran @ 16.8.2010, 16:03) *
Буду очень признателен.
Макконела тоже никак не соберусь прочитать...
С экрана - некогда, в бумаге - что-то в продаже не видать.
А я в основном читаю в дороге, частуда-часобратно
Быстрей бы уж китайцы всё своими планшетами стобаксовыми завалили


Куда слать (9 мб)? (Макконела тоже могу прислать, но тоже в djvu 21мб)
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 16.8.2010, 14:13
Сообщение #6





Гости






Цитата(tester @ 16.8.2010, 16:07) *
Куда слать (9 мб)? (Макконела тоже могу прислать, но тоже в djvu 21мб)

Если получится, можно в личку. (у меня вроде ограничение 9.77МБ)
Или в профиле есть "послать по емэйл"
Отписал в личку.

Спасибо, получил, глянул - есть что почитать. Только опять некогда...
Если сегодня-завтра не сдам июньский проект, начальник в среду уволит нахрен будет очень недоволен :(
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 29.8.2010, 17:49
Сообщение #7


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(MrYuran @ 16.8.2010, 16:13) *
Если получится, можно в личку. (у меня вроде ограничение 9.77МБ)
Или в профиле есть "послать по емэйл"
Отписал в личку.

Спасибо, получил, глянул - есть что почитать. Только опять некогда...
Если сегодня-завтра не сдам июньский проект, начальник в среду уволит нахрен будет очень недоволен :(

Как идет работа над документами?
В смысле, над кооперативным программированием.
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 30.8.2010, 6:47
Сообщение #8





Гости






Цитата(Прохожий @ 29.8.2010, 19:49) *
Как идет работа над документами?
В смысле, над кооперативным программированием.

dash1.gif
На той неделе связал три железки в один узел, одна с другой сквозь третью.
В очередной раз, после нескольких часов вылавливания блох, убедился в пользе повторного использования проверенных компонентов по сравнению с выборочным копи-пастом (или пейстом?)
Тупо скопировал процедурки с одного УАРТа на другой, поменял всё, что надо, кроме адреса буфера...
Действительно, АЦП был[о] не при чём...
Начальник на очередную шутку "стрижка только начата" как-то нервно передёргивается...

А по теме начну, пожалуй, со стандартизации программных компонентов. С одновременным выкладыванием отлаженных модулей и библиотек в корпоративном архиве для всеобщего настоятельно рекомендуемого пользования.
А там, глядишь, дурной пример заразителен... Так и остальные втянутся постепенно. Эволюционно, так сказать.
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 30.8.2010, 7:25
Сообщение #9


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата(MrYuran @ 30.8.2010, 6:47) *
В очередной раз, после нескольких часов вылавливания блох, убедился в пользе повторного использования проверенных компонентов по сравнению с выборочным копи-пастом (или пейстом?)

О да! Причем, это касается не только проверенных компонентов. Например, если впадлу написать макрос (типа - чего там такого? - три раза копипастнул, пару букв поменял...) - жди беды именно от этих букафф. Это касается всех языков программастинга.

ЗЫ именно поэтому советы каких-то амеров, дескать, не надо писАть универсальные функции, надо поменьше параметров, итд - воспринимается как первоапрельский вздрочь. В конце концов, мона параметры со словом const вводить - компилер обязан привести все в нормальный вид. Зато не будет тупого повторения кода.
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 30.8.2010, 8:26
Сообщение #10





Гости






Цитата(_pasha @ 30.8.2010, 9:25) *
ЗЫ именно поэтому советы каких-то амеров, дескать, не надо писАть универсальные функции, надо поменьше параметров, итд - воспринимается как первоапрельский вздрочь.

Нет, просто есть разные подходы.
Вот некоторое время назад я очень Forth-ом увлёкся. Там именно такой подход. Функция (слово) производит действия над неявными данными (чаще всего на вершине стека).
В си такое могу посоветовать только для внутренних static-переменных модуля, и то с оглядкой и обязательным документированием.
Ещё пробежался по диагонали по учебнику с++, обнаружил полезную рекомендацию: обращаться к переменным класса не напрямую, а только через функции-аксессоры и мутаторы. По-русски говоря, через обёртки.
Применительно к си это означает - никаких extern переменных, вместо них что-то типа SetData() и GetData().
Опять же, вполне ощутил полезность, чуть поменяв контекст переменной и переправив его везде, кроме одного места wacko.gif
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 31.8.2010, 7:10
Сообщение #11


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата
Применительно к си это означает - никаких extern переменных, вместо них что-то типа SetData() и GetData().

Конечно, потому что вместо простого доступа к переменной на любом этапе может понадобиться метод.

Цитата
Опять же, вполне ощутил полезность, чуть поменяв контекст переменной и переправив его везде, кроме одного места wacko.gif


И не стесняться вводить типы, даже если это алиасит простой тип.
Исключения из такого правила - только в протокольной части. Весь ввод/вывод должен описываться с помощью <stdint.h>
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 31.8.2010, 9:46
Сообщение #12





Гости






Присматриваемся к Cortex-M3 от STM или LPC и соответственным бордам в стартерките.
Осталось подкинуть монетку и выбрать одно из двух.
С большой вероятностью там будет встроена ОСь типа FreeRTOS.
Лёд тронулся, по ходу...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 31.8.2010, 19:04
Сообщение #13


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(MrYuran @ 31.8.2010, 11:46) *
Присматриваемся к Cortex-M3 от STM или LPC и соответственным бордам в стартерките.
Осталось подкинуть монетку и выбрать одно из двух.
С большой вероятностью там будет встроена ОСь типа FreeRTOS.
Лёд тронулся, по ходу...

А может что-то свое?
В качестве ОС...
Пусть даже на основе FreeRtos или TNKernel, писаной как раз для ARM-ов.
Там и порт для Cortex M3 есть. И писал эту ОС наш бывший соотечественник.
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 1.9.2010, 7:16
Сообщение #14


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата(MrYuran @ 31.8.2010, 9:46) *
подкинуть монетку и выбрать одно из двух.

А почему низзя внять разговорам о том, что армы все-таки выпускают разные конторы, и не выбрать два из двух?
Перейти в начало страницы
 
+Цитировать сообщение
Гость_MrYuran_*
сообщение 1.9.2010, 7:43
Сообщение #15





Гости






Цитата(_pasha @ 1.9.2010, 9:16) *
А почему низзя внять разговорам о том, что армы все-таки выпускают разные конторы, и не выбрать два из двух?

Унификация.
Да и смысла нет. Надо выбрать и использовать. У нас вообще у всех приборов морда и железо одинаковые, а функциональность определяется подключенным активным датчиком и прошивкой.
Хотя тенденция намечается к созданию универсального "всемера" с внешними подключаемыми модулями и универсальной прошивкой

Цитата(Прохожий @ 31.8.2010, 21:04) *
А может что-то свое?
В качестве ОС...
Пусть даже на основе FreeRtos или TNKernel, писаной как раз для ARM-ов.
Там и порт для Cortex M3 есть. И писал эту ОС наш бывший соотечественник.

Ну, поскольку индикаторная часть не моя, то и выбор окончательный делать не мне.
Из отечественных есть ещё широко известная в узких кругах scmRTOS.
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 12:53