macOS Command-line Simple Calculator & Array, String Manipulation With Program Design - IT Assignment Help

Download Solution Order New Solution
Assignment Task


 

command line tool cammand line tool example

 

Objectives  
The purpose of this project is to demonstrate competence in the following skills: 

  • Program design 
  • Array and string manipulation 
  • Command-line arguments 
  • Creating classes and methods in swift 
  • Exception handling 
  • Automated testing 

 

These tasks reflect all the subject objectives.  
The reference implementation takes about 200 lines of code. As part of your subject workload assessment, it is estimated this project will take 22.5 hours to complete.  


Instructions 
1 Fork the project template from Canvas into a private repository. 
2.Implement the specified functionality in the calc target. 
3.Use "Product > Test" to test your functionality. 
4.Upload your submission to Canvas. Compress your Xcode project into a zip file and upload  the file to "Assessment 1 submission." You may submit a maximum of 3 times until the final due date. The final submission you make is the one that will be marked. 

Assessment 
Functionality
The Xcode project must unzip successfully and compile without errors. 
Deduct 3 marks if there are any compiler warnings.  
Deduct 1 mark for each failing test in the suite. 
CalcTest 

Style: 
Good design consists of domain-specific classes with good functional separation. 

Functional separation 

  •  Is the problem broken down into functions, classes, and different files? 
  •  Is each class addressing a meaningful problem domain? 
  •  An example of bad functional separation: Everything in one big file with very large functions and many global variables. 

 

ξ Loose coupling 

  •  Can parts of the codebase be modified in isolation? Would changing one portion require significant changes throughout the codebase? 
  •  Is data passed between components in a structured way? 
  •  An example of good loose coupling is when functionality can be re-used in multiple components and potentially different projects. 

 

 Extensibility 

  •  Would it be easy to add more functionality? (more operations, more numerical accuracy, interactivity, variables, etc) 
  •  Can extra functionality be added to the program with minimal changes? Such as supporting different levels of precedence? 
  •  Bad extensibility would involve many hard-coded strings that are used in multiple places. 

 

 Control flow 

  •  Are all actions of the same type handled at the same level? 
  •  Can another developer understand the logic flow of your program by reading the main entry point? 
  •  Bad control flow could be caused by exiting the program outside of the main routine. 
  •  Error handling 
  •  Are errors detected at appropriate places? Can they be collected somewhere central? 
  •  Are errors correctly thrown and caught? Are they appropriately handled in the main routine? 
  •  Is the user presented with meaningful errors when they do something incorrectly such as providing invalid input?

 


This IT Assignment has been solved by our IT 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.