The learning goals for Week 45 are:
Mon: Networking. Wed: Quality Attributes.
Notes for this weekplan:
Most material is cursory this week. The network and TCP/IP stuff is mostly to get an overview and foundation for understanding the networking part of the Broker pattern that is the topic next week.
Lab classes should work on Mandatory iteration 8 as well as the exercises below.
Echo: Java Sockets
Skim the Java Tutorial on Sockets, and download the EchoClient and EchoServer. Compile and
- Start a server and a single client, and echo some stuff.
- Kill the server and see what happens when you type something in the client. Explain.
- Start a client without any server running. Explain.
- Start a server, try opening multiple shells and run multiple echo clients in them. What happens? Explain.
- Try running the server in the M1 VM and the client on your host machine or vice versa.
Generate a Modifiability QaS (see the template as well as the 'generator' in the slides) for the following very vague QA requirement:
It should be easy to make a HotCiv Civilization game that uses a Europe map as world and have five different units from world war I.
Of course, you have to 'invent' a lot of the specification - just how easy is easy?
Consider the 'environment': should it be possible to define a Europe WWI scenario at 'design time' or at 'run time'. Consider the implications on our HotCiv design if indeed run time is choosen.
Next, discuss whether your HotCiv framework meets the stated QaS?
Legend: The typography bold, normal, (brackets), above indicate my perception of how important the exercises are from high to optional. However, solve the mandatory project first!.