Page 1 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) Part 1 We learnt that an information system is an organized system that can be used for collecting, organizing, storage, communication of information and providing knowledge, and digital products. It helps us to organize and analyse our data. This makes it possible to answer questions and solve problems. For example, Management Information Systems (MIS) are used for managing and supporting managerial decisions. Now, answer the following questions: 1. a) What is Information System Modelling? (2.5 Marks) 2. b) Why do we need different information system modelling techniques? (2.5 Marks) Note: Please consult the information on QUT Library resources (for complete guide to citation, referencing and academic writing) for avoiding plagiarism. Part 2 SCENARIO In a software company, workers are standardly identified by their initials, but also have a unique name. Each worker has access to exactly one personal computer (PC), and each PC is accessed by at least one worker. For each PC a record is kept of its room location, the worker(s) who access it, and the programming language(s), if any, installed on this PC. A sample report from the software company with the above discussed information is proposed below. PC Room Workers with access Languages installed pc01 507 EFC TAH (Ed Codfish) (Terry Happy) Pascal, Prolog, SQL pc02 507 NW (Nancy Wirth) Pascal, Modula2 pc03 618 PAB (Paul Boles) Hope, Miranda JM (Joan McCarthy) pc04 508
IN (Ima Newie) pc05 508 PNC (Peter Crusoe) COBOL, SQL … … … … … Each programming language is one of three types (declarative, functional, or procedural). The PC a worker accesses must be in the room in which he/she works. Some workers are hired as experts in one or several programming languages. The next table gives a full record of the languages, their types, experts at languages, and each expert’s room. Page 2 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) Language Type Experts (rooms) COBOL procedural PNC(508), REK(611) Hope functional LISP functional JM(618) Modula2 procedural NW(507) Miranda functional PAB(618), DC(708) Pascal procedural NW(507), TAH(507) Prolog declarative JS(407) SQL declarative EFC(507), PNC(508), TAH(507) A workshop on programming languages is to be delivered by some of the workers. The full workshop program, shown in the final table below, indicates how many hours (h) speakers talk about each language and the total hours for each language type. Declarative (6 h) Functional (4 h) Procedural (6 h) Prolog: JS (3 h) LISP: JM (1 h) Modula2: NW (3 h) SQL: PNC (1 h) TAH (2 h) Miranda: PAB (3 h) Pascal: NW (2 h) SQL: COBOL: REK (1 h) Part 2TASK 1 (15 Marks) As of today, all the information described in the scenario is kept on paper. You are hired to design an information model that suggests an effective and efficient way for storing this information in an Information System. As you are an expert in ORM, you decide to develop an ORM model. Complete the drawing of the ORM conceptual schema proposed below for the universe of discourse specified in the scenario by performing steps 15 of the Conceptual Schema Design Procedure as described in lecture notes. Use only those entity types and value types proposed below (Do NOT introduce new entity/value types in this task). Worker (.Initials) Duration (h:) uses/is used by Language (.Name) Worker Name PC (.Nr) Room (.Nr)
LanguageType (.Name) Page 3 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) Step 1: Transform familiar examples into elementary facts, and apply quality checks. List all the deep structure sentences that you can identify based on the familiar examples from the scenario. For example: “ The Worker with WorkerInitials ‘EFC’ uses the PC with PCNr ‘pc01’ ”. Step 2: Draw the fact types, and apply a population check. Hint: Do NOT use nesting. Use the deep structure sentences from Step 1 to draw fact types. As an example, consider the only binary fact type shown in the diagram above. Note that this fact type is introduced based on the example deep structure sentence proposed in the description of Step 1. Perform a population check by populating identified fact types with the fact instances captured in the deep structure sentences. This can be accomplished by drawing fact tables. For all the identified fact types discuss/demonstrate that they are indeed elementary by performing all the necessary split and join operations on sample populations. Step 3: Check for entity types to be combined, and note any arithmetic derivations. Discuss in text if it does or does not make sense to combine any of the entity types proposed in the diagram. Introduce arithmetically derivable fact type from the scenario in your ORM model. You can use any notation or a textual description to explain this derivable fact type. Step 4: Add uniqueness constraints. Introduce all the uniqueness constraints in your ORM model that you can identify based on the scenario. For each introduced uniqueness constraint, briefly explain the rationale behind your decision to include it in the model. Step 5: Add mandatory role constraints. Introduce all the mandatory role constraints in your ORM model that you can identify based on the scenario. For each introduced mandatory role constraint, explain the rationale behind your decision to include it in the model. Page 4 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) Part 2TASK 2 (10 Marks) Suggest and discuss some additional piece of information that the software company can store in an Information System by extending the ORM model obtained as your answer to Part 2Task 1. Your extension should introduce (interesting and useful) 34 fresh entity/value types and several fact types to the model. For example, a simple suggestion would be to propose to the software company to keep track of teams/groups of workers that are currently involved in different software projects. One can start implementing this extension by introducing entity types Team and Project to the model. For the extension, implement and discuss steps 15 of the Conceptual Schema Design Procedure by following the structure proposed as part of Task 1. In your final report, present your extended model separately from the one you developed to answer Part 2 Task 1. Page 5 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) Submission: . Page 6 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) GETTING FEEDBACK The teaching team will be available to answer your questions about the assignment, but not to premark assignments. Lecturers and tutors will NOT read report drafts and review detailed models prior to the submission of the assignment. GENERAL INQUIRIES For specific contentrelated inquiries about your assessments, please contact your tutor. Page 7 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) Marking Scheme (Total Mark: 30) The following marking scheme and criteria will be used as a basis for marking your reports. Part 1 Question A: 2.5 Marks Significant confusion and incorrect answers – (0 mark) The answers are mostly correctly – (1 marks) Clear and accurate answer– (2 marks) Impressive answer (e.g. very good explanation, references, diagrams, comparison, demonstration and good research) – (2.5 marks) Question B: 2.5 Marks Significant confusion and incorrect answers – (0 mark) The answers are mostly correctly – (1 marks) Clear and accurate answer– (2 marks) Impressive answer (e.g. very good explanation, references, diagrams, comparison, demonstration and good research) – (2.5 marks) Part 2: Task 1 15 Marks 3 2 1 0 Marks Step 1 All elementary fact types from the scenario are recognized and are exemplified by correct deep structure sentences. The proposed deep structure sentences correctly reflect most of the elementary fact types from the scenario. The proposed deep structure sentences correctly reflect some of the elementary fact types from the scenario. The proposed deep structure sentences do not reflect any of the elementary fact types from the scenario. Step 2 All elementary fact types from the scenario are correctly drawn in the diagram. Each elementary fact type is supplied with a fact table that correctly contains some facts from the scenario. For each Most of the proposed fact types, fact tables, and explanations are correct. Some of the proposed fact types, fact tables, and explanations are correct. None of the proposed fact types, fact tables, and explanations is correct. Page 8 ITD122 – Assignment 1 – Information Modelling with ORM (Semester 3, 2017) elementary fact type, a short explanation is given on why this fact type is elementary. Step 3 Two subtasks* are accomplished correctly: Entity types that can be combined are correctly identified or an explanation on why none of the entity types from the diagram can be combined is provided. Introducing any necessary arithmetically derivable fact type/discussion of why no arithmetically derivable fact type should be introduced One of the two subtasks is accomplished correctly One of the two subtasks is accomplished correctly partly correct answers to the subtasks. None of the above two sub tasks is accomplished correctly. Step 4 All the introduced uniqueness constraints are correct with respect to the familiar examples from the scenario. Each uniqueness constraint is supported with a short explanation that justifies its inclusion in the diagram. Most of the proposed uniqueness constraints are correct. Some of the proposed uniqueness constraints are correct. None of the proposed uniqueness constraints is correct. Step5 All the introduced mandatory role constraints are correct with respect to the familiar examples from the scenario. Each mandatory Most of the proposed mandatory role constraints are correct. Some of the proposed mandatory role constraints are correct. None of the proposed mandatory role constraints is correct. Page 9 Modelling with ORM role constraint is supported with a short explanation that justifies its inclusion in the diagram. *Note that parts of marks will be given for partly correct answers to the subtasks. Total: Part 2: Task 2 10 Marks Note: Your answer to this task will be marked according to the marking criteria of Part 2Task 1 & must show the 5 steps of the Conceptual Schema Design Procedure. However, the final mark for Task 2 will be adjusted to 66% of 15 Marks to yield the maximum of 10 marks for Task 2.