Halstead күрделілігі - Halstead complexity measures - Wikipedia

Halstead күрделілігі болып табылады бағдарламалық қамтамасыз ету көрсеткіштері Морис Ховард Хальстед 1977 жылы енгізген[1] бағдарламалық жасақтаманың эмпирикалық ғылымын құру туралы өзінің трактатының бір бөлігі ретінде.Халстед бағдарламалық жасақтаманың метрикасы алгоритмдердің әр түрлі тілдердегі орындалуын немесе өрнегін көрсетуі керек, бірақ олардың белгілі бір платформада орындалуына тәуелді болмауы керек деген бақылаулар жасады. кодтан статикалық түрде есептеледі.

Halstead-дің мақсаты бағдарламалық жасақтаманың өлшенетін қасиеттерін және олардың арасындағы қатынастарды анықтау болды, бұл заттың өлшенетін қасиеттерін (газдың көлемі, массасы және қысымы сияқты) және олардың арасындағы қатынастарды (ұқсас газ теңдеуі Осылайша, оның көрсеткіштері шынымен де күрделі көрсеткіштер емес.

Есептеу

Берілген мәселе үшін:

  • = айқын операторлардың саны
  • = ерекше операндтардың саны
  • = операторлардың жалпы саны
  • = операндтардың жалпы саны

Осы сандардан бірнеше шараларды есептеуге болады:

  • Бағдарлама лексикасы:
  • Бағдарламаның ұзақтығы:
  • Бағдарламаның есептелген ұзақтығы:
  • Көлемі:
  • Қиындық:
  • Күш:

Қиындық өлшемі бағдарламаның жазу немесе түсіну қиындықтарымен байланысты, мысалы. жасаған кезде кодты қарау.

Күш өлшемі келесі қатынасты қолдана отырып нақты кодтау уақытына ауысады,

  • Бағдарламалауға қажетті уақыт: секунд

Halstead жеткізген қателер (B) - бұл іске асырудағы қателіктер саны.

  • Жеткізілген қателер саны: немесе жақында, қабылданады[дәйексөз қажет ].

Мысал

Келесі жағдайды қарастырайық C бағдарлама:

негізгі(){    int а, б, c, орташа;    сканф(«% d% d% d», &а, &б, &c);    орташа = (а + б + c) / 3;    printf(«орташа =% d», орташа);}

Бірегей операторлар: негізгі, (), {}, int, сканф,&, =, +, /, printf, ,, ;

Бірегей операндар: а, б, c, орташа, «% d% d% d», 3, «орташа =% d»

  • , ,
  • , ,
  • Бағдарламаның есептелген ұзақтығы:
  • Көлемі:
  • Қиындық:
  • Күш:
  • Бағдарламалауға қажетті уақыт: секунд
  • Жеткізілген қателер саны:

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Halstead, Maurice H. (1977). Бағдарламалық жасақтама ғылымдарының элементтері. Амстердам: Elsevier North-Holland, Inc. ISBN  0-444-00205-7.

Сыртқы сілтемелер