Functional Specification

TypeT-76.115 Software Project
Project TopicE-business enabled legacy system
GroupICBN
Project PhaseProject Planning
Document nameFunctional Specification
Approved by 
Version historyDante Dionne II22.10.2002

Functional Specification

Contents

  1. Introduction
  2. Actors
  3. Use Cases

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 readersReasons for reading
Users and customersTo give feedback about the user requirements
System developersTo understand what functions and properties the system must contain
TestersTo test the system against the requirements
Writers of user manualsTo get material for user manuals
Project teamTo 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 documentShort description of the document contents
Requirements SpecificationDocument 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 termDescription
APIApplication Interface – A language and message format used by an application program to communicate with the operating system or some other control program.
ICBNDocument Distribution Process – Actions that happen when a document is distributed.
EDMSEngineering Document Management System – System for managing engineering documents.
GUIGraphical User Interface – A graphics-based user interface that incorporates icons, pull-down menus and a mouse.
HTMLHypertext Markup Language – The document format used on the World Wide Web. Web pages are built with HTML tags (codes) embedded in the text.
HTTPHypertext 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 BrokerName of the project team
UMLUnified 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.
SOAPSimple Object Access Protocol – A message-based protocol based on XML for accessing services on the Web.

2. Actors

Table 3. Actors of the system

IDUser groupDescriptionNumber of users
PMProject ManagersProject Managers define and manage controls for their projects.1-20
AdminAdministratorsAdministrators 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
PartnerPartner CompaniesPartners 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
BizTalkEAI BizTalkEnterprise 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
EDMSEDMSEDMS 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: