Student ID No: _________________
UNIVERSITY OF TASMANIA
Pages: 6 Questions: 10
EXAMINATIONS FOR DEGREES AND DIPLOMAS November 2019
KIT506 Software Application Design and Implementation
First and Only Paper Ordinary Examination
Examiners: Dr Julian Dermoudy and
Time Allowed: THREE (3) hours Reading Time: FIFTEEN (15) minutes
Instructions:
There is a total of 180 marks available. Attempt ALL questions. Each question is worth 18 marks.
The answers must be written in the booklet provided.
2 KIT506 Software Application Design and Implementation
Question 1. (Assessing ILO: 1)
Consider the following excerpt from an RTM for software to manage paint colour selection. Write the action–software reaction table that would be part of the structured scenario for this use case.
Entry Para
201 7.3.1
202 7.3.1
203 7.3.2
204 7.3.2
205 7.3.3
206 7.3.3
Requirement Type
The user will choose a colour and obtain a SW hardcopy swatch (print of colour)
The action is started by pressing a “Choose” SWC button 20
The user will be shown a colour wheel SWC 20
The user selects a colour from the colour wheel SWC 20
If the printer has paper then a colour swatch is SWC produced 20
If the printer does not have paper then an SWC error message is displayed 20
Use Case
UC20 Print Swatch
Question 2. (Assessing ILO: 1)
Glass Containers can be categorised as Jars, or Bottles, or Drinking Glasses. Jars are cylindrical and have a Diameter and a Lid. Bottles are conical and have a Top Diameter, Bottom Diameter, and a Lid. Drinking glasses have a Top Diameter and a Bottom Diameter. All three can be in clear, brown, or green glass. Jars and Bottles can be opened and closed. All three can be filled with a Liquid or emptied (producing a Liquid), but filling and emptying a glass is different because no opening is required. A Box is able to contain many Glass Containers and these can be counted.
Draw a UML class diagram that best describes the above information. Include attributes and methods that are mentioned in these classes. (Treat actions, like filled or opened, etc as methods.) Include multiplicities, enumerations, specialisation, and so one, where relevant.
[18 marks]
Question 3. (Assessing ILO: 1)
Draw a UML sequence diagram to show what happens when the following classes are
executed.
class Program {
static void Main(string[] args) {
} }
A a = new A();
B b = new B{ Thing = a }; C c = new C(); b.Run2(a);
c.Show(a);
Continued…
[18 marks]
3
KIT506 Software Application Design and Implementation
class A {
public void Run(C c) {
c.Show(this); }
}
class B {
public A Thing { get; set; }
public void Run() {
Run2(Thing);
}
public void Run2(A a) { C c = new C();
a.Run(c); }
}
public void Show(A a) { /* code to be written */ } }
[6 marks]
b. Whydoweusedesignpatternsandwhatadvantagesanddisadvantages does their use provide?
[6 marks]
c. Describe two design patterns (other than Model-View-Controller), draw them, and explain what they are used for.
[6 marks]
Question 5. (Assessing ILO: 3)
Consider the following class diagram. Write C# code to declare the classes and enumerations contained within the diagram. Do not include using or namespace declarations in your answer.
You may assume that all required namespaces are available. Each attribute must be a public, auto-generated property. Any methods you write should be stubs, with an appropriate header but no code within their body { }.
class C {
[18 marks] a. WhatistheModel-View-Controllerdesignpatternandwhatarethe
Question 4. (Assessing ILO: 1) benefits of using it?
Continued…
4 KIT506 Software Application Design and Implementation
Question 6. (Assessing ILOs: 2 and 3)
In parts (a)–(c) below suppose there exists a class called Coin that represents the coins found in a typical person’s pocket. Each coin has three public properties: Name (a string), Value in cents (an int), and FaceUp (a boolean).
a. AssumingthefollowingdeclarationofacollectionofCoins List
that has been filled with Coin objects, write a LINQ expression that selects those Coins which are worth $1 (i.e. 100 cents).
[6 marks]
b. FurthersupposethatthereexistsaMySQLdatabasewithatablecalled Mint that has a string-valued column title, a double-valued column value in dollars and cents, a boolean-valued column faceUP, and a string-valued column entitled colour. Write a suitable SQL query to retrieve the information necessary to create Coin objects from the information in the Mint table.
[6 marks]
c. Now, assuming that a MySqlDataReader called rdr has been created using the query you defined in (b), and that it has been executed and its Read() method called to load the first result. Write a single C# statement to instantiate a Coin object using the data retrieved and assign it to a variable called c.
Continued…
[18 marks]
[6 marks]
5 KIT506 Software Application Design and Implementation
Question 7. (Assessing ILO: 3)
a. AssumeaWPFWindowusesaGridlayoutwithtwocolumnsandthree rows. Write a fragment of XAML to create a TextBlock with the name
“sampleText” that occupies all of the bottom-right cell in the grid. Have the TextBlock display the text “Make Cheese ”. Include only those properties that are necessary to achieve this behaviour. Do not write the XAML for the containing Grid.
[9 marks]
b. ConsiderthefollowingexcerptfromtheXAMLforanapplication’smain Window. Draw a low-fidelity sketch of the GUI it defines. It should be approximately to scale, but does not need to be exact.
[9 marks]
Question 8. (Assessing ILO: 3)
a. Whatisblackboxtestingandwhenwouldyouuseitinsteadofwhitebox
testing?
[6 marks]
b. Whatiswhiteboxtestingandwhenwouldyouuseitinsteadofblackbox testing?
[6 marks]
[6 marks]
Continued…
c. Describe some non-execution testing schemes and explain their advantages.
6 KIT506 Software Application Design and Implementation
Question 9. (Assessing ILO: 3)
a.
b. c.
Question 10.
Inthe.NETFramework,whatisLINQandwhatbenefitsdoesitprovideto software development? (Write three to five sentences in total.)
[6 marks]
DescribethepurposeofandbenefitsfromusingDataTemplatesinXAML. [6 marks]
With regard to WPF and XAML, what is data binding and what are some of the benefits it provides? Include an example of how data binding may be used.
[6 marks]
(Assessing ILO: 3)
Consider the following use-case-based test for an application and answer the questions that appear below the table.
Description
Type and Use Case
Criteria
Outcome
The system should be able to generate a list of the units under the control of the School, ordered alphanumerically, according to semester of offering.
SW UC41_User_views_SemUnitList
When the user chooses the semester number from the Semester drop- down menu, the list of units offered in that semester (1, 2, 3, 4, or 5) should appear.
Pass
a. Can the “Pass” shown as the outcome be trusted? Does this indicate that the Test has failed or that the entry in the RTM has not been implemented?
[6 marks]
b. Are there enough test methods in this test case? If not, what additional methods (steps) would you add?
Method
Black box test:
1. Opentheapplication
2. ChooseasemesterfromtheSemesterdrop-downmenu 3. Checkthatalistofunitsisdisplayed
c. What makes (or would make) this a black-box test?
[6 marks] [6 marks]