Web Engineering

am KIT Karlsruhe

am KIT Karlsruhe

Kevin März

Kevin März

Set of flashcards Details

Flashcards 72
Language Deutsch
Category Computer Science
Level University
Created / Updated 27.05.2014 / 27.01.2021
Weblink
https://card2brain.ch/box/web_engineering
Embed
<iframe src="https://card2brain.ch/box/web_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Requirements - Häufige Probleme

- ändern sich

- Bedeutung Betrachterabhängig

- nicht immer klar

- schwierig auszudrücken

- voneinander abhängig

- versch. Interessensgruppen

- unterschiedlich detailliert

- nicht gleich leicht/schwer erfüllbar

- schwierig zu erheben

Größte Probleme beim Web Engineering

tbd

Was ist Hypertext?

Ein Text der mithilfte assoziativer Verknüpfungen einen Informationsraum netzartig erschließt

Was ist das WWW?

ein verteiltes System

basierend auf Client-Server-Architektur

- Server: zugang zu Ressourcen

- Client: interpretation

unterstützt das Hypertextparadigma

Was ist Web Engineering?

WE ist vor allem Interdisziplinär zwischen Software Engineering, Hypermedia, Network Engineering, Informationssysteme
 

Webbasierte Softwareprodukte

Websystem

Webapplikation

Webressource

Was ist das W3C?

Internationales Konsortium zur Entwicklung von Standards im Web sodass es seine vollen Möglichkeiten entfalten kann

W3C Langzeitziele
 

Web of Trust (--> social media)

Web of Data and Services (giant repository and set of services)

Web for Rich Interaction (--> "User Generated Content")

DNS

Bildet Namen auf IP-Adressen ab

aufgeteilt in Zonen (Top Level Domain --> Adresse --> Subadresse --> Server)

 

URIs

URL: Uniform Ressource Locator, URI-Schema mit festen Vorgaben wie die Ressource über das Internet erreichbar ist

URN: ortsunabhängige Ressourcen (ISBN)

URC: stellt Metadaten einer Ressource zur Verfügung

Anforderungen an URNs

Globaler Scope

Global einzigartig

Persistent (--> für immer einzigartig)

Skalierbar (--> beliebig viele Ressourcen)

Erweiterbar (--> Änderungen am Schema)

Legacy Support (--> Alte Schemata werden unterstützt, sofern sie die anderen Anforderungen erfüllen)

Unabhängig (--> Bedindungen der Namensvergabe nur von Vergabestelle abhängig)

Web Content

alle Arten von Web Ressourcen, die dem User zugänglich gemacht werden (Hypertext Documents, Stylesheets, Multimedia, Webanwendungen, interaktive User Interfaces,....)

Content-Type

definiert das Format mit denen die Daten kodiert wurden

repräsentiert Media Types: HTML, Image, Audio, Video,...

MIME-Type

ursprünglich für Mail geschaffen

definiert Content-Types nach Basic (image) und Subtype (jpg)

Server mappt Dokumente zu MIME-Typen, Client mappt MIME-Typ zu Plugin/Applikation

HTML

Hypertext Markup Language

textbasierte Auszeichnungssprache, strukturiert den INhalt eines Dokuments (Text, Bilder, ...) und wird interpretiert durch den Browser

 

Javascript

Programmierssprache für Webbrowser

--> clientseitige Ausführung

Erweitert HTML

Unterscheidet sich in der Interpretation noch heute von Browser zu Browser

CSS

Separate Sprache um alle Präsentationsaspekte zu steuern (Farben, Grenzen, Textfluss, Positionierung,...)

--> Aussehen und Inhalt der HTML-Dateien kann separat entwickelt und weiterverwendet werden

XML

universelles Format für strukturierte Dokumente und Daten im Web

hierarchisch strukturiert

besteht aus Elementen und Attributen

CHAOS Top Success Factors

- Unternehmensleitung

- Nutzer einbeziehen

- erfahrener Projektmanager

- klare Geschäftszwecke/ziele

- Scope minimal halten

.....

Project Failure Rates

ca. 25% scheitern, 45% haben Probleme, nur ca 1/3 verlaufen nach Plan

--> Scheitern oft nicht technologiebedingt!

Mögliche Projektstrategien
 

- outsourcen

- in die Cloud bringen

- finden und kaufen

- neue Lösung entwickeln (Development with reuse not for reuse --> braucht man im Endeffekt eh nicht)

SCRUM: Rollen

Product Owner

Scrum Master

Team

- ALLE Rollen sind MANAGEMENT-Rollen! -

Legende von Huhn und Schwein
 

Tenor: jeder muss gleich viel beisteuern

Was ist ein Projekt?

Vorhaben, das insbesondere EINZIGARTIG ist (in Bezug auf die Gesamtbedingungen)

Work Breakdown Structure

unterhalb eines Projektes

Kategorisierte Liste an Aufgaben

Program

oberhalb von Projekten

--> Gruppe von zentral koordinierten Projekten

eher für langfristige Ziele

Probleme bei Projekten

nur 28% in vorgegebener Zeit (98% davon hatten aber Projektmanager)

unrealisitsche Zeitpläne (Nachlässigkeit, unrealistische Ziele, unterschätzten Problemen, beschönigten Erwartungen, Chicken&Pig!)

verschiedene Stakeholder früh einbeziehen (für Erwartungen besser, aber Konsens schwieriger!)

Dokumentation (werden wiederbenutzt --> kann zu Versionierungshölle werden, am besten Wiki)

GANTT

Projektmanagement Tool um Abhängigkeiten und zeitliche Abfolge mithilfe von Balken übersichtlich darzustellen

Pro: einfach

Contra: gerade Großprojekte sind zu komplex um sie damit abbilden zu können

PM-Tools: durchzuführende Arbeiten

Requirement Analysis

Requirement Definition

Design

Implementation

Testing

Operation&Maintenance

Risikomanagement

Risiko: alle Events die das Vorhaben potenziell negativ beeinflussen KÖNNEN

Evaulieren: Qualität ("Schwere") und Qunatität (Eintrittswahrscheinlichkeit) des Risikos

Prozessmodelle allgemein

Ziel: systematische (Wer macht was), disziplinierte (=zuverlässig), quantifzierbarer (Zeit, Kosten,...) Ablauf&Entwicklung

 

 

Prozessmodelle im WebEng

Jede Menge ... Zum Beispiel:

Code and Fix (ad hoc Entwicklung) (für kleine Projekte gut, oft genutzt)

Wasserfall (klare von-oben-herab-Entwicklung, Schritt-für-Schritt/Meilensten für Meilenstein, problematisch wenn Probleme am Anfang)

Prototyping (Anforderungen festlegen, Prototyp bauen, Prototyp schrittweise verbessern)

Rational Unified Process (RUP): siehe extra Karte

MSFv3

Agile Prozesse

Scrum

RUP

vier große Phasen:

Inception: Vision, Anwendungsfall, grobe Architektur, Größe des Projektes

Elaboration: = Detailplanung

Construction = Implementierung

Transition = Auslieferung & Schulung

MSF

Prozessmodell: Vision, Planung, Entwicklung, Stabilisierung, Auslieferung

Prozessübersicht:

- Product Management: Konzeptionales Design (Szenarien, Konzeptionale Datenbank)

- Program Management: Logisches Design (Objekte und Services, UserInterface, logishce Datenbank) und physisches Design (Komponenten, User Interface und physische Datenbank)

Agile Prozesse

Reaktion auf bürokratisierte Prozesse ( zu viel vs. zu wenig Prozess)

Individuen & Interaktion > Prozess&Werkzeuge

Funktionierende Software > Umfassende Doku

Kundenbeteiligung > Vertragsverhandlungen

Auf Veränderungen reagieren > dem Plan folgen

Agile Methoden

XP:

Tests als Grundlage der Entwicklung --> Tests zuerst schreiben, Iterationsdauer zw. 1 und 3 Wochen

Scrum:

Iteration von 2-4 Wochen, Einzeltasks nicht länger als 24 Stunden, wird täglich überprüft (Sprintmeeeting 15 Minuten) Product Backlog mit Änderungswünschen wird priorisiert und in einem Sprit umgesetzt, am Ende überprüft und ein neuer Product Backlog für nächsten Sprint erstellt

Requirements Engineering Phasen

Initiate

Elicitate

Assess

Specification and Validation

Spezielle Requirements für Webanwendungen

datenintensiv, unterschiedliche Performance-Aspekte

verteilte und heterogene Umgebungen

Sicherheit und Datenschutz

Accessibility und Usability

Ästhetik und Trends

Rechtliche Aspekte

Internet/Weltweiter Scope: Nutzer/Zielgruppe unbekannt

Was ist bei Requirements zu beachten

Sie ändern sich!

Requirements zu definieren und zu managen ist ein Haupterfolgsfaktor!

--> bedeuten unterschiedliche Dinge für unterschiedliche Leute!

--> Dokumentation sehr wichtig!

Requirements: Stakeholders

Sind diese Personen bekannt?

Enduser

Kunde

Mitarbeiter

Marketing/Presse

Verwaltung

Betriebe

Kundensupport

Redakteure/Inhalteersteller

Domänenexperten

----

Intranet: Personen bekannt

Internet: Personen unbekannt