Skip to content

Latest commit

 

History

History
38 lines (22 loc) · 4.23 KB

W16_lab05.md

File metadata and controls

38 lines (22 loc) · 4.23 KB

Kevin Lee, Jimmy Le nivek325, jimmylle

a) The project is a program that allows users to create virtual flash cards in order to help the user practice rote memorization.

b) As a user, I can make flash cards so that I can memorize the information on the flash card. As a user, I can put images on each flash card so that I can learn visually. As a user, I can keep track of how many cards I got correct or incorrect so that I know what cards to focus on.

c) The softwares runs successfully. It loads up the graphical user interface which allows the user to create multiple flash cards (front & back) and put them in a deck. The software is also capable of editing or deleting cards that have already been created. The use r can keep score of how many they got correct and incorrect. Lastly, the program is capable of restartin and clearing out all the current cards.

d) As a user, I can make multiple decks so that I can group together different subjects. As a developer, I can make the software more visually appealing so that I can attract more users. As a user, I can add images for the front side of a flash card so that I can associate an image with a word or other information. As a user, I can use the quiz feature so that given a defintion of a card I can enter the term and it would automatically check if what I entered was right. As a user, I can check my high scores for a specific deck so that I can improve my score. As a user, I can see all the flash cards I currently have so that I can keep track of all the flash cards I currently have.

e) The information could be formatted into smaller blocks of related text in order to make it easier to pick out specific information instead of reading through a large wall of text. You could also conclude common bugs that show up as well as future ideas for future developers to implement.

f) The current state of the build.xml file right now is pretty good. All the target descriptions are descriptive enough and all the targets and tasks are well formatted. There doesn't seem to be any old legacy JWS stuff that needs to be removed.

g) The current issues are very clear and obvious. There are plenty of issues to work on. There isprobably 1,000 points worth of issues to solve. Each issue is clear in what needs to be resolved.

h) We added some issues. One issue was upgrading the GUI. The link of the GUI is #23 .Another issue was adding a Quiz Mode. The link for the quiz mode is #22 .

i) Overall, the source code is organized pretty well. The names of each method are straightforward and clear as to what they are supposed to accomplish. A possible improvement would be to add more comments to explain what the code is doing. Currently, they have very little comments throughout each file. Also, including Javadoc documentation for every method would be helpful so that we can view the javadoc and have all the information about the class organized in one place. In NameGame.java, in the no-arg contructor, they could have broken up the code into multiple private functions and then just call them in the constructor instead of having all those code in the constructor. For the most part, theclasses have clear connections with each other except for NameGame.java which isn't immediatly clear to what it is. We believe that NameGame.java should be renamed to NameGameGUI.java. The code is easy to read and understand. If we had to provide "one screenful of text," we would include what the program does and what it looks like, a quick tutorial of how to use the program, the names of each class, a brief description of each class, and list out the important/main methods that one who works on the code may need to know about.

j) There is no test coverage at all. There are no JUnit tests of any kind. Yes there are opportunities to improve the test coverage. We should add lots of JUnit tests to test specific features such as adding a card, removing a card, editing a card, making a new deck, etc. We can also test for abnormal/undefined behavior to see if anything breaks when you do random stuff such as trying to remove a card when a deck is empty.