Skip to content

Exercise 2: Input Domain Modeling

You are asked to design an input domain model for a feature in an open-source project that you work on this semester. Implement this exercise using a new branch of your previously forked open-source project codebase.

We provide a template for creating the IDM in Markdown and Microsoft Word. Feel free to use it. We also provide an IDM example from past exercise.

Tasks

  1. Create a new branch on your fork repository of the open-source project you work on this semester.
  2. Choose a function (or method) from the codebase of the open-source project.
  3. Create input domain model for that function. Feel free to choose whether to use interface-based or functionality-based approach to identify the characteristics and their partition.
  4. Identify the constraints between characteristics if exist.
  5. Choose the test values based on your input domain modeling. Feel free to use any criteria that you think is the most effective.
  6. After choosing the test values, do you think that all of them are already covered in the existing test?
  7. Improve the existing test using your identified test values.

Deliverables

At the end of this exercise, you are required to prepare the following artifacts:

  • A written document that describes the process of your work in completing this exercise. You can write the document as a Markdown-formatted text file or a PDF file. Give the document a descriptive name, e.g. exercise2.md, and put it into a folder called docs in your fork.
  • One or more changed test suites, if any, that had been updated from the result of this exercise. Please commit any changes to the test suites into separate branch from your main branch in your fork.

    If there are no changes in the test suites, explain the reasons in the documentation.

The due date of this exercise is: 18 November 2022, 21:00 UTC+7. Please ensure any updates to the fork repository related to this exercise were made and pushed before the due date.

References

Appendix 1: Markdown Template

You can use the following Markdown template to document the IDM in your exercise2.md file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# ISP Documentation for [Insert Function Name Here]

## Input Domain Model

| Characteristics  | b1            | b2            | ... |
|------------------|---------------|---------------|-----|
| Characteristic A | Partition A 1 | Partition B 2 |     |
| Characteristic B | Partition B 1 | ...           |     |
| ...              | ...           | ...           |     |

Note: You can write some explanation about how you design your IDM to help you
during demonstration.

## IDM Relabeling Table

| Characteristics | b1  | b2  | ... |
|-----------------|-----|-----|-----|
| A               | A1  | A2  |     |
| B               | B1  | ... |     |
| ...             | ... |     |     |

## Constraints

- Constraint 1
- Constraint 2
- ...

## Test Values and Example I/O

Criteria Used: [Define your chosen criteria here]

Note: You can write some explanation about how you choose your criteria to help
you during demonstration.

| Test Value | Example Input | Expected Output |
|------------|---------------|-----------------|
| A1B1...    | Input 1       | Output 1        |
| A1B2...    | Input 2       | ...             |
| ...        | ...           | ...             |

Tips: If you write using Markdown and want to export the document as PDF file, you can use pandoc to export text file written in Markdown into a PDF.


Last update: 2022-11-11 06:06:55
Created: 2021-11-17 10:24:53