Type | T-76.115 Software Project |
Project Topic | E-business enabled legacy system |
Group | ICBN |
Project Phase | Project Planning |
Document name | Functional Specification |
Approved by | |
Version history | Dante Dionne II22.10.2002 |
Functional Specification
Contents
1. Introduction
1.1. Purpose of the document
The purpose of this document is to define the complete general functionality of the system from all view points, not just the user’s viewpoint. All relevant modules and external entities must be included. Each entity which interacts with the system must be regarded as an actor. This includes but is not limited to external services, components, users and systems that access this system.
Table 1. Possible readers of this document
Group of the readers | Reasons for reading |
Users and customers | To give feedback about the user requirements |
System developers | To understand what functions and properties the system must contain |
Testers | To test the system against the requirements |
Writers of user manuals | To get material for user manuals |
Project team | To follow-up the status of the project against the requirements |
1.2. References
Table 2. A list of all other relevant documents
Name of the document | Short description of the document contents |
Requirements Specification | Document containing the requirement specifications.ICBN_Requirements_Specification.htm |
1.3. Glossary
A glossary explaining the special terms, acronyms and abbreviations used in this document are explained here.
Acronym/ abbreviation/ special term | Description |
API | Application Interface – A language and message format used by an application program to communicate with the operating system or some other control program. |
ICBN | Document Distribution Process – Actions that happen when a document is distributed. |
EDMS | Engineering Document Management System – System for managing engineering documents. |
GUI | Graphical User Interface – A graphics-based user interface that incorporates icons, pull-down menus and a mouse. |
HTML | Hypertext Markup Language – The document format used on the World Wide Web. Web pages are built with HTML tags (codes) embedded in the text. |
HTTP | Hypertext Transport Protocol – The communications protocol used to connect to servers on the World Wide Web. Its primary function is to establish a connection with a Web server and transmit HTML pages to the client browser. |
IC Broker | Name of the project team |
UML | Unified Modeling Language – An object-oriented analysis and design language from the Object Management Group (OMG). |
PIP | (RosettaNet) Partner Interface Processes – System-to-system XML-based dialogs which define business processes between trading partners. |
SOAP | Simple Object Access Protocol – A message-based protocol based on XML for accessing services on the Web. |
2. Actors
Table 3. Actors of the system
ID | User group | Description | Number of users |
PM | Project Managers | Project Managers define and manage controls for their projects. | 1-20 |
Admin | Administrators | Administrators are able to create the most complex business rules and administer rulesets for different projects. They can create new rule-templates, repositories and manage existing settings. Admins define what PIPs are used between different companies. | 1-5 |
Partner | Partner Companies | Partners are other companies which do not directly interact with ICBN but their activity causes changes in the EDMS which indirectly instantiate events in ICBN. Basically partner is an instance which has right to receive certain documents or document types. | 1-2000 |
BizTalk | EAI BizTalk | Enterprise Application Integration messaging server can be seen as a user from ICBN point of view. BizTalk is responsible for sending the documents ICBN instructs it to send via SOAP calls. | 1 |
EDMS | EDMS | EDMS is the document management system which can also be regarded as a user. EDMS sends events to ICBN when documents change. ICBN should then evaluate the defined rules and in case of a match, initiate certain ICBNs. | 1 |
3. Use Cases
Name: | Login |
Description: | user must be able to login into ICBN using the GUI system with a username and password |
ID: | UC-001 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User starts up a web browser and enters the URL for ICBN service. User enters his username and password and submits the data. |
Actors: | PM/Admin, ICBN, EDMS |
Preconditions: | User has opened ICBN website (certain URL) with a browser. |
Basic sequence: | 1. User enters username and password into input fields 2. User presses Login-button |
Exceptions: | E1. Username is incorrect -> Reload the login screen and display “Username or password incorrect” E2. Password is incorrect -> Reload the login screen and display “Username or password incorrect” |
Post conditions: | If username and password are correct, user is taken to the application menu |
Frequency of use: | MEDIUM |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Create a rule |
Description: | user must be able to define new ICBN rules |
ID: | UC-002 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User has logged in and wants to create a new rule for a certain project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User selects a certain project from project list 2. User executes “Create a new rule” 3. User enters rule attributes (name, id etc), rule can be defined as template by using a checkbox 4. User creates conditions based on business objects (document, project, user) 5. User defines which action(s) should be executed if this rule matches. 6. User executes “Save rule to repository” |
Exceptions: | E1. Rule format is incorrect E2. Rule by given ID already exists |
Post conditions: | Rule is saved to the project (and repository) and message “Rule saved” is displayed |
Frequency of use: | MEDIUM |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Create a rule from template |
Description: | user must be able to create new rules using existing rules as templates |
ID: | UC-003 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User has logged in and wants to create a new rule for a certain project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User selects a certain project from project list 2. User executes “Create a new rule from template” 3. User selects rule template from a list 4. User modifies rule if necessary 6. User executes “Save rule to repository” |
Exceptions: | E1. Rule format is incorrect E2. Rule by given ID already exists |
Post conditions: | Rule is saved to the project (and repository) and message “Rule saved” is displayed |
Frequency of use: | MEDIUM |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Modify a rule |
Description: | user must be able to modify existing rules |
ID: | UC-004 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User has logged in and wants to modify a certain rule in a project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-005 |
Basic sequence: | 1. User executes “Edit Rule” for rule in the rule list 2. User modifies rule (can be set as template by using a checkbox) 3. User executes “Save rule to repository” |
Exceptions: | E1. Rule format is incorrect E2. Rule by given ID already exists |
Post conditions: | Rule is saved to the project (and repository) and message “Rule modified” is displayed |
Frequency of use: | MEDIUM |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | View Project Rules |
Description: | user must be able to view all rules related to given project |
ID: | UC-005 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User has logged in and wants to list all rules belonging to a certain project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User selects a certain project from project list 2. User executes “Show Rules” |
Exceptions: | |
Post conditions: | List of rules and descriptions is shown with Edit/Delete-operation links |
Frequency of use: | MEDIUM |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Delete Rule |
Description: | user must be able to delete existing rules |
ID: | UC-006 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | Medium |
Summary: | User has logged in and wants to list all rules belonging to a certain project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-005 |
Basic sequence: | 1. User executes “Delete Rule” for a selected rule in the rule list 2. User confirms dialog “Are you sure you want to delete this rule?” |
Exceptions: | |
Post conditions: | Rule is deleted from project and message “Rule deleted” is shown to the user. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | View Rule Templates |
Description: | user must be able to view all rule templates |
ID: | UC-007 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | Medium |
Summary: | User has logged in and wants to list all rule templates available in the system |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User executes “Show Rule Templates” |
Exceptions: | |
Post conditions: | A list of rule templates and descriptions is displayed. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | View Project Documents |
Description: | user must be able to list all documents belonging to a certain project |
ID: | UC-008 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | Medium |
Summary: | User has logged in and wants to list all documents belonging to a project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User selects a project from project list 2. User executes “Show Documents” |
Exceptions: | |
Post conditions: | A list document names, descriptions and other meta data is shown as a list. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Define Rule Template |
Description: | user must be able to define a rule as a rule template |
ID: | UC-009 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | Medium |
Summary: | User wants to define that a certain rule can be regarded as template and used as a rule also in other projects. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User executes “Create Rule Template” 2. User enters rule attributes (name, id etc), rule is defined as template by using a checkbox 3. User creates conditions based on business objects (document, project, user) 4. User defines which action(s) should be executed if this rule matches. 5. User executes “Save Rule Template” |
Exceptions: | E1. Rule structure may be incorrect. E2. Rule by given ID already exists |
Post conditions: | Rule template is saved to repository. Message “Rule Template saved” is shown to user. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | List Projects |
Description: | user must be able to list all projects |
ID: | UC-010 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | Medium |
Summary: | User wants to list all projects in the system. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User executes “List all projects” |
Exceptions: | |
Post conditions: | A list of all projects, descriptions and links to view project details is displayed. |
Frequency of use: | MEDIUM |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | List Users |
Description: | user must be able to list all users (other companies) |
ID: | UC-011 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | Low |
Summary: | User wants to list all users in the system. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User executes “List all users” |
Exceptions: | |
Post conditions: | A list of all users, descriptions and links to view user details is displayed. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | List Rules for Document |
Description: | user should be able to visualize which rules are bound to a specific document |
ID: | UC-012 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | DESIREABLE |
Priority: | Low |
Summary: | User wants to check what rules are bound to a specific document. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-008 |
Basic sequence: | 1. User selects a document from the list 2. User executes “Show Document Rules” for selected document |
Exceptions: | |
Post conditions: | A list of all rules that apply to selected document are listed |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Simulate EDMS Event |
Description: | user should be able to simulate what rules are matched upon selected EDMS event |
ID: | UC-013 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | DESIREABLE |
Priority: | Low |
Summary: | User wants to check what rules are executed if e.g. a certain document or project changes state. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User executes “Simulate EDMS Event” 2. User selects event from a list. 3. User defines parameters for the event. 4. User executes “Execute Event” |
Exceptions: | |
Post conditions: | A list of all rules that were matched and list of documents that would have been sent to each recipient. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | View Project Log |
Description: | user should be able to view activity log for a certain project |
ID: | UC-014 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | DESIREABLE |
Priority: | Low |
Summary: | User wants to check the activity history for certain project. Activity history should include record of all ICBNs and modifications made to project settings. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User selects a project from the project list 2. User executes “Show Project Log” |
Exceptions: | |
Post conditions: | A list of all log events is shown in descending time order |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | View System Log |
Description: | user should be able to view system/error log of the entire application |
ID: | UC-014 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | DESIREABLE |
Priority: | Low |
Summary: | User wants to check the activity history for certain project. Activity history should include record of all ICBNs and modifications made to project settings. |
Actors: | Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User executes “Show Error Log” |
Exceptions: | |
Post conditions: | A list of all system log events is shown in descending time order |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | View Rule as XML |
Description: | user could retrieve a certain rule as XML via HTTP |
ID: | UC-015 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | USEFUL |
Priority: | Low |
Summary: | User wants retrieve defined rule as XML. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. User selects a rule from a certain project or template base 2. User executes “View as XML” |
Exceptions: | |
Post conditions: | Rule is displayed as XML in the browser. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Insert Rule as XML |
Description: | user could insert a new rule into the system as XML using the GUI |
ID: | UC-016 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | USEFUL |
Priority: | Low |
Summary: | User wants save a new rule to the system as XML file. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001 |
Basic sequence: | 1. as UC-002 but user executes “Import from XML file” 2. User selects file to be uploaded from his local disk 3. User executes “Upload XML Rule” 4. Rule contents are displayed in the editor 5. User executes “Save Rule” |
Exceptions: | E1. Rule is invalid E2. Rule already exists |
Post conditions: | Rule is saved and message “Rule Saved” is displayed. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Email Notification |
Description: | user gets email notification of a successful ICBN execution and a list of companies and documents which were sent to each company |
ID: | UC-017 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | USEFUL |
Priority: | Low |
Summary: | User gets email after successful ICBN operation and list of recipients and files they received. |
Actors: | ICBN, Mail server |
Preconditions: | |
Basic sequence: | |
Exceptions: | |
Post conditions: | |
Frequency of use: | LOW |
Operations: |
Name: | Manual Document Sending |
Description: | user must be able to send documents regardless of defined rulesets |
ID: | UC-018 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User wants to send a certain document to recipient(s) regardless of defined rules. |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-008 |
Basic sequence: | 1. User selects a document from the list 2. User executes “Send Manually” 3. User selects recipient(s) from user list 4. User executes “Send” |
Exceptions: | E1. No recipients were selected |
Post conditions: | Document gets sent to recipients via BizTalk. “Document sent” message is displayed. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Check user’s document type access |
Description: | user must be able to list what document types a certain company can receive |
ID: | UC-019 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User wants to see what document types certain company is allowed to receive |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-008 |
Basic sequence: | |
Exceptions: | |
Post conditions: | Document gets sent to recipients via BizTalk. “Document sent” message is displayed. |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Check user’s document access |
Description: | user must be able to list what documents a certain company can receive |
ID: | UC-020 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User wants to see what documents certain company is allowed to receive |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-008 |
Basic sequence: | |
Exceptions: | |
Post conditions: | |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | List Project Companies |
Description: | user must be able to list all companies belonging to a certain project |
ID: | UC-021 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | User wants to see what companies are bound to specific project |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-008 |
Basic sequence: | |
Exceptions: | |
Post conditions: | |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Get Data from EDMS |
Description: | ICBN must be able to retrieve documents, projects and users from EDMS |
ID: | UC-022 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | ICBN gets business objects from EDMS |
Actors: | PM/Admin, ICBN |
Preconditions: | UC-001, UC-008 |
Basic sequence: | |
Exceptions: | |
Post conditions: | |
Frequency of use: | LOW |
Operations: | connect to EDMS using PINJA and given username & password |
Name: | Receive Event from EDMS |
Description: | ICBN must be able to receive events regarding changes in documents, projects and users from the EDMS via HTTP |
ID: | UC-023 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | ICBN receives event from EDMS via HTTP. Event causes ICBN to evaluate its business rules and if rules are matched, execute specified actions (send documents). |
Actors: | EDMS, ICBN |
Preconditions: | |
Basic sequence: | |
Exceptions: | |
Post conditions: | |
Frequency of use: | HIGH |
Operations: |
Name: | Instruct BizTalk to send a document |
Description: | ICBN must be able to send XML messages to BizTalk to define which document should be sent and which PIP should be used |
ID: | UC-024 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | ICBN commands BizTalk to send a certain document using defined PIP process |
Actors: | BizTalk, ICBN, EDMS |
Preconditions: | |
Basic sequence: | |
Exceptions: | |
Post conditions: | |
Frequency of use: | HIGH |
Operations: |
Name: | Receive positive acknowledgement from BizTalk |
Description: | ICBN must be able to receive acknowledgement event from BizTalk of successful sending process |
ID: | UC-025 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | ICBN receives acknowledgement from BizTalk that document sending was successful. ICBN must then change document PIP status to appropriate value. To do this ICBN must connect to EDMS and retrieve the correct document. |
Actors: | BizTalk, ICBN, EDMS |
Preconditions: | |
Basic sequence: | |
Exceptions: | |
Post conditions: | Document’s PIP state is changed to “Sent ok” |
Frequency of use: | HIGH |
Operations: |
Name: | Receive negative acknowledgement from BizTalk |
Description: | ICBN must be able to receive acknowledgement event from BizTalk of failed sending process |
ID: | UC-026 |
Source: | AA |
Date: | 17.10.2002, PP |
Class: | ESSENTIAL |
Priority: | High |
Summary: | ICBN receives acknowledgement from BizTalk that document sending was a failure. ICBN must then change document PIP status to appropriate value. To do this ICBN must connect to EDMS and retrieve the correct document. |
Actors: | BizTalk, ICBN, EDMS |
Preconditions: | |
Basic sequence: | |
Exceptions: | |
Post conditions: | Document’s PIP state is changed to “Sending failed” |
Frequency of use: | HIGH |
Operations: |