• Keine Ergebnisse gefunden

Entwicklung von Standardsoftware

N/A
N/A
Protected

Academic year: 2021

Aktie "Entwicklung von Standardsoftware "

Copied!
26
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Mastertitelformat bearbeiten zweizeilig

Codemanagement

Claudia Fritsch

claudia.fritsch@gmx.net

Entwicklung von Standardsoftware

mit Varianten

(2)

Codemanagement

Übersicht

Die Software

Architektur – Stable Design Centers Gemeinsamkeiten und Unterschiede MKS Source Integrity

Codemanagement

Zusammenfassung und Lessons Learned

(3)

Die Software

Standardsoftware für PCs und PC-Netzwerke

Verarbeitung personenbezogener Daten

Expertensystem

Datenbank Anzeige/

Antrag strukturierte,

logisch gesteuerte Erfassung

Ausdruck auf

Formulare

Software

Use Case Scenario #1:

(4)

Die Software

A/DOS Programm A, entwickelt unter DOS

A/Sinix Programm A, portiert auf Sinix RM

B Programm B, 1. Variante von A

C Programm C, 2. Variante von A

DOS-Programm für PCs und PC-Netze (Novell), Raima Database Manager,

entwickelt unter DOS, objektorientiert in C, MS C/C++ 7.0-Compiler, MKS Toolkit und rcs/Source Integrity, make.

A/W Programm A für Windows

32 bit Windows Client/Server-Lösung für Windows NT/95/98/2000, Sybase SQL Anywhere, Oracle, MS SQL Server via ODBC,

entwickelt unter Windows NT mit C++, STL, MFC, MS VC++-Compiler, MKS Toolkit und Source Integrity, make.

Programme

(5)

Die Software

A/DOS A/Sinix B

C A/W

Entwicklung und Wartung

Entwicklung Wartung

eingeschränkte Wartung

(6)

Architektur – Stable Design Centers

Architekturtreiber

plattformunabhängig

DOS Einzelplatz und Netzwerk

Sinix

Windows und andere Datenbanken absehbar

diverse Drucker

fachlich leicht adaptierbar

fachliche Anforderungen ändern sich ständig

rechtliche Korrektheit vertraglich zugesichert

häufige Updates

hochkonfigurierbare Standardsoftware

anpassbar an örtliche Gegebenheiten

Abbildung des gewohnten Arbeitsablaufs

(7)

Architektur – Stable Design Centers

Ablauf- handler Masken-

handler

Formular- aufbereiter,

virtueller Drucker

Konfiguration Datenbank-

handler

Datenbank Anzeige/

Antrag strukturierte,

logisch gesteuerte Erfassung

Use Case Scenario #1:

Verarbeitung im Programm:

Ausdruck auf

Formulare

(8)

Stable Design Centers

Masken- handler Masken-

beschreibung .msk

- Präsentation - Datenbezüge - Logik

magic

maschinen- interpretierbare Masken-

beschreibung .lnf

Maske am Bildschirm

Maskenhandler

(9)

Stable Design Centers

Formular- aufbereiter,

virtueller Drucker Formular-

beschreibung .frm

- Layout

- Datenbezüge - Texte

formic

maschinen- interpretierbare Formular-

beschreibung .3ac

Ausdrucke

Formularaufbereiter

(10)

Stable Design Centers

Datenbank- anschluss Datenbank-

struktur- definition

Datenbank

Datenbankstruktur:

relationale DB

2000 Felder

100 Tabellen

Datenbankanschluss:

zweistufig, oo

dbh: Datenbankhandler, Progammierschnittstelle oder ODBC

dbo: Datenbankobjekte für Zeilen, Vorgänge, Listen

Datenbankanschluss

(11)

Gemeinsamkeiten und Unterschiede

A) Projekte verwenden gemeinsame Ressourcen oder Ergebnisse

Beispiel: Datenbankanschluss dbh dbo

A/DOS A/Sinix B

C A/W

Ergebnis gemeinsam verwendet

(12)

Gemeinsamkeiten und Unterschiede

B) Plattformunterschiede:

gemeinsame Quellen, verschiedene Compiler

Beispiel: Datenbankanschluss dbh dbo

A/DOS A/Sinix B

C A/W

Ergebnis gemeinsam verwendet

Quellen gemeinsam verwendet

(13)

Gemeinsamkeiten und Unterschiede

C) Plattformunterschiede:

Differenzen in Quellen

Ergebnis gemeinsam verwendet

Quellen sind verschieden Beispiel: Datenbankanschluss

dbh dbo A/DOS

A/Sinix B

C A/W

Quellen gemeinsam verwendet

(14)

Gemeinsamkeiten und Unterschiede

D) Unterschied in Daten,

Ressourcen teilweise dieselben

Beispiel: Masken msk A/DOS

A/Sinix B

C A/W

Ressourcen gemeinsam verwendet

Ressourcen z.T. gleich, z.T. andere

andere Ressourcen

(15)

Gemeinsamkeiten und Unterschiede

Zusammenfassung

Projekte verwenden gemeinsame Ergebnisse oder Ressourcen

Plattformunterschiede: gemeinsame Quellen, verschiedene Compiler Plattformunterschiede: Differenzen in Quellen

Unterschied in Daten, Ressourcen teilweise dieselben

Wie regelt man das?

Wie behält man das im Griff?

... mit so wenig Aufwand wie möglich?

(16)

Gemeinsamkeiten und Unterschiede

Versionsverwaltung

Check-in Check-out

Welche Dateien gehören in welcher Version zu welchem Produkt?

Paralleles Arbeiten

Build- und Release-Management

Automatische Builds (Make)

Build Management für jeden Entwickler

Release Management für Kompletttests und Auslieferungen

Pflege der Abhängigkeiten Konventionen

alle verwenden dieselbe Entwicklungsumgebung Struktur

„alles ist überall gleich“

Konfigurationsmanagement

(17)

MKS Source Integrity

Archiv

Speichert Dateien in mehreren Versionen

Dateien werden eingecheckt und zum Bearbeiten ausgecheckt Projekt

Gruppiert archivierte Dateien zu logischen o. funktionalen Einheiten

Zugriff auf das Archiv erfolgt über ein Projekt

Eine Datei kann mehreren Projekten zugeordnet sein Master Project Tree (mpt)

Ein hierarchisch aufgebautes Archiv

Enthält alle Projekte und die zu ihnen gehörenden Dateien Sandbox

Abbild eines Projekts aus dem mpt, identischer Verzeichnisbaum

Individuelle Arbeitsumgebung

Konzepte

(18)

MKS Source Integrity

Jedes Projektverzeichnis enthält Projektfiles und Makefiles für alle plattformabhängigen Produkte, die erzeugt werden können.

osb: offical sandbox, nur für release build

isb´s: individual sandboxes für die Entwicklung

Anwendung der Konzepte

(19)

Codemanagement

dbh A/DOS

A/Sx B C

A/W dbh_m7.pj:

p:/mpt/l/dbh/dbh_m7.pj p:/mpt/l/dbh/dbh_m7.mk p:/mpt/l/dbh/blob.c

A) Projekte verwenden gemeinsame Ressourcen

oder Ergebnisse

(20)

Codemanagement

B) Plattformunterschiede:

gemeinsame Quellen, verschiedene Compiler

dbh A/DOS

A/Sx B C A/W

(21)

C) Plattformunterschiede:

Differenzen in Quellen

dbh A/DOS

A/Sx B C A/W

Codemanagement

sp_zob.h:

(22)

D) Unterschied in Daten,

Ressourcen teilweise dieselben

msk A/DOS

A/Sx B C A/W

Codemanagement

(23)

D) Unterschied in Daten,

Ressourcen teilweise dieselben

msk A/DOS

A/Sx B C A/W

Codemanagement

msk.pj (A/DOS):

p:/mpt/d/msk/gema.msk p:/mpt/d/msk/sanz.msk p:/mpt/d/msk/skod.msk

msk.pj (B):

$(mpt_d_msk)/sanz.msk p:/mpt/d/skod.msk

msk.pj (C):

p:/mpt/o/msk/seviden.msk

(24)

Codemanagement

Builds in den osb´s

pj refresh

make

halbautomatisch

Export in die Auslieferungsverzeichnisse

Abbild der Verzeichnisstruktur beim Kunden

skriptgesteuert, halbautomatisch Installationsprogramm

eigenes Projekt Media Build

skriptgesteuert

Auslieferung

(25)

Zusammenfassung und Lessons Learned

Warum hat das funktioniert?

Architektur

Layers + Interpreter

Struktur durch Verzeichnisbäume

Variabilität beherrschen Reproduzierbare Verfahren

pj refresh + make

halbautomatisch + bewusst

from scratch + verstanden Soziale Kompetenz

sich einig sein

bewusst den Konventionen folgen

keine rein technische Lösung

Qualitätsbewusstsein

(26)

Literatur

Kevin Jameson: Multi-Platform Code Management, O’Reilly 1994

MKS Source Integrity User Guide, Mortice Kern Systems, Canada 1999

Referenzen

ÄHNLICHE DOKUMENTE

Die spanische Verfassung enthält einen Katalog von Sachgebieten, die zur ausschließlichen Zuständigkeit der Zentralgewalt zählen (Art. I CE), und sie bestimmt daneben, dass

Lediglich bei der Gegenüberstellung von Lean Management zu der verbreitetsten agilen Methode, Scrum, lassen sich einige grundlegende Unterschiede aufzeigen: Scrum beinhaltet

1 Einführung.. Bei der Beratung spielt also die Bearbeitung des Selbst der Klientin eine geringere Rolle als bei der Psychotherapie. Die Gesprächsthemen der klientenzentrierten

Ich zeige dir auf jeder Seite, um was es geht, und wünsche dir viel Spaß mit diesem Kindergartenblock.. Es gibt

Die Schüler erfahren, was ein Sakrament ist und welche Unterschiede es zwischen der evangelischen und der katholischen Kirche in Bezug auf die Sakramente gibt.. Die Schüler lesen

Auch Fortbildungspunkte, die erworben wurden, bevor der Arzt den Verpflichtungen dieser Vereinbarung unterlag, sind anzu- rechnen, wenn die zugrunde lie- gende Fortbildung

65 Alle Quellenangaben beziehen sich, soweit nicht anders erwähnt auf das Kommunalselbstverwaltungsgesetz (KSVG) – Teil A: Gemeindeordnung – Stand: Juni 2005. 1); Findet sich

Vladimir Sazonovi doktoritöö Die Königstitel und -epitheta in Assyrien, im Hethiterreich und in Nordsyrien (Ugarit, Emar, Karkemiš) in der mittelassyrischen Zeit: