10 савјета о правилном документовању дизајна како би други могли да прате

Izliječiti strah (Јун 2019).

$config[ads_text] not found
Anonim

Дакле, волите да креирате електронске уређаје, али да ли знате шта је потребно да постанете професионални дизајнер? Савет: То нису једноставно добре вештине дизајна.

Рицхард Куиннелл, главни и одговорни уредник

Питајте већину произвођача електронике о томе шта раде за живот, и већину времена добићете одговор који описује врсте производа које развијају. Али истина о овом питању је много свеобухватнија. Најважнији резултат на крају развоја производа није хардверски прототип или апликативни софтвер. То је пројектна документација, и добивање у праву може исплатити огромне предности по линији.

Професионални програмери су они који производе производе намењене производњи, дистрибуцији и продаји. У већини случајева, ови производи ће такође захтевати одржавање на терену, поправке грешака, надоградње и корисничку подршку, као и варијације производа који се мијењају и често имају бар дио дизајна копираног и поновног кориштења у потпуно новом производу. Ништа од овога се не може лако десити ако оригиналан дизајн није правилно документован. Наравно, могуће је реверзно инжењерирати нешто без икаквих пројектних докумената и онда се кретати напред да би се укључили у ове активности. Али чак и тада, први исход труда у инверзији је основна документација постојећег дизајна.

Начин на који већина пројеката иде, дизајнери пређу на нешто ново када се развој заврши, остављајући одговорност свим осталим оним другим активностима. Али чак и када је позван оригинални дизајнер да помогне, шансе су да је већина њиховог оригиналног дизајнерског размишљања заборављена. Дакле, у сваком случају, поседовање пристојне документације ће се показати непроцењивим у убрзавању напора.

Међутим, оно што чини "пристојну" документацију је мало субјективно и подложно културним предрасудама развојног тима. Осим тога, постоји много врста документације која треба да се изађе из развојних напора намењених производњи, укључујући, али не ограничавајући се на, приручнике за кориснике, процедуре испитивања, опис производа и спецификације дизајна. Ова истина доводи до првог од 10 кључних елемената који представљају корисну документацију:

1. Циљање публике. Детаљи о томе шта документ треба да садржи ће се разликовати од сврхе документа, тако да прво треба знати за кога се документација пише. Питајте (или очекујте) њихове потребе за информацијама и шта ће користити документе како би им помогли. Одговори на ова питања могу вам помоћи да изаберете какву врсту и количину информација укључите у документ. У овом чланку претпостављам да говоримо о припреми системске документације која је потребна да би се будућем програмеру прилагодило, проширио или применио ваш дизајн како би задовољио нове захтеве или исправио неочекивано понашање (тј. Грешке). Већина сирових информација које се траже у следећим саветима могу се снимити у реалном времену, као што су нотебоок рачунари, али ће и даље бити потребно организовати и представити на начине који задовољавају одређену потребу публике када је фаза пројектовања завршена.

2. Одржавајте фокус задатака. Фокусирајте своју документацију на помоћ читаоцу да оствари свој очекиван циљ. Један од начина да то урадите је да се запитате шта бисте желели да знате о дизајну како бисте помогли убрзању ваше способности да направите промјене без увођења нежељених посљедица, а затим пружите те информације. То ће захтијевати више него једноставно навести шта је учињено; требаће нам опис разлога који се тичу избора дизајна.

Извор слике: Моргуефиле.
Документација хардвера
3. Описати хардверску функцију и намјеру. За хардверски дизајн, пружите читачу докумената информације које им могу помоћи да разумеју и детаље о дизајну и његову укупну структуру и рад. Многи програмери бирају, на примјер, организацију схеми помоћу тачканих линија како би се окружили функционални блокови или подсистеми (као што су модулатор, управљање напајањем или уређај за конекцију сигнала) или их ставити на поједине странице и обезбиједити написе који појединачно адресирају ове блокове. Они затим припремају свеобухватни дијаграм дизајна користећи исте блокове и описују како блокови функционишу као ансамбл који обезбеђује преглед система. Појединачни блокови писања су посебно корисни за програмере који желе да поново користе сегменте дизајна у нечем новом.

4. Описати интерфејсе. Детаље кључних електричних и временских карактеристика сигнала који пролазе кроз и из функционалног блока, укључујући и снагу. Поново, ово олакшава каснију поновну употребу хардверског блока, али такође помаже приликом дебаговања и тестирања указујући на то какви би били кључни сигнали. Ако постоје критични временски захтеви (као што су подешавање и држање времена) или ограничења као што је импеданса оптерећења или ниво напона / снаге, обавезно их укључите. Неки програмери објаснивају своје схеме директно са нотама које указују на линије сигнала или специфичне компоненте које су укључене да пруже такве информације.

5. Дискутујте о изборима компоненти. У многим случајевима, зашто је одређени тип или вриједност компоненте изабран, је исто толико важно као и постављање компоненте у круг. Има ли разлога да користите отпорник на жицу уместо угљичног композита или керамике умјесто полиестарског кондензатора? Ни за сваку компоненту нема потребе за оправдањем, али запамтите такве изборе и разлоге иза њих када су од значаја. Слично томе, ако постоје оцене снаге, карактеристике фреквенције, димензионални захтеви или неки други важни разлози за одређени избор, запишите их. Ово ће спречити проблеме у вези са линијом ако неко буде у искушењу (или потребном) да направи замену за погодност или да уштеди трошкове. Такве белешке могу бити укључене у рачун материјала или директно на шеме како се чини најприкладнијим.

6. Укључите релевантне калкулације. У рјешавању проблема као што су дисипација енергије, фреквентни одзив, заштитна кола, временске константе, усклађивање импеданције, подешавања добитка и слично, дизајнери обично требају израчунати одговарајуће вриједности. Чување ових прорачуна за касније програмере за преглед може у великој мери помоћи њиховом разумевању функције и рада кола, посебно ако желе да модификују једну или више ових карактеристика. Најчешћи начин очувања ових прорачуна је дизајн нотебоок (или онлине документ) који програмери задржавају као евиденцију свог размишљања док стварају свој дизајн. Сама бележница је најкориснија за првобитног дизајнера за своју будућу референцу, али сажетак критичних калкулација такође треба да буде укључен у системску документацију која ће водити било ког будућег аутсајдера. Бележница олакшава копирање тих података у други документ, без обзира на то да ли је потребно поново проћи кроз рачун.

Извор слике: Пикабаи.
Софтверска документација
Многи од горе поменутих сугестија примењују се и на софтверску документацију, али са мало преокрета. Софтвер не мора да буде фабрички, тако да нема потребе да предвиди могуће замене, а коначни прототип - изворни код - такође може да формира велики део сопствене документације. Само не сви.

7. Опишите архитектуру вишег нивоа. Добар коментар који је коментарисао изворни код је корисно за касније програмере који покушавају да прате логику и имплементацију појединачних функција и процедура, али такође треба да постоје и описи вишег нивоа који описују како се ови делови уклапају у целокупни систем. Ови описи могу бити у облику дијаграма текста, дијаграма стања или текста, а њихова сврха је омогућити програмерима да виде на први поглед гдје промјена унутар појединачног бита кодова може имати утјецај на друге дијелове рада система.

8. Опишите варијабле. Уз коментаре, блокови кода би требали садржати сазет описа варијабли које код користи, њихову сврху, њихову врсту и димензију и очекиване опсеге вриједности. Дескриптивна имена могу помоћи у разјашњавању сврхе варијабли и још су кориснија у помагању програмеру да прати логичку шифру, али не би требао бити једини описи

9. Ударите равнотежу. Еинстеину се приписује: "Чине ствари што једноставније, али једноставније." Кодна документација је савршена мета за тај савет. Дуги и опипљиви описи који говоре програмеру више него што треба да знају не само да троше пуно времена и да их тешко одржавају, јер се код развија, тешко их је читати и апсорбовати. Изражавање правог баланса између потпуности и краткотрајности може бити изазовно, али вриједно труда.

10. Сарадња. Један од начина да се помогне штрајку неопходном балансу је да сарађује са другима на стварању и прегледу документације. Потпуно је лако за некога ко описује њихов дизајн размишљајући да заборави да други не живе са тим дизајном недељама и месецима. Имати неког другог да изгледа као да ће бити следећа особа која ради на дизајну ће помоћи да се обезбеди да су све потребне информације присутне и довољне. Алтернативно, рад са неким ко је квалификован за креирање документације може помоћи у хватању намере дизајна.

Сва ова активност документације, по било којој процени, захтијева знатну количину напора, али може се добро исплатити касније када је дизајн потребно ажурирати, модифицирати, канибализирати или фиксирати. Овај напор представља и једну од најзначајнијих разлика између аматерских / хобијатских дизајна и професионалних. За професионалца, стварање система који функционише није њихов крајњи циљ. Прави циљ је ставити у руке друге паковање које омогућава да се дизајн ефикасно производи, инсталира, одржава и развија без даљег укључивања дизајнера.

Да бисте научили како да дизајнирате и развијете апликације за контролу мотора са НКСП МагниВ МЦУ-има користећи моделски дизајн, регистрирајте се за бесплатни вебинар , спонзориран од стране НКСП-а

Рицхард Куиннелл