Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Модульді бағдарламалауда әр түрлі бағдарламалық пакет өлшемдері қолданылады. Оларды Роберт Сесил Мартин өзінің 2002 жылғы "Agile software development: principles, patterns, and practices" кітабында атап өткен. Мұнда бағдарламалық қамтамасыз ету топтамасы термині объектке бағдарланған бағдарламалаудағы байланысты кластардың тобына қатысты. Сабақтар мен интерфейстердің саны: Пакеттегі нақты және абстрактілі сыныптардың (және интерфейстердің) саны - пакеттің кеңейтілетіндігінің көрсеткіші. Аферентті біріктіру (Ca): Басқа топтамалардағы топтамалар құрамындағы топтамаларға байланысты кластардың саны топтаманың жауапкершілігінің көрсеткіші болып табылады. Аферентті қосқыш сигналды ішкі жағына қарай береді. Эфференттік біріктірулер (Ce): Бір топтамадағы топтамалар басқа топтамалардағы кластардың санына тәуелді, бұл топтаманың сыртқы факторларға тәуелділігінің көрсеткіші. Эфференттік қосқыштар сыртқы сигнал береді. Абстракттылық (А): Талданған пакеттегі абстрактты кластар (және интерфейстер) санының талданған пакеттегі кластардың жалпы санына қатынасы. Бұл метриканың диапазоны 0-ден 1-ге дейін, A=0 толықтай нақты пакетті және A=1 толықтай абстрактілі пакетті көрсетеді. Тұрақсыздық (I): Эфференттік жұпталымының (Ce) жалпы жұпталымына (Ce + Ca) қатынасы , яғни I = Ce / (Ce + Ca). Бұл көрсеткіш - пакетінің өзгеруге төзімділігін көрсететін көрсеткіш. Бұл метриканың диапазоны 0-ден 1-ге дейін, I=0 толық тұрақты пакетті және I=1 толық тұрақсыз пакетті көрсетеді. Негізгі тізбектен қашықтық (D): А + I = 1 идеалданған түзуден пакеттің перпендикуляр қашықтығы. D = A + I 1 деп есептеледі. Бұл көрсеткіш - пакеттің абстрактілік пен тұрақтылық арасындағы теңгерімінің көрсеткіші. Негізгі реттілікте орналасқан пакеттің абстракттылығы мен тұрақтылығы жағынан оңтайлы теңдестіріледі. Идеалдық пакеттер немесе толығымен абстрактілік және тұрақты (I = 0, A = 1) немесе толығымен нақты және тұрақсыз (I = 1, A = 0). Бұл метриканың диапазоны 0-ден 1-ге дейін, D=0 негізгі реттілікпен сәйкес келетін пакетті көрсетеді, ал D=1 негізгі реттіліктен мүмкіндігінше алыс пакетті көрсетеді. Пакеттік тәуелділік циклдері: Пакеттік тәуелділік циклдері пакеттік тәуелділік циклдеріне қатысатын пакеттердің иерархиялық жолдарымен бірге көрсетіледі.
Various software package metrics are used in modular programming. They have been mentioned by Robert Cecil Martin in his 2002 book Agile software development: principles, patterns, and practices. The term software package here refers to a group of related classes in object oriented programming. Number of classes and interfaces: The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package. Afferent couplings (Ca): The number of classes in other packages that depend upon classes within the package is an indicator of the package's responsibility. Afferent couplings signal inward. Efferent couplings (Ce): The number of classes in other packages that the classes in a package depend upon is an indicator of the package's dependence on externalities. Efferent couplings signal outward. Abstractness (A): The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package. Instability (I): The ratio of efferent coupling (Ce) to total coupling (Ce + Ca) such that I = Ce / (Ce + Ca). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely unstable package. Distance from the main sequence (D): The perpendicular distance of a package from the idealized line A + I = 1. D is calculated as D = | A + I 1 |. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (I=0, A=1) or completely concrete and unstable (I=1, A=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible. Package dependency cycles: Package dependency cycles are reported along with the hierarchical paths of packages participating in package dependency cycles.