{
    "componentChunkName": "component---src-templates-docs-js",
    "path": "/laborationer-2026/01-laboration-1",
    "result": {"data":{"site":{"siteMetadata":{"title":"Linnéuniversitetet","language":"sv","courseCode":"1DV607"}},"mdx":{"fields":{"id":"a08ca2ea-5cd3-57ae-82a1-7b5ee7ddeb1f","title":"Laboration 1 – Domänmodellering","slug":"/laborationer-2026/01-laboration-1"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Laboration 1 – Domänmodellering\",\n  \"metaTitle\": \"Laboration 1 – Domänmodellering | 1DV607\",\n  \"metaDescription\": \"Instruktioner för laboration 1 i 1DV607.\",\n  \"order\": 1\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"I laboration 1 arbetar ni med dom\\xE4nmodellering. B\\xF6rja med att skapa ert repository och l\\xE4s sedan uppgiftsinstruktionerna d\\xE4r.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Publiceras:\"), \" 8 september 2026\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Deadline:\"), \" 22 september 2026 klockan 17.00\")), mdx(\"h2\", null, \"1. Skapa grupp\"), mdx(\"p\", null, \"Ni arbetar i grupper om \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"en till tre studenter\"), \". Om du vill arbeta ensam ska du f\\xF6rst diskutera det med Daniel.\"), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://forms.gle/wWCgrGijAA5sDpXr9\"\n  }, \"Registrera gruppen\")), mdx(\"h2\", null, \"2. Skapa repository\"), mdx(\"p\", null, \"Skapa laborationens repository via \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://actionhub.camp.lnu.se/courses/1dv607/gitlab\"\n  }, \"ActionHub\"), \".\"), mdx(\"p\", null, \"Instruktionerna f\\xF6r att skapa ett repository finns i guiden \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://coursepress.lnu.se/kurser/introduktion-till-mjukvarukvalitet/studieguide/gitlab-resurser/\"\n  }, \"GitLab-resurser f\\xF6r 1DV610\"), \". Samma arbetsg\\xE5ng anv\\xE4nds h\\xE4r. Om du inte kommer \\xE5t ActionHub beh\\xF6ver du ansluta till universitetets VPN.\"), mdx(\"h2\", null, \"3. Genomf\\xF6r laborationen\"), mdx(\"p\", null, \"L\\xE4s hela uppgiftsbeskrivningen i ert repository innan ni b\\xF6rjar. T\\xE4nk s\\xE4rskilt p\\xE5 f\\xF6ljande:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Modellen ska tydligt visa att endast \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"en boende\"), \" kan boka en viss tv\\xE4ttstuga eller maskin under en viss tidsperiod.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Modellera problemet och verksamhetens behov, inte den tekniska l\\xF6sningen. Undvik d\\xE4rf\\xF6r klasser av typen \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"System\"), \" som beskriver hur problemet ska l\\xF6sas.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Kravbeskrivningen blandar ibland verksamhetens problem med dess nuvarande l\\xF6sning. F\\xF6rs\\xF6k identifiera vilka behov de olika rollerna faktiskt har.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"G\\xF6r kontinuerliga commits. Alla gruppmedlemmar ska bidra aktivt.\")), mdx(\"h2\", null, \"4. L\\xE4mna in\"), mdx(\"p\", null, \"Deadline \\xE4r \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"22 september 2026 klockan 17.00\"), \". Tiden har flyttats fram en extra dag s\\xE5 att b\\xE5da grupperna f\\xE5r ytterligare ett handledningstillf\\xE4lle f\\xF6re deadline.\"), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://forms.gle/Chc67p2LTChfWDDA8\"\n  }, \"L\\xE4mna in laboration 1\")), mdx(\"p\", null, \"Endast en student per grupp beh\\xF6ver fylla i formul\\xE4ret. Om ni gjorde en merge request i GitLab f\\xF6re deadline men s\\xE5g formul\\xE4ret sent, r\\xE4knas inl\\xE4mningen \\xE4nd\\xE5 som gjord i tid. Fyll i formul\\xE4ret \\xE4ven i det fallet.\"), mdx(\"h2\", null, \"Handledning och r\\xE4ttning\"), mdx(\"p\", null, \"P\\xE5 handledningen kan ni f\\xE5 \\xE5terkoppling p\\xE5 arbetet, s\\xE5 ta med era fr\\xE5gor och kom f\\xF6rberedda. Den ordinarie r\\xE4ttningen ger inte generell \\xF6vningsfeedback. Om en inl\\xE4mning kr\\xE4ver komplettering eller omexamination f\\xE5r gruppen d\\xE4remot en motivering till vad som beh\\xF6ver \\xE5tg\\xE4rdas.\"), mdx(\"p\", null, \"R\\xE4ttningsstatus meddelas i Zulip. V\\xE4nta p\\xE5 dessa uppdateringar i st\\xE4llet f\\xF6r att fr\\xE5ga om individuell r\\xE4ttningsprogress.\"), mdx(\"p\", null, \"St\\xE4ll \\xF6vriga fr\\xE5gor i \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://zulip.lnu.se/#narrow/channel/24-1dv607---WP-Kalmar-och-WP-Online--Svenska/topic/Laboration.201.2E/with/13428\"\n  }, \"Zulip-tr\\xE5den f\\xF6r laboration 1\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#1-skapa-grupp","title":"1. Skapa grupp"},{"url":"#2-skapa-repository","title":"2. Skapa repository"},{"url":"#3-genomför-laborationen","title":"3. Genomför laborationen"},{"url":"#4-lämna-in","title":"4. Lämna in"},{"url":"#handledning-och-rättning","title":"Handledning och rättning"}]},"parent":{"relativePath":"laborationer-2026/01-laboration-1.md"},"frontmatter":{"metaTitle":"Laboration 1 – Domänmodellering | 1DV607","metaDescription":"Instruktioner för laboration 1 i 1DV607.","fullWidth":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/forelasningar-2026","title":"Föreläsningar 2026"}}},{"node":{"fields":{"slug":"/","title":"Objektorienterad analys och design med UML (1DV607)"}}},{"node":{"fields":{"slug":"/laborationer-2026","title":"Laborationer 2026"}}},{"node":{"fields":{"slug":"/old","title":"Old"}}},{"node":{"fields":{"slug":"/forelasningar-2026/00-tema-2-objektorienterad-analys-och-uml","title":"Tema 2 – Objektorienterad analys och modellering med UML"}}},{"node":{"fields":{"slug":"/forelasningar-2026/00-tema-3-objektorienterad-design-med-uml","title":"Tema 3 – Objektorienterad design med UML"}}},{"node":{"fields":{"slug":"/forelasningar-2026/01-kursintroduktion-och-domanmodellering","title":"1. Kursintroduktion och domänmodellering"}}},{"node":{"fields":{"slug":"/forelasningar-2026/02-objektorienterad-analys-och-modellering","title":"2. Objektorienterad analys och modellering"}}},{"node":{"fields":{"slug":"/forelasningar-2026/03-uml-modellering","title":"3. Fortsatt modellering med UML"}}},{"node":{"fields":{"slug":"/forelasningar-2026/04-grasp","title":"4. GRASP"}}},{"node":{"fields":{"slug":"/forelasningar-2026/00-tema-1-grunderna","title":"Tema 1 – Grunderna i objektorienterad analys och design"}}},{"node":{"fields":{"slug":"/laborationer-2026/01-laboration-1","title":"Laboration 1 – Domänmodellering"}}},{"node":{"fields":{"slug":"/old/001-introduction","title":"Course Introduction"}}},{"node":{"fields":{"slug":"/old/01-information","title":"Course Information"}}},{"node":{"fields":{"slug":"/laborationer-2026/02-laboration-2","title":"Laboration 2"}}},{"node":{"fields":{"slug":"/old/02-theory","title":"Theory"}}},{"node":{"fields":{"slug":"/old/03-assignments","title":"Assignments"}}},{"node":{"fields":{"slug":"/old/01-information/01-welcome","title":"Welcome to the Course"}}},{"node":{"fields":{"slug":"/old/01-information/registration","title":"Course Registration"}}},{"node":{"fields":{"slug":"/old/02-theory/01-intro_to_ooad","title":"Introduction to Object Oriented Analysis and Design"}}},{"node":{"fields":{"slug":"/old/01-information/grading","title":"Course Grading"}}},{"node":{"fields":{"slug":"/old/02-theory/03_software_architecture","title":"Software Architecture"}}},{"node":{"fields":{"slug":"/old/02-theory/04_mvc","title":"Model View Controller"}}},{"node":{"fields":{"slug":"/old/02-theory/02-domain_modeling","title":"Domain Modeling"}}},{"node":{"fields":{"slug":"/old/02-theory/06_grasp1","title":"GRASP 1"}}},{"node":{"fields":{"slug":"/old/02-theory/05_layers_components","title":"Layers & Components"}}},{"node":{"fields":{"slug":"/old/02-theory/07_grasp2","title":"GRASP 2"}}},{"node":{"fields":{"slug":"/old/02-theory/09_gof1","title":"GoF 1"}}},{"node":{"fields":{"slug":"/old/02-theory/10_gof2","title":"GoF 2"}}},{"node":{"fields":{"slug":"/old/02-theory/11_solid","title":"SOLID"}}},{"node":{"fields":{"slug":"/old/02-theory/08_grasp3","title":"GRASP 3"}}},{"node":{"fields":{"slug":"/old/02-theory/design_class_diagram","title":"UML Design Class Notation"}}},{"node":{"fields":{"slug":"/old/02-theory/design_class_relations","title":"UML Design Class Relations"}}},{"node":{"fields":{"slug":"/old/02-theory/design_object_diagram","title":"UML Object Diagram Notation"}}},{"node":{"fields":{"slug":"/old/02-theory/99-exercises","title":"Exercises"}}},{"node":{"fields":{"slug":"/old/02-theory/design_package_diagram","title":"UML Package Notation"}}},{"node":{"fields":{"slug":"/old/02-theory/domain_class_diagram","title":"UML Domain Model"}}},{"node":{"fields":{"slug":"/old/02-theory/reading-instructions","title":"Reading Instructions"}}},{"node":{"fields":{"slug":"/old/03-assignments/01-assignment_1","title":"Assignment 1"}}},{"node":{"fields":{"slug":"/old/03-assignments/02-assignment_2","title":"Assignment 2"}}},{"node":{"fields":{"slug":"/old/03-assignments/03-assignment_3","title":"Assignment 3"}}},{"node":{"fields":{"slug":"/old/03-assignments/04-yahtzee","title":"Yahtzee Assignment"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-a","title":"Övningsuppgifter del A"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-b","title":"Övningsuppgifter del B"}}},{"node":{"fields":{"slug":"/old/03-assignments/01-assignment_1/lending-system-problem-description","title":"Stuff Lending System Problem Description"}}},{"node":{"fields":{"slug":"/old/03-assignments/01-assignment_1/yacht-club-problem-description","title":"Yacht Club Problem Description"}}},{"node":{"fields":{"slug":"/old/old_template/videologgar","title":"Vlog"}}},{"node":{"fields":{"slug":"/old/old_template/codeblock/1-index","title":"Sub Page"}}},{"node":{"fields":{"slug":"/old/03-assignments/02-assignment_2/test_specification","title":"Test Specification"}}},{"node":{"fields":{"slug":"/old/old_template/codeblock","title":"Syntax Highlighting"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-a/01-hello-world","title":"Hello world"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-a/02-simple-addition","title":"Enkel addition"}}}]}},"pageContext":{"id":"a08ca2ea-5cd3-57ae-82a1-7b5ee7ddeb1f"}},
    "staticQueryHashes": ["253607798","3706406642","710574383"]}