Seminar on Design and Architecture Patterns

Kušniráková

Required output

Until Thursday 24.10. 23:59, all teams implement the same following patterns. For each pattern, create a class diagram placed in the context of QualityIS and an object diagramSubmit your results as a PDF report (one per team) to homework vault (odevzdávarna) 04 - Analysis Patterns modelling.


General instructions for patterns' application:

  • We aim at taking the text description from the brainstorming and transforming the pieces of information into
    • classes,
    • associations,
    • notes (where needed).
  • Use accurate naming of classes. Rename classes of patterns if it makes sense.
  • Add/adapt context, i.e., associated classes (add necessary, remove unnecessary).
  • Add attributes, if necessary. Never use methods at this requirements stage.
1. Measurements + Observations:

  • We want to measure the results of software quality tests.
  • At least three examples of phenomenon types. At least one of them has phenomenons. 
  • Extend or replace the context of the Observation (e.g., the Person class) with meaningful terms from the application domain. Focus on metrics, analyses, and reports. We aim to get a meaningful class diagram for these terms by using the M&O pattern.
  • Issues are "predefined values", e.g., the number of unused variables, the number of empty catch blocks in try-catch, .etc.

2. Enterprise segment: 

  • We want to analyze (at least):
    • Selling different SW products (e-shops, CMS, ...) in different geographical locations (US, EU, ...)
    • Which types/categories of quality metrics are applied to different SW products and/or in different geographical locations, and also how often?
    • We want to know all these statistics ale for different programming languages.
  • Identify dimension elements and put them as sub-classes of the DimensionElement. 
  • Propose meaningful classifications (trees) of identified dimension elements. 

3. Planning (Completed and Abandoned Actions):

  • Identify key states of the "plan, realization, and results of quality testing a software product". Classify the states according to proposed, implemented, completed, and abandoned categories. Add additional categories, if necessary (and ignore/remove unrelated ones).
  • Identify and capture pieces of information that are necessary for each category. Capture them in the class diagram (as associations with the "neighboring" analytical classes).
  • List the necessary details for each state in notes linked to them.