реклама на сайте
подробности

 
 
> Проектирование ПО для микроконтроллеров
Purposeful
сообщение Nov 21 2008, 19:38
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 843



Существует такая наука как проектирование ПО. У нас она не очень развита (мое мнение), тем более для микроконтроллеров. Наш народ садится за клавиатуру и начинает писать код. Видел я много не продуманных программ. Было очень много срывов сроков проекта из-за того что нужно внести изменение в программу (незначительное), а программист мне говорит типа это сложно, из-за этого нужно переделать то-то и то-то. Особенно тяжело с людьми которые ранее писали на Ассемблере и их заставили писать на С. Оператор GOTO они наверно не забудут никогда. crying.gif

К чему это я все? У меня есть практика программирования как для ПК так и для МК. Я 6,5 лет отсидел на студенческой скамье. И я себя считаю не плохим программистом. Я задался целью найти литературу или статьи по архитектуре ПО для МК. Согласитесь программирование под МК имеет свою специфику. В результате поисков я ничего не смог найти, даже малейших намеков.

Мне кажется это серьезная проблема. В данный момент я набираю людей в отдел. И на вопрос: "Что такое архитектура ПО?" я в 100% собеседований слышу мычание.

Уважаемые коллеги, скажите может я ошибаюсь и эта архитектура вовсе не нужна (ведь оно и так все работает)? А может кто чего-нибудь подскажет?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Nov 21 2008, 20:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Purposeful @ Nov 21 2008, 22:38) *
Особенно тяжело с людьми которые ранее писали на Ассемблере и их заставили писать на С. Оператор GOTO они наверно не забудут никогда. crying.gif

Скажите, а как оператор goto (кстати, вполне легальный, чего никак не могут понять составители школьных программ, исповедующие метод copy-paste) может помешать правильному проектированию ПО? Несколько другой уровень "проблемы".
Go to the top of the page
 
+Quote Post
Purposeful
сообщение Nov 21 2008, 20:27
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 21-11-08
Пользователь №: 41 843



Оператор GOTO делает программу не читаемой и тяжолой для внесения изменений. В 100% случаях можно обойтись без него (опыт программирования на С под МК 4 года, на С++ под Windows 8 лет и не разу не использовал оператор GOTO).
А разговоры о том что GOTO позволяет код сделать меньшего размера и повысить скорость программы считаю не актуальными. Если вы радиолюбитель, то може для Вас конечно дорогова-то выбрать контроллер с большей производительностью или большим количеством памяти, но в случае серийного производства это не проблема. Цена остается абсолютно не изменной из-за объемов. Так же считаю, что выиграшь от повышения производительности при использование GOTO не соизмерим с потерями читаемости кода.

И вообще вопрос не в этом. Вы можете использовать GOTO, но делать нужно это с умом. Если у Вас продуманная и четко просматриваемая структура программы, то ни кто Вас не у прекнет за использование этого опператора.

Цитата(SSerge @ Nov 22 2008, 00:17) *
Проектирование ПО - это точно не наука.
Из него пытались сделать ремесло, но что-то явных успехов на этом пути не видно.
Так что пока считается искусством. smile.gif

PS. А наш народ, который садится за клавиатуру и начинает писать код - на самом деле следует самым модным, самым современным путём - это же так называемое XP, Extreme Programming в чистом виде!
А потом начинается TDD - Test Driven Development, когда всё это тестируют, тестируют, тестируют, тестируют, а оно всё не работает и не работает. Очень современая технология, какие могут быть сомнения?
PPS. Если набрать XP на русском получится ЧЗ - Чёрт Знает что [однако, ©!] или психбольница в руках пациентов.



Слава богу я не один задумываюсь над этой темой.

Проектирование ПО - это точно не наука. Не согласен. За "бугром" это наука. У моей знакомой (учется в Гамбурге) был даже такой курс.
А как же "SWEBOK: Руководство к своду знаний по программной инженерии"?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 21 2008, 20:40
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Purposeful @ Nov 22 2008, 00:27) *
Оператор GOTO делает программу не читаемой и тяжолой для внесения изменений.

Понятно. Очередной флудняк наметилсо biggrin.gif
Go to the top of the page
 
+Quote Post
SSerge
сообщение Nov 21 2008, 21:08
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(_Pasha @ Nov 22 2008, 02:40) *
Понятно. Очередной флудняк наметилсо biggrin.gif

Присоединяйтесь!

The Tao Of Programming
Цитата
3.2
Один учитель писал неструктурированные программы. Его ученик тоже начал писать неструктурированные программы, имитируя его.
Когда ученик попросил учителя оценить его прогресс, учитель критиковал того за неструктурированный стиль, сказав: "Что уместно учителю, то не уместно ученику. Ты должен постичь Дао прежде чем переступить структуру."

4.2
Ученик спросил учителя: "Я написал программу, которая то работает, то сбоит.
Я следовал правилам программирования, однако совершенно запутался.
В чем причина?"

Учитель ответил: "Ты смущен, поскольку не понимаешь Дао. Только глупец ожидает разумного поведения от людей. Почему же ты ожидаешь разумного поведения от машины, людьми сконструированной? Компьютеры симулируют детерминизм; только Дао совершенно. Правила программирования преходящи; только Дао вечно.
Поэтому ты должен медитировать о Дао прежде чем тебе откроется просветление."

"Но как я узнаю когда оно мне откроется?" - спросил ученик.

"Твоя программа будет работать правильно," - ответил учитель.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Purposeful   Проектирование ПО для микроконтроллеров   Nov 21 2008, 19:38
||- - aaarrr   Цитата(Purposeful @ Nov 21 2008, 23:27) А...   Nov 21 2008, 20:47
||- - SSerge   Цитата(Purposeful @ Nov 22 2008, 02:27) И...   Nov 21 2008, 20:50
|- - scifi   Цитата(aaarrr @ Nov 21 2008, 23:03) Скажи...   Dec 9 2009, 07:47
- - SSerge   Проектирование ПО - это точно не наука. Из него пы...   Nov 21 2008, 20:17
- - vvvvv   Цитата(Purposeful @ Nov 21 2008, 22:38) с...   Nov 21 2008, 21:02
- - BSVi   Тут сложность в том, что сложно передать свой опыт...   Nov 21 2008, 21:05
- - man with no name   vvvvv, +1 ИМХО, больше всего о том КАК написана пр...   Nov 21 2008, 21:26
- - PIC_Embedder   Цитата(Purposeful @ Nov 21 2008, 23:38) М...   Nov 22 2008, 08:43
- - sgs   Мне кажется, что бодание вокруг goto сродни религи...   Nov 22 2008, 09:06
- - Purposeful   Я прихожу к выводу, что действительно развитие про...   Nov 22 2008, 09:17
|- - _Pasha   Цитата(Purposeful @ Nov 22 2008, 13:17) р...   Nov 22 2008, 12:21
- - sgs   ЦитатаЯ заметил, что большинство программистов счи...   Nov 22 2008, 09:40
- - rsv   когда пишу код для МК, стараюсь следовать принципа...   Nov 22 2008, 14:33
- - alekseykoj   Этап проектирования при разработке ПО должен обяза...   Dec 8 2009, 09:32
- - Andron_   грустный какой-то топик ((( я надеялся узнать из ...   Dec 8 2009, 13:44
|- - Палыч   Цитата(Andron_ @ Dec 8 2009, 16:44) как п...   Dec 8 2009, 16:52
- - Andron_   ЦитатаЭто - жадность собственников предприятия, же...   Dec 8 2009, 17:27
|- - Палыч   Цитата(Andron_ @ Dec 8 2009, 20:27) ... э...   Dec 9 2009, 07:11
- - AlexandrY   Во читайте и просвещайтесь Embedded_systems_archit...   Dec 8 2009, 18:35
- - tag   Цитата(Purposeful @ Nov 21 2008, 22:38) О...   Dec 9 2009, 07:31
|- - AlexandrY   Ну почему же. За goto в С-и прочно закрепилась од...   Dec 9 2009, 08:28
|- - _Pasha   Цитата(AlexandrY @ Dec 9 2009, 12:28) Ну ...   Dec 9 2009, 09:42
|- - AlexandrY   Да точно, в кооперативных механизмах многозадачнос...   Dec 9 2009, 12:18
- - LessNik   Проектирование ПО для микроконтроллеров: RUP + UML...   Dec 9 2009, 10:06
|- - Dog Pawlowa   По хорошему программирование для микроконтроллеров...   Dec 9 2009, 12:01
- - Fktrctq   Если говорить об первоначальной теме топика, не уг...   Dec 9 2009, 13:47
- - alekseykoj   Вообще-то этот топик не про оператор goto, а про п...   Dec 14 2009, 07:06
|- - AlexandrY   А вы вместо notepad-а попробуйте применить Underst...   Dec 14 2009, 08:42
- - kolobok0   Цитата(Purposeful @ Nov 21 2008, 22:38) ....   Dec 14 2009, 23:13
|- - Dog Pawlowa   Цитата(kolobok0 @ Dec 15 2009, 02:13) И К...   Feb 1 2010, 08:03
||- - _Bill   Цитата(Dog Pawlowa @ Feb 1 2010, 12:03) П...   Apr 28 2010, 05:32
|- - forever_student   Цитата(kolobok0 @ Dec 15 2009, 02:13) И К...   Mar 30 2010, 17:02
- - vvs157   Цитата(Purposeful @ Nov 21 2008, 22:38) С...   Dec 14 2009, 23:38
- - grau   Цитата(Purposeful @ Nov 21 2008, 22:38) С...   Jan 31 2010, 13:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 09:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01431 секунд с 7
ELECTRONIX ©2004-2016