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