COSC 2810 - SAMPLE EXAM QUESTIONS INCLUDING INSTRUCTOR’S ANSWERS This document contains examples of questions which can appear in the Final Exam 1. The questions on the following pages have been taken from previous exams and serve as examples of the format and level of difficulty of the questions you can expect. 2. Time available = TWO hours. 3. The exam will have three sections – A (Multiple Choice), B (Modelling) & C (Descriptive). 4. All questions in sections A & B should be answered. 5. Each of the questions in section C will have several parts. You will be asked to answer either a certain number of questions or the equivalent in parts of different questions. This means you are free to answer any parts of any of questions in section C, providing you do not exceed the stipulated number of parts in total. 6. If you answer questions worth more points than required, only the first answered in sequence will count. It is your responsibility to decide which questions and which parts you answer. Cross out clearly any answers you wish not to be counted. 7. If you are asked to explain a term, avoid using in your answer the words that make up the term, e.g. don’t answer the question “Explain what Data Flow Diagrams are” by merely stating “Diagrams showing flows of data”. Such answers will earn no points. 8. The use of notes, books etc. will not be allowed. Discussion with colleagues will also not be permitted. If a question is unclear, please ask. 9. DO NOT CHEAT. Anyone caught cheating will automatically FAIL the WHOLE COURSE. 10. Please visit the toilet before, rather than during, the exam. 11. All mobile phones should be switched off. AND . . . WRITE L E G I B L Y (if I cannot read your writing, you cannot earn any points) Section A – Multiple Choice Answer the following questions by choosing the term from column (c) which best fits the description in column (b) and writing it on the blank line underneath the description in column (b). (b) (c) 1 The number of occurrences of one entitiy related to a single occurrence of another entity Cardinality Degree Order Relationship 2 Used for logical modelling of requirements during systems analysis Data Flow Diagram Entity Relationship Diagram Ishikawa Diagram Use Case Diagram 3 A language which is used to specify the logic of elementary processes C++ Decision Table Pseudocode Structured English Section B – Modelling B1. You have a collection of several hundred music CDs. Your friends love to borrow them, often borrowing several at the same time. You don’t mind lending the CDs, but it is becoming difficult for you to keep track of which friend borrowed which CD. The difficulty is increased by the fact that you have more than one copy of some CDs. Also, you are thinking of introducing a daily fee per CD loaned. For these reasons you would like to build a database, which you could query to find out how many CDs a given friend has; how long the friend has had them and how much he or she owes; who has a particular CD and so on. Draw an Entity Relationship Diagram to assist you in designing your database. Build a Key-Based Data Model, i.e. the tables you would create in the database, indicating primary keys, any foreign keys and including necessary attributes for each entity. ENTITY RELATIONSHIP DIAGRAM FRIEND CD TITLE is on/ is of borrows/ is lent to CD COPY KEY-BASED DATA MODEL Primary Keys are double-underlined FRIEND CD TITLE Friend-Name Address Phone E-mail Amount-Paid Amount-Owed CD-Title CD-Artist CD-Serial-Number CD-LOAN CD-Title CD-Artist Copy-Number Friend-Name Loan-Start-Date Loan-End-Date Fee-Due Return-Date Late-Fee Amount-Paid CD COPY CD-Title CD-Artist Copy-Number Date-Bought Cost we need the Loan-Start-Date in the Primary Key of CD_LOAN because the friend may borrow the same CD more than once we could perhaps simplify this design by using the CD serial number as the Primary Key of CD-TITLE and creating a table of correspondences between serial number & Title + Artist rather than storing in one of these tables the daily fee, which would be tedious to update if we change it, it would be better to have a table of daily fees which we could look up to calculate amounts owed thinking ahead, we may also wish to set up an account table – this will avoid the calculations we have to make to see how much we are owed Section C – Descriptive C1. Each part of this question is worth 1 point. Problem Analysis, Requirements Analysis, Logical Design and Feasibility Analysis are four phases of systems development we studied in this course. Describe the activities which are carried out in: a. Problem Analysis b. Requirements Analysis c. Logical Design d. Feasibility Analysis e. Which do you regard as the most important phase? Explain your reasoning. Problem Analysis Understand the Problem Domain examine current system documentation; understand current system; identify current business; processes & procedures; identify data entities, inputs, outputs; identify people roles & communications Analyse Problems & Opportunities document problem causes & their effects by using Fishbone diagrams & PIECES Analyse Business Processes look for better ways of doing things Requirements Analysis Identify & Document User Requirements Carry out fact-finding (interview users; observe processes; send out questionnaires; examine records) build use case models; hold JRP sessions; document current system volumes & timing; document system events & triggers; find requirements by prototyping; identify functional & non-functional requirements Prioritise Requirements identify mandatory requirements; identify desirable requirements; obtain overall owner/user priorities; schedule delivery of requirements (timeboxing) Logical Design Structure Functional Requirements interview users; model system entities (ERDs); build Key-Based Data Model (entity table structures, including associative entities, with primary & foreign keys; model system processes (Context & lower-level DFDs) alternatively, Prototype Functional Requirements especially useful for interface design Validate Functional Requirements involve users to verify models & test prototypes Feasibility Analysis Identify Candidate Solutions generate alternative solutions for meeting requirements, identifying harware, software, data, network & people resources necessary for each alternative Analyse Candidate Solutions economically feasible? technically feasible? operationally feasible? organisationally feasible? Compare Candidate Solutions and select the best Most Important Phase: any well-reasoned answer accepted – Problem Analysis & Requirements Analysis are critical in that if you identify the wrong problem or determine the requirements incorrectly your system will be of little use C2. Each part of this question is worth 1 point. Explain what the following are and what systems analysts use them for: a. Use Cases b. Foreign Keys c. Functional Decomposition Diagrams d. Associative Entities e. Decision Tables A use case is a behaviourally related sequence of steps (a scenario), both automated and manual, for the purpose of completing a single business task; the purpose of use cases is to identify a system’s functions (and thus its requirements) in terms of business events, as well to identify who initiated the use cases and how the system should respond to these A Foreign Key is the primary key of one entity that is used as a field in another entity to identify & establish a relationship (usually one-to-many) in a database Functional Decomposition Diagrams show the structure of a system broken down in a top-down manner. The highest level is the system, the next highest level are subsystems or Functions (ongoing activities), below that are Events (sets of tasks which must be completed as a whole) and finally at the bottom Elementary Processes (basic piece of work – a task which is required to complete the response to an Event) Associative entities are created to resolve a many-to-many relationship; the associative entity takes its primary key from the concatenation of its parents’ primary keys. They enable relational databases to embed the relationship into the database, thus facilitating subsequent querying Decision Table is a matrix of all possible conditions of a policy and rules specifying all possible permutations of the conditions - the action stub then shows the action to be taken for each rule. DTs are used by analysts to produce the detailed specifications of lower level processes for programmers to build programs C3. Each part of this question is worth 1 point. Explain what an Ishikawa diagram is and what it is used for. Explain what a Systems Development Methodology is. Describe what the Capability Maturity Model (CMM) is and what it is used for. Differentiate between the purposes and contents of a Candidate Systems Matrix and a Feasibility Analysis Matrix. e. What is a creeping commitment? a. b. c. d. An Ishikawa or fishbone or cause-and-effect diagram is a graphical tool used to identify, investigate and illustrate problems, their causes and their effects. It is used by developers to identify, analyse and solve problems POSSIBLE CAUSE CATEGORY POSSIBLE CAUSE CATEGORY Actual Cause Actual Cause Actual Cause POSSIBLE CAUSE CATEGORY Actual Cause Actual Cause PROBLEM BEING STUDIED Actual Cause Actual Cause Actual Cause POSSIBLE CAUSE CATEGORY a methodology is a precise & formal procedure that defines a set of: activities methods best practices deliverables techniques tools (perhaps automated) which system developers follow when developing & maintaining information systems software CMM is a framework to assess the maturity level of an organisation’s methods for managing & carrying out information systems development; it is used to measure how well the organisation develops systems according to standards and uses good methods, tools & techniques CSM A CSM allows us to compare candidate (alternative) systems on the basis of several characteristics (criteria). We can document similarities and differences. However, it provides no analysis as such; columns represent the candidates; rows the criteria which differentiate the candidates. Criteria can be such things as: interfaces, processes, data, locations, benefits, application & system software, hardware, training required, installation support, input, output & storage devices FAM A FAM also shows alternatives in the columns, but the difference to CSM is that it shows the results of the feasibility analysis. Different feasibility tests are shown as rows, ie technical, economic, operational, organisational, (schedule/time). Each row is given a weighting in % as to how important that particular feasibility test is. Each cell (corresponding to a given feasibility test for a given alternative) contains the result of the analysis and a score in % as to how feasible it is. The last row in the matrix contains the sum of ratings times weights. The highest scoring alternative is likely to be the “best” solution. The creeping commitment approach establishes multiple feasibility checkpoints in a project. At each checkpoint all previously incurred costs are considered sunk and irrelevant to the decision as to whether or not to cancel or reduce scope. It is used to prevent projects getting out of control by keeping a close check on progress and not allowing further work to be carried out without management review & approval.