Installing Visual Studio
This assignment will allow to practice the Pair Programming. You are required to logically extend the functions of a Game discussed during the Lectures. For this assignment, you have to modify an existing code base, prepare a documentation and implement various user stories. Due Date: Fri, June 01, 2018 - 16:00 (Week 11) Weighting: 20% Submission: via Moodle Refer to Course Description, especially in regard to: Extensions, Special Consideration, Late Submissions, and Plagiarism. Learning Outcome Assessed The following course learning outcomes are assessed by completing this assessment:
? To be familiar with Pair programming and to enjoy the advantages of this technique
? Applying software design principles to design and document software
? Operating CASE software to document the design of a piece of software
? Applying an appropriate software development methodology to the development of a software system in pair programming
? Develop complex software systems in accordance with industry standard development methodologies and practices Introduction: Maze Game is introduced to you during the lectures. You are required to logically extend the functionality of the game via the modification of the code base as well as documentation and implementation of various user stories. You will use the Boost methodology discussed during lectures, which requires the use of pair programming.
This pair programming in mandatory for this assignment and you have to discuss the matter with your lecturer for any exception. The code base provided for this assignment has already been implemented with “warm up” and some “sets”. You will be implementing numerous other “sets” for this assignment using the Boost methodology. Before starting the assignment, it is highly recommended for you to spend a few minutes to be familiarize with the given code, especially to understand the roles of each class plays within the system. CRICOS Provider No: 00103D 2/4 Requirements: In Pairs:
Task-1. Design and implement a custom environment for your maze game. This requires producing your own unique hand-drawn map of the maze game environment and changing the HardCodedData file to reflect the locations and items on your map. At least M (M>4) locations, including Exactly N (N>2) shops with a condition M>N, must be included, as well as enough items to allow for proper testing of the game functionality. For example, there must be sufficient items to verify that a player cannot collect an item if the weight restriction has been met. Note: you should not retain the original locations or items from the provided code base in your version of the game. Task-2. Write down the functionalities as detailed in Lab 7 and Lab 8 according to Behavioral Driven Development (BDD). For more details about BDD, see Appendix-1. Task-3. Implement each of the following deliverables / milestones:
Creating a Console Application Project
a. functionalities or scenarios developed in Task-2
b. commands to manage the various item management commands: i. listItems, getItem and dropItem, to allow listing of all held items, collect a new item and drop a held item. ii. equipItem and unequipItem, to wear / wield a held item, and to stop wearing or wielding an equipped item. iii. purchaseItem and sellItem, to buy an item from a vendor and to sell an item to a vendor. Ensure that weight restrictions are not exceeded and that the context for each command is appropriate. For example, purchasing and selling of items should only occur in a shop.
c. basic combat functions, allowing a player to attack or to be attacked by a non-player character (NPC). A player may flee combat or continue to attack until such time as one combatant loses all life points. The end result must not be hard-coded, and neither the hostile NPCs nor player may have their attributes configured in such a way that the final outcome is pre-determined. Note that combat functions should only be available when the player is in the presence of a hostile NPC, and combat may take whatever form is appropriate for your game context rather than being limited to just hits with a weapon.
Task-4. Produce a nice power-point/latex presentation (maximum 20 slides) describing the steps to play and how it is implemented. Discuss about the role of design patterns in the game, clearly identifying the functionality where design patterns have had an impact and how this has occurred. Reflect on the use of a development methodology in creating the game. Clearly mention about an additional feature that could be incorporated in the software. Show the BDD statements in a few slides that you have developed for Task-2. Task-5. Prepare a Jira account (one account for a team), and create Tickets (story) that you are planning to do. A jira ticket/story is a small job that is assigned to any of you and there is an estimation of how long it will take time to finish the job. You can divide the jira board into 5 vertical sections: Ready to Development, In Development, Ready to Test, In Test and Done. Once a ticket is ready to move from one column to another, move it accordingly. Provide the user name and password in the report so that the Lecturer can verify your development activity directly from your Jira account.
Prepare a nice summary of your Jira activity which will include the screenshot of your Jira board and the burndown chart. CRICOS Provider No: 00103D 3/4 Individually: Task-6: Prepare an individual report, to be submitted as a Word document or a PDF, which includes: a. The student number and name of each person on your team (including yourself) b. Sequence diagrams for two (2) of the item management commands, taken from separate groupings. c. Statement of your own personal contribution to the assignment d. A statement of your partner’s contribution to the assignment. Do not work with your partner or any other person to complete your individual report. These must be unique and your own work.
Please note that assignments will NOT be marked and zero marks will be allocated if the individual statements of personal and partner contributions are not submitted. e. Maintain your timing using punchtime and submit the report in pdf format.for more details about punchtime. Submission: Each student must submit a single zip file which contains all assignment files in the Assignment 2 submission box provided in Moodle. Submission files include the code files, power-point file, an individual report containing your student number, name, your partner’s student number and name, pdfs for JIRA-board and punchtime outputs, the contribution statements.
Installing Visual Studio
´At first we need to install latest visual studio application to built our application.
´For installing the latest visual studio application we need at least 2gb ram and 250 hard disk.
´Then open the new project under the console application menu and under visual C#
´Start the Visual Studio.
´On the menu bar, choose the File, New, Project. ...
´Expand Installed and expand Templates, expand Visual C#, and choose Console Application.
´And then in Name box, specify a name for your project, and then choose the OK button.
´open the new project under the console application menu and under visual C#.
´And create the files with .cs extensions where cs stands for c sharp.
´Once you clicked under the new project one pop menu shows you like project starting and that is the conformation.
´Once the project is created make sure that the solution explorer is present in the screen or not.
´because The new project appears in Solution Explorer.
´The Program.cs is not opened in the Code Editor, then open the shortcut menu for Program.cs in Solution Explorer, and choose View Code.
´Replace the contents of Program.cs with the following code
´Press f5 button to run the project
´Or click the start project option which is available in the top of the menu.
´If it is not running then check your program has any errors or compiled correctly or not.
´Make sure the program has proper imports are there to start a game file and make sure proper imports like collections generic ,linq,text,tasks and diagnostics.
´And make sure the property that sets windows size and color backgrounds etc.
´Color plays an important role in the maze game because it only shows color of the background as well as the foreground.
´In this slide we explains how to set the property value
´Using that displayer input the values according to the games length and width
´To built the maze game we need to give property value and using output displayer i.e,. console.writeline() .
´Give the proper value accordingly for set the cursor and console etc.
´BDD (behavior driven-development is completely different with TDD (test driven development).
´The main and primary goal of the BDD is solute and solve the problem of communication of between the engineering team and business team.
´ The business team will handle the business functionalities and the engineering team will handle the machines.
Advantages of BDD
´. Simple language: the language used in the bdd is straight forward language and understandable even every member of the team.
´2. Focus: it focuses on a product behavioral other than the focusing on testing and the technical implementations through the individual units.
´3. Efficiency: it is very easy to reverse the scenarios into the automatic or auto mated tests.
´4. Using scenarios: BDD is designed for speeding up the development and also no need to write artifacts for acceptance criteria, requirements, test scripts and test cases.
How to do BDD scenario works with the user stories?
´Use Jira account and do the following
´1. Users story-describe the requirements from the perspective of a user.
´2. Behavior driven-development scenarios-include the scenarios and the behavior to assist with testing.