About: Cohesion (computer science)     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatProgrammingPrinciples, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FCohesion_%28computer_science%29

In computer programming, cohesion refers to the degree to which the elements of a module belong together. Thus, cohesion measures the strength of relationship between pieces of functionality within a given module. For example, in highly cohesive systems functionality is strongly related. In object-oriented programming, if the methods that serve a class tend to be similar in many aspects, then the class is said to have high cohesion. In a highly cohesive system, code readability and reusability is increased, while complexity is kept manageable. Cohesion is increased if:

AttributesValues
rdf:type
rdfs:label
  • اتساق (علم الحاسوب)
  • Cohesion (computer science)
  • Kohäsion (Informatik)
  • Cohésion (informatique)
  • Coesione (informatica)
  • 凝集度
  • Spójność oprogramowania
  • Связность (программирование)
  • 內聚性 (計算機科學)
rdfs:comment
  • In der objektorientierten Programmierung beschreibt Kohäsion, wie gut eine Programmeinheit eine logische Aufgabe oder Einheit abbildet. In einem System mit starker Kohäsion ist jede Programmeinheit (eine Methode, eine Klasse oder ein Modul) verantwortlich für genau eine wohldefinierte Aufgabe oder Einheit.
  • 凝集度(ぎょうしゅうど、コヒージョン、cohesion)とは、情報工学においてモジュール内のソースコードが特定の機能を提供すべく如何に協調しているかを表す度合いである。IPAが実施する情報処理技術者試験では、強度(きょうど、ストレングス、strength)という言葉が使われる。凝集度は順序尺度の一種であり、「凝集度が高い」とか「凝集度が低い」といった言い方で使われる。凝集度の高いモジュールは、堅牢性、信頼性、再利用性、読みやすさなどの点で好ましく、凝集度の低いモジュールは保守/評価/再利用/読解が難しいため好ましくないとされる。 凝集度は結合度と組み合わせて議論されることが多い。凝集度が高いモジュールは他との結合度が低いことが多く、逆に凝集度が低ければ結合度が高くなる傾向がある。ソフトウェアの品質を凝集度と結合度で表す手法は、Wayne P. Stevens、Glenfold J. Myers、Larry L. Constantine が定義したもので、「良い」プログラミングの実例の特徴を探るためにIBMで彼らが指揮したいくつかのソースコード解析から生まれた。
  • Spójność oprogramowania – metryka kodu wskazująca stopień podobieństwa funkcji poszczególnych elementów modułu. Kod charakteryzujący się wysoką spójnością jest łatwy do utrzymywania (rozwoju), testowania, powtórnego użycia, a nawet do zrozumienia. Jako przeciwstawna jest zestawiana z zależnością oprogramowania. Obie te metryki zaproponował Larry Constantine na podstawie dobrych praktyk programowania.
  • Свя́зность, или про́чность (англ. cohesion, англ. module strength) — мера силы взаимосвязанности элементов внутри модуля; способ и степень, в которой задачи, выполняемые некоторым программным модулем, связаны друг с другом. Макконнелл объясняет понятие связности на примере класса (как частного случая модуля): «связность характеризует то, насколько хорошо все методы класса или все фрагменты метода соответствуют главной цели, — иначе говоря, насколько сфокусирован класс». Связность обычно противопоставляется зацеплению.
  • 内聚性(Cohesion)也稱為内聚力,是一軟體度量,是指機能相關的程式組合成一模組的程度,或是各機能凝聚的狀態或程度。是結構化分析的重要概念之一。量測内聚性的方式很多,有些方法是由分析源代碼,得到非量化的結果,有些方法則是檢查源代碼的文本特徵,以得到内聚性的量化分數。内聚性是屬於順序式的量測量,一般會以「高内聚性」或「低内聚性」來表示。一般會希望程式的模組有高内聚性,因為高内聚性一般和許多理想的軟體特性有關,包括鲁棒性、可靠度、可復用性及易懂性(understandability)等特性,而低内聚性一般也代表不易維護、不易測試、不易復用以及難以理解。 耦合性是一個和内聚性相對的概念。一般而言高内聚性代表低耦合性,反之亦然。内聚性是由賴瑞·康斯坦丁所提出,是以實務上可減少維護及修改的「好」軟體的特性為基礎。
  • In computer programming, cohesion refers to the degree to which the elements of a module belong together. Thus, cohesion measures the strength of relationship between pieces of functionality within a given module. For example, in highly cohesive systems functionality is strongly related. In object-oriented programming, if the methods that serve a class tend to be similar in many aspects, then the class is said to have high cohesion. In a highly cohesive system, code readability and reusability is increased, while complexity is kept manageable. Cohesion is increased if:
  • في برمجة الحاسوب، يُعتبر التماسك مقياسا لمدى قوة ارتباط الوظيفة التي يتم التعبير عنها بواسطة كود المصدر من وحدة البرمجية.تختلف وسائل قياس التماسك من المقاييس النوعية التي تقوم بتصنيف نص المصدر الذي يتم تحليله باستخدام مقياس تقييم عام ذو منهاج هرمنتيكي إلى المقاييس الكمية والتي تفحص الخصائص النصية لكود المصدر من أجل التوصل إلى ناتج تماسك رقمي.التماسك هو النوع الترتيبي من القياس ويتم التعبير عنه على أنه "تماسك عالي" أو "تماسك منخفض" عند مناقشته. يُفضل الوحداث ذات التماسك العالي لأن التماسك العالي مرتبط بالصفات المرغوبة المتنوعة من البرمجيات بما فيها القوة والدقة وإعادة الاستخدام والمفهومية بيما يرتبط التماسك المنخفض بالصفات الغير مرغوبة مثل صعوبة الصيانة وصعوبة الفحص وصعوبة إعادة الاستخدام وحتى صعوبة الفهم.
  • La cohésion est un principe de conception informatique définissant un degré d'accord entre les différents éléments d'un module. Selon Larman, un module cohérent a ses éléments étroitement liés et effectuant un nombre réduit d'opérations. Des modules peu cohérents sont généralement difficiles à comprendre, à réutiliser et à maintenir, et sont fragiles, puisqu'ils sont affectés par les modifications apportées aux autres modules.
  • In informatica, la coesione è una misura di quanto strettamente correlate siano le varie funzionalità messe a disposizione da un singolo modulo. I metodi per misurare la coesione variano da misure qualitative, che classificano il codice sorgente del modulo in esame effettuandone la rubricazione seguendo un approccio ermeneutico, a misure quantitative che esaminano le caratteristiche testuali del codice sorgente per derivarne un valore numerico di coesione.La coesione è una misura ordinale ed è solitamente indicata nelle discussioni come "alta coesione" o "bassa coesione". Moduli con alta coesione sono solitamente preferibili in quanto l'alta coesione è spesso associata a varie caratteristiche desiderabili in un programma quali la robustezza, l'affidabilità, la riusabilità e la comprensibil
sameAs
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
Link from a Wikipage to an external page
foaf:isPrimaryTopicOf
prov:wasDerivedFrom
has abstract
  • In computer programming, cohesion refers to the degree to which the elements of a module belong together. Thus, cohesion measures the strength of relationship between pieces of functionality within a given module. For example, in highly cohesive systems functionality is strongly related. Cohesion is an ordinal type of measurement and is usually described as “high cohesion” or “low cohesion”. Modules with high cohesion tend to be preferable, because high cohesion is associated with several desirable traits of software including robustness, reliability, reusability, and understandability. In contrast, low cohesion is associated with undesirable traits such as being difficult to maintain, test, reuse, or even understand. Cohesion is often contrasted with coupling, a different concept. High cohesion often correlates with loose coupling, and vice versa. The software metrics of coupling and cohesion were invented by Larry Constantine in the late 1960s as part of Structured Design, based on characteristics of “good” programming practices that reduced maintenance and modification costs. Structured Design, cohesion and coupling were published in the article and the book ; the latter two subsequently became standard terms in software engineering. In object-oriented programming, if the methods that serve a class tend to be similar in many aspects, then the class is said to have high cohesion. In a highly cohesive system, code readability and reusability is increased, while complexity is kept manageable. Cohesion is increased if: * The functionalities embedded in a class, accessed through its methods, have much in common. * Methods carry out a small number of related activities, by avoiding coarsely grained or unrelated sets of data. Advantages of high cohesion (or “strong cohesion”) are: * Reduced module complexity (they are simpler, having fewer operations). * Increased system maintainability, because logical changes in the domain affect fewer modules, and because changes in one module require fewer changes in other modules. * Increased module reusability, because application developers will find the component they need more easily among the cohesive set of operations provided by the module. While in principle a module can have perfect cohesion by only consisting of a single, atomic element – having a single function, for example – in practice complex tasks are not expressible by a single, simple element. Thus a single-element module has an element that either is too complicated, in order to accomplish task, or is too narrow, and thus tightly coupled to other modules. Thus cohesion is balanced with both unit complexity and coupling.
  • في برمجة الحاسوب، يُعتبر التماسك مقياسا لمدى قوة ارتباط الوظيفة التي يتم التعبير عنها بواسطة كود المصدر من وحدة البرمجية.تختلف وسائل قياس التماسك من المقاييس النوعية التي تقوم بتصنيف نص المصدر الذي يتم تحليله باستخدام مقياس تقييم عام ذو منهاج هرمنتيكي إلى المقاييس الكمية والتي تفحص الخصائص النصية لكود المصدر من أجل التوصل إلى ناتج تماسك رقمي.التماسك هو النوع الترتيبي من القياس ويتم التعبير عنه على أنه "تماسك عالي" أو "تماسك منخفض" عند مناقشته. يُفضل الوحداث ذات التماسك العالي لأن التماسك العالي مرتبط بالصفات المرغوبة المتنوعة من البرمجيات بما فيها القوة والدقة وإعادة الاستخدام والمفهومية بيما يرتبط التماسك المنخفض بالصفات الغير مرغوبة مثل صعوبة الصيانة وصعوبة الفحص وصعوبة إعادة الاستخدام وحتى صعوبة الفهم. غالبا مايتناقض التماسك مع الاعتمادية وهي مفهوم مختلف. ومع ذلك يقترن التماسك غالبا بالاعتمادية الضعيفة والعكس صحيح. تم ابتكار موازين جودة البرمجيات للاعتمادية والتماسك بواسطة لاري قسطنطين على أساس خصائص ممارسات البرمجة الجيدة والتي تقلل نفقات الصيانة والتعديل.
  • In der objektorientierten Programmierung beschreibt Kohäsion, wie gut eine Programmeinheit eine logische Aufgabe oder Einheit abbildet. In einem System mit starker Kohäsion ist jede Programmeinheit (eine Methode, eine Klasse oder ein Modul) verantwortlich für genau eine wohldefinierte Aufgabe oder Einheit.
  • La cohésion est un principe de conception informatique définissant un degré d'accord entre les différents éléments d'un module. Selon Larman, un module cohérent a ses éléments étroitement liés et effectuant un nombre réduit d'opérations. Des modules peu cohérents sont généralement difficiles à comprendre, à réutiliser et à maintenir, et sont fragiles, puisqu'ils sont affectés par les modifications apportées aux autres modules. La cohésion peut être une métrique mesurant l'application des principes d'encapsulation des données et de masquage de l'information. Elle mesure également la cohésion sémantique des interfaces des modules et des classes.
  • In informatica, la coesione è una misura di quanto strettamente correlate siano le varie funzionalità messe a disposizione da un singolo modulo. I metodi per misurare la coesione variano da misure qualitative, che classificano il codice sorgente del modulo in esame effettuandone la rubricazione seguendo un approccio ermeneutico, a misure quantitative che esaminano le caratteristiche testuali del codice sorgente per derivarne un valore numerico di coesione.La coesione è una misura ordinale ed è solitamente indicata nelle discussioni come "alta coesione" o "bassa coesione". Moduli con alta coesione sono solitamente preferibili in quanto l'alta coesione è spesso associata a varie caratteristiche desiderabili in un programma quali la robustezza, l'affidabilità, la riusabilità e la comprensibilità, mentre la bassa coesione è spesso associata a caratteristiche non desiderabili come il rendere difficoltose la manutenzione, le verifiche, la riusabilità e la comprensibilità. La coesione è solitamente messa in contrapposizione all'accoppiamento. Un alto grado di coesione corrisponde spesso ad un basso grado di accoppiamento e viceversa. Le misure di qualità del software di accoppiamento e coesione furono inventate da Larry Constantine , basandosi sulle caratteristiche della "buona" programmazione che riduce il costo di mantenimento e di modifica di un software.
  • 凝集度(ぎょうしゅうど、コヒージョン、cohesion)とは、情報工学においてモジュール内のソースコードが特定の機能を提供すべく如何に協調しているかを表す度合いである。IPAが実施する情報処理技術者試験では、強度(きょうど、ストレングス、strength)という言葉が使われる。凝集度は順序尺度の一種であり、「凝集度が高い」とか「凝集度が低い」といった言い方で使われる。凝集度の高いモジュールは、堅牢性、信頼性、再利用性、読みやすさなどの点で好ましく、凝集度の低いモジュールは保守/評価/再利用/読解が難しいため好ましくないとされる。 凝集度は結合度と組み合わせて議論されることが多い。凝集度が高いモジュールは他との結合度が低いことが多く、逆に凝集度が低ければ結合度が高くなる傾向がある。ソフトウェアの品質を凝集度と結合度で表す手法は、Wayne P. Stevens、Glenfold J. Myers、Larry L. Constantine が定義したもので、「良い」プログラミングの実例の特徴を探るためにIBMで彼らが指揮したいくつかのソースコード解析から生まれた。
  • Spójność oprogramowania – metryka kodu wskazująca stopień podobieństwa funkcji poszczególnych elementów modułu. Kod charakteryzujący się wysoką spójnością jest łatwy do utrzymywania (rozwoju), testowania, powtórnego użycia, a nawet do zrozumienia. Jako przeciwstawna jest zestawiana z zależnością oprogramowania. Obie te metryki zaproponował Larry Constantine na podstawie dobrych praktyk programowania.
  • Свя́зность, или про́чность (англ. cohesion, англ. module strength) — мера силы взаимосвязанности элементов внутри модуля; способ и степень, в которой задачи, выполняемые некоторым программным модулем, связаны друг с другом. Макконнелл объясняет понятие связности на примере класса (как частного случая модуля): «связность характеризует то, насколько хорошо все методы класса или все фрагменты метода соответствуют главной цели, — иначе говоря, насколько сфокусирован класс». Связность обычно противопоставляется зацеплению.
  • 内聚性(Cohesion)也稱為内聚力,是一軟體度量,是指機能相關的程式組合成一模組的程度,或是各機能凝聚的狀態或程度。是結構化分析的重要概念之一。量測内聚性的方式很多,有些方法是由分析源代碼,得到非量化的結果,有些方法則是檢查源代碼的文本特徵,以得到内聚性的量化分數。内聚性是屬於順序式的量測量,一般會以「高内聚性」或「低内聚性」來表示。一般會希望程式的模組有高内聚性,因為高内聚性一般和許多理想的軟體特性有關,包括鲁棒性、可靠度、可復用性及易懂性(understandability)等特性,而低内聚性一般也代表不易維護、不易測試、不易復用以及難以理解。 耦合性是一個和内聚性相對的概念。一般而言高内聚性代表低耦合性,反之亦然。内聚性是由賴瑞·康斯坦丁所提出,是以實務上可減少維護及修改的「好」軟體的特性為基礎。
http://purl.org/voc/vrank#hasRank
is Link from a Wikipage to another Wikipage of
Faceted Search & Find service v1.17_git39 as of Aug 09 2019


Alternative Linked Data Documents: PivotViewer | iSPARQL | ODE     Content Formats:       RDF       ODATA       Microdata      About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3232 as of Jan 24 2020, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (61 GB total memory)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2020 OpenLink Software