Presentation is loading. Please wait.

Presentation is loading. Please wait.

Block 9: Assignment Briefing

Similar presentations


Presentation on theme: "Block 9: Assignment Briefing"— Presentation transcript:

1 Block 9: Assignment Briefing
Jin Sa 30-Jul-18 Client-server Programming

2 Client-server Programming
Outline of Block 9 Read assignment Questions Assignment briefing 30-Jul-18 Client-server Programming

3 Questions from students
30-Jul-18 Client-server Programming

4 Client-server Programming
What to do Organise your time well: do it early Read the assignment carefully High light all requirements Pay attention to the marking scheme Clarify your understanding with the tutor Spend effort according to the marks distribution Part 1: application (60%) Part 2: diary (40%) 30-Jul-18 Client-server Programming

5 Client-server Programming
Part 2: diary (5%) Evidence of good initial planning/design (30%) True reflection of design and code development in real-time (5%) Awareness of possible improvements, failings and limitations of application (a critical appraisal) 30-Jul-18 Client-server Programming

6 Client-server Programming
Part 2: Plan How many phases should there be? What would each phase include? What are the milestones? Time scales for the milestones. Use the special section provided in the template to make it easier for the marker to identify it. Let the marker know that you have a good idea about the work involved for this project and a sense of the amount of effort required for each part of the work. Bad example: I am planning to start the assignment this week and finished it by 5th of March. Many people did not have any plan at all. 30-Jul-18 Client-server Programming

7 Client-server Programming
Part 2: Design 1 What is your understanding of the protocol between the client and the server? Are there any assumptions that you need to make? What is the structure of your system? How many classes do you need and why do you need these classes? Do a class diagram 30-Jul-18 Client-server Programming

8 Client-server Programming
Part 2: Design 2 The server may need to keep state information to implement the protocol. How many states should there be? Why? Draw a state diagram to illustrate your algorithm, or describe the states and how to go from one state to another state E.g. the knockknock protocol includes these states: Waiting, SentKnockKnock, SentClue, etc. 30-Jul-18 Client-server Programming

9 Client-server Programming
Part 2: Design 3 You must demonstrate your rationales and reflection on your design: Describe, explain and DISCUSS the rationales for your design. What design decisions have you made? Good to demonstrate the thought process. For example you considered two alternatives, the pros and cons of these two alternatives are ….Therefore you have chosen … 30-Jul-18 Client-server Programming

10 Client-server Programming
Part 2: Design 4 Review your design: Does your design meet the requirements? Are there any potential problems? 30-Jul-18 Client-server Programming

11 Part 2: Capturing development
Demonstrating your understanding and implementation by referring to your code fragments. Describe any problem encountered and how you obtained your solution and what your solution is. Bad, but a very common, example: “I had a problem and I eventually solved it after 2 hours” What was the problem? and how you solved it. 30-Jul-18 Client-server Programming

12 Part 2:Improvements, failings and limitations
Have an explicit diary entry discussing these points Many people did not mention these at all and losing 5%. Some people did not fully implement all the requirements, mention it. If it all works, you can evaluate your design. Could it be improved? You can also mention possible extensions to include more functionalities. 30-Jul-18 Client-server Programming

13 Client-server Programming
Part 1:All versions 10% Logic Simple and clear. Easy to read and maintain code. 6% Error Trapping. Examples: Good exception handling, port in use/server unavailable Bad user entry 8% Documentation/Commenting For each class, method and where necessary, e.g. identifiers Use of suitable identifiers, layout (use Netbean’s formatting facility) 30-Jul-18 Client-server Programming

14 Client-server Programming
Part 1: Version 1 Make sure that it adheres to the protocols You can make additional assumptions about the protocols. But check with your tutor. Specify clearly precisely what the protocol is. Use appropriate states. Use suitable language constructs. 30-Jul-18 Client-server Programming

15 Client-server Programming
Part 1: Version 2 Need to consider concurrent threads accessing shared data. See examples in the lectures notes and practical sessions on Threads Tip: if you cannot get the whole thing works. Discuss your design in the diary in terms of what class you would need and what attributes and methods there should be? Any potential problem and how to solve? 30-Jul-18 Client-server Programming

16 Client-server Programming
Part 1: GUI version JOptionPane does not count as an application specific GUI in this assignment. Do not merge the business logic with the GUI. Have a separate class that deals with the GUI. Need to think about how to pass object reference so that the GUI object can be linked to the object that deals with the business logic Tip: it you cannot get it to work, do a GUI design. Draw an interface or use Netbean’s form editor to draw and interface 30-Jul-18 Client-server Programming

17 Client-server Programming
More questions? 30-Jul-18 Client-server Programming


Download ppt "Block 9: Assignment Briefing"

Similar presentations


Ads by Google