सॉफ्टवेयर मीट्रिक: Difference between revisions
No edit summary |
m (13 revisions imported from alpha:सॉफ्टवेयर_मीट्रिक) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{{Software development process}} | {{Software development process}} | ||
[[सॉफ्टवेयर इंजीनियरिंग]] और | [[सॉफ्टवेयर इंजीनियरिंग]] और डेवलपमेंट में '''सॉफ्टवेयर मीट्रिक''' उस डिग्री के माप का एक मानक है जिसके लिए सॉफ्टवेयर सिस्टम या प्रक्रिया में कुछ समानता होती है।<ref>{{Cite book|last=Fenton|first=Norman E.|url=https://www.worldcat.org/oclc/834978252|title=Software metrics : a rigorous and practical approach|date=2014|others=James Bieman|isbn=978-1-4398-3823-5|edition=3rd|location=Boca Raton, FL|oclc=834978252}}</ref><ref>{{Cite book|last1=Timóteo|first1=Aline Lopes|title=Software Metrics: A Survey|last2=Álvaro|first2=Re|last3=Almeida|first3=Eduardo Santana De|last4=De|first4=Silvio Romero|last5=Meira|first5=Lemos|citeseerx=10.1.1.544.2164}}</ref> यदि मीट्रिक एक माप नहीं है (मेट्रिक्स फंक्शन हैं, जबकि माप मीट्रिक के अनुप्रयोगों द्वारा प्राप्त संख्याएं हैं), हमेशा दो नियम को समानता के रूप में उपयोग किया जाता है। चूंकि सभी विज्ञानों में माप आवश्यक हैं, इसलिए सॉफ्टवेयर डेवलपमेंट के लिए समान दृष्टिकोण लाने के लिए कंप्यूटर वैज्ञानिकों और सिद्धांतकारों द्वारा निरंतर प्रयास किया जाता है। लक्ष्य पुनः प्राप्त करने और परिमाण निर्धारित करने योग्य माप जिसमें सारणीसूची और बजट योजना, कॉस्ट(लागत) अनुमान, गुणवत्ता गारन्टी, टेस्टिंग, सॉफ्टवेयर [[डिबगिंग]], सॉफ्टवेयर प्रोग्राम और इष्टतम कार्य असाइनमेंट में कई अनुप्रयोग हो सकते हैं। | ||
== सामान्य सॉफ्टवेयर माप == | == सामान्य सॉफ्टवेयर माप == | ||
सामान्य सॉफ्टवेयर मापों में | सामान्य सॉफ्टवेयर मापों में निम्नलिखित हैं: | ||
* [[ एबीसी सॉफ्टवेयर मीट्रिक ]] | * [[ एबीसी सॉफ्टवेयर मीट्रिक ]] | ||
* [[संतुलित स्कोरकार्ड]] | * [[संतुलित स्कोरकार्ड|बैलेंस्ड स्कोरकार्ड]] | ||
* कोड | * कोड के प्रति पंक्ति बग्स | ||
* [[कोड कवरेज़|कोड कवरेज | * [[कोड कवरेज़|कोड कवरेज]] | ||
* [[सामंजस्य (कंप्यूटर विज्ञान)| | * [[सामंजस्य (कंप्यूटर विज्ञान)|कोहेसन(सम्बद्धता)]] | ||
* | * कमेंट डिफेक्ट(त्रुटि)<ref>{{cite web|title=वर्णनात्मक जानकारी (डीआई) मीट्रिक सीमाएँ|url=http://www.lsec.dnd.ca/qsd_current_version/eng_support/di/metrics.htm|work=Land Software Engineering Centre|access-date=19 October 2010|url-status=dead|archive-url=https://archive.today/20110706175332/http://www.lsec.dnd.ca/qsd_current_version/eng_support/di/metrics.htm|archive-date=6 July 2011}}</ref> | ||
* कॉनसेंट सॉफ्टवेयर घटक | * कॉनसेंट सॉफ्टवेयर घटक | ||
*[[ नारियल | रचनात्मक | *[[ नारियल | रचनात्मक कॉस्ट मॉडल]] | ||
* [[युग्मन (कंप्यूटर विज्ञान)]] | * [[युग्मन (कंप्यूटर विज्ञान)|कपलिंग]] | ||
* साइक्लोमैटिक जटिलता (मैककेबे | * साइक्लोमैटिक(चक्रीय) जटिलता (मैककेबे जटिलता) | ||
* चक्रीय जटिलता | * साइक्लोमैटिक(चक्रीय) जटिलता डेंसिटी <ref>{{Cite journal|last1=Gill|first1=G. K.|last2=Kemerer|first2=C. F.|date=December 1991|title=चक्रीय जटिलता घनत्व और सॉफ्टवेयर रखरखाव उत्पादकता|url=https://ieeexplore.ieee.org/document/106988|journal=IEEE Transactions on Software Engineering|volume=17|issue=12|pages=1284–1288|doi=10.1109/32.106988|issn=1939-3520}}</ref><ref>{{Cite web|title=maintainability - Does it make sense to compute cyclomatic complexity/lines of code ratio?|url=https://softwareengineering.stackexchange.com/questions/56056/does-it-make-sense-to-compute-cyclomatic-complexity-lines-of-code-ratio|access-date=2021-03-01|website=Software Engineering Stack Exchange}}</ref> | ||
* डिफेक्ट | * डिफेक्ट डेंसिटी - किसी पार्ट में पाए जाने वाले डिफेक्ट(त्रुटि) | ||
* डिफेक्ट क्षमता - किसी विशेष | * डिफेक्ट(त्रुटि) क्षमता - किसी विशेष पार्ट में डिफेक्ट(त्रुटि) की अपेक्षित संख्या | ||
* डिफेक्ट | * डिफेक्ट(त्रुटि) स्थानांतरण दर | ||
* [[डीएसक्यूआई]] (डिजाइन संरचना गुणवत्ता सूचकांक) | * [[डीएसक्यूआई]] (डिजाइन संरचना गुणवत्ता सूचकांक) | ||
* [[कार्य बिंदु]] और स्वचालित फंक्शन | * [[कार्य बिंदु|फंक्शन बिंदु]] और स्वचालित फंक्शन बिंदु,ऑब्जेक्ट प्रबंधन समूह मानक<ref>{{cite web|url=http://www.omg.org/news/releases/pr2013/01-17-13.htm |title=OMG स्वचालित फ़ंक्शन प्वाइंट विशिष्टता को अपनाता है|publisher=Omg.org |date=2013-01-17 |access-date=2013-05-19}}</ref> | ||
* | * हॉस्टेड जटिलता | ||
* | * इंस्ट्रक्शन पथ की लंबाई | ||
* | * मेंटेनेंसी सूचकांक | ||
* [[कोड की स्रोत पंक्तियाँ]] - कोड की पंक्तियों की संख्या | * [[कोड की स्रोत पंक्तियाँ|कोड की सोर्स पंक्तियाँ]] - कोड की पंक्तियों की संख्या | ||
* रन टाइम (प्रोग्राम | * रन टाइम (प्रोग्राम एक्सक्यूशन समय ) | ||
* [[लोडर (कंप्यूटिंग)]] | * [[लोडर (कंप्यूटिंग)|प्रोग्राम लोड समय]] | ||
* प्रोग्राम का | * प्रोग्राम का साइज (बाइनरी) | ||
* [[भारित सूक्ष्म कार्य बिंदु| | * [[भारित सूक्ष्म कार्य बिंदु|वेटेड सूक्ष्म फंक्शन बिंदु]] | ||
* [[चक्र समय (सॉफ्टवेयर) | * [[चक्र समय (सॉफ्टवेयर)|साइकल समय (सॉफ्टवेयर)]] | ||
* सुधारात्मक कमिट प्रायिकता<ref>{{cite arXiv|last1=Amit|first1=Idan|last2=Feitelson|first2=Dror G.|date=2020-07-21|title=सुधारात्मक प्रतिबद्धता संभाव्यता कोड गुणवत्ता मीट्रिक|class=cs.SE|eprint=2007.10912}}</ref> | |||
* सुधारात्मक | |||
== सीमाएँ == | == सीमाएँ == | ||
चूंकि सॉफ्टवेयर | चूंकि सॉफ्टवेयर डेवलपमेंट एक जटिल प्रक्रिया है, जिसमें तरीकों और उद्देश्यों दोनों पर उच्च भिन्नता होती है, इसलिए सॉफ्टवेयर गुणों को परिभाषित करना या मापना और एक वैध और समवर्ती माप मीट्रिक निर्धारित करना जटिल प्रक्रिया है, जब विशेष रूप से विस्तृत डिजाइन से पहले ऐसी भविष्यवाणी की जाती है। असुविधा और तर्क का एक अन्य स्रोत यह निर्धारित करना है कि कौन से मैट्रिक्स का उपयोग होता हैं और उनका क्या अर्थ है।<ref name="integration_watch"/><ref name="when_why_how">{{cite web|last=Kolawa|first=Adam|title=कब, क्यों और कैसे: कोड विश्लेषण|url=https://www.codeproject.com/Articles/28440/When-Why-and-How-Code-Analysis|work=The Code Project|date=7 August 2008|access-date=14 February 2021}}</ref> | ||
इसलिए सॉफ्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है | इसलिए सॉफ्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है | ||
* [[अनुसूची (परियोजना प्रबंधन)| | * [[अनुसूची (परियोजना प्रबंधन)|शिड्यूल]] | ||
* सॉफ्टवेयर | *सॉफ्टवेयर साइज | ||
* [[प्रोग्रामिंग जटिलता]] | * [[प्रोग्रामिंग जटिलता]] | ||
* सॉफ्टवेयर | * सॉफ्टवेयर डेवलपमेंट प्रयास का आकलन | ||
* [[सॉफ्टवेयर गुणवत्ता]] | * [[सॉफ्टवेयर गुणवत्ता]] | ||
एक विशिष्ट माप उपरोक्त | एक विशिष्ट माप उपरोक्त में से एक या अधिक, या उनके बीच बैलेंस को उदाहरण के रूप में टीम मोटिवेशन या प्रोजेक्ट के प्रदर्शन संकेतक के रूप में टारगेट(लक्षित) कर सकता है, । | ||
इसके अतिरिक्त मेट्रिक्स स्टेटिक और डायनमिक प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर | इसके अतिरिक्त मेट्रिक्स स्टेटिक और डायनमिक प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर सिस्टम के लिए भिन्न होते हैं।<ref>{{Cite book|last1=S|first1=Parvinder Singh|title=ऑब्जेक्ट ओरिएंटेड सिस्टम में बहुरूपता के लिए गतिशील मेट्रिक्स|last2=Singh|first2=Gurdev|citeseerx=10.1.1.193.4307}}</ref> | ||
==स्वीकृति एवं जनमत== | ==स्वीकृति एवं जनमत== | ||
कुछ सॉफ्टवेयर | कुछ सॉफ्टवेयर डेवलपमेंट करने वाले डेवलपर्स यह बताते हैं कि सरलीकृत माप अधिक हानि पहुंचा सकते हैं।<ref>{{citation |last=Kaner|first=Dr. Cem|title=Software Engineer Metrics: What do they measure and how do we know?|year=2004|citeseerx=10.1.1.1.2542}}</ref> दूसरों के द्वारा नोटिस किया गया है कि मेट्रिक्स सॉफ्टवेयर डेवलपमेंट प्रक्रिया का एक अभिन्न पार्ट बन गए हैं।<ref name="integration_watch">{{cite web|last=Binstock|first=Andrew|title=एकीकरण निगरानी: मेट्रिक्स का प्रभावी ढंग से उपयोग करना|url=http://www.sdtimes.com/link/34157|work=SD Times|date=March 2010|publisher=BZ Media |access-date=19 October 2010}}</ref> प्रोग्रामर मनोविज्ञान पर माप के प्रभाव ने तनाव के कारण प्रदर्शन पर पड़ने वाले हानिकारक प्रभावों के बारे में चिंताएँ बढ़ा दी हैं, जबकि अन्य लोगों का मानना है कि इसका डेवलपर्स के अपने काम के प्रति मूल्य पर सकारात्मक प्रभाव पड़ता है, और उन्हें कम महत्व दिए जाने से रोका जाता है। कुछ लोगों का तर्क है कि कई माप पद्धतियों की परिभाषा उचित नहीं है, और परिणामस्वरूप यह अक्सर अस्पष्ट होता है कि उनकी गणना करने वाले उपकरण किसी विशेष परिणाम पर कैसे पहुंचते हैं,जबकि अन्य तर्क देते हैं कि अपूर्ण परिमाणीकरण किसी से भी बेहतर नहीं है ("आप क्या नियंत्रित नहीं कर सकते हैं") आप माप नहीं सकते।") और सक्ष्यों से पता चलता है कि सॉफ्टवेयर मेट्रिक्स का उपयोग सरकारी एजेंसियों, अमेरिकी सेना, नासा, आईटी सलाहकारों, शैक्षणिक संस्थानों, और वाणिज्यिक और शैक्षणिक डेवलपमेंट सॉफ्टवेयर द्वारा व्यापक रूप से किया जा रहा है। | ||
== अग्रिम पठन == | == अग्रिम पठन == | ||
Line 58: | Line 55: | ||
== यह भी देखें == | == यह भी देखें == | ||
* [[GQM]] | * [[GQM]] प्रश्न-मीट्रिक | ||
* [[स्थैतिक कोड विश्लेषण के लिए उपकरणों की सूची]] | * [[स्थैतिक कोड विश्लेषण के लिए उपकरणों की सूची]] | ||
* [[ऑर्थोगोनल दोष वर्गीकरण|ऑर्थोगोनल डिफेक्ट वर्गीकरण]] | * [[ऑर्थोगोनल दोष वर्गीकरण|ऑर्थोगोनल डिफेक्ट वर्गीकरण]] | ||
Line 90: | Line 87: | ||
[[Category: Machine Translated Page]] | [[Category: Machine Translated Page]] | ||
[[Category:Created On 25/07/2023]] | [[Category:Created On 25/07/2023]] | ||
[[Category:Vigyan Ready]] |
Latest revision as of 07:11, 28 September 2023
Part of a series on |
Software development |
---|
सॉफ्टवेयर इंजीनियरिंग और डेवलपमेंट में सॉफ्टवेयर मीट्रिक उस डिग्री के माप का एक मानक है जिसके लिए सॉफ्टवेयर सिस्टम या प्रक्रिया में कुछ समानता होती है।[1][2] यदि मीट्रिक एक माप नहीं है (मेट्रिक्स फंक्शन हैं, जबकि माप मीट्रिक के अनुप्रयोगों द्वारा प्राप्त संख्याएं हैं), हमेशा दो नियम को समानता के रूप में उपयोग किया जाता है। चूंकि सभी विज्ञानों में माप आवश्यक हैं, इसलिए सॉफ्टवेयर डेवलपमेंट के लिए समान दृष्टिकोण लाने के लिए कंप्यूटर वैज्ञानिकों और सिद्धांतकारों द्वारा निरंतर प्रयास किया जाता है। लक्ष्य पुनः प्राप्त करने और परिमाण निर्धारित करने योग्य माप जिसमें सारणीसूची और बजट योजना, कॉस्ट(लागत) अनुमान, गुणवत्ता गारन्टी, टेस्टिंग, सॉफ्टवेयर डिबगिंग, सॉफ्टवेयर प्रोग्राम और इष्टतम कार्य असाइनमेंट में कई अनुप्रयोग हो सकते हैं।
सामान्य सॉफ्टवेयर माप
सामान्य सॉफ्टवेयर मापों में निम्नलिखित हैं:
- एबीसी सॉफ्टवेयर मीट्रिक
- बैलेंस्ड स्कोरकार्ड
- कोड के प्रति पंक्ति बग्स
- कोड कवरेज
- कोहेसन(सम्बद्धता)
- कमेंट डिफेक्ट(त्रुटि)[3]
- कॉनसेंट सॉफ्टवेयर घटक
- रचनात्मक कॉस्ट मॉडल
- कपलिंग
- साइक्लोमैटिक(चक्रीय) जटिलता (मैककेबे जटिलता)
- साइक्लोमैटिक(चक्रीय) जटिलता डेंसिटी [4][5]
- डिफेक्ट डेंसिटी - किसी पार्ट में पाए जाने वाले डिफेक्ट(त्रुटि)
- डिफेक्ट(त्रुटि) क्षमता - किसी विशेष पार्ट में डिफेक्ट(त्रुटि) की अपेक्षित संख्या
- डिफेक्ट(त्रुटि) स्थानांतरण दर
- डीएसक्यूआई (डिजाइन संरचना गुणवत्ता सूचकांक)
- फंक्शन बिंदु और स्वचालित फंक्शन बिंदु,ऑब्जेक्ट प्रबंधन समूह मानक[6]
- हॉस्टेड जटिलता
- इंस्ट्रक्शन पथ की लंबाई
- मेंटेनेंसी सूचकांक
- कोड की सोर्स पंक्तियाँ - कोड की पंक्तियों की संख्या
- रन टाइम (प्रोग्राम एक्सक्यूशन समय )
- प्रोग्राम लोड समय
- प्रोग्राम का साइज (बाइनरी)
- वेटेड सूक्ष्म फंक्शन बिंदु
- साइकल समय (सॉफ्टवेयर)
- सुधारात्मक कमिट प्रायिकता[7]
सीमाएँ
चूंकि सॉफ्टवेयर डेवलपमेंट एक जटिल प्रक्रिया है, जिसमें तरीकों और उद्देश्यों दोनों पर उच्च भिन्नता होती है, इसलिए सॉफ्टवेयर गुणों को परिभाषित करना या मापना और एक वैध और समवर्ती माप मीट्रिक निर्धारित करना जटिल प्रक्रिया है, जब विशेष रूप से विस्तृत डिजाइन से पहले ऐसी भविष्यवाणी की जाती है। असुविधा और तर्क का एक अन्य स्रोत यह निर्धारित करना है कि कौन से मैट्रिक्स का उपयोग होता हैं और उनका क्या अर्थ है।[8][9] इसलिए सॉफ्टवेयर माप की व्यावहारिक उपयोगिता निम्नलिखित डोमेन तक सीमित कर दी गई है
- शिड्यूल
- सॉफ्टवेयर साइज
- प्रोग्रामिंग जटिलता
- सॉफ्टवेयर डेवलपमेंट प्रयास का आकलन
- सॉफ्टवेयर गुणवत्ता
एक विशिष्ट माप उपरोक्त में से एक या अधिक, या उनके बीच बैलेंस को उदाहरण के रूप में टीम मोटिवेशन या प्रोजेक्ट के प्रदर्शन संकेतक के रूप में टारगेट(लक्षित) कर सकता है, ।
इसके अतिरिक्त मेट्रिक्स स्टेटिक और डायनमिक प्रोग्राम कोड के साथ-साथ ऑब्जेक्ट ओरिएंटेड सॉफ्टवेयर सिस्टम के लिए भिन्न होते हैं।[10]
स्वीकृति एवं जनमत
कुछ सॉफ्टवेयर डेवलपमेंट करने वाले डेवलपर्स यह बताते हैं कि सरलीकृत माप अधिक हानि पहुंचा सकते हैं।[11] दूसरों के द्वारा नोटिस किया गया है कि मेट्रिक्स सॉफ्टवेयर डेवलपमेंट प्रक्रिया का एक अभिन्न पार्ट बन गए हैं।[8] प्रोग्रामर मनोविज्ञान पर माप के प्रभाव ने तनाव के कारण प्रदर्शन पर पड़ने वाले हानिकारक प्रभावों के बारे में चिंताएँ बढ़ा दी हैं, जबकि अन्य लोगों का मानना है कि इसका डेवलपर्स के अपने काम के प्रति मूल्य पर सकारात्मक प्रभाव पड़ता है, और उन्हें कम महत्व दिए जाने से रोका जाता है। कुछ लोगों का तर्क है कि कई माप पद्धतियों की परिभाषा उचित नहीं है, और परिणामस्वरूप यह अक्सर अस्पष्ट होता है कि उनकी गणना करने वाले उपकरण किसी विशेष परिणाम पर कैसे पहुंचते हैं,जबकि अन्य तर्क देते हैं कि अपूर्ण परिमाणीकरण किसी से भी बेहतर नहीं है ("आप क्या नियंत्रित नहीं कर सकते हैं") आप माप नहीं सकते।") और सक्ष्यों से पता चलता है कि सॉफ्टवेयर मेट्रिक्स का उपयोग सरकारी एजेंसियों, अमेरिकी सेना, नासा, आईटी सलाहकारों, शैक्षणिक संस्थानों, और वाणिज्यिक और शैक्षणिक डेवलपमेंट सॉफ्टवेयर द्वारा व्यापक रूप से किया जा रहा है।
अग्रिम पठन
- J. Smith, Introduction to Linear Programming, Acme Press, 2010. An introductory text.
- Reijo M.Savola, Quality of security metrics and measurements, Computers & Security, Volume 37, September 2013, Pages 78-90.[12]
यह भी देखें
- GQM प्रश्न-मीट्रिक
- स्थैतिक कोड विश्लेषण के लिए उपकरणों की सूची
- ऑर्थोगोनल डिफेक्ट वर्गीकरण
- सॉफ्टवेयर इंजीनियरिंग
- सॉफ्टवेयर पैकेज मेट्रिक्स
संदर्भ
- ↑ Fenton, Norman E. (2014). Software metrics : a rigorous and practical approach. James Bieman (3rd ed.). Boca Raton, FL. ISBN 978-1-4398-3823-5. OCLC 834978252.
{{cite book}}
: CS1 maint: location missing publisher (link) - ↑ Timóteo, Aline Lopes; Álvaro, Re; Almeida, Eduardo Santana De; De, Silvio Romero; Meira, Lemos. Software Metrics: A Survey. CiteSeerX 10.1.1.544.2164.
- ↑ "वर्णनात्मक जानकारी (डीआई) मीट्रिक सीमाएँ". Land Software Engineering Centre. Archived from the original on 6 July 2011. Retrieved 19 October 2010.
- ↑ Gill, G. K.; Kemerer, C. F. (December 1991). "चक्रीय जटिलता घनत्व और सॉफ्टवेयर रखरखाव उत्पादकता". IEEE Transactions on Software Engineering. 17 (12): 1284–1288. doi:10.1109/32.106988. ISSN 1939-3520.
- ↑ "maintainability - Does it make sense to compute cyclomatic complexity/lines of code ratio?". Software Engineering Stack Exchange. Retrieved 2021-03-01.
- ↑ "OMG स्वचालित फ़ंक्शन प्वाइंट विशिष्टता को अपनाता है". Omg.org. 2013-01-17. Retrieved 2013-05-19.
- ↑ Amit, Idan; Feitelson, Dror G. (2020-07-21). "सुधारात्मक प्रतिबद्धता संभाव्यता कोड गुणवत्ता मीट्रिक". arXiv:2007.10912 [cs.SE].
- ↑ 8.0 8.1 Binstock, Andrew (March 2010). "एकीकरण निगरानी: मेट्रिक्स का प्रभावी ढंग से उपयोग करना". SD Times. BZ Media. Retrieved 19 October 2010.
- ↑ Kolawa, Adam (7 August 2008). "कब, क्यों और कैसे: कोड विश्लेषण". The Code Project. Retrieved 14 February 2021.
- ↑ S, Parvinder Singh; Singh, Gurdev. ऑब्जेक्ट ओरिएंटेड सिस्टम में बहुरूपता के लिए गतिशील मेट्रिक्स. CiteSeerX 10.1.1.193.4307.
- ↑ Kaner, Dr. Cem (2004), Software Engineer Metrics: What do they measure and how do we know?, CiteSeerX 10.1.1.1.2542
- ↑ Savola, Reijo M. (2013-09-01). "Quality of security metrics and measurements". Computers & Security (in English). 37: 78–90. doi:10.1016/j.cose.2013.05.002. ISSN 0167-4048.
बाहरी संबंध
- Software Metrics (SQA.net)
- Software Engineering Metrics: What do they measure and how do we know
- NASA Standard NASA-STD-8739.8 (Software Assurance and Software Safety Standard)
- HIS Source Code Metrics (outdated but for reference; related see AUTOSAR)
- HIS Source Code Metrics version 1.3.1 01.04.2008 (outdated but for reference; related see AUTOSAR)
- A framework for source code metrics
- NASA.gov
- SonarQube Metric Definitions
- Metrics of Object Oriented Software (2010)