This document summarizes feedback from the first part of a software engineering practical project. It discusses issues seen in student submissions, such as Java syntax errors, incomplete functionality, and problems with XML documents. It also provides examples of user interfaces and additional features students have implemented. The document encourages students to pay careful attention to instructions, use logging for development, and notes changes to the sample data file.
Salient Features of India constitution especially power and functions
Feedback on Part 1 of the Software Engineering Large Practical
1. 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
2. About Practical 1
There are 19 people taking the Software Engineering Large
Practical. There were 14 submissions, and 5 non-submisisons.
The submissions have been marked and comments returned.
The submissions varied widely.
Some project submissions contained Java syntax errors and
failed to compile. Some generated warnings. Some generated
neither errors nor warnings.
Some submissions had only limited functionality (e.g. a login
screen). Some read the XML document from the server. Some
created a database.
Some looked more more like a submission for Part 2 than
Part 1.
Stephen Gilmore Software Engineering Large Practical
3. Lessons learnt
Discovered a bug in the “submit” command which is now
being fixed.
Discovered an underspecification in the practical description,
which should explain that we are using Java 1.6 and that Java
1.7 language features are not available (such as strings in
switch statements).
Stephen Gilmore Software Engineering Large Practical
4. Point of this lecture
Give feedback on the submissions generally, rather than
individually.
Allow you to get a sense of where you are in the class.
See examples of some app designs.
Consider additional features which you might like to
implement.
Stephen Gilmore Software Engineering Large Practical
5. Java and XML problems, warnings and errors
Errors and warnings encountered are listed here.
These included syntax errors in Java (e.g. missing
semi-colons) and semantic errors (such as “variable not
declared” errors).
Some XML documents were ill-formed (e.g. not a single root
element).
Many uses of generics were not complete, and led to “raw
types”.
Many imports were never used. Some variables were not used.
Stephen Gilmore Software Engineering Large Practical
14. Java problems: Java 1.5/Java 1.6 incompatibility
ng
Stephen Gilmore Software Engineering Large Practical
15. User interfaces in development
Some submissions had more user interface code than others.
Some had working buttons, menus and textboxes.
Stephen Gilmore Software Engineering Large Practical
16. Blank screen
png
Stephen Gilmore Software Engineering Large Practical
17. Alpha version of interface: setting matriculation number
png shot 2012-10-30 at 09.35.44.png
Stephen Gilmore Software Engineering Large Practical
18. Interface and settings
png shot 2012-10-30 at 10.14.54.png
Stephen Gilmore Software Engineering Large Practical
19. Interface of alpha version
png shot 2012-10-30 at 13.26.38.png
Stephen Gilmore Software Engineering Large Practical
20. Entering a student number
png shot 2012-10-30 at 14.04.56.png
Stephen Gilmore Software Engineering Large Practical
21. Candidate lists in development
Some submissions were able to retrieve the candidate list from
the server and display this.
Some submissions just listed the names of the candidates.
Some included election statements.
Some included photographs of the candidates.
Stephen Gilmore Software Engineering Large Practical
22. Interace of alpha version — listing candidates
png shot 2012-10-30 at 15.21.16.png
Stephen Gilmore Software Engineering Large Practical
23. Listing candidates
png shot 2012-10-31 at 13.23.00.png
Stephen Gilmore Software Engineering Large Practical
24. Sign-in screen — candidates listed
png shot 2012-10-30 at 15.47.56.png
Stephen Gilmore Software Engineering Large Practical
25. Logging in and viewing candidates
png shot 2012-10-30 at 14.46.34.png
Stephen Gilmore Software Engineering Large Practical
26. Viewing candidates by category
png shot 2012-10-30 at 14.31.32.png
Stephen Gilmore Software Engineering Large Practical
27. Additional features in development
The application requires you to retrieve an XML document
from the server.
We can’t be sure that this will always succeed. What if we
have no network connection?
Stephen Gilmore Software Engineering Large Practical
28. Dealing with network connection issues
png shot 2012-10-30 at 14.34.25.png
Stephen Gilmore Software Engineering Large Practical
29. Going further: rating, deleting, and sending tweets
The other functions required by the app include rating
favoured candidates, deleting unfavoured candidates, sending
email and sending tweets.
Stephen Gilmore Software Engineering Large Practical
30. Candidates selected and rated
png shot 2012-10-30 at 15.21.40.png
Stephen Gilmore Software Engineering Large Practical
31. Rating a candidate and sending a tweet
png shot 2012-10-31 at 13.24.17.png
Stephen Gilmore Software Engineering Large Practical
32. Viewing details and rating candidates
png shot 2012-10-30 at 14.47.10.png
Stephen Gilmore Software Engineering Large Practical
33. Deleting a candidate
png shot 2012-10-30 at 14.47.52.png
Stephen Gilmore Software Engineering Large Practical
34. Database contents
Stephen Gilmore Software Engineering Large Practical
36. Database
Stephen Gilmore Software Engineering Large Practical
37. Examples of good practice
Adding logging to your app early helps you to develop it
because it gives you a deeper understanding of how your app
is working and what is not working.
You are asked to add logging to your app so why not start
now and reap the benefits?
Stephen Gilmore Software Engineering Large Practical
38. Logging: It’s great! Look how helpful it is.
ng
Stephen Gilmore Software Engineering Large Practical
39. Logging: why not start now? Seriously, it’s great.
ng
Stephen Gilmore Software Engineering Large Practical
40. Closing remarks
When implementing your app you should pay careful attention
to the instructions in the practical handout which you received
at the start of the course.
You also have now available a sample XML file with data on
the candidates in the election. Note that this is only a sample,
and not a template.
For example, all of the candidates in the sample XML file had
made three promises but this is not specified by the
regulations so it would be possible for candidates to make
more promises, or fewer.
Stephen Gilmore Software Engineering Large Practical
41. XML Update: new candidate added, with more promises
ng
Stephen Gilmore Software Engineering Large Practical
42. End of course lectures
Good luck!
Stephen Gilmore Software Engineering Large Practical