Domain Models in Requirements Engineering: Concepts, Development, and Challenges, Study notes of Requirements Engineering

An overview of domain models in the context of requirements engineering. It covers the definition, characteristics, types, development methods, and challenges associated with domain models. The content is based on the CSULB spring 2015 RE course taught by Dr. Birgit Penzenstadler.

Typology: Study notes

2021/2022

Uploaded on 08/01/2022

fabh_99
fabh_99 🇧🇭

4.4

(53)

543 documents

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Requirements
Engineering:
Domain Models!
CECS 590
CSULB!spring!2015! Dr.!Birgit!Penzenstadler! 1!
Robert!Aichinger,!stock.xchng!
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

Download Domain Models in Requirements Engineering: Concepts, Development, and Challenges and more Study notes Requirements Engineering in PDF only on Docsity!

Requirements

Engineering:

Domain Models

CECS 590

CSULB spring 2015 Dr. Birgit Penzenstadler 1 Robert Aichinger, stock.xchng

Recap Cme!

  • System Vision
    • What is it?
    • Why do we need one?
    • Which elements should it contain?
    • Which methods do we use? CSULB spring 2015 Dr. Birgit Penzenstadler 2

Context Layer System Layer Requirements Layer Stakeholder Model Objectives & Goals Constraints ! & Rules ! ! ! ! Data Model E A A A E System Vision Functional Hierarchy Architecture Overview System Function Model Fun 1 Fun 2 Component Model C C Data Model E A A A E Behaviour Model Business Case Deployment Requirements System Constraints Domain Model Usage Model Service Model Quality Requirements Risk List Project Scope Process Requirements Glossary Glossary Glossary

Today‘s learning goals

  • What is a domain model?
    • DefiniCon, characterisCcs
    • RelaCons to other RE content
  • Overview of
    • Types of domain models
    • Method for development
  • Domain model in AMDiRE
  • What are typical problems? CSULB spring 2015 4

DefiniCon

A domain model in problem solving and so\ware engineering is a conceptual model of all the topics related to a specific problem. It describes the various enCCes, their abributes, roles, and relaConships, plus the constraints that govern the problem domain. CSULB spring 2015 Dr. Birgit Penzenstadler 5

Example: Simple domain model

Dr. Birgit Penzenstadler 7 Domain objects are not so\ware objects, but a representaCon of real-­‐life conceptual objects. CSULB spring 2015

Features

  • Domain classes – each domain class denotes a type of object
    • Business objects: things manipulated in the business, e.g., Order
    • Real world objects: things the business keeps track of, e.g., Contact , Site
    • Events that transpire, e.g. Sale and Payment
  • A@ributes – an abribute is the descripCon of a named slot of a specified type in a domain class; each instance of the class separately holds a value, e.g. name or ID
  • AssociaAons – an associaCon is a relaConship between two (or more) domain classes that describes links between their object instances, e.g., owns. AssociaCons can have roles, describing the mulCplicity and parCcipaCon of a class in the relaConship, e.g. employee.
  • AddiAonal rules – complex rules that cannot be shown with symbology can be shown with abached notes. CSULB spring 2015 Dr. Birgit Penzenstadler 8

Domain Models

  • DefiniCon & characterisCcs
  • RelaCon to other RE content
  • Types of domain models and examples
  • Method for development
  • AMDiRE domain model
  • What are the challenges? Dr. Birgit Penzenstadler 10 K Rayker, stock.xchng CSULB spring 2015

Example: Sample domain model for a

health insurance plan

Dr. Birgit Penzenstadler 11 [Kishorekumar, Wikimedia Commons 2009] CSULB spring 2015

Example: Sample domain model for a

health insurance plan

Dr. Birgit Penzenstadler 13 [hbp://scaledagileframework.com/domain-­‐modeling/] CSULB spring 2015

How to develop a DM

  • Make a list of candidate domain classes – idenCfy nouns.
  • Draw these classes in a UML class diagram.
  • If possible, add brief descripAons for the classes.
  • IdenCfy any associaAons that are necessary.
  • Decide if some domain classes are really just a@ributes.
  • Where helpful, idenCfy role names and mulAplicity for associaCons.
  • Add any addiConal staAc rules as UML notes that cannot be conveyed with UML symbols.
  • Group diagrams/domain classes by category into packages. CSULB spring 2015 Dr. Birgit Penzenstadler 14

Example: Research CompuCng

Domain Model

Dr. Birgit Penzenstadler 16 [hbp://www.bridging-­‐the-­‐gap.com/domain-­‐models/] CSULB spring 2015

Sources & QA

  • ElaboraCon from
    • Business case analysis
    • Stakeholder input (goals, constraints)
    • Background research
  • Quality: Completeness
    • All important concepts of problem domain
    • Adequate abributes
    • All important associaCons CSULB spring 2015 Dr. Birgit Penzenstadler 17

ElaboraCon in

AMDiRE

  • Hand sketch (dra)
  • Class diagram (iteraCon) Dr. Birgit Penzenstadler 19 Context Layer System Layer Requirements Layer Stakeholder Model Objectives & Goals Constraints ! & Rules ! ! ! ! Data Model E A A A E System Vision Functional Hierarchy Architecture Overview System Function Model Fun 1 Fun 2 Component Model C C Data Model E A A A E Behaviour Model Business Case Deployment Requirements System Constraints Domain Model Usage Model Service Model Quality Requirements Risk List Project Scope Process Requirements Glossary Glossary Glossary CSULB spring 2015

Challenges

  • Problem domain (conceptual objects)
  • Completeness (classes, associaCons, abributes) à The beber your domain model, the easier it will be to develop the system vision and usage model. Dr. Birgit Penzenstadler 20 Context Layer System Layer Requirements Layer Stakeholder Model Objectives & Goals !^ Constraints & Rules ! ! ! ! Data Model E A A A E System Vision Functional Hierarchy Architecture Overview System Fun 1^ Function Model Fun 2 Component Model C C Data Model E A A A E Behaviour Model Business Case Deployment Requirements System Constraints Domain Model Usage Model Service Model Quality Requirements Risk List Project Scope Process Requirements Glossary Glossary Glossary CSULB spring 2015