Design of Information Systems (Entwurf von Informationssystemen) (SoSe 2018, VAK 03-MB-703.02, 6 SWS / 8 ECTS)

Overview:

English
The course Design of Information Systems continues the course Database Systems and studies design and modeling of Database Systems. The course introduces the Unified Modeling Language UML with its different diagram forms (Use case, Class, Object, Sequence, Collaboration, Statechart, Activity, Component, and Deployment diagram). The formal semantics of selected UML language features and the relationships between such language features is treated. Further central topics include the Object Constraint Language OCL (a textual sublanguage within UML) and the UML metamodel. UML is applied to carry out the conceptual and logical design of database schemata and to describe the fundamentals of data models in a formal way.

German
Der Kurs Entwurf von Informationssystemen setzt den Kurs Datenbanksysteme fort und beschäftigt sich mit dem Entwurf und der Modellierung von Datenbanksystemen. Es wird die graphische Software-Beschreibungssprache Unified Modeling Language (UML) mit ihren verschiedenen Diagrammarten (Use case, Class, Object, Sequence, Collaboration, Statechart, Activity, Component und Deployment Diagramm) diskutiert. Ausführlich behandelt werden die formale Semantik von ausgewählten UML-Sprachmitteln und die Beziehungen der UML-Sprachmittel untereinander. Weitere Schwerpunkte bilden die Object Constraint Language OCL (eine textuelle Teilsprache innerhalb von UML) und das UML-Metamodell. Angewendet wird UML um den konzeptionellen und logischen Entwurf von Datenbankschemata vorzunehmen und die Grundlagen von Datenmodellen formal zu beschreiben.

Oral Exams:
  • Possible exam topics (txt-file)
  • All material from the course (pdfs) plus possible question topics (zip-file)
  • Early exam appointments are available on Thursday, 5th July and Thursday, 19th July.
  • Late exam appointments are available on Wednesday, 26th September.
  • Register for an exam in the wiki in Stud.IP.
Appointments:

Lecture:

  • Thursday: 10:15 - 11:45, weekly, Lecture, Room: MZH 1380/1400
  • Thursday: 14:15 - 15:45, weekly, Lecture, Room: MZH 1110

Excercise:

  • Wednesday: 10:15 - 11:45, weekly (starting in the second week), Excercise, Room: MZH 1450
Literature:

James Rumbaugh and Ivar Jacobson and Grady Booch The Unified Modeling Language Reference Manual, 2nd Edition Addison-Wesley, Reading, Massachusetts, USA 2005

Material:

Slides and supplementary material:

Examination via homework assignment:

The homework assignment has to be submitted until Wednesday, August the 1st.
Please put a printed version of the assignment in my (Andreas Kästner) post box (Nr. 33) in the MZH 6th floor and also send me a mail containing a zip archive with all files (document as well as sources for USE model and scripts). Make sure that the printed version is properly bound (e.g. with a folder). Important: mark for each section in the homework assignment the person(s) that were responsable for it.

Homework assignment:

  • Developed in groups of 3
  • About 12 – 16 pages per person
  • (Informal) Presentations of ongoing results in the excercises
  • The homework may be written in english or german.

General structure of a UML/OCL homework resp. case study:

  1. Informal description of the modeled domain; Presentation in the tutorial; Coordination with tutor
  2. Class structure / UML class diagram

    • Fundamentals: Always choose meaningful but short and pronounceable names / identifiers for all model elements like classes (e.g. Person / Company), attributes (e.g. name / salary), operations (e.g. hire, raiseSalary, fire), parameters (e.g. aSalary, anEmployer), associations / association classes (e.g. WorksFor, Marriage, Authorship), roles (e.g. employer, employee), invariants (e.g. nameUnique, agePositive, ageGreaterEqual0 or shorter, but coherent: age_GE_0), preconditions (e.g. salaryRaisePositive, aPercentBetween0and10, isFemale) and postconditions (e.g. salaryAssigned, nameModified, worksForLinkEstablished). All names / identifiers have to be consistent, i.e. in same language and textural style (upper and lower case, usage of underscore etc.).
    • At least two object diagrams created by the ObjectToClass plugin (requires USE 5.0.1 or higher) and pictures of the resulting class diagrams after the transformation. These diagrams do not have to include every class in the final class diagram(s) but should illustrate the incomplete development process towards a complete class diagram. Also explain if and how much this approach helped to create the final class diagram(s).
    • At least one class diagram, more if necessary
    • Verbal descriptions of classes, attributes, associations, roles, multiplicities and generalisation
    • Discussion about diverse modeling alternatives (e.g. via ternary relationships, association classes vs. class + association)
    • Quick Tour of the USE Tool in the USE Wiki and the USE manual with class diagram syntax and OCL standard library
  3. Invariants

    • Verbal descriptions of constraints for the model
    • The OCL representation of all constraints (expressions)
    • Discussion about consistence, integrity, completeness and independence of all invariants
    • All constraints, i.e. invariants, pre- and postconditions, should be preferably minimal. That is, you should rather think about decomposing complex conditions, which cover multiple aspects or independent issues, into several individual conditions (e.g. [ 11 <= numberPlayers and numberPlayers <= 13 ] is split into two invariants (A) [ 11 <= numberPlayers ] as well as (B) [ numberPlayers <= 13 ]).
  4. Operations (incl. parameters and potential return values)

    • Verbal explanation of all operations as well as pre- and postconditions
    • The OCL representation or pre- and postconditions (expressions) as well as the operation signature
    • Verbal description of the SOIL operation source code
    • Command sequence, generator procedure or SOIL definitions incl. comments
    • Please note: operations should be generic, i.e. their control flow is solely influenced by parameters and they never contain names of concrete objects like 'bob:Person' or 'ibm:Company'
  5. Scenarios (Test Cases)

    • Verbal explanation and rationale of scenario / test case selection
    • Your test cases should cover all interesting properties of your modeled systems
    • Your scenarios have to cover all classes, associations, attributes, operations, etc.
    • Please construct positive and negative scenarios
      • positive: Invariants, pre- resp. postconditions and inherent constraints are fulfilled
      • negative: At least one condition (invariant, pre- or postcondition) fails
    • Verbal description of all single test cases
    • Documentation of your test executions: command sequence, command sequence result protocol (e.g. failing conditions), sequence diagrams, object diagrams with illegal states, etc.
    • Explanation of failure / success of conditions (invariants, pre- and postconditions)
    • Please note: Your test cases contain concrete objects like 'ada:Person' or 'samsung:Company' as well as concrete procedures like 'samsung hires ada; sun fires bob'. This way, they call command sequences, generator procedures or SOIL definitions with concrete objects or attribute values.
  6. Queries (OCL terms / queries)

    • Verbal explanation and OCL expression of query
    • Where necessary, describe details or particularities of the used OCL language features
    • Please also give the query results

Form and layout of your housework

  • PDF document, DIN A4, 11pt (also in figures / diagrams), we recommend LaTeX, no unnecessary white spaces in diagrams, no black background color, no screen shots of the USE command shell, command sequences and protocols in textual form via mark and copy from the command shell, no confusing line breaks or word wraps, simplification of paths, clear and consistent layout
  • Always remember: others want/must read your homework (at least Martin and me)
Example homeworks from previous semesters:

Home|People|Teaching|Publications
Letzte Änderung: 24.07.2018 von Andreas Kästner