Application and Presentation Requirements
Total Page:16
File Type:pdf, Size:1020Kb

Requirements for the COMP 170 Final Project
Application and Presentation Requirements: 1. Create an application of your choice. A game can be fun and interesting to write, but you may choose any application that includes the functional requirements listed below. 2. Who is the user of this application? (It may be for personal use, or it may be for some organization/business.) 3. What is the title of this application? 4. What is the purpose of this application? 5. How will this application support the mission or the needs of the person or organization for whom it is being developed? 6. Demonstrate how this application is used (for instance, play the game). 7. Point out several of the technical specifications below. But make sure that the technical features make sense in the context of your application. For example, you might say, "The player has the option to select another weapon, but only if he or she is on the second level or has accumulated 200 points. The game then randomly offers one of five weapons, and the player can decide to accept or refuse. The program uses a compound condition to see if the player has earned a weapon, and a Random object to select a weapon.” If the code is interesting, you should then display the code. 8. Discuss what your team may have learned outside the regular class topics to implement the application – perhaps you learned to use switch statements, or structs, or … 9. Talk about the biggest challenges your team overcame in developing the application, and the things you are most proud of as a team as you completed it. 10. You will probably find it easier to take screen shots of your game and excerpt parts of the code that you want to present, and paste them into PPT slides. In this way, your presentation will be smoother; you won't rely upon scrolling through results or navigating through your application during your presentation. In addition, you won't have any unpleasant surprises if you accidentally run the wrong version, or if any other unanticipated issues arise. 11. You will have limited time (discussed in class), so keep your narration concise, and practice your presentation!
Submission Requirements: Submit the following on Sakai: 1. A copy of your PPT presentation. (one per team) 2. A zip file with your entire application. (one per team) 3. A Word (or other text file) with the text of every .cs file pasted into it, with appropriate headers for each file. (This is just a convenience for me to see all of the code at one time when grading.) (one per team) 4. A Team Participation Form. (one per person) 5. Each person must submit something on Sakai. In addition to the Team Participation Form, each person must write in the Assignment box whether he or she is submitting the application on behalf of the team (and list the team members), or whether someone else in the team is submitting the application on your behalf (and indicate who is submitting the application.) Requirements for the COMP 170 Final Project
Technical/Functional/Style Requirements: Your project must include the following C# components and programming structure/style requirements: 1. At least 3 classes, two that work together plus a separate class containing Main (like the BookList and play_games assignments). o Use of appropriate kinds of instance variables, initialized in constructors. o Implementation of constructor(s) and standard getter/setter methods (if needed) plus other required methods. o Creation and use of objects from these classes in the Main method to play and test the game. 2. Use of if/else and while/for/foreach statements plus functions/methods, possibly nested. o Functions and methods must have appropriate parameter and return types. 3. Use of arrays or Lists (“flexible arrays”), possibly Dictionaries. 4. Use of Files to hold text or numeric data rather than putting lots of strings or numbers in program source code. 5. Use of fio and ui libraries as appropriate to interface with the user at the Console and with Files. 6. Use of the Main method to control user input and output and allow the user to test the program. o Tests created in Main should exercise (all) code paths in all classes, including error cases ("safety"). o Optional: create static test functions in each of the non-test classes that can be called from Main to test those by themselves (unit tests). 7. All parts of the Project / program must be well structured using methods and functions so that the structure is easy to read and follow. Use appropriate design such as a Top - Down or stepwise refinement approach to do your implementation Use good principles of Object Oriented Design to do your implementation (encapsulation, information hiding, etc. o Clearly separate the public interfaces of classes, interfaces, and methods from their detailed internal and private implementations o If you find yourself wanting to copy the same code in multiple places, or code that only differs a little, turn that code into a function or method! 8. All code must be well written with readability in mind. Use the style conventions introduced in class and in the text, including naming and indentation. The goal is code that others can read and understand the program (and possibly modify it without your help). Requirements for the COMP 170 Final Project o Program classes and methods should have complete and concise internal documentation, not over-done but sufficient for someone who is not familiar with the program to understand it. o Remember that Xamarin Studio can indent programs for you in a consistent way.