42
Software Engineering Large Practical Feedback on Part 1 of the Practical Stephen Gilmore School of Informatics, University of Edinburgh November 7th, 2012 Stephen Gilmore Software Engineering Large Practical

Feedback on Part 1 of the Software Engineering Large Practical

Embed Size (px)

DESCRIPTION

This slide set describes the submissions which were received for Part 1 of the Software Engineering Large Practical.

Citation preview

Page 1: Feedback on Part 1 of the Software Engineering Large Practical

Software Engineering Large Practical

Feedback on Part 1 of the Practical

Stephen Gilmore

School of Informatics, University of Edinburgh

November 7th, 2012

Stephen Gilmore Software Engineering Large Practical

Page 2: Feedback on Part 1 of the Software Engineering Large Practical

About Practical 1

I There are 19 people taking the Software Engineering LargePractical. There were 14 submissions, and 5 non-submisisons.

I The submissions have been marked and comments returned.I The submissions varied widely.

I Some project submissions contained Java syntax errors andfailed to compile. Some generated warnings. Some generatedneither errors nor warnings.

I Some submissions had only limited functionality (e.g. a loginscreen). Some read the XML document from the server. Somecreated a database.

I Some looked more more like a submission for Part 2 thanPart 1.

Stephen Gilmore Software Engineering Large Practical

Page 3: Feedback on Part 1 of the Software Engineering Large Practical

Lessons learnt

I Discovered a bug in the “submit” command which is nowbeing fixed.

I Discovered an underspecification in the practical description,which should explain that we are using Java 1.6 and that Java1.7 language features are not available (such as strings inswitch statements).

Stephen Gilmore Software Engineering Large Practical

Page 4: Feedback on Part 1 of the Software Engineering Large Practical

Point of this lecture

I Give feedback on the submissions generally, rather thanindividually.

I Allow you to get a sense of where you are in the class.

I See examples of some app designs.

I Consider additional features which you might like toimplement.

Stephen Gilmore Software Engineering Large Practical

Page 5: Feedback on Part 1 of the Software Engineering Large Practical

Java and XML problems, warnings and errors

I Errors and warnings encountered are listed here.

I These included syntax errors in Java (e.g. missingsemi-colons) and semantic errors (such as “variable notdeclared” errors).

I Some XML documents were ill-formed (e.g. not a single rootelement).

I Many uses of generics were not complete, and led to “rawtypes”.

I Many imports were never used. Some variables were not used.

Stephen Gilmore Software Engineering Large Practical

Page 6: Feedback on Part 1 of the Software Engineering Large Practical

Java problems: syntax errors

shot 2012-10-30 at 08.46.16.png

Stephen Gilmore Software Engineering Large Practical

Page 7: Feedback on Part 1 of the Software Engineering Large Practical

XML errors: “junk after document element”

shot 2012-10-30 at 08.47.35.png

Stephen Gilmore Software Engineering Large Practical

Page 8: Feedback on Part 1 of the Software Engineering Large Practical

Java problems: “cannot be resolved” or is not a field

shot 2012-10-30 at 15.33.55.png

Stephen Gilmore Software Engineering Large Practical

Page 9: Feedback on Part 1 of the Software Engineering Large Practical

XML problems: no resource found

shot 2012-10-30 at 15.33.14.png

Stephen Gilmore Software Engineering Large Practical

Page 10: Feedback on Part 1 of the Software Engineering Large Practical

Java problems: generics and raw types

shot 2012-10-30 at 15.46.47.png

Stephen Gilmore Software Engineering Large Practical

Page 11: Feedback on Part 1 of the Software Engineering Large Practical

Java problems: imports not used

shot 2012-10-30 at 15.05.36.png

Stephen Gilmore Software Engineering Large Practical

Page 12: Feedback on Part 1 of the Software Engineering Large Practical

Unused imports in Java code

shot 2012-10-31 at 13.21.37.png

Stephen Gilmore Software Engineering Large Practical

Page 13: Feedback on Part 1 of the Software Engineering Large Practical

Java problems: variables not used

shot 2012-10-30 at 15.21.10.png

Stephen Gilmore Software Engineering Large Practical

Page 14: Feedback on Part 1 of the Software Engineering Large Practical

Java problems: Java 1.5/Java 1.6 incompatibility

shot 2012-10-30 at 14.44.06.png

Stephen Gilmore Software Engineering Large Practical

Page 15: Feedback on Part 1 of the Software Engineering Large Practical

User interfaces in development

I Some submissions had more user interface code than others.

I Some had working buttons, menus and textboxes.

Stephen Gilmore Software Engineering Large Practical

Page 16: Feedback on Part 1 of the Software Engineering Large Practical

Blank screen

shot 2012-10-30 at 15.12.55.png

Stephen Gilmore Software Engineering Large Practical

Page 17: Feedback on Part 1 of the Software Engineering Large Practical

Alpha version of interface: setting matriculation number

shot 2012-10-30 at 09.28.54.png shot 2012-10-30 at 09.35.44.png

Stephen Gilmore Software Engineering Large Practical

Page 18: Feedback on Part 1 of the Software Engineering Large Practical

Interface and settings

shot 2012-10-30 at 10.01.19.png shot 2012-10-30 at 10.14.54.png

Stephen Gilmore Software Engineering Large Practical

Page 19: Feedback on Part 1 of the Software Engineering Large Practical

Interface of alpha version

shot 2012-10-30 at 13.26.21.png shot 2012-10-30 at 13.26.38.png

Stephen Gilmore Software Engineering Large Practical

Page 20: Feedback on Part 1 of the Software Engineering Large Practical

Entering a student number

shot 2012-10-30 at 14.03.45.png shot 2012-10-30 at 14.04.56.png

Stephen Gilmore Software Engineering Large Practical

Page 21: Feedback on Part 1 of the Software Engineering Large Practical

Candidate lists in development

I Some submissions were able to retrieve the candidate list fromthe server and display this.

I Some submissions just listed the names of the candidates.

I Some included election statements.

I Some included photographs of the candidates.

Stephen Gilmore Software Engineering Large Practical

Page 22: Feedback on Part 1 of the Software Engineering Large Practical

Interace of alpha version — listing candidates

shot 2012-10-30 at 11.19.42.png shot 2012-10-30 at 15.21.16.png

Stephen Gilmore Software Engineering Large Practical

Page 23: Feedback on Part 1 of the Software Engineering Large Practical

Listing candidates

shot 2012-10-31 at 13.22.41.png shot 2012-10-31 at 13.23.00.png

Stephen Gilmore Software Engineering Large Practical

Page 24: Feedback on Part 1 of the Software Engineering Large Practical

Sign-in screen — candidates listed

shot 2012-10-30 at 15.47.11.png shot 2012-10-30 at 15.47.56.png

Stephen Gilmore Software Engineering Large Practical

Page 25: Feedback on Part 1 of the Software Engineering Large Practical

Logging in and viewing candidates

shot 2012-10-30 at 14.46.29.png shot 2012-10-30 at 14.46.34.png

Stephen Gilmore Software Engineering Large Practical

Page 26: Feedback on Part 1 of the Software Engineering Large Practical

Viewing candidates by category

shot 2012-10-30 at 14.30.43.png shot 2012-10-30 at 14.31.32.png

Stephen Gilmore Software Engineering Large Practical

Page 27: Feedback on Part 1 of the Software Engineering Large Practical

Additional features in development

I The application requires you to retrieve an XML documentfrom the server.

I We can’t be sure that this will always succeed. What if wehave no network connection?

Stephen Gilmore Software Engineering Large Practical

Page 28: Feedback on Part 1 of the Software Engineering Large Practical

Dealing with network connection issues

shot 2012-10-30 at 14.34.20.png shot 2012-10-30 at 14.34.25.png

Stephen Gilmore Software Engineering Large Practical

Page 29: Feedback on Part 1 of the Software Engineering Large Practical

Going further: rating, deleting, and sending tweets

I The other functions required by the app include ratingfavoured candidates, deleting unfavoured candidates, sendingemail and sending tweets.

Stephen Gilmore Software Engineering Large Practical

Page 30: Feedback on Part 1 of the Software Engineering Large Practical

Candidates selected and rated

shot 2012-10-30 at 15.21.26.png shot 2012-10-30 at 15.21.40.png

Stephen Gilmore Software Engineering Large Practical

Page 31: Feedback on Part 1 of the Software Engineering Large Practical

Rating a candidate and sending a tweet

shot 2012-10-31 at 13.23.25.png shot 2012-10-31 at 13.24.17.png

Stephen Gilmore Software Engineering Large Practical

Page 32: Feedback on Part 1 of the Software Engineering Large Practical

Viewing details and rating candidates

shot 2012-10-30 at 14.46.47.png shot 2012-10-30 at 14.47.10.png

Stephen Gilmore Software Engineering Large Practical

Page 33: Feedback on Part 1 of the Software Engineering Large Practical

Deleting a candidate

shot 2012-10-30 at 14.47.46.png shot 2012-10-30 at 14.47.52.png

Stephen Gilmore Software Engineering Large Practical

Page 34: Feedback on Part 1 of the Software Engineering Large Practical

Database contents

shot 2012-10-30 at 13.50.20.png

Stephen Gilmore Software Engineering Large Practical

Page 35: Feedback on Part 1 of the Software Engineering Large Practical

Viewing the database

shot 2012-10-30 at 15.51.27.png

Stephen Gilmore Software Engineering Large Practical

Page 36: Feedback on Part 1 of the Software Engineering Large Practical

Database

shot 2012-10-31 at 13.31.46.png

Stephen Gilmore Software Engineering Large Practical

Page 37: Feedback on Part 1 of the Software Engineering Large Practical

Examples of good practice

I Adding logging to your app early helps you to develop itbecause it gives you a deeper understanding of how your appis working and what is not working.

I You are asked to add logging to your app so why not startnow and reap the benefits?

Stephen Gilmore Software Engineering Large Practical

Page 38: Feedback on Part 1 of the Software Engineering Large Practical

Logging: It’s great! Look how helpful it is.

shot 2012-10-30 at 14.20.57.png

Stephen Gilmore Software Engineering Large Practical

Page 39: Feedback on Part 1 of the Software Engineering Large Practical

Logging: why not start now? Seriously, it’s great.

shot 2012-10-30 at 15.11.05.png

Stephen Gilmore Software Engineering Large Practical

Page 40: Feedback on Part 1 of the Software Engineering Large Practical

Closing remarks

I When implementing your app you should pay careful attentionto the instructions in the practical handout which you receivedat the start of the course.

I You also have now available a sample XML file with data onthe candidates in the election. Note that this is only a sample,and not a template.

I For example, all of the candidates in the sample XML file hadmade three promises but this is not specified by theregulations so it would be possible for candidates to makemore promises, or fewer.

Stephen Gilmore Software Engineering Large Practical

Page 41: Feedback on Part 1 of the Software Engineering Large Practical

XML Update: new candidate added, with more promises

shot 2012-11-05 at 16.46.12.png

Stephen Gilmore Software Engineering Large Practical

Page 42: Feedback on Part 1 of the Software Engineering Large Practical

End of course lectures

I Good luck!

Stephen Gilmore Software Engineering Large Practical