SmartClient .NET Use Cases

In order to provide clear, maintainable, and easy to follow requirements, this page is used to maintain a series of use cases describing the Smart Client framework and its expected behavior.  

  1. System Actors
    1. Client Agent
    2. Server Component
  2. Client Agent use cases
    1. Download updates

Download Updates
Primary Actor: Client Agent
Level: User Goal
Main Sucess Scenario:

1. During idle time in the application, the client agent pings the server for update notifications.
2. The server sends an acknowlegment back to the client agent that updates are available.
3. The server authenticates the client information and validates them for updates.
4. The agent requests the update manifest from the server and downloads the update files.
5. The agent applies the update to the client, notifies the user the update was successful.  Agent can optionally force a restart, reboot, etc. if required by the update manifest.

Extensions:

2a. Updates are available, but the server is at full capacity in terms of the number of clients it can accept, and informs the agent to try later.
3a. The client is not authorized based on their credentials, and the server refuses the request.  Information is provided to the user regarding who to contact for more information.
4a. The manifest is corrupted, or does not abide by the expected schema/DTD.
5a. I/O error occurs writing the updates to the client application. ??? WHAT NOW ???a.