11/2/1998
SSAD-LCO V1.0
1. Introduction
1.1 System Purpose
1.2
Purpose of the System and Software Architecture Description Document
1.3 Guidelines
1.3.1
Standards (DoD, IEEE)
1.3.2
Notation (UML)
1.3.3
Naming Conventions
1.4 References
2. Architectural Analysis
2.1 Component Model
2.2 Behavior Model
2.2.1
Behavior list
2.2.2
Behavior detail descriptions
2.3 Enterprise Model
2.3.1
Logical Component Classifications
2.3.2
Logical Behavior Classifications
3. System Design
3.1 Design Views
3.1.1
Logical View
3.1.2
System Component View
3.1.3
Deployment View
3.2 Object Model
3.2.1
Detailed Component Specifications
3.2.2
Object Specifications
3.3 Operations Model
3.3.1
Detailed behaviors
3.3.2
Operation Specifications
3.4 Class Model
3.5 Data Model
4. Common
Definition Language for System Analysis
4.1 AFDB System
5. Common
Definition Language for System Design
5.1 Production
Database
5.2 Processing
Database
5.3 HTML Generator
5.4 System Administrator
5.5 Client
5.6 Data Manager
5.7 User
6. Appendix
6.1 References
6.2 Vendor documents
| Component: | COM-01 |
| Defining Quality: | Mechanism that provide user and client access (browse, update, management) to the Asian film data |
| Name: | AFDB |
| Attributes: | 1. Name;
2. Address; 3. Staff; |
| Behaviors: | 1. Receive user/client access;
2. Maintain the Asian film data; |
| Relationships: |
|
| State Group: | |
| Roles: | {navigator; search engine; film data management system} |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-02 |
| Defining Quality: | Organization and relation between film list. |
| Name: | Film Catalog |
| Attributes: | 1.Criteria;
2. Number of film data record; 3. Links to actual film data; |
| Behaviors: | 1.Manage users' navigation path;
2.Display Asian film data; |
| Relationships: | 1.AFDB;
2.Data manager; 3.Film data; See figure below; |
| State Group: | |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-03 |
| Defining Quality: | Actual digitized film data record, including: text(max 4 copies for different language), multi-media data(image, video, etc); |
| Name: | Film Data |
| Attributes: | 1.Title;
2.Director; 3.Actor; 4.Production Date; 5.Genre 6.Language Type; 7.Credits; |
| Behaviors: | 1.Store film data;
2.Present film data; |
| Relationships: | 1.AFDB;
2.Client; 3.Data manager; 4.Film Catalog; See figure below; |
| State Group: | |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-04 |
| Defining Quality: | Glossary entries provide contextual information for people from different culture. |
| Name: | Glossary Context |
| Attributes: | 1.Entry Word;
2.Explanation; 3.Links to film data word; |
| Behaviors: | 1.Provide Glossary Explanation;
2.Link to Film Description; |
| Relationships: | 1.AFDB;
2.Data manager; 3.Film data; See figure below; |
| State Group: | |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-05 |
| Defining Quality: | Person responsible for system and data maintenance to AFDB |
| Name: | System Administrator |
| Attributes: | 1.Name;
2.Email; 3.Permission; 4.ID&Password; 5.Operation history; |
| Behaviors: | 1.Collect system period update data;
2.Monitor system usage statistics; 3.System user control and management; 4.Data maintenance |
| Relationships: | 1.AFDB;
2.Data manager; 3.Client; See figure below; |
| StateGroup: | |
| Roles: | {Database Administrator; System administrator; User Administrator} |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-06 |
| Defining Quality: | Organization or individual in charge of the film data providing. |
| Name: | Client |
| Attributes: | 1.Name;
2.Email; 3.Sys. ID & password; 4.Permission; 5.Operation History; |
| Behaviors: | 1.Add new film data record;
2.Check the status of document processing; |
| Relationships: | 1.AFDB;
2.Film data; See figure below; |
| State Group: | |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-07 |
| Defining Quality: | Person in charge of the management, structuring and update the film data; |
| Name: | Data Manager |
| Attributes: | 1.Name;
2.Email; 3.Sys. ID & password; 4.Permission; 5.Operation History; |
| Behaviors: | 1.Create and manage film catalog;
2.Check the new film data record; 3.Update the production database with the verified new data; 4.Reject the new data; 5.Edit the film data; 6.Browse and search the film data; |
| Relationships: | 1.AFDB;
2.Client; 3.Film data; 4.Film Catalog; See figure below; |
| State Group: | |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Component: | COM-08 |
| Defining Quality: | Public visitor to the AFDB; |
| Name: | User |
| Attributes: | 1.Sys. id & password;
2.Operation Preference; |
| Behaviors: | 1.Navigate the film list;
2.Search interesting film data; 3.Lookup the unclear glossary; 4.View the film data; |
| Relationships: | 1.AFDB;
2.Film data; 3.Film Catalog; 4.Glossary Context; See figure below; |
| State Group: | {Public user, member} |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: | Part of Entity E-01(AFDB) from Entity Model(OCD 2.4) |

| Behavior | BH-01 |
| Name: | Create a new film data record |
| Trigger: | Client click on the button "Add new film data record" |
| Description: | Authorized client accesses the AFDB homepage, select the function "add new film data function" to create a new film data record. Client will input all the data, including text, and attach multi-media data file. Finally he can send this record to AFDB system, temporally store in the procession database, waiting for the data manager to verify and handle. |
| Pre-condition(s): | Client has logged in the AFDB system, and system has recorded the client's information, such as his system user id, operation time, etc. |
| Post-Condition(s): | 1.The new data record will send to the AFDB
processing database;
2.The system will record the client's operation. And client can query his operation history and status later. |
| Input(s): | 1.Film text data: title, director, actor, production
date, etc;
2.Multi-media data file name/path and corresponding type, including image, video, audio, etc. |
| Output(s): | 1.A new record in AFDB processing database.
2.A new entry of the processing record list. |
| Exception(s): | There should be some mandatory fields that client must input, like title, director, film type, etc. If missing, refuse client input and no further operation. |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-02 |
| Name: | Verify the new data correctness |
| Trigger: | Data manager click on the link "Verify New Data" in the new film data list |
| Description: | Data manager can view all the input data of the new film. He can verify the text data correctness and the multi-media data type, avoid any meaningless or wrong data into the production database. |
| Pre-condition(s): | One of the new data records is opened or selected. |
| Post-ondition(s): | |
| Input(s): | |
| Output(s): | |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-03 |
| Name: | Update the production database with the new data |
| Trigger: | Data manager clicks on the button "Update the AFDB" of the corresponding data record. |
| Description: | After Data manager verify the correctness of the new film data record, he can update the production database with the new data record. System will log this operation and changing the status of the processing new data record. |
| Pre-condition(s): | 1.Data manager has logged in the AFDB system,
and system has recorded his information, such as system user id,
operation time, etc.
2.One processing record has been opened or selected. |
| Post-Condition(s): | 1.The new data record will send to the AFDB
processing database;
2.The system will record the client's operation. And client can query his operation history and status later. |
| Input(s): | |
| Output(s): | 1.A new record in AFDB production database.
2.Modification on the processing new data record. 3.Necessary modification on the HTML file film catalog |
| Exception(s): | If the production database is not available in that time, the system will stop any operation avoid any inconsistency between the production and processing database. |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-04 |
| Name: | Reject the wrong data with comments; |
| Trigger: | Client click on the button "Reject new film data record" |
| Description: | After the data manager verify the new film data record, he can reject this processing data record if there is any errors. And he can add some comments for the reason why to reject. System will update the processing database with process status, and deleting the record. |
| Pre-condition(s): | 1.Data Manager has logged in the AFDB system,
and system has recorded the data manager's information such as the system
user id, operation time, etc.
2.One processing record is opened and selected. |
| Post-Condition(s): | 1.The new data record will be deleted from the
processing database.
2.The system will log this operation and change the status of processing data record. |
| Input(s): | Data manager should input the comments for the reason why to reject this record. |
| Output(s): | The "reject" status of the processing data record. |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-05 |
| Name: | Edit the contents of film data record |
| Trigger: | Client click on the button "Edit film record" |
| Description: | Authorized data manager can edit the current
contents of the film data record in production data.
1st step to locate the record through navigating or searching the record. 2nd Step to edit the data contents, such as the text data, or add/delete the multi-media data items. 3rd Step, system will update the corresponding HTML file, such catalog. |
| Pre-condition(s): | Data Manager has logged in the AFDB system, and system has recorded his/her information, such as his system user id, operation time, etc. |
| Post-Condition(s): |
|
| Input(s): |
|
| Output(s): |
|
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-06 |
| Name: | Add a new language translation to one film |
| Trigger: | Client click on the button "Add new language translation" |
| Description: | Authorized data manager can access the AFDB production database to add a new language translation record to a film data record. |
| Pre-condition(s): |
|
| Post-Condition(s): | The new language translation record will be added to the AFDB production database; |
| Input(s): | New language translation. |
| Output(s): | A new translation record. |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-07 |
| Name: | Select display language |
| Trigger: | When users enter the AFDB homepage, system will display this page to let user select the preferred language. |
| Description: | Users can select their preferred language, and then system will display the corresponding language home page and text contents. |
| Pre-condition(s): | |
| Post-Condition(s): | System will record users' selection |
| Input(s): | Language choice; |
| Output(s): | |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-08 |
| Name: | Go through the film catalog |
| Trigger: | Users click the catalog links |
| Description: | Users can go through catalog by clicking the interesting topic. |
| Pre-condition(s): | |
| Post-Condition(s): | System will go to next catalog location. |
| Input(s): | |
| Output(s): | The catalog list of next entry. |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-09 |
| Name: | Display the film data record |
| Trigger: | Users click a film data entry |
| Description: | Users can click the link of film data entry to see the detail information of this film. |
| Pre-condition(s): | A film data entry link be selected |
| Post-Condition(s): | |
| Input(s): | |
| Output(s): | |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-10 |
| Name: | Provide Glossary Context |
| Trigger: | User click the glossary context hyperlink |
| Description: | Users can view the detail description of this glossary explanation by click the hyperlink, and a new navigator window will show the corresponding description. |
| Pre-condition(s): | A film data be displayed |
| Post-Condition(s): | A new navigator window will pop out to show the description |
| Input(s): | |
| Output(s): | |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-11 |
| Name: | Search film data |
| Trigger: | User clicks the search engine icon. |
| Description: | Users can search film data by generate a search with key words. And then system will display all the results satisfying the search criteria. |
| Pre-condition(s): | |
| Post-Condition(s): | Display the results. |
| Input(s): | 1. Key words
2. Search type |
| Output(s): | Satisfying results |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-12 |
| Name: | Manage system user account |
| Trigger: | System administrator click the button "Manage System User account" |
| Description: | System Administrator can manage system user account, including add users, defining privilege, etc. |
| Pre-condition(s): | |
| Post-Condition(s): | Updated user account database. |
| Input(s): |
|
| Output(s): | Updated user account record |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-13 |
| Name: | Collect the updated data in specified period |
| Trigger: | System administrator click the button "Collect system data" |
| Description: | System Administrator can find out the updated system data in a specified period, and then to make copy of all the data. |
| Pre-condition(s): | |
| Post-Condition(s): | System log this operation |
| Input(s): |
|
| Output(s): | |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

| Behavior | BH-14 |
| Name: | Check data consistence |
| Trigger: | System administrator click the button "Check data consistence" |
| Description: | System Administrator can check the links between data record, Catalog and glossary context and find out the unmatched list of links. |
| Pre-condition(s): | |
| Post-Condition(s): | System log this operation |
| Input(s): |
|
| Output(s): | |
| Exception(s): | |
| Relates to: | System Responsibility |
| Scenario: | See figure below. |

We create a component named "SysUsr", which is the super-component of the "system-user-like" classes - "Administrator", "Data Manager", "Client". Therefore, these components can be inherited from the "SysUsr" and share some deterministic qualities related to people, like name, email address, etc, and some basic methods, like new, delete, modify, log, etc.
We create a basic component "Film material", which is the super-component
of all the film data related components - "Film data", "Catalog", "Glossary
Context". Therefore, these components can be inherited from the "Film material"
to share some basic behaviors and qualities related to the "Film Material",
like create, delete, check consistency, etc.



Mapping of the logical packages to component packages:
|
|
|
| Interface | HTML files, including:
|
| AFDB system | Hardware (Unix) Server |
| Database | Commercial database system, whose contents including:
- Production Database, - processing database |
| Data management application | Data navigation and display application;
Data management application; System maintenance application; |
| Component: | |
| Defining Quality: | |
| Name: | |
| Attributes: | |
| Behaviors: | |
| Relationships: | |
| State Group: | |
| Roles: | |
| Constraints: | |
| Dependency: | |
| Candidate Key: | |
| Cardinality: | |
| Relates To: |
| Object: | OBJ-01 |
| Name: | User |
| Defining Quality | The User's presence in the AFDB system is represented by the Web interfaces that allow user to navigate and search Asian film data. |
| Variables or Attributes: | Preferred Language |
| Operations: | 1. Search
2. Navigate |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-02 |
| Name: | SysUsr |
| Defining Quality | The SysUsr presence in the AFDB system is represented by the Web interfaces that allow SysUsr to access system and has the authority to modify data. |
| Variables or Attributes: |
|
| Operations: |
|
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-03 |
| Name: | DataMgr |
| Defining Quality | The DataMgr presence in the AFDB system is represented by the Web interfaces that allow user to manage the production data and processing data |
| Variables or Attributes: |
|
| Operations: |
|
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-04 |
| Name: | Client |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: | |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-05 |
| Name: | Film |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: | |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-06 |
| Name: | FilmDataRecord |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: | |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-07 |
| Name: | GlossaryContext |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: | |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-08 |
| Name: | AFDB |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: | |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-09 |
| Name: | SearchEngine |
| Defining Quality |
|
| Variables or Attributes: | |
| Operations: |
|
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-10 |
| Name: | Navigator |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: | |
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-11 |
| Name: | NewFilmDataManager |
| Defining Quality | |
| Variables or Attributes: | |
| Operations: |
|
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
| Object: | OBJ-12 |
| Name: | Log |
| Defining Quality | |
| Variables or Attributes: | LogType; |
| Operations: |
|
| Outlets: | |
| States: | |
| Roles: | |
| Constraints: | |
| Component Membership | |
| Implementation: | |
| Relates to: | |
| Object Interaction Diagram: |
Asian film data management

Asian film data navigation
Sequence Diagram as followed: TBD
Sequence Diagram as followed: TBD
AFDB Administer
Sequence Diagram as followed: TBD
| Event: | Verify SysUser Validation |
| Policy: | |
| Passed Parameters |
|
| Return Values: | Validation result |
| Exception handling: | |
| Guards: | |
| Validation | |
| Messages: |
Others are still TBD;
Other Terms are still TBD
[2] Guidelines for the LCO and LCA deliverables for MBASE (Center for Software Engineering, USC)