|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.07.2017, 19:20 | #1 |
Регистрация: 15.07.2017
Сообщений: 4
|
Создание логики для устройства
Данный вопрос возник при создании нового устройства.
Задача заключается в следующем: взять готовое устройство и создать такое же. Я лично не являюсь программистом, но мне необходимо спланировать работу программиста. Что мы запланировали на первое время. Мы открыли меню программы с помощью которой происходит конфигурация устройства и путем выявления отправленных и полученных команд между похожими устройствами, программист стал писать код программы (или библиотеки как он сказал). При планировании работ, я выяснил, что команда это программный код (или библиотека), который может создаваться с нуля, или копироваться и далее редактироваться. Если устройство с большим функционалом возможностей, то и библиотек с командами будет много. Мы договорились, что например библиотеку команды switch on мы назовем 1, а библиотеку команды switch off назовем 2 и т.д. В дальнейшем мы будем планировать задание на уровне - устройство состоит из команд 1,2……102. ПОЯВИЛСЯ ВОПРОС: существует ли более профессиональный планировщик? Как профессиональный мир электроники планирует такие работы? |
15.07.2017, 20:35 | #2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Есть, куча способов и методологий разработки ПО. Но после того как за планировали умножте время на 5.
В начале проводиться эскизное проектирование, но котором и оцениваются объемы работ. От 1 недели до 3-х месяцев. Тут уже будут видны этапы. Программисты любят короткие циклы по 3 месяца, так как заказчик обычно меняет свои требования в ходе работ. Поэтому на каждом этапе стоит запланировать время для перепланировке. 20 процентов и эта задача не может быть распаралелина. Технический проект. Технический проект ведётся с привлечением специалистов для детального планирования проекта. Выходом является технический отчёт. Программист должен нарисовать несколько UML схем. Тем самым задача все стороне изучается. Причём следует придираться к каждой функции что-бы программист расписал её состав и набросал алгоритм. Это позволит точно спланировать время. И да не забываем что программы это алгоритмы+данные. Вот UML так же описывает структуру данных. Её тоже надо спланировать. И самом-собой временные диаграммы. Так вот когда функционал структуры будут все учтёны можно рассчитать время на разработку. Учтите что обязательно надо писать тесты, нужно писать документацию, нужно писать код и его отлаживать. Причём последнее занимает гораздо больше времени. И да эти задачи плохо распаралеливаются между работниками. Можете почитать Фредерика Брукса «Мифический человеко-месяц».
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 15.07.2017 в 20:39. |
15.07.2017, 21:21 | #3 |
Регистрация: 15.07.2017
Сообщений: 4
|
Не уверен что наш программист владеет UML эскизным проектированием.
Значит будем осваивать. Версия UML 2.5 по данным Википедии самая последняя. Или есть другие более удобные варианты? Зачем программист должен делать несколько схем? Устройство же одно. алгоритм+данные это программный код и и комментарии к этому коду? Структура данных это как? можно какой-нибудь пример? |
15.07.2017, 22:19 | #4 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,546
|
Устройство одно и программа одна, но если она чуть сложнее, чем "помигать диодами", то она должна быть модульной. И каждый модуль должен иметь законченную структуру, которая лучше всего отображается блок-схемой. Разбиение на модули позволяет распараллелить работу между исполнителями, упростить отладку, сопровождение и модификацию программ.
Структура данных... Пожалуйста. Из готового проекта. Уставки. 1-й байт - номер уставки - byte 2..15 байт - название уставки, отображаемое на индикаторе - ASCII string 16,17 - целая часть нижней границы уставки - word 18 - дробная часть -"- - byte 19,20,21 - то же для верхней границы 22,23,24 - то же для текущего значения 25 - флаг изменния уставки и т.п. Приведенный пример взят из программы для микроконтроллера, который требователен к расходованию ресурсов (память, быстродействие). У ПК с этим посвободней, но от этого требования к определенности формата данных не исключаются. Как-то так... Последний раз редактировалось digitalis; 16.07.2017 в 10:03. |
15.07.2017, 22:48 | #5 |
Регистрация: 15.07.2017
Сообщений: 4
|
Если взять устройство, например релейный модуль работающий в протоколе Lon.
Ему надо написать программу низкого уровня (для микроконтроллера) и программу высокого уровня для программы конфигуратора. Эту работу может реализовать один программист (если уровень его знаний позволяет это сделать). Но мне кажется, что эту работу лучше разделить как минимум для 2-х программистов. Они же могут делать свою работу одновременно? И каждому из них надо поставить конкретную поэтапную задачу. Оформит которую желательно удобным графиком (структурной схемой) для удобного контроля выполнения работ. ПО мере выполнения работ, закрывать этапы. И работа выполняется и ты в курсе что делается. Уволился человек, пришел новый и продолжил работу. |
16.07.2017, 07:38 | #6 | |
Форумчанин
Регистрация: 23.01.2016
Сообщений: 608
|
Цитата:
И судя по вопросам, TC начинающий менеджер. Менеджеры не создают прибавочной стоимости, их функция - удержать процесс производства под контролем/защитить свое социальное положение. Но никак не лезть в программирование и разработку, каждый должен заниматься своим делом. p.s.: очень напомнило сего "менеджера". |
|
16.07.2017, 12:24 | #7 |
Регистрация: 15.07.2017
Сообщений: 4
|
kutani
Спасибо за совет!) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как на c# изменить громкость определённого звукового устройства (не того устройства, которое используется по умолчанию)? | AKepchikov | C# (си шарп) | 1 | 11.03.2015 09:00 |
Построение таблиц и логики для специфических задач | Illusiony | SQL, базы данных | 6 | 13.03.2014 00:07 |
Драйвер для ISA устройства. | genchik | Фриланс | 11 | 02.08.2011 12:54 |
Создание устройства | Drocr | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 19 | 03.04.2010 16:46 |