Sample Exam 2004

advertisement
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.
Download