Reference no: EM132320198
Assignment Portfolio
The aim of this course is to introduce students to the development of software.
This assignment addresses the learning objective: “apply knowledge of standards and tools to build, test and document systems”.
For this assignment, you will:
• create a portfolio that explains what you learned as you Made Stuff Go.
• design, code and test a program.
• create test data and import real-world data.
• write software that passes automated tests.
• plan and document how you went about developing the software.
• explain how the code and the designs are fit-for-purpose.
• You may only submit code that you have written all by yourself for this assignment.
• You may use other student’s code, but must acknowledge the author.
This assignment involves creating a Scorebook for a game of Cricket. Each student must choose a different game of cricket from the files.
For the Python version of this assessment will need to install PyYAML. Do this in Pycharm under Setting | Project Interpreter | Package. Click the + button at the top right of the package viewer , find pyYAML in the list of available packages and then click the Install Packages button at the bottom left of the dialog.
JavaScript: Create the directories, files and constructor methods.
1. Create directories and build the necessary classes.
Look at the provided index.html code on the previous page to see the required directory and file structure.
Look at the data displayed by readJSON.html to work out what attributes are needed in classes.
2. Write constructor functions for the classes.
• Model your code on the Toybox-Toy example code.
• Look at the data displayed by readJSON.html to work out what attributes to put in classes.
Python: Create the .py modules, __init__ functions and import statements.
1. Create files and build the necessary classes.
• Look at the data displayed by readYAML.py to work out what classes and attributes to put in classes.
• Model your code on the Toybox-Toy example code.
Plan this by drawing a UML class diagram.
2. Write __init__ functions for the classes.
• Tasks can be done in either (or both of) Python or JavaScript.
• You may add your work to another student’s code, but may only claim marks for code that you have written.
TASKS
1. Create the Match class and populate with info
2. Display the information about the Match
3. Add Teams to Match
4. Add Innings to the Match
5. Add Batters to each Team
6. Display Batters for each Team
7. Add Bowlers to each Team
8. Display Bowlers for each Team
9. Add Deliveries
10. DisplayDeliveries
11. Add Wickets to some Deliveries
12. DisplayDeliveries by Over
13. Display statistics about Batters
14. Display statistics about Bowlers
15. Display match Statistics
SECTION C
For a task listed in section B, draw a design level UML class diagram and a UML sequence diagram of how the code works.
SECTION D
Produce graphical displays.
NOTE: You will do a lab class on how to create graphs and charts in both Python and JavaScript.
You can produce a display for any of the following:
• Display information about the Match
• Display Batters for each Team
• Display Bowlers for each Team
• Display Deliveries
• Display Deliveries by Over
• Display statistics about Batters
• Display statistics about Bowlers
• Display match Statistics
SECTION E
For a task listed in section B, create a unit tests that establish that the code is working correctly.
NOTE: You will do a lab class on creating unit tests in JavaScript and in Python using the Jasmine testing framework.
SECTION F
Assemble a portfolio of code that shows variations of the ‘add a Part to a Whole’ pattern. Evaluate the effectiveness of your work.
Assemble a portfolio of code that shows variations of the ‘display the Parts that make up a Whole’ pattern. Evaluate the effectiveness of your work.
Assemble a portfolio of code that shows variations of another pattern that you used in this assessment. Evaluate the effectiveness of your work.