Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Add Comment
Please, Sign In to add comment