Kaj je inženiring domen?

Domenski inženiring je dejanje ustvarjanja nove računalniške programske opreme z uporabo delčkov obstoječih programov in tistega, kar vemo o njih. Pomemben del inženiringa domen je odkrivanje, kako so različni artefakti in domene programske opreme podobni potrebam določene stranke, tako da jih je mogoče pravilno potegniti in uporabiti. Čeprav to pomeni, da je programska oprema stranke le različica drugega sistema, obstajajo edinstveni deli programske opreme, ki so jih napisali ustvarjalci. Prednosti tega vključujejo hitrejši čas izdelave in manj napak.

Edinstveni programi se ustvarjajo vsak dan, vendar v bistvu mnogi od njih uporabljajo isto kodiranje za določene razdelke. Namesto da bi napisal popolnoma nov program, ki lahko uporablja enako ali podobno kodiranje, inženiring domene ponovno uporabi nekatere odseke v novih programih. To so običajno generični deli, ki jih je mogoče enostavno reciklirati brez kakršnih koli pravnih težav, ker so deli, ki jih je mogoče najti v večini drugih programov. Deli lahko prihajajo iz enega programa ali več, odvisno od potreb stranke.

Pri inženiringu domen ustvarjalci programske opreme ne kopirajo nobenega dela programske opreme, da bi videli, ali deluje; namesto tega morajo biti sposobni analizirati različne programe. Na primer, če stranka želi določeno funkcijo, morajo ustvarjalci analizirati programe, ki so jih izdelali, da ugotovijo, ali obstajajo kateri s podobnimi funkcijami. Brez analize ni nobenega zagotovila, da bo kopirana koda delovala pravilno.

Zaradi tega procesa se morda zdi, da je inženiring domene le sistem, ki temelji na predlogah, v katerem ustvarjalci programske opreme kopirajo neko kodo in jo imenujejo nov program, vendar to ni res. Celoten proces inženiringa domene je precej intenziven in presega zgolj iskanje podobnih delov. Ko se najdejo podobni deli, jih je običajno treba prilagoditi potrebam stranke, ustvarjalci pa pogosto zgradijo novo kodo, da zadovoljijo druge potrebe stranke, ki jih kopirana koda ne pokriva.

Domenskemu inženiringu lahko pripišemo več prednosti. Program ni v celoti narejen iz nič, zato naj bi trajalo manj časa za razvoj. To pomeni, da lahko stranka hitreje uporabi ali proda program, kar je pogosto zaželeno. Kopirano kodiranje, ki se uporablja pri inženiringu domene, je običajno predhodno testirano, da se prepričamo, da deluje, zato je običajno manj testov, kar tudi skrajša čas razvoja. Pokazalo se je, da koda že deluje, zato pogosto povzroči manj napak v programski opremi.