.NET Blog   ·   .NET Casts   ·   .NET GUI Foren   ·   .NET BlogBook   ·   WPF Blogger   ·   visual studio one   ·   ASP.NET professional

  • ACHTUNG - NEUES BLOG

    Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
Download .NET Essentials Installer
Trickkiste

Office 2007: Outlook-Tasks in allen Office-Anwendungen

06.08.06 - Microsoft Office
Beitrag von Norbert Eder
 Nachdem es mir auf die Nerven ging, dass ich immer Outlook öffnen musste, um beispielsweise schnell einen neuen Task in meine Liste hinzuzufügen, habe ich mir schnell ein kleines Add-In für diese Aufgabe erstellt. Es können damit die vorhandenen Tasks in jeder Office Anwendung (ausser natürlich Outlook selbst) angezeigt werden. Aussehen tut dies wie folgt (die Titel der Task sind an dieser Stelle absichtlich nicht ersichtlich):



Wer daran Interesse hat, kann das Add-In unter [1] downloaden. Sollte jemand noch diverse Erweiterungswünsche haben, dann einfach bei mir melden.

[1] Download Outlook 2007 Task Manager

  Kommentar hinzufügen   |  2 Trackbacks   |  Permalink  |  Trackback-URL


Word 2007 Winamp Controller Reloaded

06.08.06 - Microsoft Office
Beitrag von Norbert Eder
 Da ich dann doch recht viel mit Word zu tun habe und derzeit die 2007er verwende, ist mir der Winamp Controller doch eine größere Hilfe als ursprünglich gedacht. Daher wurde die Oberfläche ein wenig von mir schönert und zusätzlich ist es nun auch möglich, die Lautstärke zu ändern. Wer's braucht, kann's unter [1] downloaden. Aussehen tut es so:



[1] Download Word 2007 Winamp Controller Version 1.0.1

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Grundlagen: White Box Tests

06.08.06 - Software Testing
Beitrag von Norbert Eder
 Bei den White Box Tests wird im Gegensatz zu den Black Box Tests die Implementierung einer Komponente getestet. Dies bedeutet, dass vor dem Entwickeln des Tests ein Blick auf den Sourcecode durchaus erlaubt ist.

Ziel der White Box Tests ist es, dass bezüglich des Sourcecodes bestimmte Hinlänglichkeitskriterien erfüllt werden. Eine komplette Fehlerfreiheit kann durch diese Tests nicht sichergestellt werden. Eine Kombination mit anderen Test-Methoden ist anzuraten.

Weitere Methoden der Softwaretests:
* Black Box Tests
* Grey Box Tests

  Kommentar hinzufügen - 17 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Grundlagen: Black Box Tests

06.08.06 - Software Testing
Beitrag von Norbert Eder
 Die Black-Box-Tests gehören dem allgemeinen Softwaretests an und stellen eine Methode dar, Tests für Komponenten zu entwickeln, die noch nicht erstellt wurden. Für die einzelnen Tests wird die Spezifikation der Methoden, Klassen etc. herangezogen, jedoch nicht die dahinterliegende Implementierung (funktionsorientiertes Testen).

Das Ziel besteht darin, die Software hinsichtlich der Spezifikationen zu prüfen. Diese geben Schnittstellen, Definitionen und Ergebnisse vor, welche von den einzelnen Komponenten einzuhalten sind und entsprechend geprüft werden müssen.

Ein Black-Box-Test kann jedoch sehr aufwändig sein und birgt auch ein weiteres Problem in sich:
In der Softwareentwicklung werden Komponenten ständig weiter entwickelt. Daraus ergeben sich neue Funktionalitäten, die ebenfalls getestet werden müssen. Diese Tests sind jedoch in den Black-Box-Tests nicht enthalten, da diese bereits vor der Komponente entwickelt werden. Erfolgreiche Testläufe bedeuten daher jedoch nicht zwangsweise, dass die gesamte Funktionalität der Komponente zu einem späteren Zeitpunkt getestet wurde, sondern lediglich die ursprüngliche Spezifikation.

Zusätzlich gibt es noch weitere Verfahren:
* Grey Box Test
* White Box Test

  Kommentar hinzufügen - 14 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Grundlagen: Testgetriebene Entwicklung oder auch test-driven Development

06.08.06 - Software Testing
Beitrag von Norbert Eder
 Die testgetriebene Entwicklung kommt aus dem Bereich der agilen Softwareentwicklung und legt fest, dass Software-Tests vor der Entwicklung der zu testenden Komponenten erstellt werden. Zur Verwendung kommen sogenannte Grey-Box-Tests. Diese vereinen die Vorteile der White-Box-Tests [1] und der Black-Box-Tests [2] in sich:

1. Die Software-Tests werden vom Entwickler der Komponente selbst geschrieben (White-Box-Test)
2. Der Test wird ohne Kenntnis der Komponente (da diese ja noch nicht entwickelt ist) erstellt (Black-Box-Test)

Der Vorteil dieser Variante liegt darin, dass nicht um Fehler "herumgetestet" wird. D.h. die Tests werden nicht der Komponente angepasst, sondern die Komponente muss so funktionieren, wie dies im Test festgelegt wurde.

Bei dieser Art der Tests empfiehlt es sich jedoch eine hohe Disziplin an den Tag zu legen und zusätzliche Arbeitsweisen aus der agilen Softwareentwicklung zu nutzen. Zusätzlich sollte nicht auf Black-Box-Tests verzichtet werden.

[1] White Box Tests
[2] Black Box Tests

  Kommentar hinzufügen - 10 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Wird es Zeit für einen Paradigmenwechsel in der Softwareentwicklung?

06.08.06 - Entwicklung, Diskussionen
Beitrag von Norbert Eder
 Die Softwareentwicklung - wie sie Heute ist - hat sich im Grunde schon lange nicht mehr verändert. Nach wie vor wird ein Texteditor (oder eben eine bunte IDE) benutzt, um stundenlang Code hinein zu hacken. Von der prozeduralen Art und Weise gab es den Sprung zur objektorientierten Programmierung, den jedoch immer noch viele Entwickler nicht mitgegangen sind. Immer noch werden zahlreiche Anwendungen in Sprachen á la Visual Basic 6 und Co. verfasst. Aber auch die objektorientierte Programmierung ist nicht das Gelbe vom Ei. Ursprünglich davon ausgegangen, dass man mit OOP alle realen "Objekte" abbilden kann, stellt man fest, dass dies in manchen Fällen dann doch nicht so einfach (wenn überhaupt) möglich ist. Probleme aus der Steinzeit der Entwicklung kehren immer wieder zurück und Entwickler müssen sich die selben Gedanken machen wie vor 20 Jahren.

Zahlreiche neue Frameworks tummeln sich und versprechen Leistungsvorteile, schnelleres Entwickeln. Altes wird neu verpackt (Beispiel AJAX) und auf den Markt gebracht. Die Entwicklungszeiten werden dadurch meist nicht verkürzt. Patterns hier, Application Blocks dort, einfache oder komplizierte Template-Techniken (siehe Visual Studio 2005) und weitere lustige Spielerein. Kaum jemand kann sich wirklich ausschließlich auf seine Businesslogik konzentrieren. Immer noch muss der meiste Code per Hand eingegeben werden. Für alltägliche Funktionalitäten - was eigentlich nicht sein müsste.

Techniken wie aspektorientierte Programmierung, agile Softwareentwicklung, Extreme Programming versprechen Leistungssteigerungen und Qualitätsverbesserungen. Fakt ist, dass die Softwareentwicklung immer noch zu lange dauert, zu teuer ist und jeder sein Auto sofort verschrotten lassen würde, würde die Qualität der der Softwareentwicklung entsprechen.

Aber woran liegt das? Zum einen liegt es mitunter am Softwareentwickler selbst. In kaum einen Unternehmen wird qualitativ hochwertige Software entwickelt. Dabei gibt es zahlreiche Hilfsmittel, die hier eine eindeutige Verbesserung verschaffen: Unit Testing, Code Coverage usw. Vielfach wird der Grund hierfür in der zusätzlich notwendigen Zeit gesehen. Dass die für beispielsweise Unit Testing aufgewendete Zeit, jedoch vielfach wieder eingespart wird (die Amortisationszeit im Fehlerfalle ist sehr gering), wird von der Hand gewiesen. Weiters sehe ich Gründe darin, dass viele Entwickler lieber die Techniken verwenden, die sie bereits jahrelang anwenden und somit absolut den neuen Techniken hinterher programmieren. Anstatt sich komplette Bestandteile der Software durch entsprechende Tools automatisch generieren zu lassen, wird weiterhin jede einzelne Zeile Code per Hand erfasst.

Was jedoch auch fehlt, sind notwendige Tools um die Entwicklungszeit zu verkürzen. Immer wieder hört man von diversen Projekten, die sich dessen annehmen, wirklich gute Produkte sind mir jedoch bis dato noch nicht vor die Füße gefallen. Langsam aber sicher bewegt sich jedoch die Softwareentwicklung in die einzig richtige Richtung: Paradigmenwechsel.

Was versteht man unter einem Paradigmenwechsel? Ein Paradigma stellt dar, wie eine bestimmte Angelegenheit erledigt wird. Lange Zeit war es beispielsweise ein Paradigma, Consolen-Anwendungen zu schreiben, bis es dann die ersten grafischen Oberflächen gab und man erkannte, dass dies die Anwendung erleichtert und somit einen Mehrwert bietet. Ein Paradigmenwechsel findet dann statt, wenn sich zum aktuellen Paradigma Anomalien ergeben. Dies sind Missstände, die sich nicht lösen lassen und daher eine Erneuerung geschehen muss. Ein Paradigmenwechsel bringt also Neuerung und meist auch Verbesserung.

In der heutigen Softwareentwicklung ergeben sich einige Anomalien. Darunter finden sich - wie bereits oben angesprochen - eine Menge "großer" Punkte (Kosten, Zeit, Qualität). Hier muss angesetzt werden und wird es teilweise auch. Bis entsprechende Produkte auf den Markt kommen wird durchaus noch Zeit vergehen, aber im Kleinen sollte jeder daran arbeiten, sich selbst und vor allem seine Produkte zu verbessern und zu optimieren.

  2 Kommentare - 1000 mal angesehen   |  1 Trackbacks   |  Permalink  |  Trackback-URL


Digitalisierung: Wie die Filmindustrie und Kinobetreiber weiter abcashen

05.08.06 - Kunterbunt
Beitrag von Norbert Eder
 Heute einmal ein ganz anderes Thema!

Die Digitalisierung oder auch die moderne Technologie macht nicht nur alles schneller, sondern sollte ansich auch alles besser machen. Trotz hoher Umsätze und teilweise auch hohen Gewinnen läßt sich die Filmindustrie immer was neues einfallen, um den armen Kinogeher noch tiefer zur Tasche zu bitten. Was das ist? Nun gut:

1. Überlängenzuschlag Dieser ist ja mittlerweile schon in die Jahre gekommen. Ein Film dauert einfach ein wenig länger als die üblichen 90-100 Minuten und schon darf der Kinobesucher extra bezahlen. Und das bei Filmen wie "Fluch der Karibik 2" - nun mal ernst: den Film hätte man auch in 60 Minuten abhandeln können.

2. Digitalzuschlag Wunderbar. Jetzt werden die Filme auch schon auf digitale Art und Weise in den Kinos gezeigt. Natürlich mit verbesserter Qualität, sicher sehr nett anzusehen. Denkste! Qualität ist im Kino (zumindest für mich) nicht besser geworden. Dafür gibt es jetzt allerdings einen Zuschlag für's digitale Vergnügen.

Das sind gleich zwei Zuschläge für einen Film, der mal eben ein wenig länger dauert und über eine digitale Anlage abgespielt wird. Wunderbar. Irgendwann wird es den Digitalzuschlag dann auch nicht mehr geben. Vor allem, wenn sich die Besucher daran gewöhnt haben, dass das Kinoticket dauerhaft um diesen Zuschlag erhöht wird. Spätestens dann winkt der nächste Zuschlag ...

... und über Getränkepreise, etc. schreib ich hier gar nicht. Der reinste Wucher! Also wenn es so weitergeht kann mir Kino echt gestohlen bleiben, denn 17.80 Euro für zwei Personen (noch dazu vergünstigt durch entsprechende Ausweise) geht nun gar nicht.

Die Film/Kino-Industrie (ist eh beides das Gleiche) sollte sich an dieser Stelle mal wirklich grundlegende Gedanken machen, WARUM denn die Raubkopiererei so stark zunimmt. Ich denke nicht, dass es an der Technologie á la P2P liegt, sondern vielmehr an den Wucherpreisen für Kino, DVD und Co. Ich bin zwar kein Befürworter von Copyright-Missachtern (als Softwareentwickler verständlich), aber wundern tut es mich nicht ...

Denkt mal drüber nach, Constantin und Co.

  1 Kommentar - 1081 mal angesehen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Abhängigkeiten (Referenzen) führen zu Kompilations-Problemen

04.08.06 - Base Framework
Beitrag von Norbert Eder
 Wer kennt das nicht bei größeren Aufträgen bzw. Produkten: Mehrere Projekte tummeln sich in einer Solution und referenzieren einander. Oder noch schlimmer, die einzelnen Projekte sind in unterschiedlichen Solutions eingebunden. Und eventuell sind diese auch gleichzeitig geöffnet. Dann kann es zu folgender Fehlermeldung kommen:

Error: The dependency [name], Version=2.0.0000.0, Culture=neutral,
PublicKeyToken=[etc]' in project [name] cannot be copied to
the run directory because it would conflict with dependency [name],
Version=0.0.0000.0, Culture=neutral, PublicKeyToken=[etc]'.

In diesem Fall einfach das Visual Studio beenden und alles aus dem bin-Ordner des Projektes löschen. Danach das Projekt im VS laden und neu kompilieren. Nun sollte ansich wieder alles in Ordnung sein.

PS: Natürlich auch die einzelnen Referenzen überprüfen, ob es hier nicht notwendige Einträge in diversen Projekte der Solution gibt.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


Probleme mit WebUIValidation.js

03.08.06 - ASP.NET
Beitrag von Norbert Eder
 Wer nach dem Deployment einer ASP.NET Anwendung oder bei der Entwicklung ein Problem mit der Datei WebUIValidation.js hat (es erscheint eine wunderschöne Fehlermeldung, dass diese Datei nicht vorhanden ist oder aber nur nicht verwendet werden kann), dem kann einfach geholfen werden.

Dazu einfach die Visual Studio 2005 Eingabeaufforderung öffnen und den Befehl

aspnet_regiis -c

eingeben. Ab sofort sollte wieder alles ganz normal funktionieren.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL


WebException bei der Deinstallation von WinFX Runtime Components January CTP

30.07.06 - Base Framework
Beitrag von Norbert Eder
 Wer folgende Fehlermeldung bekommt (ersichtlich in den Dateien %temp%\dd_wcf_ret*):

Error: System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Double.Parse(String s, NumberStyles style, NumberFormatInfo info)
at System.ServiceModel.Install.InstallHelper.GetHighestOtherWcfRuntimeInstallPath()
at System.ServiceModel.Install.WebHostScriptMappingsInstallComponent.UninstallScriptMapFromPath (DirectoryEntry path, OutputLevel outputLevel)
at System.ServiceModel.Install.WebHostScriptMappingsInstallComponent.Uninstall (OutputLevel outputLevel)
at Microsoft.Tools.ServiceModel.ServiceModelReg.Run(String[] args)
at Microsoft.Tools.ServiceModel.ServiceModelReg.TryRun(String[] args)


der sollte folgendes unternehmen, damit die January CTP auch tatsächlich installiert werden kann:

servicemodelreg.exe -ua

Dies am besten im Verzeichnis C:\WINDOWS\WinFX\v3.0\Windows Communication Foundation aufrufen.

Danach ganz normal das Uninstall Tool, welches ich hier erwähnt hatte, ausführen. Die January CTP kann nun erfolgreich entfernt werden.

  Kommentar hinzufügen   |  0 Trackbacks   |  Permalink  |  Trackback-URL



Zurück Weiter