▁sav ings ▁made ▁by ▁avoid ing ▁going ▁into ▁production ▁with ▁a ▁design ▁which ▁needs ▁improvement . ▁ ▁Software ▁engineering ▁ ▁The ▁most ▁common ▁use ▁of ▁mock ups ▁in ▁software ▁development ▁is ▁to ▁create ▁user ▁interfaces ▁that ▁show ▁the ▁end ▁user ▁what ▁the ▁software ▁will ▁look ▁like ▁without ▁having ▁to ▁build ▁the ▁software ▁or ▁the ▁underlying ▁functionality . ▁Software ▁UI ▁mock ups ▁can ▁range ▁from ▁very ▁simple ▁hand ▁drawn ▁screen ▁layout s , ▁through ▁real istic ▁bit maps , ▁to ▁semi ▁functional ▁user ▁interfaces ▁developed ▁in ▁a ▁software ▁development ▁tool . ▁ ▁Mock ups ▁are ▁often ▁used ▁to ▁create ▁unit ▁tests ▁- ▁there ▁they ▁are ▁usually ▁called ▁mock ▁objects . ▁The ▁main ▁reasons ▁to ▁create ▁such ▁mock ups ▁is ▁to ▁be ▁able ▁to ▁test ▁one ▁part ▁of ▁a ▁software ▁system ▁( a ▁unit ) ▁without ▁having ▁to ▁use ▁dependent ▁modules . ▁The ▁function ▁of ▁these ▁dependencies ▁is ▁then ▁" f aked " ▁using ▁mock ▁objects . ▁ ▁This ▁is ▁especially ▁important ▁if ▁the ▁functions ▁that ▁are ▁sim ulated ▁like ▁this ▁are ▁difficult ▁to ▁obtain ▁( for ▁example ▁because ▁it ▁involves ▁complex ▁computation ) ▁or ▁if ▁the ▁result ▁is ▁non - det erm in istic , ▁such ▁as ▁the ▁read out ▁of ▁a ▁sensor . ▁ ▁A ▁common ▁style ▁of ▁software ▁design ▁is ▁Service - orient ed ▁architecture ▁( SO A ), ▁where ▁many ▁components ▁communicate ▁via ▁protocol s ▁such ▁as ▁HTTP . ▁Service ▁virtual ization ▁and ▁API ▁mock s ▁and ▁sim ul ators ▁are ▁examples ▁of ▁implementations ▁of ▁mock ups ▁or ▁so ▁called ▁over