DAT602 Semester One 2021 Course Outline and Project Brief (may be adjusted)Page 1 of 6DAT602 AssessmentProject Assessment:Course:Assignment 2 ProjectDAT602 Database applicationdevelopmentAt start of the course.Given: Due At the end of the courseWeighting: 90% of the course grade Tutor:Moderator:Todd Cochrane__________ This assessment covers all course learning outcomes: 1Analyse and evaluate an existing database application design.2Apply Structured Query Language (SQL) to access and update a database3Design and implement a prototype single-user database application4Explain and compare different approaches to the management of effective concurrent data access. Total marks are 10 marks making 10% of the course grade. See the marking rubric.CONDITIONS For this assessment you are to create your own work, and reports. Hand inmaterial as specified for each session as described below and on your classwebsite, and as described in class by your tutor that may require theinclusion of a text file with an index of your work in the course drop box. APA 7TH in-text citations and references are required for any sources. Assessments may be submitted to Turnitin. All assessment work is to be done individually. All work submitted for assessment must be entirely your own.DAT602 Semester One 2021 Course Outline and Project Brief (may be adjusted)Page 2 of 6Assignment 2. ProjectThis assignment is an on-going project undertaken throughout the course. The project startswith Analysis and Design (Milestone 1). That is followed by implementation of functionalityin transactional SQL -that is tested in a command line App (Milestone 2). The project finisheswith GUI implementation and final project re-factoring (Milestone 3) See the followingtable for details:. PROJECT (made up of) covers all learning outcomes90%? Analysis and design, Storyboards and Usage Stories and Use Cases,CRUDDATABASE SCHEMA, (DDL) and TEST DATA INSERT, UPDATE, SELECT,DELETE (Milestone 1)Wednesday 24th ofMarch25%? DATABASE PROCEDURES (DML) COMMAND LINE TEST APPLICATION,application to database mapping (Milestone 2 )Wednesday 19th ofMay30%? -GUI VERSION, revision, refactoring, FINAL PROJECT HAND IN(Milestone 3)Wednesday 23rdJune35% BriefYou are to design and implement a database and a prototype game application. You will beguided by your tutor in this process, to provide the equivalent to working from an existingdatabase app.as specified in learning outcome one.The game is a single user (with multi user access to the database) live/real time 2D point-and-clicktiled map based game as follows:1. Players move around the map from one tile to another, collecting items, competing withother players who are playing on the same tiled map. Note they are not running the sameinstall of the App on a device.2. A player is logged in and registered as described in detail below.3. Players move from one tile to another by clicking on neighbouring tiles.4. Players start on the Home Tile. Apart from the Home tile only one player can be placedon each tile at time. The player who achieves the first click on an empty tile moves to thattile. Once on a tile the player can click on the items on that tile to gain or lose points. Whena player moves from the tile, the tile becomes empty.5. When a player leaves the game, their current state is kept in the database.6. When the player returns to the game the player, if the tile they were on is currently empty,they return to the tile on the map they were on when they left the game, otherwise theplayer must choose a different neighbouring tile to continue playing the game.7. Players accumulate assets (inventory) that may be used in the game play. The databasekeeps track of all the assets and the state of the player8. As the player moves, the position of the player is to be stored in the database.9. As game assets move, the position of the asset is to be stored in the database.10. Players can communicate with other characters through text chat11. A player can delete their account.12. A player can be an Administrator see details below.The game is a point and click (possibly with keystroke) controlled game that lets two ormore players play against each other at the same time on different computers through thenetwork. Players turns are to be stored in the database in such a way that the databasecan be used to implement live game play. The system you implement is to support the runof multiple copies of the game. When a player is logged in, the system displays a list of otheronline players and their highest score. Play is started by selecting an opponent who is notcurrently playing.DAT602 Semester One 2021 Course Outline and Project Brief (may be adjusted)Page 3 of 6Login and RegistrationYour game is required to keep track of players and their scores on the remote database.Players are not required to register; however, the system automatically registers playerswhen they first try to log in as follows:? When a new player name is entered, your system is to detect the new name andprompt the new user for a password and present a warning that they are about tostart as a new player.? On accepting a new password, the player name and details are added to the list ofplayers currently online.? If the player name is an existing name, the player is prompted for a password andthe password they submit is checked to see if that password is correct.? After five tries the player is locked out, and an administrator email is presented.? If an existing player succeeds at logging in, the players name and details are addedto the list of players online.Administration InterfaceAn administrator interface is to be created that includes an interface for managing lockedout players. The administrator can:? kill running games,? add new players? update data of existing players or? remove existing players.You are also to implement a prototype GUI that provides a proof of concept of all aspects asdescribed. Further details will be resolved through design discussions in class, as the projectproceeds.Marking in this project will be based on both the completion of technical systems and aclear explanation of your reasons for the design choices you made. Marks given are basedon technical expertise and appropriate rationale as assessed by your tutor.For each milestone you are to hand in a report and all your code, i.e. code in SQL andVisual Studio in a compressed project folder to your tutor by the time specified for themilestone on the due date, in a GitHUB repository. Name your project folder with DAT602Milestone N Your Name, where N is the number of the milestone.DAT602 Semester One 2021 Course Outline and Project Brief (may be adjusted)Page 4 of 6MILESTONE ONE SKETCHES plus SQL for the game.HAND OUT DATE: 22 nd February 2021HAND IN: as specified in the course outlineMilestone one is made up of 80 marks wo
rth 25% of the total marks.Before you start on your project you are to write a description of your game and draw aseries of storyboard like sketches and write about the interaction of all aspects of your game.The description and its accompanying sketches are to be complete by the Wednesday of thefirst week. At which point your tutor will discuss your proposed game and suggest that youundertake less or more.For milestone one, write a single report that include all pictorial and analysis diagrams anddescribes what you implemented and the rationale for the choices you made as youundertook Screen Design, Storyboarding, CRUD analysis and wrote the SQL in the following:1. A graphical design for your game. Include Screen Design, Storyboarding, and writtendescriptions of usage scenarios. We will introduce an OO Analysis and design method inclass. Which is the recommended approach. However, you may include and use anyother analysis and design technique to support your analysis of requirements anddesign as long as the approach you take is equivalent.In class design sessions will guide you.Marks are given for designing for:? Live game play, [4]? Player registration, [4]? Player selection [4]? Confirmation for a game [4]? Game administration functions. [4](20 marks)2. Draw a CRUD table as part of your analysis for your game system. In class designsessions will guide you.Marks deducted for errors and work that is missing.(10 marks)3. Draw a logical entity relationship diagram using Crows foot notation to depict yourdatabase. In class design sessions will guide you.Marks deducted for errors and work that is missing.(10 marks)4. Write and test All the DDL SQL required to create the tables and relations betweentables that support your game. These are to be implemented as one SQL PROCEDUREthat makes all the tables, imposes constraints on data in the tables and relationsbetween tables. In class design sessions will guide you.Marks deducted for errors and work that is missing.(20 marks)5. Write and test a set of queries that UPDATE, INSERT, DELETE and SELECT from each andevery one of your tables. Include a set of relevant test data.In class design sessions will guide you.Marks deducted for errors and work that is missing.(20 marks)DAT602 Semester One 2021 Course Outline and Project Brief (may be adjusted)Page 5 of 6MILESTONE TWO Implement a command line test in the selected programming languagefor the game using DML statements in DB procedures/transactions.HAND OUT DATE: 22nd of February 2021HAND IN: as specified in the course outlineMilestone two is made up of 60 marks worth 30% of the total marks.For milestone two, hand-in all code you have written in SQL and Visual Studio, write a singlereport that describes what you implemented and the rationale for the choices you made asyou undertook the following:? From your previous analysis and design Identify each activity and develop SQLPROCEDURES (and TRANSACTIONS) for all of your games activities. Develop a set oftest SQL PROCEDURES that demonstrate the running of games. Including such thingsas? Live game play, [4]? Player registration, [4]? Player selection [4]? Confirmation for a game [4]? Game administration functions. [4](20 marks)? Describe how your system supports multi-player game play, in terms of transactionsand database table specification in the target DBMS. Discuss how the transactions arereliable in terms of the acronym ACID:o Atomicity [4]o Consistency [4]o Isolation [4]o Durability [4](16 marks)? Create a suitable set of test data for the whole game.Include all cases identified in your CRUD analysis.Marks are deducted for errors. (10 marks)? In Visual Studio (CLR).net, implement a CLASS called Test in your games namespacethat runs all the procedures and functions you defined in SQL. (Checks connection toSQL and SQL)Marks are deducted for errors. (10 marks)? In a Main method for your command line test application, write .net code thatinstantiates your Test class, and calls all of the methods with suitable parameters.Marks are deducted for errors. (Checks they get called);(4 marks).Include in your report, how you relate your selection of test data to your earlier analysis,and sketches of interactions depicted in your earlier storyboards. Refine your understandingof the scenarios of the game. Identify specific scenarios from your design. Refine, developand refactor your SQL to meet these. Marks are given for describing your rationale andprocesses, as well as plain descriptions of the database and application you are developing.DAT602 Semester One 2021 Course Outline and Project Brief (may be adjusted)Page 6 of 6MILESTONE THREE Implement a database connected GUI prototype for the gameHAND OUT DATE: 22nd of February 2021DUE DATE: as specified in the course outlineMilestone three is made up of 50 marks worth 35% of the total marks.1. For milestone three, write a single report that includes all the work frommilestones one and two. Your project, is to include all adjustments as suggested infeedback given on your work at Milestone One and Milestone Two, see thefollowing.The report is assessed by considering the following:a. Sketches of interactions in storyboards. These must cover all interactionsdescribed in the project brief and must be accompanied by writtennarrative that describes the interactions. [2]b. The report includes descriptions of the design of usage scenarios of thegame. [2]c. The report describes all use cases from your storyboards. [2]d. The report refers to SQL that has been refined, developed and refactored tomeet use cases. [2]e. The report includes a written description of how you implemented yourgames GUI prototype.[2](10 marks)2. Extend your work in Visual Studio (CLR).net to include a series of Windows Forms.There is to be one for each screen or layout in your game. The forms are to work,passing data from the fields to event handlers. You are to implement at least:? the log in, [2]? choosing from a list of online and available players, [2]? game confirmation, [2]? a game display, [2] ?(10 marks)an administrators window allowing for player detail display. [2] 3. Create a class that has methods for each of your previously defined SQL databaseprocedures. This class is to provide all functionality implemented in the database.? Each method is to be activated by some action relevant to yourgame, even if it is a simple test button that causes the action. [5]? You are to check user login by calling a method in this routine. [3]? You are to produce a list of online and available players and displaythem in a DATAGRID (or equivalent). [4]? You are to implement selection from the DATA GRID.[3](15 marks)4. Implement one genuine interaction in the prototype that causes a player to move inyour game. (5 marks).Marks are given for describing your rationale and processes, as well as plain descriptions ofthe database and application you are developing.