Assignment: Software Engineering
Question 1
High Level Architecture
Devise an architecture for a system that manages the daily operation of a motor vehicle service and repair business. The system will have the following functionality:-
1 Administration staff make a service booking for a customer at a time and date for a service/repair job, using a workstation in the office.
2 Mechanics log time and parts used against the customer's job using a workstation in the workshop.
3 A stock is kept of commonly used parts and materials. The system keeps track of current inventory and re-orders automatically as needed. The system will also place a one-off order with a supplier when an uncommonly used part is need for a job.
4 Customer job records are held for future reference, and to be able to automatically email customers with a reminder that service is due at fixed intervals.
Show major subsystems and how they are related/connected.
Students are expected to make and state any assumptions necessary in order to complete the assignment.
Question 2
Sequence Diagram
Draw a sequence diagram to show the interactions when a customer buys a camera over the internet.
Assume the following 6 objects in the system:-
• Customer
• Order System
• Credit Card Company
• Supplier
• Warehouse
• Courier
Draw a diagram that the models the following scenario.
• A customer places an order for a digital camera, and supplies credit card details and address etc. (You do not need to model the detail steps of making the order.)
• The System asks the Credit Card Company to authorise the transaction. (Assume it is successful.)
• The System checks if the camera is in stock in the warehouse (the System contains an inventory module).
• The System discovers that the item is out of stock, so an order is placed with the Supplier. The customer is also advised of the order status.
• When the Supplier delivers to the Warehouse, the inventory is updated, and as a result an instruction is passed to the Warehouse to pack the order for shipping to the customer.
• When the Warehouse advises that the order is ready to ship, the System sends a "pick up" request to the Courier.
• The Warehouse signals the System when the order has been picked up, and the System notifies the customer to expect delivery.
Question 3: The Three Little Pigs and Pairwise Testing.
The first little pig decided to hide in the cupboard beneath the bathroom sink. The second little pig decided to make an igloo out of the cushions from the lounge chair, and hide in that. But the third little pig (Penelope) decided to make a TARDIS (time machine) to escape in, which she constructed from LEGO blocks and a raspberrypi.
Inputs
There are six input controls to Penelope's TARDIS:
• The arns, which is a non negative integer.
• The color which is one of
1 red
2 blue
3 green
4 yellow
• The letter which can be one of
1 alpha
2 beta
3 gamma
4 delta
5 epsilon
• The partical which can be one of
1 Quark
2 Lepton
3 Gluon
4 Electron
5 Proton
6 Neutron
• The celestial body which can be one of
1 planet
2 moon
3 sun
4 comet
5 black hole
6 pulsar
7 neutron star
• The gas which can be one of
1 Hydrogen
2 Xenon
3 Helium
4 Neon
5 Krypton
6 Radon
7 Oxygen
8 Nitrogen
Software Components
The software components or software subsystems of Penelope's TARDIS are:-
1 The Groundhog, which takes 4 inputs:
? The arns.
? The gas.
? The celestial body.
? The partical.
2 The Stein Gate, which also takes 4 inputs:
? The arns.
? The gas.
? The letter.
? The partical.
3 The Suzumiya also takes 4 inputs:
? The arns.
? The color.
? The celestial body.
? The partical.
4 The Higurashi also takes 4 inputs:
? The arns.
? The color.
? The letter.
? The partical.
5 The Makoto also takes 4 inputs:
? The arns.
? The gas.
? The color.
? The partical.
Penelope's Dilema
There are 5 subsystems to test, and they each take 4 inputs. If she uses exhaustive testing, each component would need to be tested with over 500 different combinations. That would take far too long to test.
She could use "all pairs" testing, but being a pig, Penelope has no idea how to do that. Can you help Penelope by providing her with a plan for pairwise testing so that she can finish her TARDIS and escape from BadWolf?
Your Task
You are to provide an "all pairs" test plan for one of the components. The component you must provide a test plan for depends on the last digit of your student number as given in the following table:
Last Digit
|
Component
|
0 or 5
|
The Groundhog
|
1 or 6
|
The Stein Gate
|
2 or 7
|
The Suzumiya
|
3 or 8
|
The Higurashi
|
4 or 9
|
The Makoto
|
Your challenge is to take the theory given in the slides titled "Coping with Several Inputs" and figure out how to apply it. You need to submit a table with a column for each of the inputs. The first row of the table has the names of the inputs as the column headings.
Suggestion:
1 Study the slides mentioned above until you understand what is required.
2 Download the "allpairs" from https://www.satisfice.com/tools.shtml
3 Read the documentation until you understand how to use the tool.
4 Many computing systems have Perl already installed. Windows does not, and you may well need to install Perl.
5 Use Open Office Calc to create the columns with the possible input values as described in the "allpairs" documentation.
6 Use the tool allpairs.pl to create the necessary combinations. Copy and paste the relevant columns from the spreadsheet.
7 Copy and paste the output back into the spreadsheet.
Insert the spreadsheet as an OLE object into your Open Office text document.