Created
June 11, 2010 06:04
-
-
Save adampetrovic/434110 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Marking scheme for Electronic Book Store | |
======================================== | |
Username: 308165721 | |
Automarking tests | |
----------------- | |
1/1 create user: base (*) | |
1/1 create user: duplicate | |
1/1 create user: 2nd user | |
1/1 set password: successful (*) | |
1/1 set password: not logged in | |
1/1 set password: not logged in after logging out | |
1/1 set credit card: successful (*) | |
1/1 set credit card: not logged in | |
1/1 clear credit card: successful (*) | |
1/1 clear credit card: not logged in | |
1/1 get user: successful (*) | |
1/1 get user: successful - 2nd user | |
1/1 get user: not logged in | |
1/1 login: successful (*) | |
1/1 login: unsuccessful - wrong password | |
1/1 login: unsuccessful - non-existent user | |
1/1 logout: not logged in - lecture example | |
1/1 logout: logged in (*) | |
1/1 logout: not logged in after logged out | |
1/1 get categories: empty | |
1/1 get categories: one category | |
1/1 get categories: two categories - sort order (*) | |
1/1 get category: non-existent category | |
1/1 get category: titles - sort order | |
1/1 add book: new book (*) | |
1/1 add book: two different books | |
1/1 add book: duplicate book | |
1/1 add book: two categories | |
1/1 add book: two categories same title | |
1/1 add book: reusing a title | |
1/1 remove book: first of two (*) | |
1/1 remove book: second of two | |
1/1 remove book: nonexistent title | |
1/1 remove book: nonexistent category | |
1/1 protect book (*) | |
1/1 protect book: nonexistent title | |
1/1 protect book: nonexistent category | |
1/1 clear cart (*) | |
1/1 clear cart: not logged in | |
1/1 add book to cart: (*) | |
1/1 add book to cart: not logged in | |
1/1 add book to cart: non existent category | |
1/1 add book to cart: non existent title | |
1/1 remove book from cart: (*) | |
1/1 remove book from cart: not logged in | |
1/1 remove book from cart: non existent category | |
1/1 remove book from cart: non existent title | |
-/1 remove book from cart: book not in cart | |
1/1 purchase cart: not logged in | |
1/1 purchase cart: free books (*) | |
1/1 purchase cart: non free books (*) | |
1/1 purchase cart: non free books no credit card | |
1/1 purchase cart: protected books | |
1/1 purchase cart: mixed cart (*) | |
1/1 download: not logged in | |
1/1 download: not purchased | |
1/1 download: added but not purchased | |
1/1 download: purchased (*) | |
1/1 clear machines: not logged in | |
1/1 clear machines: empty list | |
1/1 clear machines: non-empty list (*) | |
1/1 add machine: not logged in | |
1/1 get machines: not logged in | |
1/1 get machines: empty list | |
1/1 get machines: non-empty list (*) | |
1/1 get machines: on limit | |
1/1 get machines: over limit | |
====== | |
66/67 = 3/3 | |
Testing was unforgiving with regards to non-specified output being | |
emmitted by the programme: debugging output left in would have caused | |
problems. [C == Did not compile. T == Terminated by signal (usually | |
SIGALRM but could be SIGSEGV or SIGBUS).] | |
Handmarking | |
----------- | |
UML object-type model /2 Sensible refinement of subject | |
0: Major errors/bad design, | |
e.g. setter/getter-based | |
1: More right that wrong, | |
clearly responsibility-based | |
2: Sensible with only minor errors | |
UML technical model /3 +1: Must match code | |
+1: Sensible use of design patterns | |
+1: Clear refinement of object-type model | |
Design open to extension /1 Design must follow open/closed principle | |
Code style /3 +1: Must be readable, consistent | |
+1: Must have comments | |
-1: #inclusion of .cc files | |
+1: Not one big .cc file; separate .cc/.h | |
Test suite completeness /3 0: No automated test of coverage of even | |
base cases (marked as *) or unit tests | |
1: Automated: most 'basic' functionality | |
2: Automated: good negative case coverage | |
3: Automated:coverage comparable to above | |
-1: no unit tests for C++ classes | |
=== | |
/12 | |
-------------------------------------------------------------------------- | |
3/3 + /12 = /15 | |
Tutor's signature: _______________________________________________________ | |
::::: T000.create_user:_base.output ::::: | |
::::: T001.create_user:_duplicate.output ::::: | |
::::: T002.create_user:_2nd_user.output ::::: | |
::::: T003.set_password:_successful.output ::::: | |
::::: T004.set_password:_not_logged_in.output ::::: | |
::::: T005.set_password:_not_logged_in_after_logging_out.output ::::: | |
::::: T006.set_credit_card:_successful.output ::::: | |
::::: T007.set_credit_card:_not_logged_in.output ::::: | |
::::: T008.clear_credit_card:_successful.output ::::: | |
::::: T009.clear_credit_card:_not_logged_in.output ::::: | |
::::: T010.get_user:_successful.output ::::: | |
::::: T011.get_user:_successful_-_2nd_user.output ::::: | |
::::: T012.get_user:_not_logged_in.output ::::: | |
::::: T013.login:_successful.output ::::: | |
::::: T014.login:_unsuccessful_-_wrong_password.output ::::: | |
::::: T015.login:_unsuccessful_-_non-existent_user.output ::::: | |
::::: T016.logout:_not_logged_in_-_lecture_example.output ::::: | |
::::: T017.logout:_logged_in.output ::::: | |
::::: T018.logout:_not_logged_in_after_logged_out.output ::::: | |
::::: T019.get_categories:_empty.output ::::: | |
::::: T020.get_categories:_one_category.output ::::: | |
::::: T021.get_categories:_two_categories_-_sort_order.output ::::: | |
::::: T022.get_category:_non-existent_category.output ::::: | |
::::: T023.get_category:_titles_-_sort_order.output ::::: | |
::::: T024.add_book:_new_book.output ::::: | |
::::: T025.add_book:_two_different_books.output ::::: | |
::::: T026.add_book:_duplicate_book.output ::::: | |
::::: T027.add_book:_two_categories.output ::::: | |
::::: T028.add_book:_two_categories_same_title.output ::::: | |
::::: T029.add_book:_reusing_a_title.output ::::: | |
::::: T030.remove_book:_first_of_two.output ::::: | |
::::: T031.remove_book:_second_of_two.output ::::: | |
::::: T032.remove_book:_nonexistent_title.output ::::: | |
::::: T033.remove_book:_nonexistent_category.output ::::: | |
::::: T034.protect_book.output ::::: | |
::::: T035.protect_book:_nonexistent_title.output ::::: | |
::::: T036.protect_book:_nonexistent_category.output ::::: | |
::::: T037.clear_cart.output ::::: | |
::::: T038.clear_cart:_not_logged_in.output ::::: | |
::::: T039.add_book_to_cart:.output ::::: | |
::::: T040.add_book_to_cart:_not_logged_in.output ::::: | |
::::: T041.add_book_to_cart:_non_existent_category.output ::::: | |
::::: T042.add_book_to_cart:_non_existent_title.output ::::: | |
::::: T043.remove_book_from_cart:.output ::::: | |
::::: T044.remove_book_from_cart:_not_logged_in.output ::::: | |
::::: T045.remove_book_from_cart:_non_existent_category.output ::::: | |
::::: T046.remove_book_from_cart:_non_existent_title.output ::::: | |
::::: T047.remove_book_from_cart:_book_not_in_cart.output ::::: | |
book 0 added book 0 added | |
book 1 added book 1 added | |
user 0 created user 0 created | |
logged in logged in | |
title error | category error | |
::::: T048.purchase_cart:_not_logged_in.output ::::: | |
::::: T049.purchase_cart:_free_books.output ::::: | |
::::: T050.purchase_cart:_non_free_books.output ::::: | |
::::: T051.purchase_cart:_non_free_books_no_credit_card.output ::::: | |
::::: T052.purchase_cart:_protected_books.output ::::: | |
::::: T053.purchase_cart:_mixed_cart.output ::::: | |
::::: T054.download:_not_logged_in.output ::::: | |
::::: T055.download:_not_purchased.output ::::: | |
::::: T056.download:_added_but_not_purchased.output ::::: | |
::::: T057.download:_purchased.output ::::: | |
::::: T058.clear_machines:_not_logged_in.output ::::: | |
::::: T059.clear_machines:_empty_list.output ::::: | |
::::: T060.clear_machines:_non-empty_list.output ::::: | |
::::: T061.add_machine:_not_logged_in.output ::::: | |
::::: T062.get_machines:_not_logged_in.output ::::: | |
::::: T063.get_machines:_empty_list.output ::::: | |
::::: T064.get_machines:_non-empty_list.output ::::: | |
::::: T065.get_machines:_on_limit.output ::::: | |
::::: T066.get_machines:_over_limit.output ::::: | |
g++ -g -c -o Main.o Main.cc | |
g++ -g -c -o ShopFacade.o ShopFacade.cc | |
g++ -g -c -o Shop.o Shop.cc | |
g++ -g -c -o UserStorage.o UserStorage.cc | |
g++ -g -c -o User.o User.cc | |
g++ -g -c -o ItemStorage.o ItemStorage.cc | |
g++ -g -c -o CreditCard.o CreditCard.cc | |
g++ -g -c -o Book.o Book.cc | |
flex scanner.ll | |
g++ -g -c -o parser.o parser.cc | |
g++ -g -c -o driver.o driver.cc | |
g++ -g -c -o lex.Shop.o lex.Shop.cc | |
rm -f libinterface.a | |
ar cq libinterface.a lex.Shop.o parser.o driver.o | |
ranlib libinterface.a | |
g++ -g -L. -o shop Main.o ShopFacade.o Shop.o UserStorage.o User.o ItemStorage.o CreditCard.o Book.o -linterface |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment