Sunteți pe pagina 1din 110

Examiinatiions iin IInformatiion Technollogy Exam nat ons n nformat on Techno ogy

November 2005 November 2005 Examiiners Reportt Exam ners Repor

The ACS Diploma of IT commences June 2006 See http://www.acs.org.au/dit/ for details

Graduates of ACS examinations can complete an Australian undergraduate degree in two years at any of the following universities: Australian Catholic University, Charles Sturt University, Deakin University, Royal Melbourne Institute of Technology, and the University of South Australia. For further information, see the ACS web site http://www.acs.org.au/.

Contents

Introduction..................................................................................3 Examiners reports.......................................................................6 Systems Analysis..................................................................7 OO Programming.................................................................10 Computer Organisation ......................................................13 Data Management...............................................................17 Object Oriented System Development...............................25 Computer Communications ................................................32 Professional Practice .........................................................36 System Principles ...............................................................41 Appendix - Examination Papers ................................................45

Introduction

Candidates sat for the November 2005 offering of the ACS Examinations in Australia, India, Papua New Guinea, and Sri Lanka. As can be seen from figure 1, below, the decline in enrolment numbers has stabilised compared to two years ago, but a slow reduction continues to be the underlying trend.
ACS Associate membership Examinations
300

250

200

150

100

50

Sys Analysis Programming Comp Orgn Data Mgmt OOSD Comp Comms Prof Practice Sys Principles
May-03 Nov-03 May-04 Nov-04 May-05 Nov-05

Enrolments

Offering

Fig 1. Enrolments by Subject for the November 05 Offering Note: the trend in ACS enrolment numbers is consistent with that of IT education throughout Australia and overseas (with the possible exception of India). If the trend reverses in the near future, as is probable given the forecasted IT skills shortage, it is planned that the ACS, with the ACS Diploma of Information Technology, will be wellplaced to offer a valuable assessment service to the IT profession and industry (see details below).

From the pass rates for this latest offering (see figure 2, below), it appears that there has been no return to the poor performances of 2004, and that most candidates prepared conscientiously for the November 2005 Examinations.
ACS Associate membership Examinations
Sys Analysis 100% 90% 80% 70% 60% 50% 40% 30% May-03 Nov-03 May-04 Nov-04 May-05 Nov-05 Programmiing Comp Orgn Data Mgmt OOSD Comp Comms Prof Practice Sys Principles

Pass Rate

Offering

Fig 2. Pass Rates by Subject for the November 05 Offering

Beginning June 2006, and from then on, every 4 months (ie. October 06, February 07, June 07 etc), the ACS will be offering assessment towards an ACS Diploma of Information Technology. The new ACS Diploma qualification will replace the current ACS Associate Membership Examinations in Information Technology. The structure of the ACS Diploma is the same as that for the Associate Membership Examinations; namely, eight subjects assessed externally within three hour examinations. The principal differences are as follows; o assessment of skills and competencies (in addition to, and as well as, assessment of underlying knowledge and theory). o assessment based on pre-published descriptions of realistic IT workplaces (ie. workplace scenarios and case studies). o open book assessment (ie. consistent with a typical workplace where IT practitioners have access to reference materials). Further details of the new ACS Diploma qualification can be found at http://www.acs.org.au/dit/. David Lindley PhD MACS ACS Chief Examiner

The examiners extend their special and sincere congratulations to the following candidates. These candidates achieved the highest performances in each of the papers indicated and will receive a certificate of commendation from the Society.

Candidate Awards
November 2005

Systems Analysis

1st 2nd 3rd 1st 2nd 3rd


equal

17817 Jayakody Arachchige Buddhika Anuradha Jayakody 17839 Gurpreet Singh 17797 Kahawe Guruge Dimuthu Udayanga 17836 Amandeep Kaur 17839 Gurpreet Singh 17838 Gurpreet Singh Randhawa 17830 Madeleine Elizabeth Ikirima 17772 Jason Rupa 17767 Georgina Kondie 17741 Tharanga Piyasinghe Sepala Hattotuwa 17787 Terry Soikava 17774 Lewa Lewa 17522 Meryse Sandra Tissera 17074 Delgahapale Koralalage Wijayawardena Bandara 17524 Manoharan Nirthanan 17725 Galbokke Hewage Dinesh Silva 17791 Amardeep Singh Rawal 17356 Joyce Sandi 17791 Amardeep Singh Rawal 17461 Ratnayakewasala Mudiyanselage Chethiya Bandara Ratnayake 17521 Gihan Rajapakse 17791 Amardeep Singh Rawal 17590 George Wasiton 17752 Eric Kumasi

Programming

Computer Organisation

1st

Data Management

1st 2nd 3rd 1st


equal

Object Oriented Systems Development Computer Communications

nd

equal

1st

3rd Professional Practice 1st 2nd 3rd System Principles 1st 2nd 3rd

In particular, the examiners commend those candidates whose names are written in italics. These candidates have achieved highest performances, either in the November 2005 offering or previously, in more than one paper.

Examiners reports

The full text of every examination is provided in the appendix following the examiners reports.

Systems Analysis

Candidates for Systems Analysis were expected to demonstrate a practical ability in modelling systems and were tested for this in Part A of the paper. To pass the examination, a minimum number of marks were required in Part A. Required competencies were tested in Part B and a theoretical understanding of system development issues was tested in Part C. At this level, candidates were expected to exhibit a depth of understanding for each topic. The following observations are made for each question:

Part A Question 1

Some candidates are spending insufficient time on Part A or do not understand the concepts of modelling a system, thus limiting the number of marks obtained. Indeed, some candidates appear to have made little effort to understand formal structured analysis techniques. This question was based on a structured approach to modelling and was attempted by a majority of candidates. Marks were normally distributed. The topics are covered in considerable detail in chapter 8, pp. 176 209, chapter 9, pp. 220 242 and chapter 10, particularly pp. 248 260 of the prescribed textbook for this unit, namely: Hawryszkiewycz, I. T., Introduction to systems analysis and design, Sydney, NSW, Prentice Hall of Australia, 2001. Common reasons for loss of marks for a data flow diagram include an insubstantial model, many dataflows not named and a lack of detail. Many candidates did not include a description of processes. For a data model, marks were often lost because of an insubstantial model, poor relationship connections and insufficient description of entities. Some candidates did not provide process descriptions or the attributes incorporated in an entity. Modelling of a system is an important part of the analysis function because everybody in a development team must understand all parts of an existing and new system. A data flow diagram is of little use when only dataflows from external entities are named, no detail such as temporary stores are provided, different dataflows enter and leave a context diagram and its related diagram zero and, for a data diagram, little thought is given to developing data relationships connections.

Question 2

The candidates attempting this question exhibited a reasonable understanding of an object-oriented analysis modelling process and obtained good marks. The process is covered in chapter 11, pp. 270 293 and chapter 12, pp. 304 316 of Hawryszkiewycz (2001).

Part B

For the first time in this examination, candidates were expected to demonstrate an achievement of specific competencies. The competencies are integral to the practice of Systems Analysis and are covered in more detail than required in the first portion of Hawryszkiewycz (2001), particularly (although not limited to) Chapters 1 to 7, pp. 1 172. A reasonable coverage of each issue was expected for 4 marks and responses ranged from inadequate to more than warranted for the marks allocated. As this is a new requirement, marking on this section was extraordinarily lenient. However, in future examinations, candidates should be aware that if any required competency is not attempted, then a failing mark is assured. Question 3: This question determines the ability in the key competency Gather Data to Identify Business Requirements (ICAA5151A) and, as discussed in the heading to this section, responses ranged from poor to more than adequate. Question 4: This question determines the ability in the key competency Translate the Business Needs into Technical Requirements (ICAA5158A) and, as discussed in the heading to this section, responses ranged from poor to more than adequate. Question 5: This question determines the ability in the key competency Match the IT Needs with the Strategic Direction of the Enterprise (ICAP5039A) and, as discussed in the heading to this section, responses ranged from poor to more than adequate. Question 6: This question determines the ability in the key competency Validate Quality and Completeness of Design Specifications (ICAA5054A) and, as discussed in the heading to this section, responses ranged from poor to more than adequate.

Part C Question 7

Many candidates attempted this question with good answers for both parts (a) and (b). Quality Assurance is covered in chapter 20, pp. 468 475 of Hawryszkiewycz (2001).

Question 8

The candidates that attempted this question generally provided a methodological approach, although often with insufficient detail. The topic is covered generally in chapter 13, pp. 322 343 of Hawryszkiewycz (2001). This coverage is extended in chapter 16, particularly in pp. 396 399.

Question 9

Candidates were expected to relate broad principles for solving problems. Essay answers with both depth and quality were expected. The topic is covered in chapter 7, pp. 154 173 of Hawryszkiewycz (2001).

Question 10

Many candidates attempted this question and generally provided a methodological approach, although often with insufficient detail. The topic is covered in chapter 5, pp. 102 124 of Hawryszkiewycz (2001).

OO Programming

The OO programming exam assesses the candidates basic competency in the design and construction of software solutions to problems. As in previous years, candidates are not expected to write fully-functional programs from scratch nor perform complex file-handling operations. The exam was revamped in May to have a much more solid emphasis on object oriented technologies. This is consistent with the subject syllabus. As a consequence, questions in this exam were concerned more with the decomposition of problems into object-oriented algorithms and data structures than specific nuances of the Java programming language. In this offering, there was remarkable variation in the results. Many candidates simply were unable to demonstrate a grasp of object technologies or data structures. By contrast, one block of candidates performed exceedingly well. Their sequence of numbers leads me to believe they were from the same training institute which implies the quality of training varies greatly. The 2006 exams will be revamped again to be scenariobased questions, giving a harmony with other examinations offered.

Question One

This question presented a working Java class which stored an array of random integers. No annotation or commentary was given. This assessed a candidates ability to read code and also whether they grasped the need to allocate memory for non-primitive data types. a. Part A was well answered. Candidates were asked to analyse the code for themselves. Most all responses demonstrated competency in reading simple Java code. b. Part B, by contrast, had a very poor response. Candidates were asked to rewrite the program so that it correctly compiled and ran when the array had to store an object rather than integer items. Surprisingly, only a small number of candidates realised that the object had to have memory allocated for it. New instances cannot be created by simply declaring them; this was a fundamental failing. It is surprising that candidates thought the question so simple that it required the changing of just one line which was provided anyhow.

10

Question Two

This question posed a scenario and requested candidates construct a class with constructors and methods as appropriate, over three separate parts. This assessed a candidates ability to construct a basic class with exposed properties, as well as write routines to work on stored data. Pleasingly, each part was well answered although, again, aspects relating to memory management were for the most part forgotten. The majority of candidates had no difficulty in understanding and working with an array.

Question Three

This question asked candidates to construct a straightforward applet and user-interface. Most candidates answered this in a straightforward manner. In the past, GUI-related questions have always been most popular and I suppose it is a topic that due to its visual nature captures candidates interest and is memorable. Consistently, this was the best answered question in the exam. Following question three, this was the next most frequently answered question and, similarly, the question with the second-highest quality of responses. Candidates were required to add user interface components to the screen; this they performed well. Equally well answered was the drawing of a mock-up of the interface. By part C, responses lagged, and describing the events that the code handled was beyond just under half the candidates taking the exam despite them being visible in the code provided. The majority of candidates could modify the code to use a BorderLayout, but many neglected to answer the second half of part F; namely, to explain what would happen if the window was resized during execution (in which case, Java would resize the windows and continue to respect the layout's orientation. However, objects may move up and down - within their respective regions - depending on the horizontal space available.

Question Four

Question Five

This question, essentially, asked candidates to understand and analyse the linked list abstract data structure and was rarely attempted. As this question was worth a high number of marks, the many candidates who did not respond simply cheated themselves. If candidates had performed only with a mediocre standard in the preceding questions, their lack of response here simply killed any chance of their success.

11

The complete code for a class to maintain individual nodes was provided as well as the bulk of the linked list class itself. An attempt was made to provide as much helpful annotation as possible, because it was considered unreasonable to assume candidates were necessarily familiar with linked lists. Nevertheless, it did appear that a proportion of candidates understood this data structure or grasped the question because the response to part A, asking candidates to visually depict a linked list, was well answered with almost all who chose to respond doing so correctly. However, parts B and part C were not well answered at all. Again, an attempt was made to give comprehensive annotation for part B but the bulk of papers gave either no response or an erroneous response. Of those who did submit a response, many were simply flawed from the onset and attempted to use arrays to manage a dynamic data structure. Others had no concept of traversing the list and tried to write (non-working) code that directly returned the first, last and any intermediate node with methods that had just a single return statement. Given the block of candidates who performed exceedingly well in this question and thus scored highly overall it is fair to have posed such a problem to candidates. Although candidates may not be capable of writing an entire working program by this stage, if they cannot understand user-defined classes, along with basic memory management, then they have largely failed to grasp objectorientation at all.

12

Computer Organisation
Question One

About 60 candidates sat for this paper. Overall, candidates did reasonably well. This report provides some brief comments on candidates' performance and sample solutions. This question tested candidates' general knowledge and understanding of some common terms in computer organization. Most candidates knew something about these terms, but their description was not accurate and clear. Expected answers should be brief but to the point. Sample Solution (i) DRAM refers to Dynamic Random Access Memory, one of the common memory devices. Dynamic refers to the fact that periodic refreshment is needed in order to keep the data in the memory. Random access refers to the fact that computers can read and write at any memory location within the memory range. DRAM is normally cheaper but slower than SRAM. Interrupt refers to the mechanism through which other modules/processes request attention of the CPU which is running another process/program. It is mainly used to improve processing efficiency. CPU is much faster than external devices. CPU can server these devices when needed using interrupts RISC stands for Reduced Instruction Set Computer. It is a computer architecture in which a reduced number of instructions (as compared with CISC) are used. In RISC, more internal registers are normally used. Cache memory refers to a normally small amount of fast memory where commonly used data or data predicted to be used are stored to improve overall memory access speed. ALU refers to Arithmetic and Logic Unit of a central processing unit. It is the unit where all operations (including arithmetic and logic operations) are carried out. Most candidates did this part very well, especially the integer part. There was some confusion on how to deal with the fraction part. This was not answered as well as expected. Many candidates were not familiar with the basic Boolean laws.

(ii)

(iii)

(iv)

(v)

Question Two

a.

b.

13

Sample solution (a) (F0.B)16= (1111 0000.1011)2=(11110000.1011)2 (F0.B16=(15x16+11/16)10=(240.6875)2


(b) E= ABBC + ABB+ABC

=ABC+ABC = AB (C+C) = AB Question Three (a) This was not done well, possible due to the fact that this type question has not been tested in previous few tests. This tested candidates understanding of the instruction format. Many candidates did not answer this correctly. The first step is to represent 17 and (-31) in 2s complement. 2s complement of 17 is: 00010001 Binary of 31 is: 00011111 So 2s complement of 31 is 11100001. We then add the 2s complements of 15 and 31 to get 11110010, which is the result in 2s complement. To convert it back to sign magnitude representation, we have 10001110, which is (14) as expected. As shown in the above process, we did not use subtraction operation. (b) The length of operand address = 32-12 =20 bits Therefore, the maximum directly addressable memory capacity =4 x 220 = 4 Mbytes Question Four
(a)

(b)

Sample solution (a)

This question reasonably well.

was

answered

(b)

This was answered poorly, although it is simple if the candidates understood the data transfer mechanism.

Sample solution (a) (i) Multiprogramming refers to a mode of operation in which more than one programs can be executed concurrently by a single processor.

14

(ii) A multiprogramming system is more efficient than a uniprogramming system because the available resources in the multiprogramming system can be used more efficiently. For example, CPU is normally much faster than I/O devices. In the uniprogramming system, the CPU will be idle most of time waiting the I/O operations to be completed. But in the multiprogramming system, the CPU can work on other programs while I/O is working on one program (b) Because the bus cycle is equal to 4 input clock cycles, we have 64 000 000 (256 000 000/4) bus cycles per second. 32 bits of data can be transferred in each bus cycle. So the maximum data transfer rate = 32 x 64 000 000 = 2.048 Gbps.. This question was done well. Many candidates knew what is a memory hierarchy, but not many explained correctly why it is used.. Both questions are answered in the following table: strengths Fast, as no memory reference is required simple Large address space weaknesses Operand magnitude is limited

Question Five

(a)

(b)

Sample solution (a) Addressing modes immediate

direct Indirect

Address space is limited Slow as multiple memory references are required.

(b)

There are many types of memories such as RAM, harddisk, magnetic tapes. There is a trade-off among the three key characteristics of memory, namely cost, capacity and access time. In a given computer, a variety of technologies are used to implement memory systems. There are normally the following relationships among these three characteristics:. o Shorter access time but greater cost per bit o Greater capacity but smaller cost per bit o Greater capacity but greater access time

15

On the one hand, it is desirable that we use memory technologies that provide for large-capacity memory, both because the capacity is needed and because the cost per bit is low. On the other hand, we need to use expensive, relatively low-capacity memories with fast access time in order to meet performance requirements. The solution to the above dilemma is that we dont rely on a single memory component or technology, but employ a memory hierarchy. A common memory hierarchy is shown in the figure. As we go down the hierarchy, the following occur: Decreasing cost per bit Increasing capacity Increasing access time Decreasing frequency of access of the memory by the CPU

CPU register

Cache Main Memory Disk Cache Magnetic Disks Magnetic Tape Optical Disk

16

Data Management

This paper was identical in format to most recent examinations. It was very pleasing to be able to pass 50% of the candidates, much the same (51%) as the previous examination. This is higher than has been possible in most recent examinations, indicating hopefully that candidates are becoming better prepared. The following comments are made about each question.

Question 1

This question asked candidates to describe the importance of a data dictionary in data administration. The answers to this question were worse than any other question on the paper. Incredibly, far too many candidates latched on either to the word data or the word dictionary and produced irrelevant answers concerning such topics as the difference between data and information, data warehouses or databases. Even more bizarre were descriptions of a data related spelling checker (dictionary) for use by analysts writing up reports! Candidates who did not know what a data dictionary was and could not answer this question properly cannot be said to have studied data management with any real understanding. The place of a data dictionary in a database system is shown in the following diagram:

17

While the database is of course the central component of the system, the data dictionary or repository is of equal importance to the database, for it is a central knowledge base containing all data definitions, screen layouts, report formats, and business rules. (When used by a CASE tool the term repository is used, the repository being simply a more glorified data dictionary.) Thus the data dictionary describes the nature of the data held in the database, and also describes how this data may be processed in certain situations. Thus the dictionary defines the data, while the database contains occurrences of data. This interdependence is so strong that in many database systems the data dictionary is held within the database it describes so that the two cannot be separated. There are the three human players in the database environment. Data administrators are people who are responsible for the overall planning and control of the information resources of an organisation. They might use a CASE tool to describe fundamental business rules of the organisation. They place these rules, plus table structures, and report/display layouts, in the data dictionary. The repository can be built/maintained in one of two ways. Firstly, the DBMS can provide a special user interface for describing the data. This interface may be a graphic user interface (GUI) as in the tabular design view provided by Microsoft Access; or it may be a language interface with commands written in a Data Definition Language (DDL). SQL incorporates both DDL statements as well as Data Manipulation Language (DML) statements. Systems developers are analysts and programmers who describe the requirements of applications and generate these applications. The use the contents of the data dictionary to develop applications. End users are the people who add, modify, delete and display the actual data in the database. The applications they run will use the data dictionary to work out where the end users data is located. Question 2 This question asked candidates to give certain particular examples of the need for database recovery, and to identify the DBMS features/components required to achieve this recovery. Although this question examined standard descriptive textbook material, the various parts were quite specific, and this made the question fairly unpopular. Poorer answers gave general descriptive material, without addressing the specific issues raised in the question.

18

Transactions need to be undone when they fail to terminate properly. This generally happens following system or process failure as for example after a power failure, or if a process aborts or is abandoned (say due to conflict when using an optimistic locking concurrency protocol). A transaction is undone by reapplying before images from the journal (or change log) to the current database. This is done under the control of a recovery manager process. A transaction needs to be redone when, after it has successfully completed, the results are lost, as in say a head crash on a disk drive. A transaction is redone by applying after images from the journal to a copy of the most recent backup. Question 3 This question gave candidates a scenario and asked them to create a conceptual model using E-R or Class diagrams or some equivalent technique. Almost every candidate attempted this question, and the marks given were higher than average. A possible E-R model is shown below.

UML class diagrams could have been used, as in the following fragment:

19

Whatever technique was used, there are many alternative models that fit the scenario under different interpretations and assumptions. For example, it would be common to assume that the department to be charged also employs the employee completing the requisition, but it is equally valid to model on the assumption that the employee may be ordering and crosscharging to some other department. Question 4 This question asked candidates to identify primary, candidate, foreign and secondary keys in each of three tables relating to a given scenario. This was a popular question, and candidates performed better on this question than any other on the paper. However, some candidates missed the word each referring to tables, and only provided a single example from the set of three tables. In the EMPLOYEE table emp# and taxFile# are both candidate keys. Either, but not both, can be chosen as the primary key, although emp# is the better choice. There are no foreign keys. Surname would be a good field to index for secondary searches. In the VEHICLE table reg# is the only candidate key, and hence is the primary key. There are no foreign keys. Vehicle type and date purchased are both candidates for indexing as secondary keys. In the DRIVER table emp# and licence# are candidate keys, with emp# being the better choice as the primary key. Emp# is a foreign key linking to the EMPLOYEE table, while the license expiryDate could be used as a search index. Question 5 This question asked candidates to give examples and to describe the implementation of various types of maintenance activity. The following example answers are based around a hypothetical Candidate records system. An example of corrective maintenance might be a report from users that NULL values are being treated as zeroes in computing a grade point average.

20

A simple way to redesign the query would be to make a copy of the query and give it another name before making the required changes. After comparing the old and new versions, the old version could be removed, and the newer version renamed to the same name as the original version. An adaptive change might be the need to store candidates mobile (cell) phone numbers as well as home (landline) phone numbers. This might be required because of changes to the internal business environment, or because of external factors, like a change in government regulations. A staged implementation is called for. First, add the new attribute to the appropriate table. Second, modify maintenance procedures to incorporate the new attribute. Thirdly, to add values of the new attribute to any relevant reports. The need for perfective maintenance is often recognised following user feedback or user satisfaction surveys. A typical example is where growth of one particular table has made some queries relatively slow. It is important to recognise here that changes are exploratory. You may not improve things, or you might even make things worse. Retreating to the previous state and trying another change is often required. Question 6 This question asked candidates to produce SQL statements to meet a number of user requirements in a university bookshop database. While this question was fairly popular, many candidates knowledge of SQL was limited and marks given were generally low. The following solutions were tested in a Microsoft Access database: a) SELECT * FROM Book WHERE copies <= 20 OR copies IS NULL; It is important to recognize that the Book table contains null values, and a sensible and consistent decision must be made about how these are treated. Since we cannot assert that a NULL value is at least 20 we should include these values in the list of books that do no meet the criterion. An alternative syntax (from Oracle) is to use the NVL function:

21

SELECT * FROM Book WHERE NVL(copies,0) <= 20; A common error to this question was where candidates wrongly interpreted at least as other than and tests copies <> 20 instead of copies<=20. b) This can be achieved with SELECT * FROM Subject WHERE code NOT IN (SELECT DISTINCT SubjectCode FROM Book); It is possible to use NOT EXISTS, but you cannot test for missing values by using the inequality operator <> (or !=), even against spaces. c) This question was set to see if candidates knew that NULL values are ignored by the average function, which is computed as Sum (of values) divided by Count (of values) and not as Sum (of values) divided by Count (of rows). Thus the query produces SubjectCode Expression BUS241 120.00 d) A solution is: SELECT subject.name, title, author.name FROM Book, Subject, Author WHERE subject.code = book.subjectcode AND book.isbn = author.isbn AND subject.code LIKE "BUS*" ORDER BY subject.name; In ORACLE we can use the SUBSTR function instead of the LIKE operator as in SUBSTR(subject.code,1,3) = "BUS" e) As in previous examinations, the first couple of parts are relatively easy, and this final part was quite hard.

22

A solution involving the ALL qualifier is: SELECT subjectcode, sum(price) AS Cost FROM Book GROUP BY subjectcode HAVING sum(price) >= ALL (SELECT (sum(price)) FROM Book GROUP BY subjectcode); Question 7 This question asked candidates to identify the functional dependencies in an example relation and its contents, next to identify the normal form of this given relation, and then to decompose the given relation into a set of 3NF relations. There were a number of good answers, but an even larger number of quite poor answers. This was disappointing, as the three activities examined are a fundamental part of database design. To produce a set of 3NF (or better) relations, the first step is to identify the functional dependencies, as follows:

It is possible to argue that InstructorName and InstructorOffice are also functionally dependent on UnitName as well as UnitID on the assumption that each unit has a distinct name as well as code, but it seems sensible to ignore this complication. It was clear from the many incorrect answers attempting to identify the normal form of the given relation, that a significant number of candidates could recite the normalisation definitions, but could not recognise examples that did not correspond to textbook examples. Many candidates opted for un-normalised because some attributes (like Major) had repeated values. These repeated values were in fact an example of redundancy, with, for example, the fact that candidate 1234 was in the IS major being represented twice.

23

The example given has no more than one value in any cell, and thus must be in at least 1NF. To be in 2NF a relation must not have any partial dependencies. This test is always true if there is only a single key attribute, but if, as in this case, there are several key attributes, then all non-key attributes must depend on all, (rather than some) of these key attributes. From the functional dependency diagram, it is clear that only Grade depends on both StudentID and UnitID, so all other non-key attributes are only partially dependent on either StudentID or UnitID, but not both. The relation is thus in first normal form (1NF). A second common mistake in identifying normal forms was to recognise (correctly) that there was a transitive dependence of InstructorOffice through InstructorName to UnitID. All this means is that the relation cannot be in 3NF, not that it must be in 2NF. This misconception arises because most textbooks introduce the normalisation rules in the sequence 0NF=>1NF=>2NF=>3NF and only give examples of transitive dependence after relations have been decomposed from 1NF to 2NF. Candidates need to be aware that testing the normal form of a relations is best done in reverse (BCNF or 3NF) first, then if this fails to test 2NF, and then 1NF. The 3NF relations are: STUDENT ( StudentID, Name, HomeAddress, Major) UNIT (UnitID, UnitName, InstructorName) INSTRUCTOR ( InstructorName, InstructorOffice) RESULT (StudentID, UnitID, Grade) In decomposing the original relation, the most common errors were to either fail to decompose the transitive dependency of InstructorOffice, or to fail to produce the RESULT relation. This second error arises from failure to test that the resulting relations are lossless that is, the resulting relations can be rejoined to produce the original relation, which cannot be the case unless all non-key attributes remain.

24

Object Oriented System Development

Although the format for this paper was similar to that in the last offering, the average mark was lower than expected. About 50% of the candidates (17 out of 35) who took this exam have passed. However, overall, candidates seem to have blindly relied on the previous sample papers, examiners report and Larmans text to reply questions. This was evident by the fact that there were some answers which had more than what was required (e.g. nesting of states in state machine diagrams). Overall, candidates did not appear to be well prepared and did not demonstrate proper understanding of subject matter. The paper emphasized the practical application of OO concepts rather than dwell on the theory of it. Hence there were numerous questions requiring UML diagrams to be drawn as part of their answers. Although most candidates made good attempt at drawing these diagrams, overall the UML modelling did not appear to be satisfactory. However, when it was clear that the candidate had understood the concept but had failed in expressing it, consideration was given in terms of marking. Notably, some candidates did not draw the right diagrams (e.g. showing objects in a class diagram) or understand the question correctly (rewriting part of the question rather than providing the explanation required). The following comments are made about each question.

Question 1(a)

This question expected candidates to have learnt about the Unified Process (UP). Many candidates clearly had not learnt this topic resulting in bi-modal distribution (either 0 or 4 - 5 / 5) The answer expected the candidates to list the four phases: Inception; Elaboration; Construction; and Transition. A simple listing the 4 phases received mark. Good description should have listed major artefacts / work products produced, and the intention or purpose of each stage. That is: Inception: Establish vision. Elaboration: Reduce risk and uncertainty Construction: Build the system Transition: Delivery

25

Question 1(b)

The expected solution is listed below.


class Store ( ) { // Constructor Store ( ) { pc = new ProductCatalog ( ); register = new Register (pc); } } class ProductCatalog (){ //Constructor / ProductCatalog () { specs = new HashMap (); // or some other collection class ok. this.loadProdSpecs (); } }

and a comment that the store constructor is called like:


store = new Store ( );

Many candidates had learnt by rote some code that is contained in later chapters of the Larman text. This rotelearnt-code contained statements that did not appear as messages in the diagram. Candidates that were able to show that the create() messages should correspond to object construction were awarded 2 or 3 for each such constructor. Marks were awarded generously for most candidates. Question 1 (c) The question required candidates to describe the three statements contained in the code listing. Many candidates were able to describe three statements receiving 4.5 to 5 / 5. However many candidates appeared un-aware that the statement
Register register = store.getRegister ( ) ;

will return a Register object. It could be assumed that he Store object will create the Register object but the object creation was not taking place in the main ( ) method. Many candidates failed to comment on the passing of the register as a parameter to the ProcessSaleJFrame constructor.
frame = new ProcessSaleJFrame ( register);

The ProcessSaleJFrame object will present a user interface to the cashier with the register object acting as a controller object ready to receive messages required to handle a sale transaction.

26

Simple answer

Elaborate answer

27

Question 2 (a)

This question is very similar to the createSalesLineItem ( ) operation discussed in the Larman textbook. Clearly some candidates learnt by rote this operation and reproduced the diagram including objects (eg sale objects) that are not part of the examination question. Many candidates had a poor understanding of the importance place upon the Invoice as creator of the line items.

Question 2 (b) Question 2 (c)

Many candidates confused a design class diagram with a collaboration diagram. Generally well done by most candidates. Common errors were to omit the ConsultationBookForm object, and the <<interface>> stereotype in the object. Many candidates did not correctly translate the message to self updateConsultationBooking ( ).

Question 3 (a)(i - iii)

Some candidates did not know what a package was (a collection or grouping of other uml elements, typically classes) and the purpose (to reduce complexity by combining elements into a higher level abstraction.) Many candidates did not know how to draw a dependency relationship between two packages.

28

Question 3 (b)

This is an advanced level question. Many answers had rote memorized the text from the May 05 examiners report. These answers scored between 4 - 6 / 8. No answers were able to describe how the Best for store (highest price) strategy could work or be implemented. The CompositeBestPriceForStorePricingStrategy getTotal() operation, by analogy with the code provided in the question, would be:
highestTotal = 0. foreach ISalePricingStrategy stat in pricingStrategies { total = strat.getTotal ( sale ); highestTotal = max ( total, highestTotal ); }

return highestTotal; Question 3 (c) To successfully answer the question the candidate needed to describe the sequence of states and transitions between states that could be experienced by an individual patient. Many candidates did know what was meant by scenario and provided a description of each state and the transitions that could apply at each state. Three basic scenarios can be described with two variations. Scenario 1: Patient arrives at surgery, and as they are preregistered and as the doctor is free they are immediately examined. They are treated and then discharged and leave the surgery. Scenario 1a: Similiar to above except the doctor is not free so they wait until the doctor if free. Scenario 2: Patient arrives at the surgery. As they are not pre-registered they need to Register by providing their name, address and medicare number. The doctor is free so they are immediately examined. They are treated and then discharged and leave the surgery. Scenario 2a: Similiar to above except once they are registered they wait for upto an hour for the doctor. Scenario 3: Patient arrives at the surgery. As they are not pre-registered they need to Register by providing their name, address and medicare number. The doctor is not free and they wait for more than hour so they leave the surgery.

29

Question 3 (d)

This question required the addition of one state (PathologyTesting) and two transitions. Many candidates based their answer on the solution provided in the May 2005 examination. Unfortunately for those candidates this answer did not require a nested state and so they demonstrated their lack of understanding of state diagrams and so missed the opportunity to successfully answer a simple question.

[ Registration busy ] / wait arrivesAtSurgery

Waiting

[ Pre-Registered & Doctor free ]

Examined [ PathologyTest required ]

[ Registration free ] / provide Name, Address, Medicare number [ Treated ] [ Doctor free ] [ Treated ] Registered Discharged PathologyTesting

[ Doctor not Free & Waiting time > 1 hr ]

Question 3 (e)

This question required candidates to demonstrate an understanding of how GRASP Patterns are applied. This question was similar to a question in the last OOSD examination and, as a result, it was reasonably well done and most candidates were able to explain how the GRASP patterns were applied. A good answer should have made all of the following points: The GRASP Patterns used in makePayment are Controller, Creator. Expert pattern does not have any application. Low Coupling and High Cohesion can be discussed in terms of the other patterns - Controller suggests that makePayment is sent to Register because makePayment is a system event and therefore must be sent to the class that represents the entire system, that is a system facade object.

30

- Creator pattern is illustrated by the Sale object. It is responsible for creating the Payment object because the Sale needs to maintain a reference to the Payment object. Low Coupling and High Cohesion is maintained as consequence of applying the creator pattern - if some other object creates the Payment then additional coupling would be introduced between the Payment and the other object. And the other object, for example, the Register object would have additional responsibilities and consequently lower cohesion. Question 3 (f) Candidates were expected to state the following: - The ServicesFactory class defines instance, a static variable of type ServicesFactory. - An instance is created by calling the static method getInstance() and because this method is public static it is global. - The code for this method clearly shows that only one instance will be allowed. In other words, the class is a singleton because exactly one instance of ServiceFactory is allowed. Many candidates successfully answered the question as it was similiar to a question in the May 2005 examination.

31

Computer Communications
Question One

About 40 candidates sat for the paper. Overall performance was good. This report provides some brief comments on candidates' performance and sample solutions. Comments This question tested candidates' general knowledge and understanding of some common terms in computer communications. Most candidates knew something about these terms, but their description was not clear and accurate. Sample solution (i) The layered architecture refers to the design and implementation that break the network into a number of layers. Each layer implements its own protocols. Congestion control is a mechanism to detect and deal with the dramatic reduction in network performance due to network over load. This is a network wide issue. Packet switching is a network communication method in which data is divided into packets. Packets are then routed from source to destination either follow the same path or different paths. This is in contrast to circuit switching in which a dedicated circuit is set us for the communication. Protocol refers to a set of rules used by all communication parties. Digital signature refers to codes that uniquely identify the signer and the signed documents. It is normally implemented using public key encryption technique..

(ii)

(iii)

(iv) (v)

Question Two

Comments (a) This question asked about general principles of the layered protocol architecture, but many candidates mistakenly described the layers and their functions for the two models. (b) This part was answered reasonably well. Sample solution (a) A network is a complicated system. The layered architecture makes the design and implementation of a network manageable. Another advantage of the layered architecture is that it makes the network more modular so that we can change/upgrade one layer without affecting the functions/implementation of the other layers. Each layer implements the well defined function and interface between layers.

32

It works based on the concept of encapsulation, whereby functions/instructions of one layer are included in the header for other layers to use. (b) The main functions of the network layer are to interconnect different networks to form a large network and to route packets from the source to destination. It also deals with network congestion. Question Three Comments (a) This question tested candidates understanding of the function of MAC. (b) Candidates were asked to describe two common MAC protocols. Overall, it was done well. Sample solution (a) Medium refers to the physical links (can be wireless) used to connect all stations to form a computer network. Since many stations are connected to the medium, we need a control mechanism to decide which station can transmit signal over the medium. This is the function of medium access control. (b) (i) Carrier Sense Multiple Access with Collision Detection (CDMA/CD). It is a contention media access control mechanism. The access rules are: (1) Check if the transmission medium is busy. If the medium is idle, transmit; otherwise, go to step (2). (2) If the medium is busy, continue checking until it is idle, then transmit data immediately. (3) If a collision is detected during transmission, send a signal to ensure all stations know the collision and then stop transmission. (4) After sending the collision signal, wait a random amount of time and then transmit again. (repeat from step (1)). (ii) Another medium access control protocol is based on round robin. This is a non-contention MAC in which stations take turn to send data controlled by the token. Question Four Comments (a) The first part was not answered well. (b) This question was answered poorly, indicating that most candidates did not know how datagram fragmentation and assembly work.

33

Sample solution (a) (i) Flow control refers to the mechanism of control the data transmission rate by a transmitter so that the receiver can cope with the amount of incoming data. (ii) In this flow control mechanism, a window size (number of packets) is pre-determined, say this number (window size) is 10. Then, the sender can send 10 packets continuously without needing receiving any acknowledgement. When all 10 packets are sent, the sender has to stop sending any more data unless it receives some acknowledgement from the receiver. For example, if the sender receives the acknowledgement that the receiver has received the first 4 packets, then the sender can sender 4 more packets. So the basic rule is that there must not be more packets than the window size in transition without acknowledgement. The transmission window (the number of packets allowed to be sent) changes between the maximum window size and 0: it decreases when packets are sent and increases when acknowledgement is received. The transmission window resembles a sliding window. (b) (i) Since the IP header has 20 octets, the 8920-octets datagram contains 8900 octets of actual data. A payload of 1500 octets can carry a maximum 1480 octets of data (the remaining are IP header and other headers). 8900/1480= 6.014. So at least 7 fragments are needed. (ii) Each fragment contains the fields of length of the fragment and the offset from the start of the datagram and a flag to indicate if it is the last fragment of the datagram. The destination can assemble the original datagram based on these three pieces of information. Question Five Comments (a) This was done poorly, mainly due to the fact that this type of questions has not been tested in the previous two tests. It seems that candidates mainly focused on topics tested in the past couple of tests. (b) This part was done well.

34

Answer (a) Since the frequency range is 0 to 6000 Hz, the minimum sampling rate required is 12000 Hz. So the storage requirement of 1 minute audio = 60 x 12000 x 8 bits = 720 000 bytes. (b) One most common error detection technique is based on parity check. The parity (odd or even) for each word is predetermined and 0 or 1 is added to make the number of 1s odd or even. At the receiver, if the parity is changed, it is certain there is a transmission error. For example, to transmit 1101010 in odd parity, we need to add a 1 at the end to make 11010101. The receiver will know there is a transmission error if the parity of the received word is even, eg 11011110.

35

Professional Practice

The standard of candidate responses was better in this offering of the Professional Practice examination than the May offering. The average mark on the paper was almost 54%, an increase of 4%. The responses to question 1, the scenario evaluation, were slightly better than previously. There was a second compulsory question on this paper which caught many candidates out. The question was on privacy which is a major issue currently. Future candidates can expect that this theme will recur on future papers. Of the other 5 possible questions, only candidates who attempted question 7, Internet access at work, were able to answer the question with any level of confidence. Comparing the outcomes of this offering with previous ones, it is still apparent that candidates are learning answers to exam questions rather than studying the curriculum. Students should assume that a question on professionalism and/or codes of professional practice will appear in an ACS examination on Professional Practice and so prepare themselves adequately! When preparing for the Professional Practice examination, candidates should be reading industry reports in current newspapers in order to keep up to date with new technologies. In Australia for example, this would be the IT supplements that appear weekly in the Australian and The Age newspapers. The ACS publications, particularly Information Age, are also excellent sources of current information. Most are available online. Candidates also need to be familiar with the theory behind many of the topics listed in the curriculum. Note particularly the examiners comments regarding lack of knowledge when reading the question specific comments below.

36

Yet again, I include the following points, which have been itemised in previous examiners reports. Candidates are simply penalising themselves if they do not take note and act accordingly! Candidates must demonstrate their knowledge and understanding, NOT their ability to regurgitate facts or give opinions that they cannot provide evidence for or justify satisfactorily. Candidates should answer the question that is asked as well as answer all parts of the question. Candidates should take care to ensure their responses are legible and understandable. Candidates should note that each question is designed to elicit different responses. If they find themselves providing the same answer to multiple questions, then at least one response is incorrect. Candidates should ensure their responses take account of world trends as well as trends or implications relating to their own country. Do not waste time writing the question or including a preamble to your answer. As per the instructions on the examination script, only write on ONE side of the paper.

The following comments are made about each question.

37

Question 1

The stakeholders are you the system administrator, your boss the Director of IT, the staff and students using the package, the college and, most importantly, the copyright owners of the software (most candidates forgot this stakeholder!). The facts that raise concerns are that a licence was not purchased initially, the DIT had no intention of purchasing a licence, and no provision had been made in the budget to purchase a licence. Also of concern is the fact that the staff and students are using unlicensed software. The fact that the software is out of date is also of concern. The major ethical dilemma is the fact that unlicensed software is being used in the college.. Refer to texts on ethical decision making (particularly those specifically related to information technology) for information on how to identify the rights and duties of the stakeholders. Also use the Internet as an excellent resource. Possible sites are The Internet Encyclopaedia of Philosophy and the Wikipedia. A resolution to the situation requires the candidate to develop a process for rectifying the situation as it is stated in the scenario. In other words, what would you do if you were asked to handle the situation after the event? How you avoid the situation in the first place requires you to develop a process to ensure the situation does not arise. In other words, what would you do to ensure the event doesnt happen in the first place? When providing support from the ACS code of ethics, quote section/sub-section number and main area only. Dont rewrite the whole section!! Remember to indicate why each clause is relevant in the context of the scenario. In this scenario, there are two possible outcomes, either remove the software or buy a licence. There are no other legal alternatives. Your analysis of the situation should determine which is the better option. The average mark for this question was 22.1 (out of 40).

38

Question 2

This question was handled particularly poorly by candidates. Legislative protection for data privacy include OECD privacy legislation, various national data protection laws, as well as organisational data privacy policies. Methods of providing adequate protection of data include database security, implementing firewalls, access rights and using data encryption, as well as restricting physical access and implementing backup and restore processes. Employers need to ensure that there are adequate policies and procedures implemented with the organisation that reflect the requirements of legislation, as well as provide education, training and monitoring of employees to ensure they are aware of their rights and duties. The average mark for this question was 6.5 (out of 15).

Question 3

The responses to this question were totally inadequate. Candidates picked one keyword (copyright) and provided an answer around that, totally ignoring the fact that the question was asking about the MP3/Napster debate. The average mark for this question was 5.5 (out of 15).

Question 4

Many candidates attempted this question; some attempts where excellent although the average mark does not reflect this. Those candidates who did poorly did not answer the question asked in part b. They discussed a variety of systems that have been made possible by the advent of networking, but did NOT discuss what the impact of these technologies has had on traditional structure etc. The key factors which should have been included are that the organisational structure has become flatter, communications are more direct hence empowering employees, decision making has become distributed and faster, the advent of intranets has allowed the dissemination of information more widely and delivered in a more timely fashion. The average mark for this question was 7.4 (out of 15).

39

Question 5

This question was reasonably well attempted. Remember that the characteristics of a typical professional group includes: o Mastery of esoteric body of knowledge o Autonomy o Membership of formal organisations o Need to abide by a code of ethics and/or professional practice o Scope of specialisation o Need for registration o Enforcement of code through regulation o Enforcement of standards o Need for lifelong learning. Ensure your argument supports your conclusions. For example, if on the one hand you suggested that IT practitioners are professionals, then there is a need for formal qualifications and registration. If you suggest that IT practitioners do not need formal qualifications, or do not need to go through a formal registration process, then they are not professionals according to the generally accepted definition. The average mark for this question was 8.4 (out of 15).

Question 6

Only 6 students attempted this question. The main objections to spam are that it is unwanted, takes up bandwidth, fills up inboxes, transmit viruses, use cookies secretly, generate costs to ISPs and/or users. The main benefits are that it is an easy and effective form of marketing, provides information economically and speedily and does not require paper hence saving trees. The average mark for this question was 7.8 (out of 15).

Question 7

This question was reasonably well attempted. Remember that there are a variety of solutions to controlling such behaviour including technical, education, policy making and enforcement. The average mark for this question was 11.1 (out of 15).

40

System Principles

There was a drop in the number of candidates, but it was pleasing to pass well over half of these candidates. The questions were set from all parts of the syllabus, but within the broad context of project management. This emphasis is likely to be maintained in future examinations. The following comments are made about each question. Note that, in this fairly broad syllabus, a wide variety of answers are possible. The examiner looked for answers that indicated candidates were familiar with systems principles and development practices, and with applications in general.

Question 1

This question asked candidates to describe how an MIS can be used to improve the effectiveness of managerial decision making. Similar questions have appeared in many recent examinations, and almost all candidates attempted the question, scoring relatively high marks. A management information system (MIS) derives its data as extracts and summaries of data processed by transaction processing (TP) applications. This extracted/summarised data is put into reports and displays to highlight aberrant data or issues of concern that middle managers typically use to make decisions about the underlying transactions. For example, a list of bad debts extracted from a billing database. Good decisions require good information, derived from raw facts called data. The integrity of the MIS relies then on the quality of the data input to the TP systems and the timeliness and relevance of the reports produced from this data.

Question 2

This question asked candidates what is meant by the term quality and how it is assured when developing an information system. The answers given by candidates were mixed some good, but many fairly poor, particularly those that described information quality rather than system quality. The short answer is that quality is determined by the customer/client it is embodied in the system requirements or specification. So it is essential for systems to fulfil their stated purpose and used as intended fitness for use. This quality satisfaction may go beyond written specifications, as many stakeholder needs and expectations may be implicit. In planning for quality of a system, consideration must be given to functionality and features, system outputs, performance and reliability, including maintainability.

41

Quality assurance is assisted by thorough testing, although quality is better if designed in rather than tested out. Benchmarking and quality auditing (as in a postimplementation review) are other important components. Question 3 This question asked candidates to give suitable examples of the use of a variety of communication channels to communicate ideas and information, and to obtain agreement, between team members and also system stakeholders. Some candidates wrongly interpreted in developing a system as in a developed system so they talked about electronic commerce applications instead of system development through the life cycle. It was evident that many candidates had the erroneous view that eMail was the only communication method of any value, and that other communication technologies were either outmoded or backups if an eMail server went down. eMail is good for asking informal questions, and expressing support for ideas previously circulated. It is also useful for addressing large numbers of people. Hard copy is suitable for documenting requirements and obtaining authority to move from one project phase to another. One common erroneous view was that hard copy was a diskette backup of eMail folders. The telephone is useful for resolving minor disagreements and conflict, for making interview appointments, making simple requests, and for maintaining confidentiality. A face-to-face meeting is useful for discussing ideas and building consensus, and for giving complex instructions. This can be a one-on-one interview, a group discussion of progress made or planned, or a formal presentation of the system. A video conference is useful when participants are geographically dispersed. It is most useful for making decisions about previously circulated documents, for example, agreeing on changes to specifications. Question 4 This question asked what options a company with a single manufacturing plant and half-a-dozen sales offices should be considering for introducing a new system and phasing out the old one when developing a new sales order processing system using the WWW. This question is about the final phase of the systems development life cycle deploying the new system in place of the existing system. It is not about web-based business models for conducting electronic commerce.

42

There are three basic options: Direct cutover (the big bang approach) where you switch off one system say on Friday night, and start up the new system on Monday morning, is the least costly, but high risk. Often there is no way back if things go wrong. Parallel running is the least risky, but most expensive. Both systems are run together, and results compared, until the users feel it is safe to switch off the existing system. Phased deployment is a compromise between the two more expensive than direct cutover, but less expensive than parallel running; and lower risk than direct cutover, but not as safe as full parallel running. Phases can be the gradual deployment of features, or the phasing in of one location at a time. For example, the company could deploy product information first, and add sales web forms at a later stage. Or it could deploy the full system in a small branch office at a non-peak time and test the system in operation in this limited environment, before deploying the system in the other larger offices. Question 5 This question asked candidates to describe how a shipping agent could change their business model to incorporate modern electronic commerce technologies and systems. Many candidates were obviously familiar with case studies such as FedEx and used their system as the basis of their answer. eMail can be used for enquiries, and business forms (say for customs clearance) can be codified using EDI technology. It will help in containers and their contents are selfidentifying. Barcoding and radio frequency identification (RFID) are two technologies used here. General logistics software is of value, incorporating item tracking applications, and doing such checks as verifying that all cartons in a container are to go to the same overseas port, and that all containers loaded onto a ship are scheduled for one of the scheduled ports of call. Question 6 This question asked candidates to describe how the management of information systems development projects differed from traditional day-to-day operations management. It was one of the least popular questions on the paper, and had overall the poorest answers.

43

Traditional operations management will tend to carry out the same sort of specialised activities day after day. There is likely to be an established routine, albeit with occasional periods of variability should the system break down or become overloaded. Their staff will tend to be long term employees of particular departments. Project management has a definite start and end. The project will, to some degree, be unique in terms of requirements/resources and hence the outcome is uncertain. Team members will be likely to be drawn from different backgrounds, often on temporary assignment. The project manager has to juggle the triple constraint of project scope (what is to be done) against time and cost. Question 7 This question gave candidates two specific threats to the integrity of a hotel reservation system, and asked what might be done to reduce these risks, and what contingency plans would be appropriate should these risks still eventuate. This question was the least popular on the paper, but was reasonably well done by those candidates attempting it. If the hotel is worried about bookings not being taken up, there are a number of approaches. A deposit could be taken at the time of booking, or later as confirmation of the booking. If guests still do not turn up, the system could be set up to trigger automatic release of bookings at a predetermined time, or an ad hoc report could be produced of unoccupied rooms with a current booking. System breakdown through things like power failure can be reduced by, say, a UPS, but will still occur from time to time. There needs to be regular, say, daily, printed reports of bookings and occupancy of rooms, plus a manual check-in facility. A manual booking process can be followed by confirmation when the computer system is up and running.

44

Appendix Examination Papers

The following pages contain the full text, with original formatting, of every paper in the November 2005 exam offering.

45

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005


Please complete this cover sheet and attach securely to the front of your answers. FAMILY NAME GIVEN NAME(S) .. ACS EXAMINATION NUMBER
__ __ __ __ __ __ __ __

Questions Attempted (please tick)

Examiners Mark Only

PAPER: Systems Analysis


Please: Write your Exam Number at the TOP of every answer page. Write your answers in INK. Write CLEARLY and NEATLY. Use only ONE side of the paper.

1 1
2 3 4 5 6 7 8 9 10

Tottall Mark To a Mark

46

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005 Systems Analysis


Attempt one (1) question from Part A, all four (4) questions from Part B and any three (3) questions from Part C. Part A = 36 marks Part B = 16 marks Part C = 48 marks Total = 100 marks 1. 2. Candidates must obtain a minimum of 50 marks to pass this paper. At least 15 marks must be obtained in Part A. Candidates who obtain less than 15 marks in Part A will be given a maximum of 40 marks for the paper. At least 2 marks must be obtained for each and every question in Part B. Candidates who obtain less than 2 marks for any question in Part B will be given a maximum of 40 marks for the paper.
Time allowed : Reading 15 minutes Writing 3 hours

3.

47

PART A Case Study 100 marks]

[ 3 6 of

With 120 people working at Flawless Fridge Company, payroll activity is an important operation. Each Friday, new time sheets are printed and issued to each employee for use from Monday to Sunday. Records are maintained for all employees by the pay office. Each day, employees enter onto their current time sheet: the time commencing work; the time ceasing work for lunch; the time they resume work from lunch; and the time they finish work for the day. It is expected that each employee will work 40 hours per week. If total hours are less than 40 then a register is inspected to see if they are on vacation, otherwise they will be paid only for hours worked. If more hours are worked then they will be paid overtime so long as the excess hours are specifically authorised by the employees supervisor on the employees time card. Every Monday and Tuesday, normal and overtime hours worked by each employee are entered onto a worksheet and also on to employee pay advice slips. From a table of hourly rates for each employee, gross salary is calculated. Deductions are then calculated and entered as follows: from a table of union membership, weekly membership fees are deducted; superannuation is deducted as a percentage of gross salary; and from a tax table, taxation payments are deducted. Then, a cheque is written for each employee and filed with the relevant pay advice slip. Cheques are written and posted for all deductions for all employees to the tax department, to the superannuation fund and to all unions. Each Wednesday, each employee collects his or her pay advice slip and cheque. Attempt either question 1 or question 2 questions are of equal value. Question 1 [36 marks] For the case study example given and using structured systems analysis and design techniques: a) Draw a levelled data flow diagram and briefly describe the major processes. [18 marks] b) Draw a data model (ie. entity relationship diagram or similar). Ensure relationships and relationship cardinalities are clearly identified. [18 marks] Annotate your diagram with explanatory notes where necessary.

OR
Question 2 [36 marks] For the case study example given and using object oriented systems analysis and design techniques, draw appropriate diagrams (eg. object or class diagrams, interaction or sequence diagram, etc.) Ensure the diagrams clearly identify: a) links and relationships between object classes. [18 marks] b) attributes of object classes. [9 marks] c) methods (ie. services) available to object classes. [9 marks] Annotate your diagram with explanatory notes where necessary.

PART B Competencies 100 marks]


Attempt ALL of the following questions. Question 3

[ 1 6 of

[4 marks]

Expllaiin alll off tthe iissues iin iidenttiiffyiing key iinfforrmattiion sourrces tto iidenttiiffy Exp a n a o he ssues n den y ng key n o ma on sou ces o den y busiiness rrequiirrementts,, gattherr datta tthrrough fforrmall prrocesses,, ensurre bus ness equ emen s ga he da a h ough o ma p ocesses ensu e anallysiis iis accurratte and compllette and gaiin consensus.. ana ys s s accu a e and comp e e and ga n consensus Question 4 [4 marks]

Expllaiin alll off tthe iissues iin iidenttiiffyiing busiiness needs,, iidenttiiffyiing Exp a n a o he ssues n den y ng bus ness needs den y ng rrequiirrementts,, devellopiing and siigniing offff on ttechniicall rrequiirrementts.. equ emen s deve op ng and s gn ng o on echn ca equ emen s Question 5 [4 marks]

Expllaiin alll off tthe iissues iin evalluattiing currrrentt busiiness sttrrattegy,, evalluattiing tthe Exp a n a o he ssues n eva ua ng cu en bus ness s a egy eva ua ng he iimpactt off changes on tthe sttrrattegy and devellopiing acttiion pllans.. mpac o changes on he s a egy and deve op ng ac on p ans Question 6 [4 marks]

Expllaiin alll off tthe iissues iin valliidattiing qualliitty and complletteness off desiign Exp a n a o he ssues n va da ng qua y and comp e eness o des gn speciiffiicattiions iinclludiing tthe detterrmiinattiion off audiitt crriitterriia,, rresollviing alll spec ca ons nc ud ng he de e m na on o aud c e a eso v ng a aspectts off a ffiinall systtem,, tthen rreviiewiing and verriiffyiing wiitth tthe conttrractt and aspec s o a na sys em hen ev ew ng and ve y ng w h he con ac and speciiffiicattiions.. spec ca ons

PART C Analysis Theory marks]

[48 of 100

Attempt only THREE (3) of the following questions questions are of equal value. Question 7 [16 marks] (a) Discuss issues for each of the following quality assurance steps: Quality assurance program; [2 marks] Quality assurance review; and [2 marks] Inspections. [2 marks] (b) Explain how a walkthrough is conducted and describe preparation, team roles and methodology. [10 marks]

Question 8

[16 marks]

Explain the whole structured analysis and design process commencing with system objectives, current physical model, current logical model, domain of change, new logical model, automation boundary and new physical boundary.

Question 9 [16 marks] Provide a detailed description for each of the following tasks pertaining to the analysis process: Identify a problem; [4 marks] Justify a solution; [4 marks] Generate broad alternative solutions; and [4 marks] Evaluate feasibility. [4 marks]

Question 10 [16 marks] Describe a development life cycle. Then, for each phase within a development life cycle, provide headings for a documentation methodology and a detailed explanation of contents for each heading.

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005


Please complete this cover sheet and attach securely to the front of your answers. FAMILY NAME

GIVEN NAME(S) ..

ACS EXAMINATION NUMBER

__ __ __ __ __ __ __ __

PAPER: ObjectOriented Programming


Please: Write your Exam Number at the TOP of every answer page. Write your answers in INK. Write CLEARLY and NEATLY. Use only ONE side of the paper.

Questions Attempted (please tick)

Examiners Mark Only

1 1
2 3 4 5

Tottall Mark To a Mark

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005 Object-Oriented Programming


Answer all five (5) questions. The questions on this paper total 100 marks.
Time allowed : Reading 15 minutes Writing 3 hours

Question One [10 marks] The following lists the complete contents of the file named intarray.java.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.Random; public class intarray { static final int MAX_ELEMENTS = 10; public static void main (String[] args) { Random rn = new Random (); int[] intArr = new int [MAX_ELEMENTS]; for (int i = 0; i < intArr.length; i++) intArr[i] = rn.nextInt (); for (int j = 0; j < intArr.length; j++) System.out.println (" " + j + " : " + intArr[j]); } }

A. Explain in English what this program achieves. B. Rewrite the program so that line 10 creates an array of objects instead of integers, as follows:
10 widget[] widgArr = new widget [MAX_ELEMENTS]; class widget { public int value; }

where the widget class has this definition:

Add any other lines of code which are necessary to make the program compile and run correctly. Question Two [30 marks]

A. Write a class called Point that will store a pair of (x, y) co-ordinates, of type double. The class must be able to set the values of the data with a single method, and return the x-coordinate and y-coordinate as requested using two separate methods. It should also have a constructor that accepts x and y values for a Point. B. Write another class called PointArray which stores an array of Point objects. Two constructors are needed; one which creates an array that can hold 10 elements, and a second constructor which accepts an integer parameter and then creates an array with size specified by the integer value passed in. C. Write four methods, which calculate the average x-value, the average y-value, the maximum x-value and the maximum y-value, respectively.

Question Three

[10 marks]

A. Show the code that you would put into the init() method of an applet to add five buttons with a BorderLayout manager. B. Give Java code to create a standalone window to hold an applet called MyApplet. Assume MyApplet is available in a separate class file in the same directory; you do not need to include code for it.

Question Four [20 marks] You want to generate a simple graphical user interface (GUI) using components from the original AWT library and event handling in the original AWT style. The following code has been started for you.
import java.awt.*; public class AWT1 extends Frame { public static void main (String args[]) new AWT1 (); } Label label1; TextField edit1; Button button1; public AWT1 () { super (AWT1 window); setLayout (null); setSize (290, 190); label1 = new Label (Text Label); label1.setBackground (Color.cyan); label1.setForeground (Color.black); add (label1); edit1 = new TextField (19); add (edit1); button1 = new Button1 (Start); add (button1); setLocation (50, 50); setVisible (true); } public boolean handleEvent (Event event) { if (event.id == Event.WINDOW_DESTROY) { setVisible (false); dispose (); System.exit (0); return true; } return super.handleEvent (event); {

} public boolean action (Event event, Object arg) { if (event.target == buton1) { edit1.setText (Start!); return true; } return false; } } A. Write code to be added to the constructor, for the purpose of adding a menu bar to your GUI, containing a File menu, with options New, Open, Save and Exit, and a Help menu containing an option About. Dont worry about connecting events, simply make the user interface. B. What does the user interface for this program look like (draw a simple picture)? C. What events does this program handle? How are the events generated? D. What is the purpose of this line in the handleEvent method? return super.handleEvent (event); E. What is the result of this line of code? setLayout (null); F. Modify the code so that it uses the BorderLayout layout. What happens if the window is resized when the program is running?

Question Five [30 marks] The following Java code exists. The first class represents a single Node; this holds two data elements. One is an instance of java.lang.Object and represents a generic object. The second is a reference to another Node object.
public class Node { Object obj; Node next; public Node (Object o, Node n) { obj = o; next = n; } public Node (Object o) { obj = 0; next = null; } public Object getObj () { return obj; } public void setObj (Object o) { obj = 0; } public Node getNext () { return next;

} public void setNext (Node n) { Next = n; } }

The second class represents a LinkedList. In particular, it has a reference to an initial Node object called head because it is at the head of the list. The LinkedList also stores an int variable called size which holds a count of how many Nodes are in the list. The LinkedList does not need to store any references to Node objects beyond the head Node, because each Node points to the next Node in the sequence. The final Node object has a next value of null.
public class LinkedList { Node head; int size; public LinkedList { head = null; size = 0; } public Node getHead () { return head; } }

A. Make a diagram to represent a LinkedList with three Node objects in sequence. Draw boxes for each instance of a Node or LinkedList objects. Ensure each data item in an instance is listed. Draw arrows to connect references to objects. B. The LinkedList class is missing some code. Write a Java routine to insert an element at the start of the list. The routine must accept an Object parameter. Therefore, it needs to create a new Node instance and ensure the head item points to this Node. Consider the cases where the LinkedList has no existing elements and the case where the LinkedList already has some elements (and therefore a head element). The Node which was head of the list before the method is called must be the second Node in the sequence after the method is called. C. Write a Java method which has as its return value the final Object in the LinkedList, i.e. the Object stored in the last Node object.

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005

FAMILY NAME

GIVEN NAME(S) ..

ACS EXAMINATION NUMBER

__ __ __ __ __ __ __ __

PAPER: Computer Organization


Please: Write your Exam Number at the TOP of every answer page. Write your answer in the space provided below each question. Write your answers in INK. Write CLEARLY and NEATLY.

Questions Attempted (please tick)

Examiners Mark Only

1 1
2 3 4 5

Tottall Mark To a Mark

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005 Computer Organization


Answer all five (5) questions Question 1 = 20 marks Question 2 = 20 marks Question 3 = 20 marks Question 4 = 20 marks Question 5 = 20 marks
Time allowed : Reading 15 minutes Writing 3 hours

All answers must be written on this paper and should not exceed the space provided. No additional paper will be supplied. This paper must not be removed from the examination room.

Question One Briefly describe the following terms. (i) DRAM (ii) Interrupt (iii) RISC (iv) ALU (v) Assembly language

(20 marks)

Question Two (a) Convert the hexadecimal number F0.B into binary and decimal numbers. You must show the working process. (10 marks)

(b) Simplify the following logic expression: E= BC(A+B) +AB(BC) marks)

(10

Question Three
(a) Show how computers carry out the operation (1710-3110) using 2s complement, assuming 8 bits are used to represent each decimal number (1710 and 3110 indicate decimal numbers of 17 and 31 respectively). You must show how each number is represented, the working process and the interpretation of the result. (10 marks)

(b) Consider a hypothetic 32-bit microprocessor having 32-bit instructions composed of two fields: the first 12 bits contain the opcode and the remainder the immediate operand or an operand address. What is the maximum directly addressable memory capacity (in bytes)? (10 marks)

Question Four
(a) (i) What is multiprogramming? (4 marks) (ii) How does multiprogramming improve efficiency/utilization of a computer system? (6 marks)

(b) Consider a 32-bit microprocessor, with a 32-bit external data bus, driven by a 256-MHz input clock. Assume that this microprocessor has a bus cycle whose minimum duration equals four input clock cycles. What is the maximum data transfer rate that this microprocessor can sustain?

(10 marks)

Question Five (a) (i) Describe three basic addressing modes used in computer instructions. (ii) What are their respective strengths and weaknesses? (10 marks)

(b) Briefly describe a common memory hierarchy. In your description, you should explain why a particular memory device is used. (10 marks)

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005


Please complete this cover sheet and attach securely to the front of your answers. FAMILY NAME

GIVEN NAME(S) ..

ACS EXAMINATION NUMBER

__ __ __ __ __ __ __ __

PAPER: Data Management

Questions Attempted (please tick)

Examiners Mark Only

1 1
Please: Write your Exam Number at the TOP of every answer page. Write your answers in INK. Write CLEARLY and NEATLY. Use only ONE side of the paper. 2 3 4 5 6 7

Tottall Mark To a Mark

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005 Data Management


Answer any five (5) questions. All questions are worth equal marks.
Time allowed : Reading 15 minutes Writing 3 hours

Question One [20 marks] Describe the importance of the data dictionary in data administration. Question Two During database recovery: a) Give an example of the need to undo a transaction b) What DBMS features/components are required in order to undo such a transaction? c) Give an example of the need to redo a transaction d) What DBMS features/components are required in order to redo such a transaction? Question Three [20 marks] Consider the following scenario: Office employees of the Shipping company who require to purchase items of stationery and office furniture must complete a requisition form identifying themselves, the department to be charged, the items to be ordered, and their quantities. The items to be ordered must have been previously approved and listed for potential purchase. Purchasing officers decide which items will be ordered from which suppliers, and will produce purchase orders for each supplier. A single purchase order may include items from several requisitions. Create a conceptual model for this scenario, using E-R diagrams, or class diagrams, or some other equivalent technique. [20 marks]

Question Four [20 marks] An Engineering Company keeps a fleet of vehicles for use by those of its employees registered as qualified drivers. Two types of vehicles are kept, cars and trucks. The company records the vehicle registration number, make and model, the vehicle type, and the date purchased. Registered drivers must present their driving licences, and have recorded the licence number, the licence type (car only, or truck as well as car), plus the licence expiry date. All employees, regardless of whether they are registered drivers, have recorded their identifying employee number, their surname and given name, their government assigned individual tax file number, and their date of birth. This data is to be stored in the following tables: EMPLOYEE ( emp#, surname, givenName, taxFile#, dateOfBirth) VEHICLE (reg#, make, model, type, datePurchesed ) DRIVER (emp#, licence#, licenceType, expiryDate) a) For each table, identify, where possible: 1) The primary key 2) A candidate key 3) Foreign key(s) 4) A secondary key that might be useful to index for searches b) Use this key information to produce SQL CREATE statements for the tables, along with appropriate integrity constraints. Question Five [20 marks] Once a system has been put into operation, changes will be required as part of the Maintenance phase of the Database Life Cycle. For each of the following types of maintenance activity: describe a) A typical practical example b) How the need for the change would become known c) How the change would be designed and made ready for inclusion in the system d) What special considerations need to be considered when the change is finally incorporated in the production system. Corrective maintenance (to fix system errors) Adaptive maintenance (to meet changes in the business environment) Perfective maintenance (to improve system performance)

Question Six [20 marks] Consider the following extract from a university bookshop database.

The database contains the recommended textbooks for subjects offered. Produce SQL to meet the following requirements. Give general solutions, not just ones that will work for the example data given. (If alternatives exist, give the SQL version that minimises human processing.) a) List the details of any book that is not recorded as having at least 20 copies. b) List the code and name of any subject without a textbook specified. c) Using the example data above, what will be produced by the following SQL statement: SELECT subjectcode, avg(price) FROM Book WHERE subjectcode="BUS241" GROUP BY subjectcode; d) List in alphabetic order the subject name, book title and author(s) for all subjects with a code starting BUS.

e) Identify the subject with the most expensive set of books

Question Seven [20 marks] Consider the following example of a Grade Report for a university.
StudentID 1234 1234 1248 1248 1371 Name Smith Smith Jones Jones Jones Home Address Colombo Colombo Sydney Sydney Melbourne Major IS IS Business Business Science UnitID IS 101 IS 123 IS 101 BUS 201 MA 123 Unit Name Analysis Database Analysis Marketing Algebra Instructor Name Avison Codd Avison Shaw Einstein Instructor Office B124 C136 B124 A111 C111 Grade A B D C A

a) Diagram the functional dependencies in the relation. b) In what normal form is this relation? c) Decompose the Grade Report into a set of 3NF relations.

AUSTRALIIAN COMPUTER SOCIIETY AUSTRAL AN COMPUTER SOC ETY

(Incorporated in the A.C.T.)


EXAMIINATIION IIN IINFORMATIION TECHNOLOGY EXAM NAT ON N NFORMAT ON TECHNOLOGY Novemberr 2005 Novembe 2005
FAMILY NAME .

GIVEN NAME(S) ...

ACS EXAMINATION NUMBER __ __ __ __ __ __ __ __

PAPER:: Objjectt--Orriientted Systtems Devellopmentt PAPER Ob ec O en ed Sys ems Deve opmen

Please: Write your Exam Number at the TOP of every answer page. Write your answer in the space provided below each question. Write your answers in INK.

Questions Attempted (please tick) 1 2 3

Examiners Mark Only

Write CLEARLY and NEATLY.

Total mark

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY


November 2005 OBJECT-ORIENTED SYSTEMS DEVELOPMENT
The questions on this paper total 100 marks. Candidates must obtain a minimum of 50 marks to pass the subject.
Time allowed : Reading 15 minutes Writing 3 hours

This paper has 3 questions. Candidates should attempt all questions. This paper must not be removed from the examination room.

Q1. (a) Describe briefly each of the four phases of the Unified Process? [5 marks]

Q1. (b) Write the code (in language of your choice e.g. Java/C++) that corresponds to the create() message that is sent to the Store object and the ProductCatalog message. Add comments to explain your understanding. [10 marks]

10

Q1. (c) Examine the following Java code for the main method: public class Main { ... public static void main(String[] args) { Store store = new Store(); Register register = store.getRegister(); ProcessSaleJFrame frame = new ProcessSaleJFrame(register); ... } ... } Explain each of the statements/declarations in the code. [5 marks]

11

Q1. (d) The subject called Database Management has several hundred students. Every student sits an Exam for which they receive a Mark. Students also receive a mark for working on a Project. For their projects, students work in a Group, and all the students in a group receive the same mark. Examiners are involved in setting and marking the exams and the projects. A Student Registration System is used to record the marks given to each student, as well as the students ID, Name, Address and other Contact Details. Create a class diagram that models this problem statement. The class diagram must illustrate, at least, the Inheritance and Association relationships, all relevant Attributes and Multiplicities between associations. Additional classes may be created to depict inheritance. [15 marks]

12

13

Q2. The following is a System Operation contract from the NextGenPOS system. Operation: addInvoiceItem (invoiceID: String, itemID: String, quantity: integer, amount: Currency) Cross References: UseCases: Create Invoice Preconditions: An Invoice for a Sale is underway. An instance of Invoice exists in the system. A collection object (ie multi-object) for InvoiceLineItem instances exists corresponding to an Invoice and is associated with Invoice. An instance of ProductCatalog exists . Instances of ProductSpecification (each with a certain itemID, description and price) exist and are held in a collection object (ie an instance of a collection class. An instance of Register exists. Postconditions: a InvoiceLineItem instance ili was created (instance creation) ili.quantity became quantity (attribute modification) ili was associated with a ProductSpecification, based on itemID match (association formed). ili was associated with the current Invoice via a collection object (association formed) Q2. (a) Draw a sequence diagram based on the contract for the System Operation addInvoiceItem (invoiceID: String, itemID: String, quantity: integer, amount: Currency) (NOTE: You must consider Register as the controller and Invoice as the creator. Do not add classes that are not referred to in the contract.) [10 marks]

14

15

Q2. (b) Construct a design class diagram (DCD) representing the classes, attributes, methods and relationships that feature in the sequence diagram you drew in answer to the previous question, ie. 2(a) (Note: Ignore any container/collection classes) [10 marks]

16

Q2. (c) Following is a sequence diagram that models a scenario wherein a consultation booked for a doctor is changed. The 10am booking is deleted and the 4pm booking is created. Re-draw the sequence diagram as a collaboration diagram. (Note: ConsultationBookingForm has an Interface stereotype). [10 marks]

: ConsultationBookingForm

aConsultation : Consultation

10am Booking : Booking

Two Objects belonging to a Class; One deleted and another added to aConsultation

changeConsultation( ) deleteBooking( ) 4pm Booking : Booking

createBooking( )

updateConsultationBooking( )

17

Q3. (a) (i) What is the purpose of a package in UML? [2 marks]

Q3. (a) (ii) In the following package diagram, explain how the class Register can be used in the Sales package [2 marks]

Q3. (a) (iii) Based on the need to use the Register class in the Sales package, draw the package dependency lines between the two packages. [1 marks]

18

Q3. (b) With the aid of the following diagram, explain how the Composite pattern allows software designers to handle a case where there are multiple, conflicting pricing policies. Explain how the conflict resolution strategy is applied in this example. (Hints: ISalePricingStrategy has been labelled with an interface stereotype; CompositePricingStrategy is abstract; CompositeBestForStorePricingStrategy references two or more pricing strategies. Assume that the strategy awards the best price (highest) price total.) [8 marks]

19

20

Q3. (c) The following state diagram shows the various states for a patient in a doctors surgery. Explain, in plain English, all the possible scenarios that can occur between the arrival and the discharge of the patient. [7 marks]

21

22

Q3. (d) Assume the Patient in Q3 (c) needs to be sent for Pathology Tests after examination. Redraw the state diagram in Q3 (c) showing how this can be incorporated with an additional transition and corresponding state. [5 marks]

23

Q3 (e) Explain how GRASP patterns; such as Expert, Creator, Low Coupling, High Cohesion and Controller; may have helped to produce the collaboration diagram for makePayment, below. In your answer, explain the messaging used in the diagram. [5 marks] makePayment(cashTendered) :Register 1: makePayment(cashTendered) s:Sale

2: addSale(s)

1.1: create(cashTendered)

:Payment
:Store

2.1: add(s)

completedSales:Sale

24

25

Q3 (f) The Singleton pattern is applied in the following context: Context/Problem: Exactly one instance of a class is allowed it is a singleton. Objects need a global and single point of access. Examine the ServicesFactory class shown below and explain how this class implements the singleton pattern. [5 marks] ServicesFactory 1

instance : ServicesFactory getInstance() : ServicesFactory


getAccountingAdapter() : IaccountingAdapter

public static synchronized ServicesFactory getInstance( ) { if (instance = = null) instance := new ServicesFactory( ) return instance }

26

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005

FAMILY NAME

GIVEN NAME(S) ..

ACS EXAMINATION NUMBER

__ __ __ __ __ __ __ __

PAPER: Computer Communications


Please: Write your Exam Number at the TOP of every answer page. Write your answer in the space provided below each question. Write your answers in INK. Write CLEARLY and NEATLY.

Questions Attempted (please tick)

Examiners Mark Only

1 1
2 3 4 5

Tottall Mark To a Mark

27

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005 Computer Communications


Answer all five (5) questions Question 1 = 20 marks Question 2 = 20 marks Question 3 = 20 marks Question 4 = 20 marks Question 5 = 20 marks
Time allowed : Reading 15 minutes Writing 3 hours

All answers must be written on this paper and should not exceed the space provided. No additional paper will be supplied. This paper must not be removed from the examination room.

Question One Briefly describe the following terms. (i) Layered protocol architecture (ii) Congestion control (iii) Packet switching (iv) Protocol (v) Digital signature

(20 marks)

Question Two (a) The ISO OSI Reference Model and TCP/IP both use the layered architecture. Describe the general operation principle of the layered architecture. (10 marks)

(b) Describe the main functions of the network layer in the ISO OSI Reference Model. marks)

(10

Question Three
(a) What is medium access control (MAC)? (4 marks)

(b) Describe two common medium access control protocols.

(16 marks)

Question Four (a) (i) What is flow control? (ii) Describe the sliding-window flow control mechanism. marks)

(10

(b) A 8920-octet IP datagram is to be transmitted and needs to be fragmented because it has to pass through an Ethernet with a maximum payload of 1500 octets. (i) How many fragments are needed? (ii) Explain how these fragments can be reassembled into the original datagram at the destination. (10 marks)

Question Five
(a) Assume the frequency range of an audio signal is 0 to 6000 Hz. This signal is converted into digital format using pulse code modulation with 8 bits per sample. What is the storage requirement of 1 minute of this digital audio? (10 marks)

(b) Use an example to describe an error detection technique for data transmission. marks)

(10

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005


Please complete this cover sheet and attach securely to the front of your answers. FAMILY NAME

GIVEN NAME(S) ..

ACS EXAMINATION NUMBER

__ __ __ __ __ __ __ __

PAPER: Professional Practice

Questions Attempted (please tick)

Examiners Mark Only

1 1
Please: Write your Exam Number at the TOP of every answer page. Write your answers in INK. Write CLEARLY and NEATLY. Use only ONE side of the paper. 2 3 4 5 6

Tottall Mark To a Mark

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005


Professional Practice

Questions in SECTION A are compulsory. Answer any three (3) questions from SECTION B.

Refer to the ACS Code of Ethics (included at the end of this paper) to support your answers.

Time allowed : Reading 15 minutes Writing 3 hours

SECTION A (This section is compulsory. Students should attempt both question one and two.)
Question One [40 marks] You have just started a new job as system administrator for a computer laboratory at a small college. Wanting to make a good impression, you set out to learn more about the various applications provided to the users of the laboratory. One of the packages, an engineering design tool, seemed out of date. You look through the file of licensing agreements to see how much it would cost to get an upgrade. You discover that the college never purchased a license for the software. When you bring this to the attention of your boss, the Director of Information Technology, he says The licence for this software would cost us $10,000 which we dont have in our budget right now. This software is absolutely needed for our engineering students, though. Maybe we can get the license next year. For the time being, just keep the current version running. Respond to this scenario by answering the following questions: a) b) c) d) e) f) g) h) Who are the stakeholders in this scenario? Which facts raise ethical concerns? Why? Identify the major ethical dilemma which must be resolved. What are the rights and duties of each of the stakeholders? What guidance does the Australian Computer Societys Codes of Ethics provide in this situation? How would you resolve the dilemma identified in point (c) above? Justify your decision. How are the stakeholders affected by your decision? What should have been done or not done in the first place to avoid the major dilemma?

Question Two [15 marks] The use of information technology in business requires the balancing of the needs of those who use information about individuals against the rights and desires of those individuals whose information may be used (Reynolds, 2003, p.83)1 a) b) c) What types of legislation exists to protect the privacy of data collected about an individual? What methods are available to businesses to ensure adequate protection of data they collect and store? What steps should an employer take to adequately protect and inform employees of their rights and duties regarding privacy and security of electronic data they have access to?

Reyolds, G. (2003): Ethics in Information Technology. Thompson, Course Technology

SECTION B (answer any three questions)


Question Three [15 marks] In recent years there has been much debate about intellectual property and copyright of material in electronic form. This is highlighted by the debate and legal actions related to MP3 technology and Napster. Discuss the issues raised by the MP3/Napster debate. Question Four [15 marks] Organisational structure refers to the way organisations arrange their functional and operational sub-units and how these sub-units are linked to achieve the overall organisational goals. a. Describe a traditional organisational structure. b. What impact has networking technology had on the traditional structure and on management activity, communication and decision making? Question Five [15 marks] Are information technologists professionals? Support your answer by referring to the characteristics of typical professional groups (such as doctors, architects etc.) and the ACS Code of Ethics. Question Six [15 marks] Why is spam sometimes considered objectionable? What are some legitimate business benefits of using spam to reach potential customers? Question Seven [15 marks] Describe five methods that organisations can use to restrict and/or control employees access to material on the Web.

Australian Computer Society Code of Ethics

A Requirement
An essential characteristic of a profession is the need for its members to abide by a Code of Ethics. The Society requires its members to subscribe to a set of values and ideals which uphold and advance the honour, dignity and effectiveness of the profession of information technology. The code is part of the Society's Regulations and the numbering sequence has been maintained.

Code Of Ethics
4. Code of Ethics 4.1 To uphold and advance the honour, dignity and effectiveness of the profession of information technology and in keeping with high standards of competence and ethical conduct, a member must: a.be honest, forthright and impartial, and b.loyally serve the community, and c.strive to increase the competence and prestige of the profession, and d.use special knowledge and skill for the advancement of human welfare. 4.2 The personal commitments set out in NR4.3 and NR4.4 bind each member with regard to that member's professional conduct. 4.3 Values and Ideals: I must act with professional responsibility and integrity in my dealings with the community and clients, employers, employees and students. I acknowledge: 4.3.1 Priorities: I must place the interests of the community above those of personal or sectional interests. 4.3.2 Competence: I must work competently and diligently for my clients and employers. 4.3.3 Honesty: I must be honest in my representations of skills, knowledge, services and products. 4.3.4 Social Implications: I must strive to enhance the quality of life of those affected by my work. 4.3.5 Professional Development: I must enhance my own professional development, and that of my colleagues, employees and students. 4.3.6 Information Technology Profession: I must enhance the integrity of the information technology profession and the respect of its members for each other. 4.4 Standards of Conduct The standards of conduct set out in these National Regulations explain how the Code of Ethics applies to a member's professional work. The list of standards is not necessarily exhaustive and should not be read as definitively demarking the acceptable from the unacceptable in professional conduct in all practical situations faced by a member. The intention of the standards of conduct is to illustrate, and to explain in more detail, the meaning of the Code of Ethics in terms of specific behaviour. The fact that a member engages in, or does not engage in, these standards does not of itself guarantee that a member is acting ethically, or unethically, as applicable. A member is expected to take into account the spirit of the Code of Ethics in order to resolve ambiguous or contentious issues concerning ethical conduct. 4.5 Priorities In accordance with NR4.3.1: 4.5.1 I must endeavour to preserve continuity of information technology services and information flow in my care. 4.5.2 I must endeavour to preserve the integrity and security of the information of others.

4.5.3 I must respect the proprietary nature of the information of others. 4.5.4 I must endeavour to preserve the confidentiality of the information of others. 4.5.5 I must advise my client or employer of any potential conflicts of interest between my assignment and legal or other accepted community requirements. 4.5.6 I must advise my clients and employers as soon as possible of any conflicts of interest or conscientious objections which face me in connection with my work. 4.6 Competence In accordance with NR4.3.2: 4.6.1 I must endeavour to provide products and services which match the operational and financial needs of my clients and employers. 4.6.2 I must give value for money in the services and products I supply. 4.6.3 I must make myself aware of relevant standards, and act accordingly. 4.6.4 I must respect and protect my clients' and employers' proprietary interests. 4.6.5 I must accept responsibility for my work. 4.6.6 I must advise my clients and employers when I believe a proposed project is not in their best interest. 4.6.7 I must go beyond my brief, if necessary, in order to act professionally. 4.7 Honesty In accordance with NR4.3.3: 4.7.1 I must not knowingly mislead a client or potential client as to the suitability of a product or service. 4.7.2 I must not misrepresent my skills or knowledge. 4.7.3 I must give opinions which are as far as possible unbiased and objective. 4.7.4 I must give realistic estimates for projects under my control. 4.7.5 I must qualify professional opinions which I know are based on limited knowledge or experience. 4.7.6 I must give credit for work done by others where credit is due. 4.8 Social Implications In accordance with NR4.3.4: 4.8.1 I must protect and promote the health and safety of those affected by my work. 4.8.2 I must consider and respect people's privacy which might be affected by my work. 4.8.3 I must respect my employees and refrain from treating them unfairly. 4.8.4 I must endeavour to understand, and give due regard to, the perceptions of those affected by my work. 4.8.5 I must attempt to increase the feelings of personal satisfaction, competence, and control of those affected by my work. 4.8.6 I must not require, or attempt to influence, any person to take any action which would involve a breach of the Code of Ethics. 4.9 Professional Development In accordance with NR4.3.5: 4.9.1 I must continue to upgrade my knowledge and skills. 4.9.2 I must increase my awareness of issues affecting the information technology profession and its relationship with the community. 4.9.3 I must encourage my colleagues, employees and students to continue their own professional development. 4.10 Information Technology Profession In accordance with NR4.3.6: 4.10.1 I must respect, and seek when necessary, the professional opinions of colleagues in their areas of competence. 4.10.2 I must not knowingly engage in, or be associated with, dishonest or fraudulent practices. 4.10.3 I must not attempt to enhance my own reputation at the expense of another's reputation. 4.10.4 I must co-operate in advancing information processing by

communication with other professionals, students and the public, and by contributing to the efforts of professional and scientific societies and schools. 4.10.5 I must distance myself professionally from someone whose membership of the Society has been terminated because of unethical behaviour or unsatisfactory conduct. 4.10.6 I must take appropriate action if I discover a member, or a person who could potentially be a member, of the Society engaging in unethical behaviour. 4.10.7 I must seek advice from the Society when faced with an ethical dilemma I am unable to resolve by myself. 4.10.8 I must do what I can to ensure that the corporate actions of the Society are in accordance with this Code of Ethics. 4.10.9 I acknowledge my debt to the computing profession and in return must protect and promote professionalism in information technology.

Copyright 2003 Australian Computer Society Inc.

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005


Please complete this cover sheet and attach securely to the front of your answers. FAMILY NAME

GIVEN NAME(S) ..

ACS EXAMINATION NUMBER

__ __ __ __ __ __ __ __

PAPER: Systems Principles

Questions Attempted (please tick)

Examiners Mark Only

1 1
Please: Write your Exam Number at the TOP of every answer page. Write your answers in INK. Write CLEARLY and NEATLY. Use only ONE side of the paper. 2 3 4 5 6 7

Tottall Mark To a Mark

ACS Examinations in Information Technology

November 2005 Examiners Report

AUSTRALIAN COMPUTER SOCIETY


(Incorporated in the A.C.T.)

EXAMINATION IN INFORMATION TECHNOLOGY November 2005 Systems Principles


Answer any five (5) questions. All questions are worth equal marks.
Time allowed : Reading 15 minutes Writing 3 hours

Question One [20 marks] Describe how an MIS can be used to improve the effectiveness of managerial decision making. Question Two [20 marks] When developing an information system, what is meant by the term quality? How is quality of the system assured? Question Three [20 marks] In developing an information system, a variety of communication channels may be used to communicate ideas and information, and to obtain agreement, between team members and also system stakeholders. Describe a suitable example of the use of each of the following technologies for such communication: a) eMail b) hard copy c) telephone d) face-to-face meeting e) video conference

ACS Examinations in Information Technology

November 2005 Examiners Report

Question Four [20 marks] A company with a single manufacturing plant and half-a-dozen sales offices is developing a new sales order processing system using the WWW. What options should be considered for introducing this new system and phasing out the old one? Question Five [20 marks] A shipping agent receives goods for export and fills containers for shipment to various overseas ports. These containers are placed on container ships sailing particular routes. The shipping agent also contracts with local agents at destination ports to arrange unloading of containers, customs clearances, and delivery of shipped goods to their intended receiver. How can this business model be adapted to take advantage of modern electronic commerce technologies and systems? Question Six [20 marks] Most information systems are developed as projects. How does the management of such a project differ from traditional day-to-day operations management? Question Seven [20 marks] A hotel planning to install a computer-based room reservation system is worried about two risks: first, that bookings made may not be taken up, and that these booked rooms are then left unoccupied; and second, that system breakdown, for example from a power failure, might mean bookings cannot be taken or rooms allocated to arriving guests. Describe what you might do to reduce these risks, and what contingency plans would be appropriate should these risks still eventuate.

S-ar putea să vă placă și