BSC Second Year Assignment Booklet
BSC Second Year Assignment Booklet
: 2000/000752/07
MAIN CAMPUS
292 SMITH STREET
DURBAN
4000
2nd YEARS
ASSIGNMENT BOOKLET
Registered with the Department of Education as a Private Higher Education Institution under the
Higher Education Act, 1997. Registration Certification No. 2000/HE07/008
Examiner’s Comments:
Moderator’s Comments:
1.1 Describe the phases of the systems development life cycle. (20)
1.2 Compare the SDLC waterfall model to the spiral model. (15)
2.2 Briefly explain and differentiate the following development methods: Joint application development
and Rapid application development. (10)
3.2 Give a detailed account on the relationship between logical and physical design (15)
TOTAL MARKS 90
MARKS FOR TECHNICAL ASPECTS
1. TABLE OF CONTENTS 2
2. LAYOUT AND SPELLING 3
3. REFERENCE 5
TOTAL MARKS
TOTAL MARKS FOR ASSIGNMENT 100
Examiner’s Comments:
Moderator’s Comments:
1.1 The table shown below stores details of students and the overall grade each student obtained
in different modules. The Primary Key is (StudentID, ModuleID). (8) Results
StudentID StudentName ModuleID ModuleName Grade
S001 Smith M01 Java A
S001 Smith M02 Databases B
S002 Ford M01 Java B
(i) Which Normal Form does the above table violate and why?
(ii) Give an example of an update anomaly and an example of a delete anomaly that may occur if the
table is left un-normalised. Explain the problems that are caused.
1.2 An important concept in the theory of relational databases is that of a functional (8) dependency.
(i) Explain what is meant by a functional dependency and give an example. (ii)
Identify two functional dependencies in the following table (A, B and C are the
attributes):
A B C
a1 b1 c1
a1 b1 c3
a1 b2 c1
1.3 A company uses the table below to record details of staff. Each staff has up to three (8)
qualifications:
StaffID StaffName Qualifications
S01 Victor BSc, MSc, PhD
S02 Wiseman Bsc, Msc
S03 Raymond Bsc, PhD
(i) Explain why this table is not in “First Normal Form” (1NF).
(ii) Show how this table can be transformed into 1NF tables.
Give two possible solutions.
The following is a case study describing the data requirements for a video rental company. The
video rental company has several branches throughout a country. The data held on each branch is
the branch address made up of street, city, state, and zip code, and the telephone number. Each
branch is given a branch number, which is unique throughout the company. Each branch is
allocated a number of staff members, including a Manager. The Manager is responsible for the day-
to-day running of a given branch. The data held on a member of staff is his or her name, position,
and salary. Each member of staff is given a staff number, which is unique throughout the company.
Each branch has a stock of videos. The data held on a video is the catalogue number, video number,
title, category, daily rental, cost, status, the names of the main actors, and the director. The
catalogue number uniquely identifies each video. However, in most cases, there are several copies
of each video at a branch, and the individual copies are identified using the video number. A video
is given a category such as Action, Adult, Children, Drama, Horror, or Sci-Fi. The status indicates
whether a specific copy of a video is available for rent. Before hiring a video from the company, a
customer must first register as a member of a local branch. The data held on a member is the first
and last name, address, and the date that the member registered at a branch. Each member is given
a member number, which is unique throughout all branches of the company. Once registered, a
member is free to rent videos, up to maximum of ten at any one time. The data held on each video
rented is the rental number, the full name and number of the member, the video number, title, and
daily rental, and the dates the video is rented out and date returned. The rental number is unique
throughout the company.
2.1.1 Identify the main entity types and relationship types of the video rental company. (5)
2.1.2 Identify attributes and associate them with entity or relationship types. Choose the
primary key for each (strong) entity type. (8)
2.1.3 Describe (in one or two statements) what attributes represent in an ER model.
Provide examples of simple, composite, single valued, multi-valued, and
derived attributes. (7)
3.2 Using practical example, discuss what SQL is and the distinction between DDL and DML as well as
how SQL functions fits in both of them (10)
Using the Employee table below, write the rational schema and draw it’s dependency diagram. Identify
all dependencies.
EMP_NO EMP_NAME CUST_NO CUST_NAME CUST_PHONE PROD_NO PROD_NAME DATE
215 SPHELELE 15 HUGUETTE 0834528787 10 SOAP 20/03/2012
216 BOKHOSI 16 TANDIWE 0784521635 12 BRAID 20/03/2012
217 THEMBA 16 TANDIWE 0784521635 15 PHONE 21/04/2012
218 LEFA 14 BUSISIWE 0618578542 12 PEN 22/04/2012
219 VALENTINE 14 BUSISIWE 0618578542 13 LAPTOP 22/04/2012
220 PROMISE 18 GIRLY 0829687841 13 LAPTOP 22/04/2012
4.2 Using the Employee table above, write the rational schema and draw it’s dependency
diagram. (9)
4.3 Create a database whose table(s) is at least in 3rd normal form, showing the dependency diagram
and the rational schema for each table. (8)
TOTAL: 100
Moderator’s Comments:
Write a function named "reduce" that takes two positive integer arguments, call them "num" and
"denom", treats them as the numerator and denominator of a fraction, and reduces the fraction. That is to
say, each of the two arguments will be modified by dividing it by the greatest common divisor of the two
integers. The function should return the value 0 (to indicate failure to reduce) if either of the two
arguments is zero or negative, and should return the value 1 otherwise.
EXAMPLE
Thus, for example, if m and n have been declared to be integer variables in a program, then
m = 25; n = 15;
if (reduce(m,n)) cout << m << '/' << n << endl; else cout << "fraction error" << endl; will produce the
following output: 5/3
Note that the values of m and n were modified by the function call. Similarly,
m = 63; n = 210; if (reduce (m,n)) cout << m << '/' << n
<< endl; else
3/10
Here is another example.
m = 25; n = 0;
if (reduce(m,n))
cout << m << '/' << n << endl; else cout << "fraction error" << endl;
will produce the following output: fraction error
The function reduce is allowed to make calls to other functions that you have written.
A parking garage charges a R12.00 minimum fee to park for up to three hours. The garage charges an
additional R0.90 per hour for each hour or part thereof in excess of three hours. The maximum charge for
any given 24-hour period is R20.00. Assume that no car parks for longer than 24 hours at a time.
Write a program that will calculate and print the parking charges for each of 3 customers who parked their
cars in this garage yesterday. You should enter the hours parked for each customer. Your program should
print the results in a neat tabular format and should calculate and print the total of yesterday's receipts.
The program should use the function calculateCharges to determine the charge for each customer. Your
outputs should appear in the following format:
Test the above operations by writing a complete C++ program using single inheritance.
Date Submitted:
Moderator’s Comments:
http://www.toknowpress.net/ISBN/978-961-6914-02-4/papers/ML13-332.pdf
Organisations trying to meet the challenges of the modern world and its expectations permanently seek
effective solutions for operating in a competitive environment. Information Technology tools and services
are indispensable for efficient functioning of enterprises. Significant capabilities from adopting IT attracts
both the customers and the providers of this solutions. However, to gain the competitive advantage in the
market, participants have to invest in innovative approach to conducting business. The emergence of the
conception commonly known as “Cloud computing” represents a fundamental change for IT
implementation which rebuilds the way IT services are deployed, invented, deployed, scaled, updated,
maintained and paid for.
1.2 What are the risks or challenges that business face as a result of cloud computing services? (15)
1.3 How do the concepts of capacity planning and scalability apply? (15)
1.4 What kind of businesses are most likely to benefit from using Cloud computing? (15)
Provide justification for your answer.
2.1 Discuss the business strategies and business models of Google and Microsoft. (20)
2.2 Discuss security measures to put into place in order to mitigate various cloud security threats. (10)
TOTAL MARKS 90
MARKS FOR TECHNICAL ASPECTS
1. TABLE OF CONTENTS
Accurate numbering according to the numbering in text 2
and page numbers.
2. LAYOUT AND SPELLING
Font – Calibri 12
3
Line Spacing – 1.0
Margin should be justified.
3. REFERENCE
5
According to the Harvard Method
TOTAL MARKS 10
TOTAL MARKS FOR ASSIGNMENT 100
Examiner’s Comments:
Moderator’s Comments:
QUESTIONS 90 MARKS
Years ago, Phil was the technical team lead for a team working on an executive compensation
system for top-level management. The team needed input from a small, closed community of
senior and executive management customers in order to define the current and future processes.
Unfortunately, his key contact from this group felt that the job of customer interface had been
given to a young, up-and-coming star who didn’t have a clue. This made developing a rapport with
the key customer contact almost impossible. However, the project deadlines remained inflexible,
as they usually do.
Taking what little input was offered and doing significant research from other sources, the team
compiled their draft of the business requirements document. The document was huge. It was
singlespaced and double-sided, and it filled a 3-inch binder. There was a meeting to step through
it. The customer contact was there and took her place at the head of the table. Phil sat at the
opposite end of the table.
During the meeting, the customer’s demeanour grew increasingly agitated. She hurled the
requirements document down the table along with the exclamation, “I don’t do this kind of
menial work.” Unfortunately, Phil reacted by returning the document in the same manner. His aim
wasn’t quite as true, and the document slammed into her coffee cup sending a spray of hot,
sugary liquid into her lap. Her colour changed from the red of aggravation to the scarlet of rage.
She stalked out of the room. So much for creating rapport with the customer! In the end, it all
worked out. Both parties apologized, and the project (meeting the business requirements that had
been approved) was delivered. But how much better things could have been if this situation had
been avoided in the first place.
Technical skills and expertise are necessary on the project team, but they are not the skills and
knowledge that separate effective business analysts from the pack. Superior business analysis
skills are not necessarily derived from a superior set of technical skills.
QUESTIONS:
1. A business analyst is currently defining a set of changes to the current state of an organization
that allows the organization to take advantage of a business opportunity. Explain what is most
likely being defined? (10)
2. What knowledge area contains the next most logical steps after the business analyst has built
a business case and gained management approval for a project? (10)
3. You are a business analyst measuring alternatives against objectives and identifying trade-offs
to determine which possible solution is best. Discuss the factors most likely to be engaged in
the various activities and those are most likely engaged in specific activities? (10)
Russ discovered early in his career as a project manager that all plans are not created equal. He
was a replacement for the project manager on a fairly complex data centre consolidation project.
Russ stepped in near the end of the first major phase of project work, which was developing the
user requirements for the new data centre.
One of his first tasks was to review the current project plan and evaluate the progress to date.
Russ noticed that the requirements development work was shown as a single two-week task in
the project plan with no additional details about the requirements process itself. Because the
resulting user requirements document was shown as a completed deliverable and this task was
marked as 100 percent complete, he decided to look at the new capabilities the project would
provide to the business and its users. So he did.
After reading the first four pages of the document, Russ knew there was a problem. He finished
reading the user requirements document, closed the file on his computer, and reached for the
phone to call the lead business analyst for this effort into his office. When Mary arrived, he asked
her, “What exactly is this document supposed to be? Is this just a high-level concept that we need
to now go out and define?” Mary replied that the document was the final, approved user
requirements document. All the business analysis team had to do now was give the document to
the developers. The developers would figure out the rest.
Russ asked Mary to explain the process she and her team had gone through to produce the
deliverable. She explained that she had worked in tandem with the development director to elicit,
analyze, and specify the user requirements for the project. Basically, the key users had not been
involved or consulted at all. As Mary was quick to point out, “That wasn’t in the plan, so that
wasn’t how I did the work.” Basically, the user requirements work had to begin all over again and
had to be done correctly the second time.
Russ worked closely with his business analysis team to plan the requirements development work
in far greater detail. This time around, the team gave themselves adequate time to elicit and
analyze the requirements and planned the time to validate the requirements when everything
was complete. Completing the rewritten user requirements took five additional weeks of work.
Funnily enough, this didn’t impact the scheduled end date. The original requirements would have
been impossible to use for the design and construction of the data centre.
Remember that your focus is on planning and monitoring the business analysis work for a project,
not on planning and managing the whole project. That is the responsibility of the project manager.
However, in either case, the plans need to be built and implemented at the appropriate level of
detail.
QUESTIONS:
1. You are a business analyst addressing who will receive weekly business analysis status reports
containing performance against actuals for your current project. Explain each of the tasks that
needs to be completed. (10)
2. Discuss what technique might be used when determining the business analysis approach on a
project? (10)
3. When identifying business analysis performance improvements, what technique allows you to
determine the metrics used for measuring performance and determining how those metrics
may be tracked? (10)
As you become more involved with your Palmer Divide Vineyards work, you decide that you need
to take a quick look at the organization’s existing business goals, objectives, and needs as part of
your current state analysis. As discussed in a recent team meeting, you would like to make sure
you have it right. The team is curious about how the green initiative and your IT requirements
development part of it fit into the organization’s strategic plan. The team likes the idea of
becoming a certified Green Business. However, they would like to validate how this business goal
fits with the organization’s long-term strategy and make sure that the project is really worth
doing.
There are many aspects to attaining green certification, and the winery has initiated this current
project to help achieve this strategic goal. A business objective for this effort is to conserve 20
percent of the current energy and water resource consumption within the next 18 months. The
business need triggering the project came from combining the owner’s strategic plans, a desire to
operate an organic winery, and a perceived market advantage from selling green-labelled organic
wines to the public.
QUESTIONS:
1. According to the case study what output contains the results of the business analyst assessing
the capability gaps between existing and new capabilities of the organization? (10)
2. When analyzing the current state, the business analyst looks at the scope of decision making
at different levels in the organization. Explain what elements of the current state are they
looking
at? (10)
3. Which business analysis technique allows the business analyst to leverage existing materials to
analyze the current state of the enterprise relative to a business need? (10)
1.1 Write a PHP script using nested for loop that creates a chess board as shown below.
Use table width="270px" and take 30px as cell height and width. (35)
1.2 Write a PHP script that creates the following table (use for loops). (15)
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
E.g.:
Brand name Number of stock in Store Quantity Sold
HP 15 28
DELL 14 16
2.2 Compare and contrast the if/elseif control structure with the switch control structured and provide
coded examples to sustain your answer. (10)
2.3 Use loops and control structures create a program that grades the following list of students
given the grade table below:
The list of students and marks
For example:
Sauer Jeppe scored a Distinction. (15)
Moderator’s Comments:
2.3.1 Explain what the ‘64’ refers to in the processor and give an advantage
of a 64-bit operating system. (2)
2.3.2 The device has turbo boost which overclocks the CPU. Explain the
difference between clock multiplication and overclocking. (2)
2.3.3 Distinguish between ‘Graphic Clock Rate’ and ‘Bus Speed’. (2)
2.3.4 Which part of the FSB (Front Side Bus) dictates how much RAM can be
Accessed? (1)
2.3.5 Define ‘access time’ in terms of a mechanical hard drive. (2)
2.3.6 One of the ways we can improve the processing speed of the CPU is by
making use of a process called pipelining. Explain the pipelining process in
detail. (2)
2.3.7 Why does a Solid State hard drive use less power than a hard drive? (1)
2.3.8 Give TWO other advantages of a Solid State hard drive. (2)