Vorlesung Software Engineering Foliensatz Nr. 11 (04.01.12) Arbeitsgruppe Software Engineering Prof. Elke Pulvermüller Universität Osnabrück Institut für Informatik, Fachbereich Mathematik / Informatik Raum 31/318, Albrechtstr. 28, D-49069 Osnabrück elke.pulvermueller@informatik.uni-osnabrueck.de http://www.inf.uos.de/se Sprechstunde: mittwochs 14 15 und n.v. Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 1 Software Engineering Wintersemester 11/12
Vorlesung Software Engineering Inhalt 1 Software-Krise und Software Engineering 2 Grundlagen des Software Engineering 3 Projektmanagement 4 Konfigurationsmanagement 5 Software-Modelle 6 Software-Entwicklungsphasen, -prozesse, -vorgehensmodelle 7 Qualität 8 Fortgeschrittene Techniken Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 2 Software Engineering Wintersemester 11/12
Inhalt 5.1 Grundlagen und Modelltypen 5.2 Programmablaufplan 5.3 Struktogramm 5.4 Funktionsbaum 5.5 Strukturierte Analyse (SA) 5.6 EBNF und Syntaxdiagramm 5.7 Entity-Relationship-Modell (ERM) 5.8 Objektorientierte Modellierung mit UML 5.9 Geschäftsprozessmodellierung mit ARIS 5.10 Formale Modellierung mit Petri-Netzen Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 3 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS ARIS HOBE: Architektur integrierter Informationssysteme HOuse of Business Engineering Entwicklung von IDS Scheer und SAP (90iger Jahre), IDS Scheer AG Einsatz: Rahmenwerk zur Modellierung, Analyse und Optimierung von betriebswirtschaftlichen Geschäftsprozessen in Informationssystemen [Sch98b] Konzept und Softwarewerkzeug Modell mit Sichten und Verfeinerungsebenen; verschiedene Implementierungsmöglichkeiten [Sch98a] A.-W. Scheer. ARIS - Modellierungsmethoden, Metamodelle, Anwendungen, 3. Aufl., Berlin, Heidelberg: Springer Verlag 1998. [Sch98b] A.-W. Scheer. ARIS - Vom Geschäftsprozess zum Anwendungssystem, 3. Aufl., Berlin, Heidelberg: Springer Verlag 1998. [KNS92] G. Keller, M. Nüttgens und A.-W. Scheer. Semantische Prozessmodellierung. Technischer Bericht Nr. 89, Veröffentlichungen des Instituts für Wirtschaftsinformatik, Saarbrücken, 1992. [Sei06] H. Seidelmeier. Prozessmodellierung mit ARIS, 2. Aufl., Vieweg+Teubner 2006 Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 4 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: HOBE ARIS Metamodell A.-W. Scheer. ARIS - Modellierungsmethoden, Metamodelle, Anwendungen. Berlin, Springer 1998 strategische Geschäftsprozessanalyse Fachkonzept DV-Konzept Implementierung Fachkonzept DV-Konzept Fachkonzept DV-Konzept Fachkonzept DV-Konzept Implementierung Implementierung Implementierung Datensicht Steuerungssicht Fachkonzept DV-Konzept Implementierung Leistungssicht Funktionssicht Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 5 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Elemente ARIS-Meta-Geschäftsprozessmodell: Einheiten: Funktionen, Ereignisse, Organisationseinheiten, Leistungen, zusätzlich: Ziele des Prozesses, menschliche Arbeitsleistung, Maschinen, Hardware und Anwendungssoftware sowie Umfelddaten Funktionen: repräsentieren die einzelnen Arbeitsschritte z.b. Bearbeitung eines Auftrags, Erstellen eines Angebots oder die Suche nach Produkten in einem Katalog Ereignisse: entweder das Ergebnis einer Funktion des Geschäftsprozesses (z.b. Produkt nach einer Produktsuche gefunden) oder ausgelöst außerhalb des betrachteten Prozesses (z.b. Verhalten eines Kunden auf einer Web-Seite: Kunde wählt Produktsuche ) Eintreffen eines Ereignisses kann auch als explizite Nachricht modelliert werden (Briefsymbol in der Notation; selten) Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 6 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Elemente ARIS-Meta-Geschäftsprozessmodell: Organisationseinheiten: Abteilungen oder Gruppen eines Unternehmens, die bestimmte Funktionen übernehmen Leistungen: sind Arbeitsergebnisse in einem anderen Geschäftsprozess als dem aktuellen Prozess genutzt oder erbracht z.b. Fertigungspläne oder Tabellen zur Steuerberechnung Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 7 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Elemente ARIS-Meta- Geschäftsprozessmodell Machine Organizational Unit Human Labour Legende: Hardware Goal Organizational Flow Operational Flow Service Flow Information Flow logical Connector»AND«logical Connector»OR«In-Event Environment Data logical Connector»XOR«AND OR XOR Input Delivery Function Output Delivery Out-Event Application Software Input or Output Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 8 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Sichten Spezifische Sichten Organisationssicht: Organisationseinheiten, menschliche Arbeitsleistung, Maschinenressourcen und benötigte Hardware mit ihren Strukturen und Beziehungen Beispiel für ein Modell zur Organisationssicht: Interaktionsdiagramm Funktionssicht: beinhaltet die Funktionen, die Ziele und die verwendete Anwendungssoftware Leistungssicht: es werden nur Leistungen betrachtet (Input, Output Delivery) Datensicht: besteht aus den Ereignissen, Nachrichten und Umfelddaten Verwendetes Modell: ERM Steuerungssicht: beschreibt den Ablauf eines Geschäftsprozesses, verknüpft die verschiedenen Sichten weitere Sichten bzw. Modelle dafür sind möglich (z.b. Ressourcensicht) Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 9 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Organisationssicht Spezifische Sicht: Interaktionsdiagramm für die Organisationssicht initiate Order Procurement Supplier Supply Payment required initiate ships Material releases Order Customer Sales Production Article Shipping Payment orders verifies Order ships Article Planning, Production Shipment Zwischen den organisatorischen Einheiten (Aufgabenträger) bestehen Leistungs- und Kommunikationsbeziehungen. Darstellung ist sehr leicht verständlich Allerdings: die genaue Reihenfolge der Abarbeitung der Anforderungen wird nicht genau ersichtlich Darstellungsart bei komplexeren Zusammenhängen sehr schnell unübersichtlich Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 10 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Funktionssicht Spezifische Sicht: Procurement Supplier ARIS Funktionsfluss des Geschäftsprozess Auftragsbearbeitung initiate Order Procurement process Order Supplier als Funktionssicht (1) pay Invoice accept Payment Customer Sales Production Production Shipping initiate Order check Order prepare Production produce Article ship Article Customer receive Article Customer pay Invoice Sales accept Payment Funktionen in ihrer Abarbeitungsreihenfolge Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 11 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Funktionssicht Spezifische Sicht: Funktionsbaum als Funktionssicht (2) Bedarf fremd beschaffen Prüfen, ob ein aktuelles Angebot vorliegt Angebot anfordern Funktionshierarchie Bedarf bestellen Bedarf anfragen Angebot erfassen Angebot auswählen Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 12 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Leistungssicht Spezifische Sicht: Gliederung von Leistungsarten in der Leistungssicht Leistung Sachleistung Dienstleistung Informationsdienstleistung sonstige Dienstleistung Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 13 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Steuerungssicht Spezifische Sicht: Steuerungssicht Ereignis 1 1) EPK (Ereignisgesteuerte Prozessketten Event-driven Process Chains, EPC) Modell des logischen Prozessablaufs (für die Steuerung eines betrieblichen Vorgangs) Funktion 1 Ereignis 2 Ereignis 3 Funktion 2 2) Wertschöpfungskettendiagramm Ereignis 4 Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 14 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Steuerungssicht Beispiel: Geschäftsprozessmodellierung mit EPKs Produktsuche-Prozess Simple search is selected Enter search term Search term is entered User is logged in Select search type Buyer Supplier Start search Search result is displayed Advanced Enter Search search is search attributes selected attributes entered Buyer Supplier Buyer Supplier Abweichende Darstellung des Pfeils zwischen den Bausteinen (Grund: verwendetes Werkzeug) Wir nutzen in EPKs diese Pfeilform zur Darstellung des Kontrollflusses: Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 15 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Steuerungssicht Beispiel: Hierarchische EPKs Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 16 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Steuerungssicht Steuerungssicht: eepk = EPK + Input / Output Daten + Organisationseinheiten + Anwendungssysteme Achtung: Teils abweichende Kantendarstellung Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 17 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Steuerungssicht Beispiel: Wertschöpfungskette eprocurement in der Steuerungssicht Hosted Marketplace Component Auction Component Procurement Solution Authorization Workflow Component Business System Integration Component Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 18 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Steuerungssicht Steuerungssicht: Beispiel: Wertschöpfungskette eprocurement Simple search Manage Price Notification Agent Advanced search Negotiation process Register user Login user Manage Usere Account Manage Access Rights Discount search Manage catalog Manage Rating Types Display product information Authorization process Manage Public Tendering Auction process Manage Request Order process Fulfillment Payment process Manage Messaging System Express purchase Localization Process Group purchasing Manage content Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 19 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Werkzeug ARIS Werkzeug Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 20 Software Engineering Wintersemester 11/12
5.9 Geschäftsprozessmodellierung mit ARIS: Sichtenverknüpfung Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 21 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen Eingeführt durch Carl Adam Petri (Dissertation, Bonn 1962) Technik zur Modellierung von nebenläufigen (parallelen) Prozessen; Beschreibung der Synchronisation und des Verhaltens von verteilten Systemen Starke Übereinstimmungen zu Zustands-(übergangs)- diagrammen (State Transition Diagrams), Verwendung in Activity Diagrammen in UML 2.x grafische Darstellungsform mathematische Grundlagen Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 22 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Elemente Beispiel: einfaches Petri-Netz Stelle bzw. Platz Markierung bzw. Belegung Kante bzw. Pfeil Übergang bzw. Transition schalten Eine Transition kann bei ausreichender Markenanzahl an den Stellen des Vorbereichs schalten. Der Nachbereich erhält ausreichende Kapazität vorausgesetzt danach Marken entsprechend Kantengewichtung. Standardkapazität- und gewicht von Kanten: 1, von Stellen: unendlich Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 23 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Elemente Elemente/Komponenten der Petri-Netz Modellierung (3 Komponententypen) Stellen oder Plätze (Places, Kreise) repräsentieren mögliche Zustände eines Systems Übergänge/Transitionen oder Hürden (Transitions, Rechtecke), z.t. auch als ausgefüllte Balken dargestellt sind Ereignisse oder Aktionen welche eine Veränderung des Systemzustands hervorrufen Kanten bzw. Pfeile (Arcs ) Kanten verbinden immer einen Platz mit einer Transition und eine Transition mit einem Platz Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 24 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Aufbau Schemata für Ablaufsituationen A sequence of events/actions (sequentielle Abfolge): e1 e2 e3 Concurrent executions (nebenläufige Ausführung): e2 e3 e1 e4 e5 Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 25 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Aufbau Non-deterministic events - conflict, choice or decision: A choice of either e1, e2 or e3, e4... e1 e2 e3 e4 Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 26 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Aufbau Synchronization e1 Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 27 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Aufbau Synchronization and Concurrency e1 Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 28 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Aufbau Alternative Choice (alternative Auswahl): Repetition (Wiederholung): Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 29 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Beispiel Beispiel: Modell der Eingabe einer vierstelligen PIN (Eingabe von 4 Ziffern): 1 digit 1 digit 1 digit 1 digit d4 Initial d1 d2 d3 OK OK OK OK OK Enter pressed Rejected! Reject approve approved Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 30 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Bewertung Eignung: Petri-Netze dienen der ablauforientierten Beschreibung von nebenläufigen und verteilten Systemen Anwendungsbereiche: Prozessmodellierung in Betriebs- und Kommunikationssystemen, Ablaufbeschreibung in ingenieurswissenschaftlichen Anwendungen, Modellierung von Arbeitsabläufen (Workflow), Modellierung von Produktions- und Organisationsprozessen Analyse von Petri-Netzen, z.b.: - (Nicht-) Erreichbarkeit (safety) - Lebendigkeit (liveness) - Verklemmung (deadlock) Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 31 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen: Bewertung Vorteile: - sehr gute theoretische Fundierung (Netze, Graphen) - Werkzeugunterstützung: Analyse, Simulation, Grafik Nachteile: - keine Datenstrukturierung - unzureichende Ausdruckskraft - eingeschränkte Modularisierung großer Systeme Bemerkungen: Erweiterungen beheben die Nachteile teilweise Varianten: Es gibt zahlreiche Varianten von Petri-Netzen, die sich in der Art der Marken, der Art von Stellen und Kanten und dem Schaltbegriff unterscheiden. Erweiterungen wie gezeitete Petri-Netze ( timed Petri nets ) modellieren z.b. zeitabhängige Systeme. Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 32 Software Engineering Wintersemester 11/12
5.10 Formale Modellierung mit Petri-Netzen Bekannte formale Modellierungssprachen: 1 Petri-Netze 2 Algebraische Spezifikation 3 Z 4 Temporale Logik 5 Prozessalgebra 6 Allgemein: Automaten oder Logik Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 33 Software Engineering Wintersemester 11/12
5 Software-Modelle Zusammenfassung und Ausblick 1 Software-Krise und Software Engineering 2 Grundlagen des Software Engineering 3 Projektmanagement 4 Konfigurationsmanagement 5 Software-Modelle 6 Software-Entwicklungsphasen, -prozesse, -vorgehensmodelle 7 Qualität 8 Fortgeschrittene Techniken 5.1 Grundlagen und Modelltypen (Modellbegriff, Modellarten/Sichten, Einsatz, Modellvielfalt, Abstraktionsebenen) 5.2 Programmablaufplan 5.3 Struktogramm 5.4 Funktionsbaum 5.5 Structured Analysis 5.6 EBNF, Syntaxdiagramm 5.7 ERM 5.8 OO-Modelle mit UML 5.9 Geschäftspr.modellierung mit ARIS bekannte Modelle bzw. Modellierungssprachen 5.10 Petri-Netze Wege im Umgang mit der Software-Krise und Umsetzung der Grundlagen und Prinzipien: Entwicklung nach einem systematischen Vorgehensmodell Prof. Dr.-Ing. E. Pulvermüller (Jun.-Prof.), Universität Osnabrück Folie 34 Software Engineering Wintersemester 11/12