Enterprise web programming

Modules ENTWA (Level 6) and APSW (Level 7)

Feedback on APSW SWS 1 2014-2015

Task B

Task B was generally carried out competently, with differing degrees of completeness. I was disappointed that groups could not demonstrate more functionality to me.

I was impressed by the amount of preparatory work done by some of the groups, though this did not always pay off where the project management (or technical issues) on the day dominated proceedings. All groups could have done more to establish their way of working before the SWS.

Generally, each group seemed confident with JPA, EJB and JSF. The biggest technical problems seemed to surround the use of the repository.

I was generally disappointed with the amount of functionality implemented fully. Only one group really managed to join up all the layers. This confirms my initial feedback that I think it was a mistake for groups to split the work by layer - you would have been better allocating certain functionality to implement to each group member.

Note that these marks are provisional until approved by a Unit Assessment Board.

Common issues

Group A

Category

Out of

Mark

Comments

Overall functionality

10

7 Most functionality implemented.

Input validation

5

4 Requires dates in different formats in different places. No error message when I booked a full flight

User interface utility

5

4 Pretty good.

Entity and relationship storage

10

9 Very good.

Structure of classes within tiers

5

5 Fine..

Quality of code written

15

12 Pretty good. Need to write slightly clearer business functions.

TOTAL

50

41 Very good attempt.

Group B

Category

Out of

Mark

Comments

Overall functionality

10

5 No sample data created. Program crashed on making booking.

Input validation

5

3 Failed validation of correct password ("PO1 3HE"). Validators would be simpler as regexs.

User interface utility

5

3 Not much of it.

Entity and relationship storage

10

5 Not quite sure why you have separate flight and flightref classes. Poor use of java.sql.Date - always use java.util classes.

Structure of classes within tiers

5

4 Fine.

Quality of code written

15

10 Some slightly convoluted business logic. Rather than look up database entities to increment/decrement passenger numbers, simply implement a function or two on the appropriate entity class.

TOTAL

50

30 Good attempt.

Group C

Category

Out of

Mark

Comments

Overall functionality

10

3

Not possible to test because of non-responsive user interface.

Input validation

5

3 Can see that limited validation is provided, but unable to test.

User interface utility

5

1 I am rarely impressed by unrequested silly animation features.

Entity and relationship storage

10

4 Only 2 entity classes. Impossible to implement functionality correctly this way. Stores date as String rather than java.util.Calendar.

Structure of classes within tiers

5

3 JSF code for error messages put in business logic rather than controller.

Quality of code written

15

10 Bad string comparison operation. Why are there three (each) addbookflight and addpassenger functions? Poor spelling in code.

TOTAL

50

24 I recognise that your work was affected by poor performance of the computer systems much more so than other groups.

Group D

Category

Out of

Mark

Comments

Overall functionality

10

3 User interface doesn't appear to respond.

Input validation

5

3 Can see that limited validation is provided, but unable to test.

User interface utility

5

2 Simple user interface, but nothing appears to work.

Entity and relationship storage

10

7 Seems OK but can't be sure without testing.

Structure of classes within tiers

5

4 Fine.

Quality of code written

15

8 Seems to be some replicated code in the business layer. Found some Chinese characters in the NetBeans project, which should be avoided.

TOTAL

50

27 Good attempt if it had worked!
 

Last updated by Prof Jim Briggs of the School of Computing at the University of Portsmouth

 
The enterprise web programming modules include some material that was formerly part of the WEB1P and WEB2P units.