Statistics for phw03: ======= Graph =================================== 96-100: * 91- 95: * 86- 90: * 81- 85: * 76- 80: ** 71- 75: ** 66- 70: **** 61- 65: ** 56- 60: 51- 55: 46- 50: 41- 45: ** 36- 40: * 31- 35: ** 26- 30: * 21- 25: * 16- 20: ********* 11- 15: *** 6- 10: ** 1- 5: -4- 0: ******** ================================================= All >0 only # of candidates: 43 35 Maximum : 98 98 Minimum : 0 9 Mean : 35.883 44.085 Median : 20.0 35.0 Std. deviation : 30.629 28.125 Sun Nov 07 21:54:55 EST 2004 General outline =============== Basic web features: Initializing the server: 20% Home page: 10% Identifying information on every page: 5% Basic database features: Function pages: 10% Result pages: 20% Advanced features: PID links: 10% Input validation: 15% W3C validation: 10% Test cases ========== # For each test case: # -2 points for minor mistake. # -5 points for major error. # Points will be deducted for miscellaneous errors. # Maximum -30 for all database related errors. # Maximum -10 for all PID links related errors. # Maximum -15 for all Input validation related errors. # Maximum -10 for all W3C validation related errors. # I should be able to create and destroy tables as many times as I want. createTables destroyTables createTables # Add the given case. # If the program does not work for "Don't", # change it to "Do not" addProduct rare original IBM PC junk buyers, antique sellers 1-800-buy-junk This is the gold standard of all computers. Don't miss... 50 30 35 10.25 # check W3C validation # Add another product with a long product description. addProduct Apple G5 C programer 301-405-1111 Before you start programming, you should: * Think about which language are you going to use? C, C++, Java? * Consider to install DBMS's in your computer. You can download them from offical Oracle/PostgreSQL web site. Note that I will test and grade your programs in the environment provided by our course. * Design schemas and come up with necessary SQL statements/queries. Test them in sqlplus/psql before adding them to your program. 70 50 20 105.75 # Input validations: # check missing input # try to addProduct without width # check invalid input # type 'aaa' in width # check login # try to use an incorrect password to login # try to create table without login # add some boxes. addBox Small-box 60 60 60 20 yellow 2.00 3.99 1 addBox Large & heavy load box 100 100 100 100 black 10.00 19.99 1 addBox Medium & heavy load box 70 70 70 80 white 8.00 15.50 5 # test input without special characters searchProductByName pc # test PID links # check input with ' searchProductByName 'unix' # check empty result message # check W3C validation # test input without special characters searchProductByDesc java # test input with / searchProductByDesc statements/queries # check PID links again detailProduct Apple # update product description # change APPLE_PID to the actual PID setProductDesc APPLE_PID something new here. # update custoner's phone number with special pattern .*\ setCustomerPhone C programer 1-800-.*\-000 # What happen if I update a phone number # while the corresponding customer does not exist? setCustomerPhone lazy programer 1-800-000-000 # Can I find the special phone number? searchProductsByPhone *\.\*\\* # check W3C validation # use one small-box # it should be okay since the stock is 1 useOneBox Small-box # what happen if I use one more small-box # when the stock is 0? useOneBox Small-box # all boxes except Small-box should show out. searchBoxesForProduct APPLE_PID # check the detail for Small-box detailBox Small-box # search boxes with 30 <= load <= 40. # the result should be empty. searchBoxesByLoad 30 40