CITS5501 - You Are Part Of The Software Development Team For Exron - IT/Computer Science Assignment Help

Download Solution Order New Solution
Assignment Task

You are part of the software development team for Exron, a power generation company. Specifically, you work in the trade division, which trades in the energy resources market (electricity, gas, and carbon emissions). 
The company trades in these commodities just as investors might trade in shares or futures – for example, a power producer (company A) could agree on a contract with another company (company B) to provide 500 Megawatts-hours for a given price in 10 months’ time; and company B can sell its rights under the contract on the commodities market. Your company can buy and sell contracts in order to ensure it has enough supply for customers, or to make profit from excess supply. 
Your team has been tasked with developing a new interface to the company’s existing trading systems, which will allow traders to specify transactions to make using a specially-designed programming language (that is, a domain-specific language). 

When finalizeContract is executed on a properly initialized DieselContract object, the details of the contract are stored in a persistent database (the db) instance variable, and electronic authorization of the contract is performed over the network using the otherContractParty’s email address. 
Answer the following questions. If you need to make any assumptions, state what they are. 
a. Identify two plausible class invariants, each of which applies to one of these classes. (If both your invariants apply to the same class, that is fine.) 
Explain what the invariants are. What implications would it have for the behaviour of the system if the invariants were broken? 
(14to 13page) [5 marks] 
b. If writing a JUnit unit test for the finalizeContract method, what test fixtures might be required? Give at least two examples. 

Sketch out code for a test class plus fixtures using a language and testing framework of your choice (Java or Python; if using another language, check with the unit coordinator first). 
You do not need to write the actual tests; just class instance variables and any fixture-related code. 
(Up to a page) [5 marks] 
c. For the fixtures you described in question 1(b): if you were writing an integration test, would your approach be any different? Explain how and why. 
(14to 13page) [5 marks] 
d. If you were designing tests for the finalizeContract() method using input space partitioning, what would the parameters be? Identify at least two characteristics you could use for performing input space partitioning. Explain why they are appropriate, and how you would use them in writing unit tests. 
(12to 1 page) [5 marks] 
We assume that <grade> and <dateRange> are specified elsewhere, and here we will assume they are terminal symbols. (Or, if you like, you can assume they have only one possible production.) 
a. Write down two sample strings from the language defined by this grammar. Given our assumptions, explain whether it is plausible to write exhaustive tests for the language. 
(13to 12page) [5 marks] 
b. If you wanted to achieve Terminal Symbol Coverage (TSC), how many tests would be needed? What about for Production Coverage (PDC)? Show any working and explain your reasoning. 
3. Formal methods 
Write code for signatures and facts in Alloy which will do the following: 
• Declare the existence of a “diesel contract” type. 
• Declare the existence of a “formula” and “trading organization” types. • Declare appropriate relationships and cardinalities for the above types. 
Submit your work as an Alloy (“.als”) file. [5 marks] Include explanatory comments in your model code. 
Report requirements 
Your report should be in PDF format, and use A4 size pages. The font for body text should be between 9 and 12 points. It should contain numbered headings, with useful heading titles. Any diagrams, charts or tables used must be legible and large enough to read. All pages (except the cover, if you have one) should be numbered. If you give scholarly references, you may use any standard citation style you wish, as long as it is consistent. Cover sheets, diagrams, charts, tables, bibliographies and reference lists do not count towards any page-count maximums.

 

This CITS5501 IT/Computer Science Assignment has been solved by our IT/Computer Science Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.