Skip to content

Latest commit

 

History

History
21 lines (11 loc) · 2.87 KB

F17_lab03.md

File metadata and controls

21 lines (11 loc) · 2.87 KB

Tianyi M, Chucheng L

a) This project converts a java program to an android application. The main function of this application is to give tests to the users, which is about converting number to different bases.

b) As a user, I can enter my name and I got welcome message back. As a user, I want to calculate division of two numbers, so that I enter two numbers into the calculator. As a user, I want to test my whether I understand conversion between decimal number and Hexdecimal number, I can start a quiz with 6 questions.

c) The application runs. After entering my name, I can start different type of quiz. It can be also used as a calculator to convert number to different bases, such as from decimal to hexdecimal.

d) As a user, I would like to have a summary of my test result, for example, which questions is wrong, so that I can review the wrong questions. As a user, I would like to calculate numbers in different number base, such as decimal add hexdecimal. As a user, I would like to have some inspiring words after I got 100 scores in a quiz.

e) The README records explicitly and clearly the progress of entire software development and as well contains clean instructions on how to run the software. Formatting is clean and formally, while content is easy to understand. However, it lacks essential information for folks maintaining the software to understand, such as how each class works together and dependency to the specific XML file.

f) This is an android application developed in Android Studio, compiling and building is nicely handled by the IDE and therefore no build.xml is provided.

g) There are enough issues awaiting us to resolve. Far more than 1000pts can we earn if we solve them all. The description of each issue is very concise, but some of them may need more clarification.

h) There are no issues to be added.

i) The actual code is organized very well. The naming of classes and their methods are precise and straightforward. The purpose and functionality can be understood without too much effort by merely looking at their names. The application contains three main activities: calculator, quiz, and converter; and each activity contains several its own sub-activities. So basically, it is very clean that one class implements one activity. However, the relations between classes are not easy to figure out at the first glance. Comments are sporadic and I really recommend someone new to this project to read both the java code and its corresponding XML file in order to have a clue about how this pile of code actually runs.

j) Some JUnit tests are provided but they are not yet sufficient. Even though some basic functions of the application, such as calculation and conversion between different bases, are covered by the test, the quality and quantity of test cases definitely need to be improved. Also, special cases such as divided-by-zero or data outflow shall be covered in the test.