UML Structural Diagram (Abstract Class Level) - EditThis.info

taxidermistplateΛογισμικό & κατασκευή λογ/κού

7 Νοε 2013 (πριν από 4 χρόνια)

59 εμφανίσεις










Design Iteration
4




Team 3


Sendio, INC.




















Introduction



The primary design goal of this system is to provide an easy to use interface for a system administrator to configure the Sen
dio, Inc. ICE Box
to run in his/her n
etwork environment. The system is constrained to run in raw console mode on the Fedora Core 4 operating system and to be
written in the Python programming language. Architecturally, it is to be an object
-
oriented design which favors extensibility.







In

order to provide a user
-
friendly interface within the constraints of the console operating environment, we are using a Curses
-
based GUI
library called Urwid. Urwid provides elementary widgets such as dialogs, text boxes, buttons, check boxes, etc in addit
ion to basic frames.


Design
Challenges



Due to the limitation of Python as a language, we are unable to use private members and methods for objects. Regardless, data
-
hiding
techniques will still be used with all of the classes.



The Fedora Core system prese
nts a non
-
unified boundary; each individual setting and test interacts with it in a unique manner. This limits
the degree to which t
hey may be usefully generalized. Thus each individual setting must be implemented as a singleton class; they realize a
singl
e abstract class in order to present a unified interface to the controller classes.










All use cases:
Class Diagram


All Use Cases: Master State Diagram

Initial state. Entities, controllers,
and system in synch.
Initialize
User presses "save" or "execute"
Test is
executed
Test results are
displayed in a dialog
Setting Input Made. Controllers
out of synch with entities.
Dialog is displayed
informing user of problem.
Input passed to entities. Controllers and
entities in synch, system out of synch.
User presses save, input is good.
User presses save, input is bad.
Bad input is
highlighted
User presses OK
User saves again w / o correcting
User corrects and hits save
Settings written to system
A dialog is displayed
notifying user of problem.
User hits execute, test input bad.
Bad input is
highlighted
Input still bad
Hits OK
Input corrected
User hits execute, test input good
User hits OK
Exit confirmation
dialog is displayed
Hits "Exit"
Hits "Cancel"
Hits "OK"


All Use Cases (Prerequisite): Initialize

MasterController
MasterController
Test/SettingGro
upController
Test/SettingGro
upController
Test/SettingEntit
y
Test/SettingEntit
y
Test/SettingCont
roller
Test/SettingCont
roller
System : <Actor
Name>
System : <Actor
Name>
Instantiates
Instantiates
Queries Current State
Returns Current State
-------------------->
This sub- sequence
is repeated for each
SettingEntity
realization associated
with the
SettingGroupControll
er object at hand
-------------------->
This sequence
executes before the
human user ever
interacts with the
system.
Passes Entity Ref
Instantiates w/ Entity ref
Displays State
Both Forget
Entity ref,
GroupController
keeps Controller
ref.
Queries State
Returns State


Use Case 1: Participanting Objects



Use Case 1:

Main Success Flow

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Presses "Save" button
Displays success confirmation
Displays Confirmation Dialog
Confirms
Activates
Displays
Inputs Node Name
Calls CommitToSystem
All confirm success
Calls WriteToSystem
Confirms Success
Saves settings
Confirms Success
Selects Gateway Address
Selects Netmask
Selects DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Activates
Displays
Inputs Gateway Address
Activates
Displays
Inputs Netmask
Activates
Displays
Inputs DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success


Use Case 1: Save not confirmed

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Activates
Displays
Inputs Node Name
Presses "Save" button
Displays Confirmation Dialog
Denies
Selects Gateway Address
Activates
Displays
Inputs Gateway Address
Selects Netmask
Activates
Displays
Inputs Netmask
Selects DNS Address
Activates
Displays
Inputs DNS Address


Use Case 1: Canceled

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
User Presses Cancel
Displays Cancel Confirmation
Confirms Cancel
This sequence may occur at any time, in which case it supercedes the existing
sequence in progress.
Calls Reset
Calls LoadFromSystem
Reads Values
Gets Values
Displays Values
Calls LoadFromSystem
Reads Values
Gets Values
Displays Values
Calls LoadFromSystem
Reads Values
Gets Values
Displays Values
Calls LoadFromSystem
Reads Values
Gets Values
Displays Values



Use Case 1: Gateway Address Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Activates
Displays
Inputs Node Name
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
All confirm success
Displays success confirmation
Displays Confirmation Dialog
Confirms
Selects Gateway Address
Activates
Displays
Inputs Gateway Address
Selects Netmask
Activates
Displays
Inputs Netmask
Selects DNS Address
Activates
Displays
Inputs DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Reverts To Previous Gateway Address
Notifies of Invalid Gateway Address


Use Case 1: DNS Address Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Activates
Displays
Inputs Node Name
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
All confirm success
Displays success confirmation
Displays Confirmation Dialog
Confirms
Selects Gateway Address
Activates
Displays
Inputs Gateway Address
Selects Netmask
Activates
Displays
Inputs Netmask
Selects DNS Address
Activates
Displays
Inputs DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Reverts To Previous DNS Address
Notifies of Invalid DNS Address


Use Case 1: Netmask Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Activates
Displays
Inputs Node Name
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
All confirm success
Displays success confirmation
Displays Confirmation Dialog
Confirms
Selects Gateway Address
Activates
Displays
Inputs Gateway Address
Selects Netmask
Activates
Displays
Inputs Netmask
Selects DNS Address
Activates
Displays
Inputs DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Reverts To Previous Netmask
Notifies of Netmask Failure


Use Case 1: Node Name Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Activates
Displays
Inputs Invalid Node Name
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
All confirm success
Displays success confirmation
Displays Confirmation Dialog
Confirms
Selects Gateway Address
Activates
Displays
Inputs Gateway Address
Selects Netmask
Activates
Displays
Inputs Netmask
Selects DNS Address
Activates
Displays
Inputs DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Revert To Previous Node Name
Notifies of Invalid Node Name


Use Case 1:
Additional DNS Addresses

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
NetworkGroup :
SettingGroupController
NetworkGroup :
SettingGroupController
NodeNameController :
SettingController
NodeNameController :
SettingController
GatewayAddressController :
SettingController
GatewayAddressController :
SettingController
NetmaskController :
SettingController
NetmaskController :
SettingController
DNSController :
SettingController
DNSController :
SettingController
NodeName :
SettingEntity
NodeName :
SettingEntity
GatewayAddress :
SettingEntity
GatewayAddress :
SettingEntity
Netmask :
SettingEntity
Netmask :
SettingEntity
DNSAddress :
SettingEntity
DNSAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects Network
Activates
Displays
Selects Node Name
Activates
Displays
Inputs Node Name
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
All confirm success
Displays success confirmation
Displays Confirmation Dialog
Confirms
Selects Gateway Address
Activates
Displays
Inputs Gateway Address
Selects Netmask
Activates
Displays
Inputs Netmask
Selects DNS Address
Activates
Displays
Inputs DNS Address
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
while user has DNS Addresses to input

Use Case 2: Participating Objects



Use Case 2: Success Flow

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Cluster Group :
SettingGroupController
Cluster Group :
SettingGroupController
Cluster Address :
SettingController
Cluster Address :
SettingController
Node 1 Address :
SettingController
Node 1 Address :
SettingController
Node 2 Address :
SettingController
Node 2 Address :
SettingController
ClusterAddress :
SettingEntity
ClusterAddress :
SettingEntity
Node1Address :
SettingEntity
Node1Address :
SettingEntity
Node2Address :
SettingEntity
Node2Address :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
Selects Cluster
Activates
Displays
Selects Cluster Address
Activates
Displays
Inputs
Selects Node 1 Address
Selects Node 2 Address
Presses "Save" button
Displays Confirmation Dialog
Confims
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Displays success confirmation
Activates
Displays
Inputs
Activates
Displays
Inputs
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Saves settings
Confirms Success
Confirms Success

Use Case 2: Save Not Confirmed

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Cluster Group :
SettingGroupController
Cluster Group :
SettingGroupController
Cluster Address :
SettingController
Cluster Address :
SettingController
Node 1 Address :
SettingController
Node 1 Address :
SettingController
Node 2 Address :
SettingController
Node 2 Address :
SettingController
ClusterAddress :
SettingEntity
ClusterAddress :
SettingEntity
Node1Address :
SettingEntity
Node1Address :
SettingEntity
Node2Address :
SettingEntity
Node2Address :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
Selects Cluster
Activates
Displays
Selects Cluster Address
Selects Node 1 Address
Selects Node 2 Address
Presses "Save" button
Displays Confirmation Dialog
Denies Confirmation
Activates
Displays
Inputs
Activates
Displays
Inputs
Activates
Displays
Inputs



Use Case 2: Cancel

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Cluster Group :
SettingGroupController
Cluster Group :
SettingGroupController
Cluster Address :
SettingController
Cluster Address :
SettingController
Node 1 Address :
SettingController
Node 1 Address :
SettingController
Node 2 Address :
SettingController
Node 2 Address :
SettingController
ClusterAddress :
SettingEntity
ClusterAddress :
SettingEntity
Node1Address :
SettingEntity
Node1Address :
SettingEntity
Node2Address :
SettingEntity
Node2Address :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
User Presses Cancel
Displays Cancel Confirmation
Confirms Cancel
Call Reset
Calls LoadFromSystem
Reads Values
Gets Values
Display Values
Calls LoadFromSystem
Reads Values
Gets Values
Display Values
Calls LoadFromSystem
Reads Values
Get Values
Display Values



Use Case 2: Node 1 Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Cluster Group :
SettingGroupController
Cluster Group :
SettingGroupController
Cluster Address :
SettingController
Cluster Address :
SettingController
Node 1 Address :
SettingController
Node 1 Address :
SettingController
Node 2 Address :
SettingController
Node 2 Address :
SettingController
ClusterAddress :
SettingEntity
ClusterAddress :
SettingEntity
Node1Address :
SettingEntity
Node1Address :
SettingEntity
Node2Address :
SettingEntity
Node2Address :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
Selects Cluster
Activates
Displays
Selects Cluster Address
Activates
Displays
Inputs
Selects Node 1 Address
Activates
Displays
Invalid Inputs
Selects Node 2 Address
Activates
Displays
Inputs
Presses "Save" button
Displays Confirmation Dialog
Confims
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Displays success confirmation
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Saves settings
Confirms Success
Confirms Success
Revert to Previous Valid Node 1 Address
Notify Invalid Node 1 Address

Use Case 2: Node 2 Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Cluster Group :
SettingGroupController
Cluster Group :
SettingGroupController
Cluster Address :
SettingController
Cluster Address :
SettingController
Node 1 Address :
SettingController
Node 1 Address :
SettingController
Node 2 Address :
SettingController
Node 2 Address :
SettingController
ClusterAddress :
SettingEntity
ClusterAddress :
SettingEntity
Node1Address :
SettingEntity
Node1Address :
SettingEntity
Node2Address :
SettingEntity
Node2Address :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
Selects Cluster
Activates
Displays
Selects Cluster Address
Activates
Displays
Inputs
Selects Node 1 Address
Activates
Displays
Inputs
Selects Node 2 Address
Activates
Displays
Invalid Inputs
Presses "Save" button
Displays Confirmation Dialog
Confims
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Displays success confirmation
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Saves settings
Confirms Success
Confirms Success
Revert to valid Node 2 Address
Notify Invalid Node 2 Address

Use Case 2: Cluster Address Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Cluster Group :
SettingGroupController
Cluster Group :
SettingGroupController
Cluster Address :
SettingController
Cluster Address :
SettingController
Node 1 Address :
SettingController
Node 1 Address :
SettingController
Node 2 Address :
SettingController
Node 2 Address :
SettingController
ClusterAddress :
SettingEntity
ClusterAddress :
SettingEntity
Node1Address :
SettingEntity
Node1Address :
SettingEntity
Node2Address :
SettingEntity
Node2Address :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
Selects Cluster
Activates
Displays
Selects Cluster Address
Activates
Displays
Invalid Inputs
Selects Node 1 Address
Activates
Displays
Inputs
Selects Node 2 Address
Activates
Displays
Inputs
Presses "Save" button
Displays Confirmation Dialog
Confims
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Displays success confirmation
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
Saves settings
Confirms Success
Confirms Success
Revert to Previous Valid Cluster Address
Notify Invalid Cluster Address

Use Case 3: Participating Objects


Use Case 3: Success Flow

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
FTP Group :
SettingGroupController
FTP Group :
SettingGroupController
SettingControlle
r
SettingControlle
r
FTPAddress :
SettingEntity
FTPAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects FTP
Activates
Displays
Selects FTP
Activates
Displays
Inputs
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Saves settings
Confirms Success
Confirms Success
All confirm success
Displays success confirmation
Displays Confirmation Dialog
Confirms

Use Case 3: Save Not Confirmed

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
FTP Group :
SettingGroupController
FTP Group :
SettingGroupController
SettingControlle
r
SettingControlle
r
FTPAddress :
SettingEntity
FTPAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects FTP
Activates
Displays
Selects FTP
Activates
Displays
Inputs
Presses "Save" button
Displays Confirmation Dialog
Denies Confirmation





Use Case 3: Cancel

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
FTP Group :
SettingGroupController
FTP Group :
SettingGroupController
:
SettingController
:
SettingController
: FTPAddress
: FTPAddress
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence may occur at any time, in which case it supercedes the existing
sequence in progress.
User Presses Cancel
Displays Cancel Confirmation
Confirms Cancel
Calls Reset
Calls LoadFromSystem
Reads Values
Gets New Values
Displays New Values




Use Case 3:
FTP Address Failure

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
FTP Group :
SettingGroupController
FTP Group :
SettingGroupController
SettingControlle
r
SettingControlle
r
FTPAddress :
SettingEntity
FTPAddress :
SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Selects FTP
Activates
Displays
Selects FTP
Activates
Displays
Inputs
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Attempts to save settings
Notifies Failure
Notifies Failure
Notifies Failure
Displays failure notification
Inputs new values
Presses "Save" button
Calls CommitToSystem
Calls WriteToSystem
Attempts to save settings
Notifies Success
Notifies Success
Notifies Success
Displays success notification
--------------------->
Repeat this part as
needed.
...
Displays Save Confirmation
Confirms
Displays Save Confirmation
Confirms

Use Case 4:
Success Flow

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Test/SettingGroupCont
roller
Test/SettingGroupCont
roller
Test/SettingCont
roller
Test/SettingCont
roller
Test/SettingEntity
Test/SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Between one
GroupController
and ALL its
associated
Controllers
Selects Group
Activates
Displays
Presses "Test Network" button
Displays log of test results
Calls Execute
Calls Execute
Executes program, parses output / reads files
Reports Success/Failure
Reports Success/Failure
Reports Success/Failure
Collates Results

Use Case 5: Success Flow

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Test/SettingGroupCont
roller
Test/SettingGroupCont
roller
Test/SettingCont
roller
Test/SettingCont
roller
Test/SettingEntity
Test/SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Between one
GroupController
and ALL its
associated
Controllers
Selects Group
Activates
Displays
Presses "Test Internals" button
Displays log of test results
Calls Execute
Calls Execute
Executes program, parses output / reads files
Reports Success/Failure
Reports Success/Failure
Reports Success/Failure
Collates Results

Use Case 6: Success Flow

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Test/SettingGroupCont
roller
Test/SettingGroupCont
roller
Test/SettingCont
roller
Test/SettingCont
roller
Test/SettingEntity
Test/SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Between one
GroupController
and ALL its
associated
Controllers
Selects Group
Activates
Displays
Presses "Test Email" button
Displays log of test results
Calls Execute
Calls Execute
Executes program, parses output / reads files
Reports Success/Failure
Reports Success/Failure
Reports Success/Failure
Collates Results
Selects Email Address Text Input
Activates
Displays
Inputs
Checks Valid Input
Confirms

Use Case 6: Invalid Input

Human User : <Actor
Name>
Human User : <Actor
Name>
:
MasterController
:
MasterController
Test/SettingGroupCont
roller
Test/SettingGroupCont
roller
Test/SettingCont
roller
Test/SettingCont
roller
Test/SettingEntity
Test/SettingEntity
Fedora Core 4 :
<Actor Name>
Fedora Core 4 :
<Actor Name>
This sequence occurs after the initialize sequence. All entities know the existing
state, and the objects are arranged according tot the Object Diagram.
Between one
GroupController
and ALL its
associated
Controllers
Selects Group
Activates
Displays
Presses "Test Email" button
Displays log of test results
Calls Execute
Calls Execute
Executes program, parses output / reads files
Reports Success/Failure
Reports Success/Failure
Reports Success/Failure
Collates Results
Selects Email Address Text Input
Activates
Displays
Inputs
Checks Valid Input
Denies
Displays Error Box
Presses OK