l0c4lh0st
Goto Top

Programieren einer Shell

Hallo Community,

habe gestern das Thema meiner Abschlussprüfung bekommen.

Ich soll eine Art Shell Programmieren.
Soll ne GUI haben und Buttons und soll Netzwerkfähig sein usw.

Hab da jetzt ne Frage bezüglich der Programmiersprache.
Bin nicht so ganz fit was Programmieren angeht weil ich eine Ausbildung zum Fachinformatiker in Fachrichtung Systemintegration mache.

Das einzige was ich kann ist Batch und AutoIt.
Ich soll Autoit aber nicht nehmen weil es angeblich nicht Prozesssicher ist.

Jetzt wollte ich mal fragen ob mir einer eine Programmiersprache für mein Projekt empfehlen könnte?

Womit könnte man eine Benutzerfreundliche, Prozesssichere und vor allem schnell anpassbare GUI Shell am besten Programieren?

Danke schonmal für die Tipps face-smile

MfG
alex

Content-ID: 120013

Url: https://administrator.de/contentid/120013

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

Diskilla
Diskilla 08.07.2009 um 14:39:18 Uhr
Goto Top
Also Sprache kann ich Dir leider keine empfehlen, da ich selbst auch zum Systemintegrator ausgebildet werde. Ich kann dir zwar sagen, dass ich persönlich als erstes versuchen würde mit Visual Studio zu arbeiten (vorzugsweise mit C# weil ich das am besten kann ^^). Aber wirklich empfehlen kann ich nichts.
Aber abgesehen davon, wenn du Systemintegration lernst, warum machst du dann ein Anwendungsentwickler Abschlussprojekt?
Das ist doch irgendwie nicht so ganz logisch.

Greetz Diskilla
L0c4lh0sT
L0c4lh0sT 08.07.2009 um 14:43:24 Uhr
Goto Top
Naja das haben meine beiden Chefs so entschieden! Hab da kein mitbestimmungsrecht gehabt...
maretz
maretz 08.07.2009 um 15:08:08 Uhr
Goto Top
Also - du möchtest eine Shell mit einer Gui programmieren? Irgendwie schließt das eine doch das andere aus -> eine Shell ist (für mich zumindest) ne Eingabe-Konsole (z.B. unter Linux die Bash, unter Windows die MS-Dos Eingabeaufforderung). Diese haben keine Gui und auch keine Buttons (das is ja das schöne daran!)

Ich glaube mal das du was anderes meinst -> daher wäre es gut wenn du die Aufgabe näher beschreibst... Oder sollst du nur eine Graph. Oberfläche bauen (für was?) - dann kannst du Visual Studio nehmen (etwas überdimensioniert), JBuilder (Java) oder z.B. PHP (wenn es denn auf nem Webserver laufen soll). Da ist die Frage eben was genau dein Projekt erfüllen soll..
L0c4lh0sT
L0c4lh0sT 09.07.2009 um 07:30:41 Uhr
Goto Top
Also ich verstehe unter dem Begriff Shell eine Benutzerschnittstelle, die in der Lage ist Befehle entgegenzunehmen und auszuführen.
Ob jetzt mit Grafischer Oberfläche oder ohne spielt dabei keine Rolle.

Die Shell soll für unser Unternehmen genutzt werden.
Sie soll ähnlich aufgebaut sein wie ein Desktop. Also mit Icons Taskleiste usw und soll sich bei Start von Windows über den eigentlichen Desktop legen.

Über die Shell sollen die User nur Programme ausführen dürfen und nichts installieren können.
Und da wir irgendwo einen geschwätzigen Admin haben der die Passwörter weitergibt ist das auch besser so.

Ausserdem sollen in der Shell mehrere Auswahlmöglichkeiten zur Verfügung stehen.
Wie z.B. Standort auswahl usw.

Man soll wie auf dem Desktop, Icons und Ordner erstellen können und diese Benutzen können.

Der User darf auf keinen Fall auf das eigentliche Betriebssystem (Win XP) zugreifen. Also sollte der Taskmanager sowie andere Windows Shortcuts ( Fenster durchwählen usw.) auch deaktivierbar sein.

Es benötigt einen Administrationsoberfläche, die aber nicht mit Passwörtern im eigentlichen Sinn sondern mit USB-Sticks freigeschaltet wird.

Soweit die eigentliche Aufgabe. Welche ich aber als lernender Systemintegrator nicht wirklich als meine Aufgabe ansehe.
maretz
maretz 09.07.2009 um 08:04:53 Uhr
Goto Top
Moin,

zuerst einmal solltest du zwischen Shell und GUI unterscheiden -> das was du machen möchtest ist eine GUI (Graph. User Interface).

Ansonsten hast du dir ein zimlich ehrgeiziges Projekt vorgenommen welches du ohne gute Programmiererfahrungen m.E. nicht lösen können wirst. Denn alleine die Programmierung des Desktops hört sich im ersten augenblick zwar leicht an (Is ja nur nen paar Icons usw.) -> aber um dem User das Betriebssystem wirklich zu verstecken musst du einen eigenen "Taskmanager" bauen der auch parallel laufende Prozesse unterstützt (damit jemand z.B. 2 Anwendungen "gleichzeitig" laufen lassen kann). Ebenfalls musst du noch die Tastenkombinationen abfangen (ok, man könnte einfach die ALT und die ALT-Gr-Taste abfangen -> schon geht ein Strg.+Alt+Entf. nicht mehr). Dann musst du dich aber darum kümmern das du bestimmte Systemaufrufe (z.B. Applikationsstart oder auch das runterfahren an das OS weitergibst).

Wenn ich richtig informiert bin soll eure Projektzeit nicht mehr als 40h für die Realisierung in Anspruch nehmen, oder? In dem Fall ist das eine m.E. unmögliche Aufgabe - selbst mit guten Programmierkenntnissen ist das in 40h nicht zu schaffen!

Ich würde also mal mit dem Chef reden in wiefern sich die Aufgabe abwandeln lässt (z.B. Möglichkeiten ausloten Windows abzusichern, alternative Anmeldemöglichkeiten via Smartcard usw. dabei beachten). Ich glaube realistisch gesehen ist da die Chance auf Erfolg höher...
Skiddoo
Skiddoo 09.07.2009 um 08:35:52 Uhr
Goto Top
Moin,

also in 40 Mannstunden ist sowas unschaffbar.
€dit: FISI müssten 40h sein, FIAE 70h
Allerdings mit Planung, Doku, etc...

Das du gar nicht gefragt wurdest ist... etwas ungewöhnlich.....
Du könntest mal vorschlagen das System über Gruppenrichtlinien etc.. soweit abzusichern das der Benutzer nichts mehr anstellen kann.
Oder das System an jedem Wochenende in den Ausgangszustand zurück gesetzt wird etc...

MfG
L0c4lh0sT
L0c4lh0sT 10.07.2009 um 10:01:22 Uhr
Goto Top
So alles klar habe mit meinem Chef gesprochen.
Wird umgeändert. Er dachte ich wäre Anwendungsentwickler face-big-smile

Hab jetzt ein neues Projekt: Inventory Lösung je nachdem wie gut ich das schaffe mit integration von Softwareverteilung.

Danke für die vielen Antworten und Vorschläge!

MfG
Alex