2010-09-11 8 views
5

Ich suche nach Hinweisen, um die Richtung meiner Forschung in der Bewertung von Funktionalität, Benutzerfreundlichkeit oder Eleganz in der Systementwicklung zu unterstützen.Wer führt Untersuchungen zur Messung von Funktionalität und Benutzerfreundlichkeit durch?

Können Sie Referenzen zu Arbeiten angeben, die an der Messung von Funktionalität, Benutzerfreundlichkeit oder Codierungsstil vorgenommen werden? Wer (Person/Organisation) arbeitet in diesem Bereich? Wo finde ich solche Referenzen?

Ich habe einige Ideen über den Systemaufbau entwickelt, die ein wenig anders als die Mainstream-Entwicklung sind. Der Ausgangspunkt ist eine angemessene Beschreibung des Problems. Ich entwickle ein Demonstrations-/Proof-of-Concept-Projekt.

Bei der Entwicklung meines Proof-of-Concept-Projekts habe ich einen unerwarteten und unerwarteten Nutzen gefunden. Bisher habe ich herausgefunden, dass nützliche Informationen über die Vollständigkeit eines Systems gesammelt werden können, indem man die Entwicklung indirekt betrachtet. Diese indirekte Ansicht basiert auf der Beschreibung des Problems und nicht auf der Softwarelösung.

Ich habe auch als Folge dieser Entwicklung zu der Überzeugung gelangt, dass es durchaus möglich sein, kann in anderen Bereichen Systementwicklung Führung von meinem Ansatz zu schaffen, wie zum Beispiel Hinweise, wie funktional ist das System; wie verwertbar das System ist; oder wie elegant die Lösung ist.

bisher Meine Untersuchungen zu den folgenden Vorschlägen geführt haben, und meine Antworten zu ihnen:

  1. Literate Programmierung ist elegant. - Literale Programmierung mag zwar elegant sein, aber dies verschiebt das Problem zurück - wie beurteilen Sie, wie alphabetisch ein Programm ist?
  2. Ich bin auf der Suche nach der Systementwicklung Äquivalenz eines Maßes der Ästhetik dh das Unaussprechliche - während ich zu schätzen weiß, dass dies nicht möglich ist, glaube ich immer noch, dass es möglich ist, Richtlinien aus den Informationen während der Entwicklung eines Systems zur Verfügung zu stellen.
  3. Das, was ich suche, kann nur bewertet werden, nachdem eine Lösung für einige Zeit verwendet wurde, und nur im Vergleich mit anderen Lösungen für das gleiche Problem. - Das mag wohl der Fall sein, und vielleicht ist das der Fels, auf dem meine Suche gründet. Dennoch glaube ich, dass es möglich ist, dass Maßnahmen aus der Entwicklung einen heuristischen Einblick in diese Aspekte der Software geben.
  4. Funktionspunktanalyse ist ein Maß für die Funktionalität - ich sehe FPA mehr als ein Maß für Produktivität als Funktionalität. Es sagt Ihnen nicht, wie viel Funktionalität in das System eingebaut wurde, sondern wie viel im Vergleich zu einer Basislinie, die aus demselben Kontext stammt, enthalten ist. Da sich der Kontext ständig weiterentwickelt, beeinträchtigt dies die Nützlichkeit der Maßnahme.
  5. Dass diese Konzepte nicht gemessen werden können und es gibt keine Übereinstimmung darüber, was Funktionalität, Benutzerfreundlichkeit oder Eleganz ausmacht und es kann nicht aus ähnlichen Gründen zu dem Argument kommen - ich bin stur genug zu glauben, dass ich, zumindest teilweise, widerlegen kann Dieser Vorschlag soll Systementwicklern Hilfestellung geben.
  6. Die Informationen, nach denen ich suche, liegen außerhalb der Systementwicklung; in der Grafik-Arena; Psychologie; Biologie; oder andere - das sieht immer wahrscheinlicher aus.
  7. Die Objekte des Systems direkt als Benutzerschnittstelle nutzen - das ist vielversprechend für eine Klasse von Systemen, die die Problemlösung erleichtern sollen.
  8. Die Lehren aus der traditionellen Grafik (Layout komplexer Daten) können auf die Systementwicklung übertragen werden - das sieht nach der aussichtsreichsten Route aus und ich versuche, eine Korrespondenz mit einem führenden Grafikdesigner aufzubauen. Dies kann nur für Informationssysteme von Nutzen sein, sieht jedoch so aus, als ob es viel weiter reicht.
  9. Es wurde auch vorgeschlagen, dass ich ein "Architektur - Astronaut" bin, ohne Realitätsbezug - das mag der Fall sein, aber wenn es so ist, dann bin ich wahrscheinlich der Letzte, der es und dergleichen realisiert Aussicht hält mich nicht von meiner Suche ab.
+0

So alphabetisiert Programmierung ist nicht elegant? http://en.wikipedia.org/wiki/Literate_programming –

+5

Ich habe nach einem quantitativen Maßstab für den künstlerischen Wert eines Fotos gesucht ... mit dem ich meine, du suchst das Unaussprechliche. Wenn Eleganz messbar wäre, gäbe es unzählige endlose BS-Sitzungen auf Universitätsebene (und das wäre traurig). – msw

+0

@James - Ich wollte nicht implizieren, dass Alphabetisierung nicht elegant ist - ich habe vorgeschlagen, dass die Definition, die ich gab, ursprünglich, partiell und von der Mathematik abgeleitet war. Literales Programmieren kann sicherlich elegant sein, scheint aber nicht direkt mit Eleganz zu korrelieren - ein Programm kann eine beliebige Kombination von (nicht) elegant und (nicht) leseorientiert sein. –

Antwort

1

Von den drei Dingen, die Sie auflisten, ist die Benutzerfreundlichkeit am messbarsten. Die Suche nach "Code-Usability messen" wird viele Treffer bringen, von Websites bis hin zur parallelen Programmierung.

Einige Highlights:

ISO-Standards für Software-Engineering; Hier finden Sie die Standards für die Produktqualität und die Software-Entwicklungszyklus finden:
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=45086

The Cliff Notes Version der ISO-Normen:)
http://www.usabilitynet.org/tools/r_international.htm

Standards für Software-Ergonomie:
http://www.iso.org/iso/catalogue_detail.htm?csnumber=52712


Von einem gut geschriebenen Papier auf Parallelprogramm Brauchbarkeit, gefunden here :

Mehrere Merkmale eines PPS bestimmen seine Verwendbarkeit. Unter sind dies:
1) Lernkurve: Wie lange braucht ein Experte oder ein unerfahrener Parallelprogrammierer , um die PPS produktiv nutzen zu können? Beachten Sie, dass einige PPS speziell die Bedürfnisse von Experten ansprechen, während andere auf Anfänger ausgerichtet sind; wenige sind für beide geeignet.
2) Programmierfehler: Einige Systeme beschränken die Verwendung von Parallelität, um Fehler zu vermeiden (z. B. Enterprise). Andere Systeme, wie etwa NMP und PVM, erlauben dem Benutzer, alles zu tun, indem sie Flexibilität für eine höhere Wahrscheinlichkeit von Programmierfehlern handeln. Normalerweise ist das Fehlerpotential direkt mit der Anzahl der Zeilen des Benutzercodes verbunden. Daher sind Systeme, die mehr Benutzercode benötigen, möglicherweise anfälliger für Fehler.
3) Deterministische Leistung: Nicht-Determinismus, üblich in der Implementierung einiger Algorithmen und inhärent in einigen PPS, kann den Overhead in Anwendung Debugging erheblich erhöhen.
4) Kompatibilität mit bestehender Software: Legacy-Software kann nicht ignoriert werden. Idealerweise muss das PPS die Integration vorhandener Software mit minimalem Aufwand unterstützen.
5) Integration mit anderen Tools: Ein PPS sollte entweder mit komplette Suite von Software-Entwicklungstools einschließlich Einrichtungen für das Debugging, die Überwachung und die Leistungsbewertung geliefert werden, oder bieten Zugriff darauf.

Ein Artikel über die Quantifizierung und Messung Funktionalität:
http://www.computer.org/portal/web/csdl/doi/10.1109/METRIC.1999.809732

Links zu den CUE-4 Hotel Pennsylvania Usability-Studien, in denen 17 unabhängige Teams Benutzerfreundlichkeit der Website für Hotel Pennsylvania durchgeführt
http://www.dialogdesign.dk/CUE-4.htm

This Wikipedia article hat viele Links zu Artikeln in Bezug auf Softwarequalität. Der Artikel selbst diskutiert eine Reihe von Schwerpunkten für die Softwarequalität, unter anderem Verständlichkeit, Prägnanz, Konsistenz, Wartbarkeit, Testbarkeit, Benutzerfreundlichkeit, Zuverlässigkeit und Effizienz.

http://www.drdobbs.com/windows/184405654;jsessionid=SB2LUABORKQHBQE1GHOSKHWATMY32JVN
Der Autor beschreibt Techniken, die Microsoft verwendet, um die Verwendbarkeit ihrer APIs zu entwerfen und zu bewerten.

Noch ein Vorschlag: Gehen Sie zu einigen der renommiertesten Colleges für Software-Engineering und suchen Sie auf ihrer Computer Science Homepage nach veröffentlichten Artikeln zu diesem Thema. Wie andere schon sagten, ist das Erstellen quantitativer Messungen an diesen Prinzipien wie das Nailing von Wackelpudding an einem Baum ... aber ich stimme nicht zu, dass sie in quantifizierbaren Analysen nicht untersucht werden können oder wurden.

HTH!
James

+0

Dies wird mich voranbringen, verfolgt alle Ihre Links. Vielen Dank. –

+0

np, danke für die Abstimmung! (und Kopfgeld:) –

0

Alle diese Konzepte können nicht gemessen werden. Sie können nicht einmal objektiv vereinbart werden.

Ich wage zu sagen, dass sie keine klare Interpretation in der physischen Welt haben. Sie existieren nur im menschlichen Verstand. Jede andere Person wird diese in Übereinstimmung mit ihrer Lebenserfahrung, ihrem Wissen, ihrer Erfahrung und Einstellung zum Problemfeld, zur Entwicklung der Ingenieurskunst, zu ihren künstlerischen und zwischenmenschlichen Fähigkeiten wahrnehmen und messen. Jedes Mal wenn Sie einige Einzelpersonen zwingen können, es "zu messen", wird es höchst subjektiv sein.

Wie definieren Sie Schönheit und Liebe, Freude und Traurigkeit? Usability und Effizienz haben viel damit zu tun.

Einige Ideen können aus psychologischen Studien stammen. Aber nur ein paar Ideen. Im besten Fall können Sie dieses Wissen anwenden, um eine bestimmte Reaktion in den Köpfen der Benutzer hervorzurufen. Aber es könnte funktionieren oder nicht.

Wenn Sie nicht genau das Modell der Antwort der Benutzer verstehen können, können Sie nicht für spezifische Antwort planen. Folglich können Sie den Grad einer bestimmten Eigenschaft Ihres Programms nicht messen. Sie können die Skala also nicht definieren.

+0

Ich mag Quixotic sein, wenn ich mich an imaginäre Riesen kippe, aber ich versuche, die Definition der Skala zu beginnen. Ein Beispiel für meinen Ansatz wird in der Frage - Vollständigkeit nicht erwähnt. Ich halte es für gegeben, dass eine Vollständigkeitsbeurteilung unmöglich ist - irgendwann wird Godels Unvollständigkeit Theorum einen in den Hintern beißen. Wenn man jedoch seinen Standpunkt ändert - indem man nicht auf die Messung der Vollständigkeit der Lösung schaut, sondern die Messungen betrachtet, die sich aus der Beschreibung des Problems ergeben, kann man viel über die Vollständigkeit der Lösung sagen. –

1

Ich denke, dass einige dieser Funktionen gemessen werden müssen, nachdem das Produkt für einige Zeit im Vergleich zu einer anderen ähnlichen Implementierung verwendet wurde.

Betrachten Sie das Beispiel mehrerer GUI-Implementierungen für eine Software. Sie können beispielsweise messen, wie lange ein Benutzer benötigt, um eine bestimmte Aufgabe zu erfüllen, indem er eine bestimmte Implementierung verwendet, um die gleiche Aufgabe (zum gleichen Mal) auf der (fast) gleichen Software mit einer anderen GUI-Implementierung zu erledigen. Dies würde relativ zu einer Art nützlicher Metrik führen.

Dieser Weg könnte Ihnen helfen, diese Ideen in Bezug auf die (veröffentlichbaren?) Ergebnisse zu klären. Nach dem Lesen Ihrer ursprünglichen Beschreibung klingt es so, als würden Sie nach absoluten und nicht nach relativen Metriken suchen. Wenn ich jedoch schnell über diese Frage blicke und versuche, während einer fünfminütigen Pause von meiner Arbeit eine interessante, nützliche Antwort zu geben, ist die relative Metrik die beste, die ich mir vorstellen konnte.

Ich hoffe, das hilft,

Brian J. Stinar

+0

danke. Ihr Punkt auf der Dauer als ein Faktor bei der Beurteilung von Eleganz ist gut getroffen.Absolute Metriken wären schön, aber ich schätze, dass Metriken für viele dieser Punkte nur relativ sein können. Dies war der Grund für meine ursprüngliche Bezugnahme auf Heuristiken. –

0

ich meine eigene Frage zu beantworten bin einen Hinweis zu geben, wie weit ich bei der Beschaffung eine Antwort auf meine ursprüngliche Frage bekommen haben. Es ist offensichtlich, dass jede metrication von Konzepten Eleganz im Zusammenhang werden folgende Merkmale aufweisen:

  1. sie wahrscheinlich Heuristik sein
  2. sie wahrscheinlich basierend auf mehreren Iterationen des Entwicklungsprozesses haben
  3. sie sind eher relativ als absolut
  4. sie sind wahrscheinlich auf anderen Studienbereichen als Software/Systementwicklung, zusätzlich zu Informationen aus der Systementwicklung selbst basieren.Beispiele für mögliche Domänen sind Ästhetik, Psychologie, Neurolinguistik und Neuroästhetik;
  5. Wenn die Arbeit, die ich mache, für Softwareentwickler von Nutzen ist, darf sie nicht auf komplexen mathematischen oder statistischen Modellen basieren, sondern muss Richtlinien auf der Grundlage ihrer Arbeit und anderer Entwickler bieten.
  6. Alle Richtlinien sind wahrscheinlich auf die Antworten auf die Fragen zu beruhen wie:
    • Was ist die Häufigkeit der Objekte, Attribute, Datentypen?
    • Wie vergleicht sich diese Frequenz mit anderen Projekten?
    • Ist dieses Maß von Wert, wenn es dem Entwickler hilft, sein Projekt zu bewerten/Raum für Verbesserungen zu sehen?

Ich suche ich immer noch Referenzen in diesem Bereich zu arbeiten getan.