INFORMATION TECHNOLOGYSOFTWARE DEVELOPMENTPOST MORTEM 2011by Mark KellyExaminers' comments added 15 May 2012
|
The Post Mortem Awards |
||
The SCHMACKOS award is given to questions that are a complete dog's breakfast. |
![]() The Questions That Make You Sick As A Dog Award |
And the exciting Illiteracy Award. |
As always, this is not a VCAA publication! I do not speak for the VCAA, the IT examiners, or exam markers. I was not involved in the setting or marking of this examination.Questions are in black.
|
Written examinationThursday 17 November 2011 Reading time: 11.45 am to 12 noon (15 minutes) Writing time: 12:00 noon to 2:00 pm (2 hours)
Materials supplied
Instructions
At the end of the examination
Students are NOT permitted to bring mobile phones and/or any other unauthorised electronic devices into the examination room. |
SECTION B - short answer questions
|
Question B1 Maria has a program that works well on her laptop and she would like to put it onto her Personal Digital Assistant (PDA).
State average was 68% Characteristics that will need to be considered include (two of): |
Question B2
As shown in the diagram above, data flow diagrams (DFD) and use case diagrams (UCD) share similar symbols, but their purposes are not the same.
2 marks State average was 60% While it was clear that most students had studied both diagram methods, many were not able to clearly articulate the The following is an example of a high-scoring response.
The DFD's circle is a process where data is changed or manipulated in some way. e.g. Create invoice 2 marks State average was 55% The following is an example of a high-scoring response.The ellipse in a UCD shows a use case – an interaction that a user has with the system, whereas a circle in a DFD shows a process in the system, where data is manipulated or transferred.
|
Question B3 Brian is a programmer for a large IT services company. He is in charge of the development of a security system for a financial services company that maintains a large credit references database that big banks rely on when people apply for loans. The system is due to be finished in a month's time. Brian's manager has just told him that they will need to deliver it to the customer in one week as he has promised the finance company that it will be ready by then. Brian knows that the testing process will not be finished and that he cannot guarantee the security of the system. He knows that this is not right for the customer, but does not really know what to do about his manager's request. a. Explain how a code of ethics could assist Brian in dealing with this situation. If the programmer's code of ethics specified that a programmer should not deliberately release software that is known to have significant security or safety deficiencies, he could use that as an argument against his manager. He would also have the backing of his professional association if the manager caused Brian trouble over the issue. 2 marks State average was 33% The following are examples of high-scoring responses. Brian is in an ethical situation, wanting the best for the customer and to obey his manager. A code of ethics is guidelines that all b. Assuming Brian's organisation has a code of ethics, outline how a decision support framework could assist in resolving this ethical dilemma. A decision support framework gives decision-makers guidelines on how to behave in given circumstances. If the framework foresaw such a dilemma arising, it could advise both Brian and the manager about what actions would be appropriate or necessary to resolve the problem. e.g. "If a manager issues instructions that a worker considers morally or professionally unacceptable, the matter should be directed to the head of human resources." 2 marks State average was 33% The following are examples of high-scoring responses. A decision support framework is a package of resources that helps to prevent conflicts from occurring, and describe how to A code of ethics and decision support frameworks are part of Unit 4, Outcome 2 and are both new to the study. Most students struggled to provide a clear and accurate response to this question, with many simply stating that 'the
|
Question B4 Big O Television's secure computer network was recently breached. Big O Television has hired an independent IT security company, Secure TVtech, to test the security of its network and provide support in identifying and repairing any weaknesses in its security. a. Suggest a technique that Secure TVtech might use to test the security of Big O Television's computer network and describe how it would work. They would carry out a penetration test. Without being given any special knowledge about the system, they would attempt to break into the network from outside the firewall and record the weakness they discover. 2 marks State average was 63% Many students discussed a version of ethical hacking to test the security. Students are reminded to use technically b. Explain how a security audit of the computer network may have prevented the original network breach at Big O Television. A security audit is a systematic technical assessment of how data security is managed in a system. Unlike a penetration test, which is done without special privileges, an audit is carried out - with full privileges and inside information - within the system to assess security weaknesses. They may use interviews with staff, vulnerability scans, technical inspections, reviewing security policy and procedures, and the use of network monitoring software. The audit may inspect password policies, review audit trails, check the state of security patches on key software, test the disaster recovery plan, etc. 2 marks State average was 50% A security audit is a preventative security measure; it not only examines the equipment (hardware and software) but This question required students to show their knowledge of security techniques and how the techniques may be tested. It |
| Stand by - this is a doozy. Probably the silliest question ever to appear in a Software Development exam. |
Question B5 Caitlin and Ryan are discussing the best way to store their new software solution and the data files it uses. The software, which company employees will need to access every day, is 80 gigabytes (GB) and uses several data files which will grow in size over time. Caitlin suggests the software should be stored on the file server and the data files could be stored on DVDs. Ryan suggests that as the software is not very large (80 GB) it could also be kept on the same DVD as the data files. The network administrator is not happy with either solution. Provide a better solution for Caitlin and Ryan and give three reasons to support your solution. When I first read this, I had to sit down. I assumed it had to be a complex misprint. But no, it's a serious question. It's hard to know where to start with the monumental stupidity of this case study. Caitlin and Ryan should not be let loose from a sheltered workshop, much less working with real IT. This question is about as subtle as a clown elephant in a tutu. - Let's start with the software. It's said to be 80G... 80,000 megabytes. Even Windows 7 is nowhere NEAR 80G! My entire Windows and Program Files directories only add up to 47G - and I have a lot of programs! What does this software do - run the planet? Surely the examiners could have come up with a scenario that tested students' technical knowledge just as effectively without turning it into a 'Three Stooges Do I.T.' farce? This question was nearly as bad as an Adam Sandler movie. Solution Take Caitlin and Ryan out the back, shoot them, and then terminate their employment. The 80G software would need to be installed on the hard disks of workstations. The data files could be stored on the file server. Reasons Read-write files cannot be put on DVD 80G will not fit on a DVD Software cannot usually be run directly from a read-only disk. It needs to be installed on a computer. 1+3 = 4 marks State average was 66%
A significant number of students were able to correctly identify that 80 GB would not be able to fit on a DVD and Solution: Store the software on the file server and store the data files on the file server. |
Question B6 Wendy and Gareth have been asked to design an intranet for the residents of an aged-care facility. This intranet will provide access to suitable mind-challenging games. It will also allow residents to upload photos and leave comments. User characteristic - Poor vision Effect on design - large text, good contrast User characteristic - Poor fine-motor muscular control Effect on design - large controls, low sensitivity settings User characteristic - lack of IT experience Effect on design - interface must be intuitive, lots of help easily available, avoid jargon User characteristic - Closeness to death Effect on design - Make the system fast and responsive, so they can make the most of it in the time they have left. OK. Maybe not the last one. 2 marks State average was 55% Most students were able to identify user characteristics such as vision impairment, physical impairment, education |
Case study
Bigton City Car ParkingThe large regional city of Bigton has a busy central business district (CBD). Over the last few years parking in the CBD has become a concern. One difficulty is that too many people overstay the time limits of the parking bays in the CBD's streets. Employing enough parking officers has also become a problem, so the Bigton City Council has decided to look for a technological solution to the problem. City Engineer, James Jones, proposed that the city purchases and installs a commercially available solution that detects vehicles that have overstayed the time limit. However, after examining one such solution, the Council decided that it provided a lot of features the city would never use and it was too expensive. The Council asked James to investigate creating the city's own solution. Its only purpose would be to detect overstaying vehicles and notify parking officers where these vehicles are parked. After some thought and investigation, James drew the plan shown below. Parking Infringement Monitoring System (PIMS)
During his investigation James found out that the Council gives all its parking officers a mobile phone for use on the job, which means that these do not have to be purchased for the system; they would just need some software written for them. He also found that all the other hardware needed for the system, including a portable Bluetooth printer, can be purchased 'off the shelf'. The CDUs and RDLs operate automatically, but the dedicated computer would need software written for it. The computer can be connected to the Council's existing network, which would allow it to interact with the Council's fines-payment system. To take his idea further, James hired programmer Kirsten Koder. After interviewing James, Kirsten drew a use case diagram of the proposed Parking Infringement Monitoring System (PIMS). It is shown below.
The Car Detection Unit (CDU) The type of CDU James has decided to use in the system is a small self-contained device about 5 cm long. It is designed to be placed just under the surface of a road. When the magnetic field around it is disturbed by a car, the CDU transmits a data signal that contains a 12-digit code as shown below.
Since 1990, each parking bay in Bigton has been allocated a bay number, as shown in a section of the city map below. Since the CDU ID number is programmed at the factory and cannot be changed, James has decided that the best way to provide its location is to match the CDU ID to the bay number. Parking bays
|
||||||||||
Instructions for Section C Answer all questions in the spaces provided. Remove the case study insert and read all the information provided before you answer these questions. Answers must apply to the case study.
|
||||||||||||||||||||
While looking at the plan drawn by James, the engineer, Kirsten noted that there would be four different data transfers. She also noted that one of the data transfers will not need TCP/IP. Data transfer from CDU to RDL Explanation The transfer is not being routed through the internet like the other three, and to use the internet you must use TCP/IP for packet handling and routing. The transfer might use Bluetooth instead, since the CDU and RDL are said to be "nearby". 1+2 = 3 marks State average was 52% Most students were able to identify that the data transfer from CDU to RDL was the one that did not require TCP/IP. |
||||||||||||||||||||
Question 2 To check that she had understood James' plan, Kirsten showed him the use case diagram. He expressed concern that the dedicated computer was not shown in the diagram. The actors shown in the UCD are external entities that exploit functionality within the system. Since the dedicated computer is the system it does not interact with itself from outside of itself! 1 mark State average was 40% Students had some difficulty with written responses regarding use case diagrams. As use case diagrams are new to the |
||||||||||||||||||||
Question 3 Kirsten will include the use case diagram in the Software Requirements Specifications (SRS) she is writing. State two functional requirements of the Parking Infringement Monitoring System (PIMS) that this context diagram would show. Give an example of each. Functional requirement 1 - Calculate if cars have overstayed their parking time. Example - ? For example, a car stays too long in a parking bay?? Functional requirement 2 - Transfer ticket details Example - Send ticket data to the fines payment system. (??) First problem: a context diagram will show no functional requirements. A context diagram doesn't show any processes: the system is a black box. The CD will only show data flows between the system and its external entities. FRs might be suggested by the data flows, but the FRs themselves are not shown. Second problem: how can you provide examples of specific functional requirements? Third problem: a big part of the system is calculating when cars have overstayed their time, but this FR is not shown in the UCD. The closest use case is "register car arrives and/or departures" which is different to calculating the time intervals between the events. I'm confused.
4 marks State average was 48% A range of responses was accepted as long as the student could clearly articulate the functional requirements of the |
||||||||||||||||||||
Question 4 When writing the SRS, Kirsten identifies user-friendliness, response rates and maintainability as important non-functional requirements of the system. Most critical non-functional requirement - Response rates. Justification - since the allocation of parking tickets is strictly time-dependent, any lag in getting data on car arrival/departure times could lead to overstaying cars leaving a bay before the parking officer can get there to deliver the ticket. A responsive system will react in a timely manner to critical events like these. 1 + 3 = 4 marks State average was 46% The most critical non-functional requirement in this situation is response rate. When justifying a choice, students who The following are examples of high-scoring responses. Justification: Seeing as how the parking officer will need constant updates as the whereabouts of each overstaying vehicle, the |
||||||||||||||||||||
The analysis is now complete. Kirsten has submitted the SRS to James and he has told her to begin designing the software for the dedicated computer and the mobile phones. Kirsten starts with the dedicated computer. It will deal with the use case 'register car arrivals and/or departures'. Kirsten has drawn the following data flow diagram (DFD) to help her with the design of the software.
1. I've always told my kids that each piece of data should have its own arrow. This DFD has multiple data items on the same arrow. For the process 'Determine deadlineTime & cduBattery' she has developed the following algorithm. It updates deadlineTime and cduBattery in cduFile. The variable currentTime is set by the system and represents the current time of day in 24-hour time.
|
||||||||||||||||||||
Question 5 The structure of cduFile is shown in the table below. Using the information in the DFD, the algorithm and case study, complete the table to indicate the most appropriate data type for each field. Select from: integer, floating point number, Boolean, array, string.
The deadlineTime data type is awkward. The most efficient type would have been 'time' but that was not allowed. Storing it like "1345" meaning 1:45pm is also clumsy and requires processor-intensive parsing. It would be far better to store it as a number of seconds since midnight, which comfortably fits in a short integer. 4 marks State average was 74% Only responses from the provided list were accepted. The VCE Software Development Study Design states the following |
||||||||||||||||||||
Question 6 The updateCduFile algorithm uses a function called bayNumFind. It will search cduFile for the bay number that matches the given cduID. a. Kirsten plans to use a binary search in the function bayNumFind. cduID has to be sorted from smallest to largest. 2 marks State average was 28% Most students were able to identify that the file needed to be sorted in order to perform a binary search; however, many b. Kirsten can choose to have cduFile either as a serial file or a random file. Which should she choose and why? Choice - Random file. Reason - Records in a random file can be retrieved far more quickly than those in a serial file because the starting byte of any record can be calculated with a simple calculation because every record has the same length. Serial files do not have to have their field lengths pre-defined, so their contents can be far more flexible than a random file, but one has to seek from the start of the file through each record until the required one is found. 2 marks State average was 40% Only a small number of students were able to adequately give a reason why a random file was better than a serial file in |
||||||||||||||||||||
Question 7 For the process 'Determine overstay bays' Kirsten has developed the following algorithm. It goes through every record in cduFile and finds any that have overstayed. There is one record per parking bay.
Normally currentTime is set by the system, but for testing purposes Kirsten will set it to 1300 (1.00pm). To properly test the algorithm, Kirsten believes she will need to have four different values for deadlineTime. Complete the table below with samples that test the algorithm. State which line is being tested.
8 marks State average was 41% In this question students needed to identify key boundary conditions that would test the algorithm logic. Many students Students should be given the opportunity to demonstrate these skills in testing tables throughout the year. Creating their Kirsten now works on the mobile phone software. This software will be responsible for the three use cases associated with the parking officers.
|
||||||||||||||||||||
Question 8 Messages containing overstay parking data are sent from the dedicated council computer to the mobile phone of the parking officer in the area. The phone software must process the messages in the order they are received. Choice - Queue Justification - A queue stores incoming data and releases it in the order in which it arrived. A stack (usually) releases that last datum that arrived most recently, which is not the desired behaviour in this case. 4 marks State average was 59% The majority of students were able to identify queue as the correct data structure. It was clear that students had covered The following is an example of a high-scoring response. |
||||||||||||||||||||
Question 9 When the parking officers arrive at the parking bays they will enter the car's number plate into their mobile phones. The software must check that each number plate entered is in the correct format. Then each number plate is sent to the dedicated computer. Kirsten has proposed the following algorithm. The number plates can only contain numbers and letters and be no longer than 6 characters. The function length() is used to find the number of characters in a string. I love the image of parking officers removing number plates from cars and entering them into their mobile phones.
a. Kirsten desk checks this algorithm with test data for the numberPlate, as shown below. Complete the test table.
*Thanks to Melanie for pointing out that because the test data is 6 characters long (not < 6), it fails the first IF test and drops down to the second numberPlateValid = False line without even checking for invalid characters. I'm not sure the examiners intended this. Were they, I wonder, if thinking that the actual outcomes were (1) valid, (2) invalid, (3) erroneously valid as I originally did? 4 marks State average was only 18% !! When completing a testing table, students should ensure that the expected outcome and actual outcome are based b. Describe the error that this test data shows. It automatically rejects number plates that are 6 characters long and does not even check them for valid characters. 1 mark State average was 40% The algorithm had one error based on the testing table: it does not check the length of the number plate correctly. A c. Write down the line of the algorithm that has caused this error. If length(numberplate)>0 and length(numberplate)<6 then 1 mark State average was 50% The line of the algorithm that has caused the error was: If length(numberPlate) >0 And length(numberPlate)<6 Then d. Write down the line as it should have been written. If length(numberplate)>0 and length(numberplate)<=6 then or If length(numberplate)>0 and length(numberplate)<7 then 1 mark State average was 45% The majority of students found this question challenging. Algorithms and testing are both covered in two of the four |
||||||||||||||||||||
Question 10 Kirsten is concerned about the storing of offenders' details if parking officers lost or even left their mobile phones on their desks at work. State two features Kirsten should build into the mobile phone software to ensure that the data in the parking officers' mobile phones is secure. For each feature, explain how it would help secure the data. Feature 1 - password-protected login Explanation - prevents unauthorised people using the software Feature 2 - encryption of stored and transmitted data Explanation - prevents unauthorised people 'sniffing' data travelling wirelessly. Also prevents people being able to read data stolen from the device's storage. 4 marks State average was 69% Students' familiarity with mobile phones was in some cases a limitation to them providing accurate responses to this The following is an example of a high-scoring response. |
||||||||||||||||||||
Question 11
a. Explain why Kirsten should ignore this advice. The names would be meaningless and would require constantly referring to a data dictionary to find out what the variables and procedures contained or did. It could also easily lead to errors by using the wrong variables. 2 marks State average was 50% Students needed to demonstrate an understanding of efficiency in their explanation. According to the study design The following is an example of a high-scoring response. b. State one other action, besides using meaningful names, Kirsten could perform to make her program code more programmer friendly. Lots of useful, relevant internal documentation. The following is an example of a high-scoring response. 1 mark State average was 75% Most students were able to show that a naming convention and internal documentation were essential elements for the |
||||||||||||||||||||
Question 12 During the development of the software, Kirsten finds a module developed by the Fast Fines company. If she could use this module she would not have to develop the module herself. Explain Kirsten's legal obligations if she wishes to use this module. The Copyright Act (1968) says she would need to obtain permission from the owner of the intellectual property before using the code. 2 marks State average was 65% Some students failed to provide a detailed response to this question. Students should ensure that they read questions The following is an example of a high-scoring response. |
||||||||||||||||||||
Question 13 Kirsten is sure that all of the errors are now out of the software and that it is ready to be used by the Bigton City Council. The final testing process is to complete the User Acceptance Testing (UAT), but James is not entirely sure what this is and how he will be involved. a. Explain the process of UAT and how James and the other staff will be involved. UAT is testing the opinions of people who will actually use the software once it is released. This is important because these people will have to use it, and can offer valuable feedback from a experienced user's point of view. It is not done by developers, who are too close to the system and may not see its faults, or managers who would be unlikely to know what is important from a regular user's perspective. 3 marks State average was 47% Most students struggled to provide a detailed response, limiting their responses to statements about 'checking the For full marks students needed to address what is involved in user acceptance testing, James' role in this and how other The following are examples of high-scoring responses. A UAT is the process of finding out if the software meets the requirements and the expectations of the end user. The parking staff b. Provide an example of a criterion that the new PIMS must meet to pass the UAT process. It must be easy for the parking officers to use. 1 mark State average was 45% A variety of responses, including their form, were appropriate to this question. For example, some responses stated a |
||||||||||||||||||||
Question 14 To evaluate the success of the PIMS, Kirsten needs to collect a range of data.
She would not get a car to enter/leave a bay and leave it there for various times, and observe whether tickets were issued by the system - this would be testing, not evaluation. 3 marks State average was 33% This question required students to suggest a strategy to evaluate the accuracy of the parking fine issued. A number of For full marks responses needed to consider what data needed to be collected, who was collecting it and from where, The following are examples of high-scoring responses. Kirsten may wish to count the number of complaints from motorists in relation to being overcharged in their parking fines. If this |
||||||||||||||||||||
Question 15
a. Describe a suitable training program she could use. The case study does not say how many officers need training. If there are not too many (e.g. a dozen or fewer), they could be trained in a single group with practical hands-on experience. 2 marks State average was 65% Most students were able to provide a reasonable response to this question. Student generally responded with, 'train the b. Suggest how the Council could measure the suitability of this program. They could test trained officers in the use of the system and see how many mistakes the officers made. If trained offers used the system accurately and quickly, the training would be considered a success. 1 mark State average was 40% Suitable responses included a method of data collection (for example, a survey, interviewing, a written test or |
||||||||||||||||||||
Question 16 The introduction of the new PIMS at the Bigton City Council will affect a number of stakeholders. Outline the conflict that may occur between the Council and each of the following stakeholders. Parking officers If fewer parking officers are needed with the new system, some of them might lose their jobs. This would cause a considerable amount of stress and hardship. Motorists using parking bays Motorists might believe they are being watched by a 'Big Brother' and resent the intrusion. 2 marks State average was 30% Most students found this question challenging, with many unable to clearly describe a conflict. An answer such as 'they
|
||||||||||||||||||||
END OF QUESTION AND ANSWER BOOK |
||||||||||||||||||||
Back to the IT Lecture Notes index
Back to the last page you visited
Created 17 November 2011
Last changed: May 16, 2012 8:16 AM
Original Content © Mark Kelly 2010
Images and questions are © Victorian Curriculum
and Assessment Authority 2010.
Reproduced here with permission for educational purposes.
VCE IT Lecture notes (c) Mark Kelly, McKinnon Secondary College