Type T-76.115 Software Project
Project Topic E-business enabled legacy system
Group IC Broker
Project Phase Project Planning
Document name Functional Specification
Approved by 
Alexander Alonso 27.10.2002
Version history
0.2 Version Dante Dionne II 24.10.2002
0.1 Template Dante Dionne II 22.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 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: