Software Requirements
Specification
for
MathCast Equation Editor
Requirements for Version 0.90
Prepared by George Kalaitzoglou
Software Engineering, Aristotle University Thessaloniki
30-November-2011
Software Requirements Specification for MathCast Equation Editor Page ii
Table of Contents
1.
Introduction ............................................................................................................................. 1
1.1 Purpose ........................................................................................................................................ 1
1.2 Document Conventions ................................................................................................................ 1
1.3 Intended Audience and Reading Suggestions .............................................................................. 1
1.4 Project Scope ............................................................................................................................... 2
1.5 References .................................................................................................................................... 2
2. Overall Description ................................................................................................................. 3
2.1 Product Perspective ..................................................................................................................... 3
2.2 Product Features .......................................................................................................................... 4
2.3 User Classes and Characteristics ................................................................................................. 5
2.4 Operating Environment ................................................................................................................ 6
2.5 Design and Implementation Constraints ...................................................................................... 6
2.6 User Documentation .................................................................................................................... 7
3. System Features ....................................................................................................................... 8
3.1 New equation list ......................................................................................................................... 8
3.2 Open Equation List ...................................................................................................................... 9
3.3 Save Equation List ..................................................................................................................... 10
3.4 Insert Equation List .................................................................................................................... 11
3.5 Append Equation list ................................................................................................................. 12
3.6 Import Equation from Welcome Screen .................................................................................... 14
3.7 Import Equation from Edit Screen ............................................................................................. 15
3.8 Export Equation ......................................................................................................................... 16
3.9 Edit Equation/Rapid Mathline ................................................................................................... 17
3.10 Copy equation ............................................................................................................................ 20
3.11 Cut Equation .............................................................................................................................. 20
3.12 Paste Equation ........................................................................................................................... 21
3.13 Delete Equation ......................................................................................................................... 22
3.14 Equation Move Up/Move Down ................................................................................................ 23
3.15 Add Equation ............................................................................................................................. 24
3.16 Insert Equation ........................................................................................................................... 25
3.17 Select All equations ................................................................................................................... 26
3.18 Unselect Equations .................................................................................................................... 27
3.19 Select Few Equations ................................................................................................................. 27
3.20 Browser ...................................................................................................................................... 29
3.21 Settings ...................................................................................................................................... 30
3.22 Math ........................................................................................................................................... 32
3.23 Equation List Pane ..................................................................................................................... 34
3.24 Equation Name .......................................................................................................................... 35
3.25 Quick Keys ................................................................................................................................ 36
3.26 Hotkeys ...................................................................................................................................... 37
3.27 Download ................................................................................................................................... 38
3.28 Preview Mathcasting ................................................................................................................. 39
4. External Interface Requirements......................................................................................... 40
4.1 User Interfaces ........................................................................................................................... 40
4.2 Hardware Interfaces ................................................................................................................... 44
4.3 Software Interfaces .................................................................................................................... 44
4.4 Communications Interfaces ....................................................................................................... 44
5. Other Nonfunctional Requirements .................................................................................... 45
5.1 Performance Requirements ........................................................................................................ 45
5.2 Safety Requirements .................................................................................................................. 45
5.3 Security Requirements ............................................................................................................... 45
5.4 Software Quality Attributes ....................................................................................................... 45
6. Special Thanks ....................................................................................................................... 46
Software Requirements Specification for MathCast Equation Editor Page iii
Software Requirements Specification for MathCast Equation Editor Page 1
1. Introduction
1.1 Purpose
This document includes software requirements for MathCast equation editor, release number
0.90. MathCast equation editor is a Mathematics Equation Editor distributed under the terms of the
GNU General Public License. Since MathCast embeds Mozilla, the Mozilla Public License is also
included. Additionally, the STIX fonts license, the Noia icons set license (LGPL) and the Nuvola
icons set license (LGPL) are also included. The system gives a solution in visualizing mathematical
equations. Its purpose is to help the user create and manipulate mathematical equations or lists of
them, save and edit them and then later use them whenever he chooses. MathCast consists of 4 basic
screens: The Welcome Screen, the Settings Screen, a Browser Screen and the Edit Screen where the
user can edit equations. Only one Screen is active at a time, but the user can easily switch between
them according his needs. The equations created can be inserted into: word processors such as
Microsoft Word and OpenOffice.org, presentations and web pages. The equations can be rendered
graphically to the screen, to picture files, or to MathML. MathCast also provides the ability to
expose an equation list as a RESTful HTTP service and thus equation lists can be browsed in a
network.
1.2 Document Conventions
When writing this document it was inherited that all requirements have the same priority.
First there is presented an overall view about MathCast Equation Editor and then all features
and functions are analyzed in detail.
In this document we assume that the user is male for convenience. However MathCast is
intended for both male and female users.
When writing this document it was inherited that no System/Subsystem Specification
documents (SSS) or any other contract document exists.
This Software Requirements Specification document is written based on the general SRS
template made by Karl E. Wiegers.
1.3 Intended Audience and Reading Suggestions
This requirement document contains general information about MathCast, main classes and
use cases, functions, features and special technologies. It describes in detail all that MathCast needs
to work properly and with safety.
The rest of the document is divided into chapters for better understanding.
In chapter 2 an overall description of MathCast is provided. First product perspective is
presented with product features and main functions. Then follow user classes and
characteristics, operating environments that MathCast supports as well as design and
implementation constrains. After all that, user documentation is presented and will provide
you with more details about each feature’s technology.
In chapter 3 most important features are presented with detailed description, use cases and
requirements.
In chapter 4 user, hardware, software and communication interfaces are described.
Software Requirements Specification for MathCast Equation Editor Page 2
In chapter 5 requirements about security, safety and performance are presented along with
the software quality attributes of MathCast.
This document is intended for
Developers: in order to be sure they are developing the right project that fulfills the requirements
provided in this document.
Testers: in order to have an exact list of the features and functions that must respond according to
requirements.
Users: in order to get familiar with the idea of the project and suggest other features that would
make it even more functional.
Documentation writers: to know what features and in what way they have to explain. What
technologies are required, how the system will respond in each user’s action etc.
Advanced end users, end users/desktop and system administrators: in order to know exactly
what they have to expect from the system, right inputs and outputs and response in error situations.
1.4 Project Scope
MathCast Equation Editor is a system that allows the user to create graphical equation and use them
according to his needs. Its purpose is to solve a problem that really bothers many people today when
they have to visualize the equations they want to use during a presentation or some other aspect of
their work. Because the user can create as many equations as he finds fit, MathCast acts as an
Equation List Manager. Equation are stored in lists, and MathCast supports editing of equations
individually or simultaneously, thus allowing the user to copy and paste, move around, delete and
save the equations files which can then be copied, emailed, deleted, edited etc. One of the key
features of MathCast is the Rapid Mathline, a text input line. Using this line the user can create
equations, using letters, numbers and a vast collection of math symbols which is provided.
Additional symbols can be used for formatting such as under-script, bolt, etc. The user can copy-
paste the equations directly to word processors but MathCast also provides additional ways to
handle the list management. Single equations can also be exported in BMP, PNG and EMF picture
file formats. MathCast’s main language is MathML 2.0 Presentation and that is the reason why all
files are described in XML based files thus allowing the user to save and load equation to and from
.mml files (an XML file with one math tag).
MathCast’s top feature is Mathcasting. What Mathcasting does is basically handling all the
mathematics of an XHTML page. When the user opens an XHTML file, MathCast only loads the
<math> tags of that file in its Edit Screen. User can then edit the equations as he wishes, and then
later when he saves the file, MathCast replaces the original math tags with the user changes.
1.5 References
More about MathCast can be found at
http://sourceforge.net/projects/mathcast/
In this website you can find out more about the project and discuss any questions in the
forums. You can go back and look at previous releases, code and problems that have been
solved. There you can also find information about the developer as well as the project’s main
characteristics such as programming language and algorithms.
Software Requirements Specification for MathCast Equation Editor Page 3
http://mathcast.sourceforge.net/home.html
This is the project’s official website where you can find links to all above and also find
examples about MathCast, and feature requests for developing and documentation.
2. Overall Description
2.1 Product Perspective
MathCast is a stand-alone program that provides a powerful graphical interface for rapid
development of mathematical equations. MathCast works best with STIX fonts (which can be
provided with the download of the program). User owns equation lists which he can create or
download from other users. The equation lists are consisted of equations which the user can edit at
will using the application. MathCast does not limit the user in the number of equation lists he can
own meaning that the user can categorize his equations in lists according to his scientific needs and
thus he can have readymade lists for transformation, series etc. The user can then share his lists with
other users through the network that use MathCast, thus providing the opportunity of a collective
creation of equation lists. By using MathCast the user can also export his equation lists or specific
equations to word processors or he can save his list as a picture and use it with other applications.
MathCast also provides the user with the opportunity to edit and replace the mathematics
components of an XHTML page, without changing other components of the page. This ability is
called Mathcasting as mentioned before.
In the diagram below there are the main components of the system, subsystem interconnections and
external interfaces to help you understand the main idea of MathCast. All of them are analyzed with
more details in this document.
Software Requirements Specification for MathCast Equation Editor Page 4
2.2 Product Features
MathCast Equation Editor provides the user with the following functions:
Equation List - New, Open, Save, Insert, Append, Download
User can create a new equation list. The equation list can be opened or closed
whenever the user wants to. Changes on the equations are permitted and the changes
can be saved. The user can also select one, few, all or unselect the equations in the
list. Additionally the user can use the Save As function if he wants to save the current
list with a different name. The user can also open an equation list from disk and
insert it to the current list, replacing the selected equation or alternatively he can
append an equation list from disc and insert it at the end of the current list.
Additionally the user can download an equation list from another IP address, or make
his selection available to others by checking the Enable HTTP Server checkbox on
the Setting Screen, and entering a port number for the coming connections.
Equation – Import, Export, Edit, Copy, Cut, Paste, Delete, Move Up, Move Down,
Add, Insert, Select Few, Select All, Unselect
A new equation can be added, deleted, pasted and be moved up and down throughout
the equation list on the Edit Screen. Insertion of a new equation is also supported.
Importation and exportation are also supported so that the user is able to import or
export an existing equation from/to an existing file. Editing an equation is done using
the Edit Screen which offers a huge variety of features, symbols and customization
options. The user should also be able to Copy, Cut and Paste selected equations.
Browser
MathCast is built with a Web browser integrated. By using the browser screen the
user can easily switch to MathCast’s Website without losing his work on the Edit
Screen. The Browser Screen also comes with a set of useful mathematical resources
on the Web.
Settings
The Settings Screen consists of configuration options. The user can there choose the
default Clipboard copy format(Bitmap, Enhanced Metafile 1, Enhanced Metafile 2,
MathML), the default XML layout for saving files(Named, Hex, Unicode), the
selected default display property(Block, Inline), equation size, color, antialiasing
types(None, Standard, Windows XP ClearType) and Enable the HTTP server which
is used for list exchanging through a network. All of the above features will be
explained more thorough further down on this document.
Math
Math is a main menu option which offers the user a set of signs used in various
mathematic areas.
Download
User is able to download lists of equations that belong to other users by entering the
IP address of the second one. Users should enable the HTTP server option in the
settings menu in order for the transaction to go through.
Rapid Mathline
User can type new equations or edit existing ones using the Rapid Mathline which is
a text input line. Users can use letters, numbers and math symbols that are provided.
Software Requirements Specification for MathCast Equation Editor Page 5
Other symbols such as under-script and bold are used for formatting the equation. All
the available elements which can be entered into the Rapid Mathline can also be
selected from the Math menu, which was mentioned above.
Equation List Pane
All the loaded or created equations are listed on the equation list pane. The user can
select equations by clicking on them and then he can edit.
Equation Name
User can name each equation specifically using a link which is included in the Rapid
Mathline.
Quick Keys
MathCast uses Quick Keys in its Rapid Mathline. Quick Keys are used to input
different characters with more than one keystroke of a specific keyboard symbol.
Hotkeys
Special characters can be entered in the Rapid Mathline by pressing combinations of
Ctrl key and another key.
Preview Mathcasting
This feature is available when the user edits equations of an XHTML page. By using
this feature the user can see a preview of how the equations will be visualized into
the rest of the XHTML page.
2.3 User Classes and Characteristics
Advanced end users: users that have deep knowledge of mathematics and can personalize
and create equations and equations lists, and generally use more sophisticated and advance
symbols and functionalities.
End users/Desktop: users with a more general knowledge about mathematics that want an
easy way to visualize equations, in order to use them in a presentation or a site. Possible
students, bachelors etc.
Science/Research departments: for easily having access to a variety of mathematical
equations. Since every user can create a list and later share it with another one, MathCast can
be used so that Scientific and Research departments build their own lists and every
participant in the department can have access to.
Teachers/Professors: for easily sharing lists with students.
Web developers: for easily altering mathematical components of web pages.
Other Audience
Software Requirements Specification for MathCast Equation Editor Page 6
2.4 Operating Environment
MathCast is a standard Windows application and is capable of running on Microsoft Windows
2000, XP or newer. The user desktop color quality should be 32 bits. The processor should be at
least Pentium III or Athlon XP 1GHz or newer. 500MB RAM and 50MB free hard drive space are
also required in order for MathCast to be fully functional.
A user can select to download MathCast 0.90 with or without the STIX fonts. However, if the user
selects not to include the STIX fonts in the download, he should download DejaVu Sans or Cambria
Math fonts. MathCast can also be downloaded in a binary.zip file. The default MathCast
downloading option is with STIX fonts and it’s an .msi file named MathCast 0.9 with STIX
Fonts.msi. However the user can choose to download an .msi file without the STIX fonts named
MathCast 0.9 without STIX Fonts.msi. Additionally users can download the source code of
MathCast, which is provided in MathCastSource090.7z file. Users can also download MathCast
components without installing MathCast through downloading MathCast090.zip
Nothing more than the MathCast 0.9 with STIX fonts.msi is required for a fully functional
MathCast.
2.5 Design and Implementation Constraints
Specific technologies and tools that will be used in the making of MathCast
In order to keep MathCast flexible, files that are supported are categorized into two groups:
descriptive files, and picture files. Since MathCast’s main language is MathML 2.0
Presentation, descriptive files are described in XML based files. Single equations can be
exported in pictures files using BMP, PNG and EMF file format. EMF stands for Enhanced
Metafile. EMF pictures offer higher detail and thus they are more suitable for printing.
MathCast uses diligentXML which is the official XML parser for MathCast. DiligentXML
features a DOM3 compatible C++ library.
MathCast can be used with HTML and there are two ways available in achieving this goal.
The first one is inserting the desired equation in a picture file and then adding it to the web
page. The second way is using MathML. In this case the user should work with XHTML and
not HTML, because some browsers do not support MathML on HTML pages.
XHTML files produced by MathCast are compatible with Mozilla, Firefox and Netscape
browsers, which have an internal support for MathML. Internet Explorer however does not
have a native way of displaying MathML and requires program updates to enable the
displaying of MathML.
MathCast manages all the mathematics of an XHTML page. This is called Mathcasting as
mentioned before. Whenever an XHTML file is opened, MathCast loads its <math> tags into
the Edit Screen. After any editing and upon saving the document MathCast replaces the
original <math> tags with the newly created equations or with the edited ones. Only the
<math> tags are altered meaning that the rest of the markup in the file is not altered.
Mathcasting provides a “WYSIWYG” tool for authoring XHTML web pages with
mathematical equations.
Software Requirements Specification for MathCast Equation Editor Page 7
ASCII character set is used for the default encoding of XML files. However if a selected file
has no ASCII characters or is declared as UTF-16, MathCast saves the file as a UTF-16
Unicode file.
As mentioned in paragraph 2.4 Operating environment, MathCast requires a font package to
render the equations. MathCast works best with STIX fonts however the user can try
different font packages such as DejaVu sans and Cambria Math fonts.
MathCast includes images from the Noia icons set and the Nuvola icons set, as well as the
bmp2png utility which is a freeware converter between Windows BMP format to PNG
format.
Language Requirements
MathCast is written in English. The Help files are also written in English. There are no
available translations available.
Regulatory Policies
There are no regulatory policies concerning MathCast, as it will be a Freeware. This means
that users will be free to download and use it.
Communication protocols
MathCast will use the HTTP protocol for downloading and web browsing. MathCast (via the
embedded browser) can use HTTP also to download web pages (in the browser screen).
2.6 User Documentation
By downloading MathCast Equation Editor, the user also gets:
A compiled HTML Help file with a full help on all features provided.
A folder with a comprehensive list of examples.
The user is able to navigate to MathCast’s webpage where help is provided, along with
forums.
Software Requirements Specification for MathCast Equation Editor Page 8
3. System Features
System features are organized by use cases and functional hierarchy so that the main functions of
the system will be understandable. In the description of system features there are several references
in various system interfaces. These interfaces are better explained in section 4.1 of this document.
3.1 New equation list
This feature provides the ability to create a new equation list
3.1.1 Description
It is the first thing a user must do in order to start editing equations. The user can create a new
equation list, either directly from the Welcome Screen or by navigating to the Edit Screen and
adding equations. In order for a list to be created a user must add at least one equation.
3.1.2 Stimulus/Response Sequences
Data Flow
3.1.2.1 Basic Data Flow
1. User opens MathCast and selects New Equation List button
2. User is prompted to Edit Screen
3. User selects Add Equation Button
4. The Edit Screen features appear
3.1.2.2 Alternative Data Flows
3.1.2.2.1 Alternative Data Flow 1
3. User selects Equation à Add Equation
4. The Edit Screen features appear
3.1.2.2.2 Alternative Data Flow 2
3. User selects Help à Help
4. The Help options appear
3.1.2.2.3 Alternative Data Flow 3
3. User selects File à Exit
4. A new window appears asking the user to confirm the exit
3.1.2.2.4 Alternative Data Flow 4
3. User selects File àBrowser Screen
4. The Browser Screen Opens
3.1.2.2.5 Alternative Data Flow 5
Software Requirements Specification for MathCast Equation Editor Page 9
3. User selects File àWelcome Screen
4. The Welcome Screen opens
3.1.2.2.6 Alternative Data Flow 6
3. User selects File àDownload
4. The Download Screen opens
3.1.2.2.7 Alternative Data Flow 7
1. User opens MathCast and selects To the Edit Screen button
2. User selects File à New
3. A new equation list is created
3.1.3 Functional Requirements
REQ-1: MathCast must be downloaded and installed
3.2 Open Equation List
This feature provides the ability to open an existing Equation List.
3.2.1 Description
When choosing to open an Equation List a user is transferred to his documents where
he navigates to find the equation list he wants. The user then selects the equation list
and MathCast loads it to the Edit Screen. User can also open an existing equation list
from the Edit Screen
3.2.2 Stimulus/Response Sequences
Data Flow
3.2.2.1 Basic Data Flow
1. User opens MathCast and selects Open Equation List button
2. A system window opens
3. User navigates through his folders
4. User selects an eligible file or writes an eligible file name in the field and
presses Open
5. Edit Screen opens with the selected Equation List
3.2.2.2 Alternative Data Flows
3.2.2.2.1 Alternative Data Flow 1
4a. User selects or types a name of an ineligible file and presses Open
4b. A message “There was an error opening the file.” appears
5. Users is prompted to the Welcome Screen
3.2.2.2.2 Alternative Data Flow 2
3. User chooses cancel
4. User returns to the Welcome Screen
Software Requirements Specification for MathCast Equation Editor Page 10
3.2.2.2.3 Alternative Data Flow 3
3a. User does not select a file or leaves the file name field empty and presses
Open
3b. Nothing happens
3.2.2.2.4 Alternative Data Flow 4
1. User has already opened MathCast and is working on an equation list
2. User selects File à Open
3. A system window opens
4. User navigates through his folders
5. User selects an Equation List and presses Open
6. The new equation list is opened in the Edit Screen replacing the old one
3.2.3 Functional Requirements
REQ-2: The eligible files for this feature are MathML XML Files and are of type
(*.xml;*.xht;*xhml;*.html)
REQ-42: If there is a previously opened equation list in the Edit Screen and the user
selects to open a new one, any changes made in the first equation are lost and the
new equation list appears in the Edit Screen.
3.3 Save Equation List
This feature allows the user to save any changes he has performed in an Equation list.
3.3.1 Description
When an Equation List is opened, the user can organize, add new equations, edit
existing ones and so much more. When it is time for the equation list to close or
during his work on the equation list, the user can save any of the changes he made.
3.3.2 Stimulus/Response Sequences
Data Flow
3.3.2.1 Basic Data Flow
1. User opens MathCast and makes changes to an equation list
2. User selects File à Save
3. Equation List is saved
4. User exits MathCast
3.3.2.2 Alternative Data Flows
3.3.2.2.1 Alternative Data Flow 1
2a. User selects File à Save as
2b. A system window appears letting the user navigate through his folders
2c. User gives a new equation list name and presses save
2d. A new equation list is saved with the specified name
3.3.2.2.2 Alternative Data Flow 2
2a. User selects File à Save as
2b. A system window appears letting the user navigate through his folders
Software Requirements Specification for MathCast Equation Editor Page 11
2c. User gives a new equation list name or selects a file which already exists
2d. A window appears asking the user if he wants to replace the existing file
3. User presses yes and the new equation list is saved replacing the older
one, or user chooses no and returns to the system window
3.3.2.2.3 Alternative Data Flow 3
2a. User selects File à Save as
2b. A system window appears letting the user navigate through his folders
3. User presses cancel and returns to the Edit Screen
3.3.2.2.4 Alternative Data Flow 4
4. User continues working after he saves the database
3.3.2.2.5 Alternative Data Flow 5
2. User wants to exit MathCast
3. A message appears asking the user if he wants to exit the application
4. User selects yes and exits, or no and returns to the equation list
3.3.2.2.6 Alternative Data Flow 6
2a. User selects File à Save as
2b. A system window opens letting the user navigate through his folders
2c. User presses save without giving a file name nor selecting an existing file
2d. Nothing happens
3.3.3 Functional Requirements
REQ-2: The eligible files for this feature are MathML XML Files and are of type
(*.xml;*.xht;*xhml;*.html)
REQ-3: Equation lists must have different names or the newly saved equation will
replace the older one.
REQ-43: Filenames must consist of at least one character.
REQ-44: This feature is available even if there is no equation loaded in the Edit
Screen
3.4 Insert Equation List
This feature allows the user to insert an equation list into another equation list.
3.4.1 Description
This function is only available if the user has an active equation list loaded or
created in Equation List Pane of the Edit Screen. Inserting an equation list requires
that the user specifies where this list will be imported. This is done by selecting an
equation from the equation list that is currently active on the Edit Screen. When the
user uses insert the selected equation list is loaded in the current equation list at the
point where the selected element was, replacing it. If the loaded list has more than
one equation these elements are loaded right under the position from where the first
element of the list was loaded thus pushing the already existing items of the first list
further down.
3.4.2 Stimulus/Response Sequences
Software Requirements Specification for MathCast Equation Editor Page 12
Data Flow
3.4.2.1 Basic Data Flow
1. User is in the Edit Screen and has an equation list loaded or created with
one or more equations in the Equation List Pane
2. User selects File àInsert
3. A system window opens letting the user navigate through his folders
4. User selects an eligible file or writes an eligible file name in the field and
presses open
5. The list is inserted into the already existing list starting from the selected
equation
3.4.2.2 Alternative Data Flows
3.4.2.2.1 Alternative Data Flow 1
4. User selects Cancel
5. User is prompted back to the Edit Screen
3.4.2.2.2 Alternative Data Flow 2
4. User selects an ineligible file to insert and presses open
5. An error window appears
6. User is prompted back to the Edit Screen
3.4.2.2.3 Alternative Data Flow 3
3a. A system window opens letting the user navigate through his folders
3b. User writes an ineligible file name to insert and presses open
3c. A window appears saying that this file was not found
3d. User Presses OK
3e. System returns to the system window and the user can make a new
selection
3.4.2.2.4 Alternative Data Flow 4
3a. A system window opens letting the user navigate through his folders
3b. User does not select a file or leaves the file name empty
3c. User presses Open
3d. Nothing happens
3.4.3 Functional Requirements
REQ-2: The eligible files for this feature are MathML XML Files and are of type
(*.xml;*.xht;*xhml;*.html)
REQ-45: This feature is unavailable if there are no items loaded in the Equation List
Pane.
3.5 Append Equation list
This feature allows the user to insert an equation list at the bottom of an existing equation list
3.5.1 Description
In order for the append option to be available the user must be on the Edit Screen and
have at least one equation in the Equation List Pane. The user can then select append
Software Requirements Specification for MathCast Equation Editor Page 13
from the file menu and choose an equation list. This equation list will be added at the
bottom of the existing equations in the Equation List Pane.
3.5.2 Stimulus/Response Sequences
Data Flow
3.5.2.1 Basic Data Flow
1. User is at the Edit Screen and has one or more equations in the Equation
List Pane
2. User selects File à Append
3. A system window opens allowing the user to navigate through his folders
4. User selects an eligible file and presses open
5. The list is inserted at the bottom of the Equation List Pane
3.5.2.2 Alternative Data Flows
3.5.2.2.1 Alternative Data Flow 1
4. User selects Cancel
5. User is prompted back to the Edit Screen
3.5.2.2.2 Alternative Data Flow 2
4. User selects an ineligible file to insert and presses open
5. An error window appears
6. User is prompted back to the Edit Screen
3.5.2.2.3 Alternative Data Flow 3
3a. A system window opens allowing the user to navigate through his folders
3b. User writes an ineligible file name to append and presses open
3c. A window appears saying that this file was not found
3d. User Presses OK
3e. System returns to the system window and the user can make a new
selection
3.4.2.2.4 Alternative Data Flow 4
3a. A system window opens letting the user navigate through his folders
3b. User does not select a file or leaves the file name empty
3c. User presses Open
3d. Nothing happens
3.5.3 Functional Requirements
REQ-2: The eligible files for this feature are MathML XML Files and are of type
(*.xml;*.xht;*xhml;*.html)
REQ-45: This feature is unavailable if there are no items loaded in the Equation List
Pane.
Software Requirements Specification for MathCast Equation Editor Page 14
3.6 Import Equation from Welcome Screen
This feature allows the user to import an equation from an eligible file in his disk into his current
equation list when the program is at the Welcome Screen.
3.6.1 Description
This functionality is available in the Welcome screen and in the Edit screen but
works a little different so both ways will be explained in this section and on section
3.7. If the user does not have one or more equations active in his Equation List Pane,
only the import option from the Welcome Screen is available. Else both import
options from the two screens are available. The user chooses import and selects a
file. If the file has more than one equation stored, only the first equation of this file is
imported in the Equation List Pane. If MathCast does not have an equation list
loaded when user selects Import Equation, the equation that is imported opens on the
first place of the Equation List Pane. Else, the equation that is imported, replaces and
takes the spot of the equation that was currently selected in the Equation List Pane
3.6.2 Stimulus/Response Sequences
Data Flow
3.6.2.1 Basic Data Flow
1. User opens MathCast and selects Import Equation
2. A system window opens allowing the user to navigate through his folders
3. User selects an eligible file or types an eligible file name and presses open
4. The Edit Screen appears and the first equation of the selected file is placed
in the Equation List Pane
3.6.2.2 Alternative Data Flows
3.6.2.2.1 Alternative Data Flow 1
3. User selects an ineligible file and presses open
4. An error message appears and user must press ok to continue
5. The program returns to the Welcome Screen
3.6.2.2.2 Alternative Data Flow 2
3. User selects Cancel
4. The system returns to the Welcome Screen
3.6.2.2.3 Alternative Data Flow 3
1a. User is at the Edit Screen
1b. User selects an equation from the Equation List Pane
1b. User selects File à Welcome Screen
1c. Application switches to the Welcome Screen
1d. User selects Import Equation
3.6.2.2.4 Alternative Data Flow 4
2a. A system window opens allowing the user to navigate through his folders
2b. User types an ineligible name and presses Open
2c. A system window appears letting the user know that the file was not
found
2d. User selects OK
Software Requirements Specification for MathCast Equation Editor Page 15
2e. System returns at the system window allowing the user to select a new file
3.6.2.2.5 Alternative Data Flow 5
2a. A system window opens allowing the user to navigate through his folders
2b. User does not select a file or leaves the file name field blank
2c. User presses Open
2d. Nothing happens
3.6.3 Functional Requirements
REQ-41: File selected must be of a type MathML MML Files and that is
(*.mml;*.xml)
REQ-44: This feature is available even if there is no equation loaded in the Edit
Screen
3.7 Import Equation from Edit Screen
This feature allows the user to import an equation from an eligible file in his disk into his current
equation list when the program is at the Edit Screen.
3.7.1 Description
As mentioned above (section 3.6) user can import an equation through the Edit
Screen. This functionality differs from the one mentioned in section 3.6, because the
system responses are different. This option is available only if the user has equations
loaded/created on the Equation List Pane.
3.7.2 Stimulus/Response Sequences
Data Flow
3.7.2.1 Basic Data Flow
1. User is at the Edit Screen and the Equation List Pane has one or more
equations
2. User selects an equation
3. User selects Equation à Import Equation
4. A system window opens allowing the user to navigate through his folders
5. User selects an eligible file or types an eligible file name and presses open
6. The first equation of the selected file is placed in the position of the
selected equation in the Equation List Pane
3.7.2.2 Alternative Data Flows
3.7.2.2.1 Alternative Data Flow 1
5. User selects an ineligible file and presses open
6. An error message appears and user must press ok to continue
7. The program returns to the Edit Screen
3.7.2.2.2 Alternative Data Flow 2
5. User selects Cancel
6. The system returns to the Edit Screen
Software Requirements Specification for MathCast Equation Editor Page 16
3.7.2.2.3 Alternative Data Flow 3
4a. A system window opens allowing the user to navigate through his folders
4b. User types an ineligible name and presses Open
4c. A system window appears letting the user know that the file was not
found
4d. User selects OK
4e. System returns at the system window allowing the user to select a new file
3.7.2.2.4 Alternative Data Flow 4
4a. A system window opens allowing the user to navigate through his folders
4b. User does not select a file or leaves the file name field blank
4c. User presses Open
4d. Nothing happens
3.7.3 Functional Requirements
REQ-41: File selected must be of a type MathML MML Files and that is
(*.mml;*.xml)
REQ-45: This feature is unavailable if there are no items loaded in the Equation List
Pane.
3.8 Export Equation
This feature describes the exportation of a selected equation from the Equation List Pane to a file.
3.8.1 Description
Exportation of an equation can create a new file, or take place in an existing one. The user
just chooses the exportation option and is transferred to a system window. Then the user has
two choices. The first one is exporting the equation to an existing eligible file. By doing so
this file’s contents are replaced by the selected equation. The second choice that the user has
is exporting the equation to a non existing file, which means that a new file is created. The
user chooses a name and a type for the file. The available files that are eligible for
exportation are bitmap files(.bmp), MathML MML Files(.mml/,xml), Portable Network
Graphics Files(.png), Transparent PNG Files(.png) and Enhanced Metafile Files(.emf)
3.8.2 Stimulus/Response Sequences
Data Flow
3.8.2.1 Basic Data Flow
1. User is at the Edit Screen and selects an equation from the Equation List
Pane
2. User selects Equation à Export Equation
3. A system window opens allowing the user to navigate through his folders
4. User selects an existing eligible file or types an eligible file name and
presses save
5. A window appears asking if the user really wants to replace this file
6. User presses yes and returns to the Edit Screen or no and the system returns
to the system window for file selection
Software Requirements Specification for MathCast Equation Editor Page 17
3.8.2.2 Alternative Data Flows
3.8.2.2.1 Alternative Data Flow 1
3a. A system window appears allowing the user to navigate through his
folders
3b. User chooses no file or leaves the file name empty and presses Save
3c. Nothing happens
3.8.2.2.2 Alternative Data Flow 2
4. User selects Cancel
5. Program returns to the Edit Screen
3.8.2.2.3 Alternative Data Flow 3
4. User types a name in the file name that does not correspond to an existing
element in users system
5. User selects the type of file that his equation wants to be saved as. The type
of files that user can select are these that are described in the description
section of this feature
6. A new file is created, with the file name that the user gave and with the
extension he chose.
7. Program returns to the Edit Screen
3.8.3 Functional Requirements
REQ-4: The eligible file that user can replace or create are of a type MathML
MML(*.mml;*.xml), Bitmap (*.bmp), Portable Network Graphics (*.png),
Transparent PNG (*.png), Enhanced Metafile (*.emf)
REQ-5: In order for a file to be exported the user must type something in the file
name or select an existing file.
REQ-6: This feature is available only when the user is at the Edit Screen and has at
least one equation active on the Equation List Pane
3.9 Edit Equation/Rapid Mathline
This feature allows the user to perform editing actions on a selected equation from the Equation List
Pane
3.9.1 Description
In order for the user to be able to edit an equation he must first create a new equation list or
load an existing one on the Edit Screen. All Editing operations are performed in the Edit
Screen. The user is then able to edit an equation from an equation list loaded in the Equation
List Pane. The user must select the equation he wants to edit. Once the user selects the
desired equation it appears in the Rapid Mathline. The user is then able to perform a set of
editing operations on the selected equation such as deleting symbols, adding symbols and
changing equation name. The main disadvantage of the Rapid Mathline is that the equations
are displayed in a calculator-like row instead of a mathematical representation. This feature
though offers the user an easier way of editing the selected equations. After doing so, Rapid
Mathline, automatically styles the selected equations because it incorporates an intelligent
engine. The mathematics that MathCast generates are based on the standard presentation
which is adopted by the mathematics community. The user is able to insert symbols in the
Rapid Mathline by many means. The user can type symbols from his keyboard, or by using
Software Requirements Specification for MathCast Equation Editor Page 18
Quick Keyes and Hotkeys (which will be explained latter in this document), or from the
Lowlist. Every available element which can be entered into the Rapid Mathline can also be
selected from the Math Menu. The Rapid Mathline identifies the following elements:
numbers (a series of digits without spaces, that may include commas and periods), letters
(‘A’ to ‘Z’, ‘a’ to ‘z’, Greek letters, double-struck letters, special letters), function names
(predefined names consisting of a few letters grouped together), mathematical operators
(one-character long symbols used in mathematics), shortcuts(characters represented by
another character) and markup (elements with special appearance or meaning. These
elements require parameters).
Markup consists of:
Superscripts, Subscripts, Underscripts, and Overscripts.
These elements, except subsupscript and underoverscript, have two parameters. The
base and the argument with the following syntax: base, symbol, argument.
Subsupscript and underoverscript take two arguments and have the following syntax:
base, symbol, argument1,’E, argument2.
Fractions
A fraction requires 2 parameters: a numerator and a denominator. The syntax of a
fraction is: numerator/denominator.
Roots
Roots have the following syntax: , followed by whatever the user needs in the root.
The n’th root takes two arguments, one before the root symbol which is used to
determine the number of the root and one after the root symbol which is what the
user need in the root.
Bold
The syntax is: Bold and the rendered result is: Bold.
Text
The syntax is: double-quotes and text between them.
Spaces
The syntax is: charactercharacter, where is the markup character for space.
Block and Parentheses
Block and Parentheses are used for grouping elements. The syntax for a Block is: ‘<’,
elements,’>’. Parentheses have the same syntax except that the characters ‘(‘and ‘)’
are used.
Vector – 2D Matrix
The syntax is: ‘’ character, Έ, character ‘’. Where Έ is the argument separator
character.
Matrix
A matrix, like the vector, requires the ‘, ‘’, and argument separator characters.
The syntax is for example: aΈb⌋⌈cΈd . The outer ‘’ and ‘’ tell the Rapid
Mathline that we are talking about a matrix. While the internal ‘’ and ‘’ represent
the rows of the matrix.
When the user finishes editing he can click OK. Rapid Mathline then handles the
transformation of the equation from a calculator like row to a styling equation. The new
edited equation appears in the position of the equation that the user selected for editing. A
detailed list of the supported symbols is given in section 3.22.
3.9.2 Stimulus/Response
Data Flow
3.9.2.1 Basic Data Flow
1. User opens MathCast and creates or loads an equation or an equation list
2. An equation or an equation list is loaded or created in the Edit Screen
3. User selects an equation
Software Requirements Specification for MathCast Equation Editor Page 19
4. This equation appears in the Rapid Mathline
5. The user clicks in the Rapid Mathline and starts editing
6. The user clicks OK in the Rapid Mathline
7. The modified equation appears in the Equation List Pane at the spot where
the unmodified equation was
3.9.2.2 Alternative Data Flow
3.9.2.2.1 Alternative Data Flow 1
6. User clicks Cancel
7. All the editing actions that the user performed are lost and the equation
appears in the Rapid Mathline unedited
3.9.2.2.2 Alternative Data Flow 2
6. User clicks on another equation from the Equation List Pane
7. This equation takes the place of the previous equation in the Rapid
Mathline and all the changes are lost
3.9.2.2.3 Alternative Data Flow 3
3. User selects multiple equations
4. The equation that is higher in the Equation List Pane appears in the Rapid
Mathline and is eligible for editing
3.9.2.2.4 Alternative Data Flow 4
6. User Opens a new Equation List
7. The selected item of the previous Equation List is lost and the first item of
the new list becomes selected
3.9.2.2.5 Alternative Data Flow 5
5a. User click in the Rapid Mathline and starts editing
5b. User selects some symbols that are not mathematically eligible
5c. An error message appears and user selects Ok.
6. The system returns in the Edit Screen with the equation loaded in the
Rapid Mathline.
7. End of Data Flow
3.9.3 Functional Requirements
REQ-7: Every time the user is in the Edit Screen and has one or more equations
loaded the first of them is automatically selected by the program. If the Edit Screen
does not have a loaded equation and the user adds one this is the selected equation.
The user can then select whichever equation he needs. Either ways there is always
one item selected in the Equation List Pane except when there is no item in it.
REQ-25: If the selected equation is empty, the Rapid Mathline is empty. Mathline
should always load the elements of the selected equation.
REQ-16: Rapid Mathline is available only if the Equation List Pane is not empty.
REQ-29: Rapid Mathline can support up to a maximum of 32,767 characters.
Software Requirements Specification for MathCast Equation Editor Page 20
3.10 Copy equation
This feature creates a copy of a selected equation in the Equation List Pane.
3.10.1 Description
In order for this ability to function the user must have at least one equation loaded or
created in the Equation List Pane. The user can select to copy more than one equation
but only the first of those equations is copied to the Clipboard. This happens because
MathCast internally copies all the equations, but only the first one is copied in the
Clipboard. The user can use the equation in word processors by simply pasting it in
the word processor window. The user can also paste the selected equation back into
MathCast and this action makes a new entry in the Equation List Pane. More about
pasting an equation will be discussed in section 3.12 of this document.
3.10.2 Stimulus/Response Sequences
Data Flow
3.10.2.1 Basic Data Flow
1. User is at the Edit Screen and has one or more equations selected in
the Equation List Pane
2. User presses EditàCopy or Ctrl+C, or the Copy button from the
Equation Buttons Pane
3. The selected equation or list of selected equations is internally
copied in MathCast. Only the first of the list or the single equation is
copied in the clipboard also.
3.10.2.2 Alternative Data Flows
Non Exists
3.10.3 Functional Requirements
REQ-7: Every time the user is in the Edit Screen and has one or more equations
loaded the first of them is automatically selected by the program. If the Edit Screen
does not have a loaded equation and the user Adds one this is the selected equation.
The user can then select whichever equation he needs. Either ways there is always
one item selected in the Equation List Pane except when there is no item in it.
REQ-8: The copied equation remains “copied” for as long as the user does not
copy/cut anything else.
3.11 Cut Equation
This function allows the user to Cut a selected equation or a number of equations from an existing
list in the Equation List Pane
3.11.1 Description
The user can cut an equation or a number of equations that exist in the Equation List
Pane. The user must first select the equations he wants to cut. He can also select to
cut more than one equations but only the first of those equations is copied in the
Software Requirements Specification for MathCast Equation Editor Page 21
Clipboard. This happens because MathCast internally copies all the equations that are
cut, but only the first one is copied in the Clipboard. After cutting an equation or a
list of equations the selected equations are deleted from the Equation List Pane.
3.11.2 Stimulus/Response Sequences
Data Flow
3.11.2.1 Basic Data Flow
1. User is at the Edit Screen and he has one or more equations selected in the
Equation List Pane
2. User presses either EditàCut, or Ctrl+X, or the Copy button from the
Equation Buttons Pane
3. The selected equation or list of selected equations is internally copied in
MathCast. Only the first of the list or the single equation is copied in the
clipboard also.
4. The selected equation or list of selected equations are deleted from
MathCast’s Equation List Pane
3.11.2.2 Alternative Data Flow
Non exist
3.11.3 Functional Requirements
REQ-7: Every time the user is in the Edit Screen and has one or more equations
loaded the first of them is automatically selected by the program. If the Edit Screen
does not have a loaded equation and the user adds one this is the selected equation.
The user can then select whichever equation he needs. Either ways there is always
one item selected in the Equation List Pane except when there is no item in it.
REQ-9: The cut equation remains “copied” for as long as the user does not copy/cut
anything else
3.12 Paste Equation
This function allows the user to paste a previously copied or cut equation
3.12.1 Description
A user is able to paste a previously cut or copied equation in his Equation List Pane.
Before pasting anything a user must have an equation copied or cut in order for Paste
to have functionality. The user must select a place in the Equation List Pane that he
wants to paste the copied or cut equation. As already mentioned MathCast internally
copies all the selected equations when the user cuts or copies, but only copies the
first of them to the clipboard. That means that if the user pastes something on a word
processor this is going to be copied through clipboard and thus only the first of the
copy/ cut equations will be copied into the word processor. Pasting in MathCast does
not work this way because the items that are copied /cut are internally copied in
MathCast, meaning that the program does not use clipboard to paste something in it.
It uses the internally copied or cut items. This means that the user can paste a whole
list of equations at once. Once the user pastes the desired equation/s he can re-paste
and the items will be pasted again. This can be done repeatedly. When pasting, the
Software Requirements Specification for MathCast Equation Editor Page 22
first item of the copied /cut list of equations replaces the selected equation in the
Equation List Pane. The other copied/cut items in the list if any are added right under
this position pushing other items that might exist in the Equation List Pane further
down.
3.12.2 Stimulus/Response Sequences
Data Flow
3.12.2.1 Basic Data Flow
1. User is at the Edit Screen and there is at least on equation in the Equation
List Pane
2. User has previously copied/cut one equation
3. User selects an equation in the Equation List Pane
4. User presses File à Paste or CTRL+V or the Paste Equation button from
the Equation button Pane.
5. The previously cut/copied equation replaces the selected one.
3.12.2.2 Alternative Data Flows
3.12.2.2.1 Alternative Data Flow 1
2. User has previously copied/cut more than one equation
5. The first equation of the previously cut/copied ones replaces the selected
equation. The other copied/cut equations are added right under that position,
pushing other equations in the Equation List Pane, if any, further down.
3.12.2.2.2 Alternative Data Flow 2
2. User has not cut/copied anything
5. Nothing Happens
3.12.3 Functional Requirements
REQ-7: Every time the user is in the Edit Screen and has one or more equations
loaded the first of them is automatically selected by the program. If the Edit Screen
does not have a loaded equation and the user Adds one this is the selected equation.
The user can then select whichever equation he needs. Either ways there is always
one item selected in the Equation List Pane except when there is no item in it.
REQ-10: There must be at least one equation in the Equation List Pane, in order for
paste to have functionality.
3.13 Delete Equation
This feature allows the user to delete one or more equations in the Equation List Pane
3.13.1 Description
The user can delete an equation or a set of equations that are in the Equation List
Pane by selecting them and pressing either the delete equation button from the
Equation Button Pane or EditàDelete. When this is done the selected items are
erased and MathCast removes them from the list. If the user deletes an equation he is
not able to retrieve it back.
Software Requirements Specification for MathCast Equation Editor Page 23
3.13.2 Stimulus/Response Sequences
Data Flow
3.13.2.1 Basic Data Flow
1. User is at the Edit Screen and there are one or more equations in the
Equation List Pane
2. User selects one or more equations
3. User presses either Edit àDelete or the delete equation button from the
Equation Button Pane
4. The selected equation/s are permanently deleted and removed from the list
3.13.2.2 Alternative Data Flows
None exists
3.13.3 Functional Requirements
REQ-7: Every time the user is in the Edit Screen and has one or more equations
loaded the first of them is automatically selected by the program. If the Edit Screen
does not have a loaded equation and the user Adds one this is the selected equation.
The user can then select whichever equation he needs. Either ways there is always
one item selected in the Equation List Pane except when there is no item in it.
REQ-13: There must be at least one equation in the Equation List Pane in order for
delete to have a functionality.
3.14 Equation Move Up/Move Down
This feature allows the user to move a selected equation or a number of selected equations up or
down in an existing list.
3.14.1 Description
The user must first select the equation/s which he wants to move and then press
either Equation à Move Up/Move Down or the Move equation up/down buttons in
the Equation Button Pane. After pressing one of these buttons the selected equation/s
is moved one place up or down according to the user selection. If the equation is at
the top of the list the Move Up function is unavailable. If the equation is at the
bottom of the list the Move Down function is unavailable. If there is a number of
equations selected and the first or last item is either the top or the bottom item of the
list the same rules apply.
3.14.2 Stimulus/Response Sequences
Data Flow
3.14.2.2 Basic Data Flow
1. User is at the Edit Screen and there is a list of equations in the Equation
List Pane
2. User selects an equation
3. User selects either Equation à Move Up/Down or the Move equation
up/down button
Software Requirements Specification for MathCast Equation Editor Page 24
4. The equation is moved one place up or down in the list according to the
selection
3.14.3.2 Alternative Data Flows
3.14.3.2.1 Alternative Data Flow 1
2. User selects a number of equations
4. The equations are all moved on place up or down in the list according to
the selection
5. Only the upper item of the selected list that was moved remains selected
3.14.3.2.2 Alternative Data Flow 2
2a. User selects an equation and it is the first of the list
2b. The Move up function becomes unavailable
3.14.3.2.3 Alternative Data Flow 3
2a.User selects an equation and it is the last of the list
2b. The Move down function becomes unavailable
3.14.3.2.4 Alternative Data Flow 4
2a. User selects an equation list and its first item is the first of the Equation
List Pane
2b. The Move up function becomes unavailable
3.14.3.2.5 Alternative Data Flow 5
2. User selects an equation list and its last item is the last item of the Equation
List Pane
3. User selects to move the selected equations down
4. All the selected items are moved one place down except the last equation
3.14.3 Functional Requirements
REQ-11: If there is one element in the Equation List Pane this feature is unavailable.
REQ-12: If the selected item is the first/last item of the Equation List Pane the Move
up/Move down function become unavailable accordingly.
3.15 Add Equation
This feature allows the user to add an additional equation in the Equation List Pane
3.15.1 Description
Adding an equation is only achievable through the Edit Panel. If the user wants to
add an equation he can do so by either pressing the Add equation button or by
selecting Equationà Add Equation. This equation is added at the bottom of the
equation list in the Equation List Pane. If the user is in the Edit Screen and he does
not have any equations put in the Equation List Pane, this is the only functional
button of the Equation Button Pane.
3.15.2 Stimulus/Response Sequence
Data Flow
Software Requirements Specification for MathCast Equation Editor Page 25
3.15.2.1 Basic Data Flow
1. User opens MathCast and Welcome Screen appears
2. User selects To the Edit Screen button
3. The Edit Screen appears
4. User selects Equation à Add Equation or Add equation button from the
Equation List Pane
5. A new equation is created in the Equation List Pane
3.15.2.2 Alternative Data Flows
3.15.2.2 Alternative Data Flow 1
1. User is already in the Edit Screen and there are items in the Equation List
Pane
2. User selects Equation à Add Equation or Add equation button from the
Equation List Pane
3. A new equation is created at the bottom of the Equation List Pane
4. End of Data Flow
3.15.3 Functional Requirements
REQ-14: If none equation exists in the Equation List Pane, this function should be
available
REQ-15: There is no defined limit to the number of the equations that can be added.
At some point when MathCast cannot allocate new memory, the application stops
working. The suggested length of an equation list is a few hundred equations.
3.16 Insert Equation
This feature allows the user to insert an equation in a specified location in the list
3.16.1 Description
The user can choose to insert a new equation at a specified position in the equation
list of the Equation List Pane. This is done by pressing the insert equation button in
the Equation button Pane or by selecting Equationà Insert Equation. Before
inserting the user must select an item of the list. The inserted equation will be added
above the selected item pushing every item that is under the inserted equation one
place down in the list.
3.16.2 Stimulus/Response Sequence
Data Flow
3.16.2.1 Basic Data Flow
1. User is at the Edit Screen with at least on equation loaded in the Equation
List Pane
2. User selects an equation
3. User selects Equation à Insert Equation or presses the insert equation
button from the Equation Button Pane
4. A new equation is inserted above the item that the user selected
Software Requirements Specification for MathCast Equation Editor Page 26
3.16.2.2 Alternative Data Flows
3.16.2.2.1 Alternative Data Flow 1
1. User is at the Edit Screen with no equation in the Equation List Pane
2. Insert feature is unavailable
3. End of Data Flow
3.16.3 Functional Requirements
REQ-7: Every time the user is in the Edit Screen and has one or more equations
loaded the first of them is automatically selected by the program. If the Edit Screen
does not have a loaded equation and the user Adds one this is the selected equation.
The user can then select whichever equation he needs. Either ways there is always
one item selected in the Equation List Pane except when there is no item in it.
REQ-15: There is no defined limit to the number of the equations that can be added.
At some point when MathCast cannot allocate new memory, the application stops
working. The suggested length of an equation list is a few hundred equations.
REQ-16: This function is available only if the Equation List Pane is not empty.
3.17 Select All equations
This feature allows the user to select all equations in the Equation List Pane.
3.17.1 Description
User is able to select all the equations in the Equation List Pane by either pressing
CTRL+A or by selecting Edit à Select All. This feature is unavailable if there is no
item in the equation list pane. After selecting all the equations the user can perform
an eligible action he wishes.
3.17.2 Stimulus/Response Sequence
Data Flow
3.17.2.1 Basic Data Flow
1. User is in the Edit Screen and there is one or more equations loaded in the
Equation List Pane
2. User selects EditàSelect All or presses CTRL+A
3. All the equations in the equation list are selected
3.17.2.2 Alternative Data Flows
None exists
3.17.3 Functional Requirements
REQ-16: This function is available only if the Equation List Pane is not empty
REQ-17: Default system features for selection are also available. Single clicking
every equation in the list while holding the CTRL key also selects all the equations.
Selecting the last equation of the list and pressing Shift while clicking the first
element also selects the whole list.
Software Requirements Specification for MathCast Equation Editor Page 27
3.18 Unselect Equations
This feature allows the user to unselect his currently selected equations in the Equation List Pane
3.18.1 Description
If the user has selected more than one equation in his list he is able to unselect all of
them by clicking Edit à Unselect or by pressing CTRL+U. Because MathCast
always has an equation selected, using the unselect function unselects all the
equations except the upper- most of the equations that were selected. User is able to
unselect a list of equations by simply clicking on another equation too.
3.18.2 Stimulus/Response Sequences
Data Flow
3.18.2.1 Basic Data Flow
1. User is at the Edit Screen and has a list of equations selected from the
Equation List Pane
2. User presses Edit à Unselect or CTRL+U
3. All equations are unselected except the upper most of them.
3.18.2.2 Alternative Data Flows
3.18.2.2.1 Alternative Data Flow 1
2. User selects an equation
3. All equations are unselected except the one the user selected
3.18.3 Functional Requirements
REQ-18: If there is one item in the Equation List Pane this feature is available but
does nothing because MathCast always has an item selected if there are one or more
equations in the Equation List Pane.
REQ-16: This function is available only if the Equation List Pane is not empty.
3.19 Select Few Equations
This feature allows the user to select specific equations from an equation list in the Equation List
Pane
3.19.1 Description
If the user wants to select more than one equations but not the entire list he can do so by
pressing CTRL+ clicking the desired equations. MathCast however provides a more easy
way of selecting equations. The user can select Edit à Select Few or CTRL+F. When the
user does this the Rapid Mathline asks for the numbers of the equations that the user wants
to select. Every equation in the Equation List Pane is given a number according to their
position. The user types the numbers of the equations he wishes to select and presses OK.
These equations are selected.
Software Requirements Specification for MathCast Equation Editor Page 28
3.19.2 Stimulus/Response
Data Flow
3.19.2.1 Basic Data Flow
1. User is at the Edit Screen and there are one or more equations in the
Equation List Pane
2. User selects Edità Select Few or presses CTRL+F
3. Rapid Mathline asks the user to write the numbers of the equations he
wants to select.
4. User types the numbers of the equations
5. User presses OK
6. The desired equations are selected
3.19.2.2 Alternative Data Flows
3.19.2.2.1 Alternative Data Flow 1
5. User selects Cancel
6. MathCast returns to the state it was before selecting the Select Few option
3.19.2.2.2 Alternative Data Flow 2
4. User types some existing numbers and some none existing numbers
5. User selects OK
6. Only the equations with numbers that existed are selected
3.19.2.2.3 Alternative Data Flow 3
4. User types only numbers of equations that does not exist
5. User selects OK
6. MathCast stops working
3.19.2.2.4 Alternative Data Flow 4
4a. User selects Help and an option from the help menu
4b. The selected option appears
4c. User closes the help selection he chose
4d. User types the numbers of the equations in the Rapid Mathline
3.19.2.2.5 Alternative Data Flow 5
4. User selects another feature that will change the consistency of the list
5. Selection stops and the program respond to the new feature
6. End of data flow
3.19.3 Functional Requirements
REQ-16: This function is available only if the Equation List Pane is not empty
REQ-19: Eligible selection has the syntax (no.Eq, no.Eq, noEq) or (no.Eq-no.Eq)
where no.Eq is the number of an equation in the Equation List Pane. Using the first
syntax the user must specify each number of equations specifically. Using the second
syntax the user must specify a start number and an end number. The equations that
exist between these two numbers will be selected including these two numbers.
REQ-20: Each equation in the Equation List Pane has a specific number. This
number is given to the equation by the program according to its position in the list.
The first element of the list is given the number 0, second equation is given number
1, third equation is given number 2 and so on.
Software Requirements Specification for MathCast Equation Editor Page 29
3.20 Browser
This feature allows the user to use the integrated browser of MathCast
3.20.1 Description
User can switch to the Browser Screen whenever he chooses. When the user switches
to the Browser Screen his work in the Edit Screen remains unchanged and it is not
lost. The user can switch back to the Edit Screen and continue his work whenever he
wants. Browser consists of a Main Menu and the browsing screen. The main menu
consists of the following options: 1.File (New Browser, Edit Screen, Welcome
Screen, Exit). 2.Links a. Mathematics(Wikipedia Mathematics, Mathworld, Yahoo
Mathematics directory, PlanetMath.org, the freedictionary.com Mathematics Topics,
math2.org Math Reference Tables, Project MATHEMATICS!, The Mathematical
Atlas), b. Physics(HuperPhysics, Wikipedia Physics, Physics Encyclopedia, Allrefer
Physics, Physorg.com), c. Science (Nasa, PBS Science, BBC Science and Nature,
Google News- Sci/Tech), d. BooksOnline (Wikibooks Mathematics, American
Mathematical Society, The Online Book Page at Upenn, arXiv.org e-Print archive,
Online Mathematics Textbooks, Mathematics at FSU, Online Physics Textbooks),
e.W3C MathML, f. Mozilla, g. Fonts(STIX Fonts, MathML with Mozilla). 3. Help
(Help, MathCast’s Website, About MathCast). 4. Back, 5.Forward, 6.Stop, 7.Reload.
3.20.2 Stimulus/Response Sequences
Data Flow
3.20.2.1 Basic Data Flow
1. User is ether at the Welcome Screen or the Edit Screen
2. User selects FileàBrowser Screen
3. The Browser Screen appears with MathCast’s project site loaded in it
3.20.2.2 Alternative Data Flows
3.20.2.2.1 Alternative Data Flow 1
4. User selects Fileà New Browser
5. Firefox opens and loads Browser Screen’s currently loaded page
3.20.2.2.2 Alternative Data Flow 2
4. User selects Fileà Edit Screen
5. Program loads Edit Screen
3.20.2.2.3 Alternative Data Flow 3
4. User selects Fileà Welcome Screen
5. Program loads Welcome screen
3.20.2.2.4 Alternative Data Flow 4
4. User selects FileàExit
5. A system window appears asking the user if he really wants to exit the
application
6. User selects yes and exits, or no and returns to the Browser Screen
Software Requirements Specification for MathCast Equation Editor Page 30
3.20.2.2.5 Alternative Data Flow 5
4. User selects Links and any of the offered links
5. Browser loads the selected link in the Browser Screen
3.20.2.2.6 Alternative Data Flow 6
4a. User selects Help àHelp
5a. The Help document opens in a separate window
4b. User selects Helpà MathCast’s Website
5b. MathCast’s Website is loaded in the Browser Window
4c. User selects Help à About MathCast
5c. A pop-up window appears with information regarding MathCast
3.20.2.2.7 Alternative Data Flow 7
4. User selects Back
5. The previously loaded page appears. If no page was loaded previously,
MathCast returns either to Welcome Screen or the Edit Screen, depending
from where the browser screen was called
3.20.2.2.8 Alternative Data Flow 8
4. User navigates through pages and then chooses back
5. Forward option becomes available
6. User presses Forward
7. The browser opens the page that was loaded before hitting the Back option
3.20.2.2.9 Alternative Data Flow 9
4. User selects Stop
5. The active link stops loading in the Browser Screen
3.20.2.2.10 Alternative Data Flow 10
4. User selects Reload
5. The currently loaded page reloads
3.20.3 Functional Requirements
REQ-20: The user must have an active internet connection in order for Browser
Screen to be able to load pages.
REQ-21: Switching between Browser Screen and Edit Screen does not affect the
user’s equations.
REQ-22: The Browser Screen maintains the loaded links. This means that if the user
switches from Browser Screen to the Edit Screen and then back to the Browser
Screen, the Browser Screen must be in the state it was when the user switched to Edit
Screen.
3.21 Settings
This feature allows the user to change the working settings of MathCast.
3.21.1 Description
Software Requirements Specification for MathCast Equation Editor Page 31
User can navigate to the Settings Screen even if there is no equation loaded in the
Equation List Pane. Once he is at the Settings Screen, the user can choose from a list
of settings according to his needs. The provided settings are:
Default Clipboard copy format. The user can choose between 1.Bitmap,
Enhanced Metafile 1, Enhanced Metafile 2, MathML.
Default XML layout for saving files. The user can choose between 1.Named,
2.Hex, 3.Unicode
Display property. The user can choose between 1.Block, 2.Inline
Default size of equations. The user inputs a numeric value between 0.5 and
3.0
Default color for equations. User can choose color for foreground and
background
Font smoothing (antialiasing) type. User can choose between 1. None, 2.
Standard, 3.Windows XP ClearType
HTTP server. The user can choose to Enable the HTTP server or not
After choosing the selected setting the user can choose to apply them or cancel.
Functionalities of each setting are explained in MathCast’s help documentation.
3.21.2 Stimulus/Response Sequences
Data Flow
3.21.2.1 Basic Data Flow
1. User Opens MathCast and navigates to the Edit Screen
2. User Selects EditàSettings
3. The Settings Screen Opens
4. User makes some changes
5. User presses Set
6. The changes are saved and the programs returns to the Edit Screen
3.21.2.2 Alternative Data Flows
3.21.2.2.1 Alternative Data Flow 1
4. User does not make changes
6. The program returns to the Edit Screen
3.21.2.2.2 Alternative Data Flow 2
5. User selects Back or presses Esc
6. The program returns to the Edit Screen and no changes are saved
3.21.2.2.3 Alternative Data Flow 3
5. User selects Defaults
6. Any change that the user made is reversed to the Defaults settings and the
program returns to the Edit Screen
3.21.2.2.4 Alternative Data Flow 4
5a. User selects Help àHelp
6a. The Help document opens in a separate window
5b. User selects Helpà MathCast’s Website
6b. MathCast’s Website is loaded in the Browser Window
5c. User selects Help à About MathCast
6c. A pop-up window appears with information regarding MathCast
Software Requirements Specification for MathCast Equation Editor Page 32
3.21.3 Functional Requirements
REQ-14: If none equation exists in the Equation List Pane, this function should be
available.
REQ-23: If the user saves some changes and then restarts MathCast, the default
settings are applied.
REQ-40: In order for the EnableHTTP server option to function the user must select
the checkbox, apply the settings and then restart MathCast.
3.22 Math
Math is a menu option available only in Edit Screen. It provides the user a set of Mathematic
symbols to use.
3.22.1 Description
Any time the user selects an equation in the Equation List Pane he can use the Math
option. Math provides a list of symbols which the user can insert in the Rapid
Mathline, thus this feature allows the user to edit his selected equation. All the
symbols that are supported by MathCast are provided by math. Once the user selects
a symbol, this symbol is automatically added in the Rapid Mathline. The list of
symbols that Math provides is:
Arithmetics: plus, minus, positive, negative, dot, cross, invisible times,
asterisk, solidus, division slash, divided by, plus or minus, minus or plus,
over, slash over
Equal signs: equals to, not equals to, identical to, proportional to, questioned
equal to, almost equal to, not almost equal to, tilde, minus tilde,
asymptotically equal to, not asymptotically equal to, approximately equal to,
approximately but not equal to, not approximately and not equal to, almost
equal or equal to, all equal to, equivalent to, geometrically equivalent,
difference between, approaches the limit, geometrically equal to,
approximately equal to or the image of, image of or approximately equal to,
colon equals, corresponds tom estimates, equiangular to, star equal to, delta
equal to, equal to log definition, measured by
Greater than-less than signs: less than, greater than, less than or equals to,
greater than or equals to, much less than, much greater than, not less than, not
greater than, neither less than or equal to, neither greater than nor equal to,
less than or greater than, greater than or less than, neither less than nor greater
than, neither greater than nor less than
Powers and roots: -1 power, 1 power, squared, cubed, square root, n’th
root(not just 4
th
)
Algebra: factorial, double factorial, absolute value, sum, product,
discriminant/change, logarithm, natural logarithm, exponent, maximum,
minimum, constant, sign, decibel
Geometry: right angle, angle, measured angle, spherical angle, right angle
with, arc, parallel to, not parallel to, right triangle
Trigonometry: sine, cosine, tangent, secant, cosecant, cotangent, arc-sine,
arc-cosine, arc-tangent, arc-cotangent, hyperbolic sine hyperbolic cosine,
hyperbolic tangent, Arc-sine, Arc-cosine, Arc-tangent, radian
Linear algebra: determinant, rank, dimension, kernel
Software Requirements Specification for MathCast Equation Editor Page 33
Complex: conjugate, real part, imaginary part, absolute value, argument,
angle
Calculus: prime, double prime, triple prime, differential d, capital differential
D, partial differential, integral, double integral, triple integral, contour
integral, double contour integral, clockwise contour integral, counter-
clockwise contour integral, reversed prime, reversed double prime, reversed
triple prime, limit
Operators: nabla/del/grad, laplacian, diamond, bullet, ring, dot operator, star
operator, square, gradient, divergence, curl
Basic symbols: left bracket, right bracket, left curly brace, right curly brace,
left quotes, right quotes, apostrophe, degree, colon, semicolon, amperstand,
percentage, question mark, number sign, at, backslash, hyphen, comma,
period, three periods, mid line three dots, ratio, therefore, because,
proportion, filled square, filled triangle, filled circle, caret, divides, does not
divide, right track, left track, down track, up track, stretched line
Overhead operators: vector, dot derivative, two dots above, overline,
rooftop, tilde above, underline
Arrows: right arrow, left arrow, left-right arrow, up arrow, down arrow, up-
down arrow, northwest arrow, northeast arrow, southeast arrow, southwest
arrow, right double arrow, left double arrow, right-left double arrow, right
double arrow with stroke, left double arrow with stroke, right-left double
arrow with stroke
Sets and logical operators: for all, there exists, there does not exist, empty
set, is element of, is not element of, intersection, union, set minus, logical
and, logical or, subset of, superset of, not a subset of, not a superset of, subset
of or equal to, superset of or equal to, neither a subset of nor equal to, neither
a superset of nor equal to, multiset, multiset multiplication, multiset union,
square image of, square original of, square image of or equal to, square
original of or equal to, square cap, square cup, circled plus, circled minus
Double-struck letters: double-struck exponential e, double-struck imaginary
I, double-struck C, double-struck H, double-struck N, double-struck P,
double-struck Q, double-struck R, double-struck capital Z
Special letters: infinity, Laplace transform, Fourier transform, Planck’s
constant, degree Celsius, degree Fahrenheit, Kelvin, Angstrom, ounce, Ohm,
inverted Ohm, script B, black letter C, script E, Euler constant, scuple,
estimated symbol, upside-down F, script g, script H, black letter H, script I,
black letter I, script l, script M, script o, script P, script R, black letter R,
black letter Z, versicle, alef, bet, gimel, dalet, l-b bar, numero
Small Greek letters: alpha, beta, gamma, delta, epsilon, zeta, eta, theta, iota,
kappa, lambda, mu, nu, xi, omicron, pi, rho, final sigma, sigma, tau, upsilon,
phi, chi, psi, omega
Large Greek letters: as small Greek letters but capital
Markup: text, Bold, Space, subscript, superscript, subscript-superscript,
underscript, overscript, underscript-overscript, Argument separator or
Comma
Parenthesis-block-matrix-vector: left parenthesis, right parenthesis, block
start, block end, (Matrix, Matrix Row, or Vector start), (Matrix, Matrix Row,
or Vector End)
Each of these symbols is offered by the names above. Each name has the
corresponding symbol next to it, so the user can better understand which symbol will
be inserted in the Rapid Mathline.
3.22.2 Stimulus/Response Sequences
Software Requirements Specification for MathCast Equation Editor Page 34
Data Flow
3.22.2.1 Basic Data Flow
1. User is at the Edit Screen and there is at least one equation in the Equation
List Pane
2. User selects an equation from the Equation List Pane
3. The equation appears in the Rapid Mathline
4. User selects a position in the equation
5. User selects Mathà (one of the categories and symbols mentioned in the
description)
6. The selected symbol is inserted in the specified position of the Rapid
Mathline
3.22.2.2 Alternative Data Flows
3.22.2.2.1 Alternative Data Flow 1
4. User does not select a position in the equation
6. The selected symbol is inserted as the last elements of the equation in the
Rapid Mathline
3.22.2.2.2 Alternative Data Flow 2
4. User highlights a part or all the equation
6. The selected symbol replaces the highlighted part or all the equation
3.22.3 Functional Requirements
REQ-16: This function is available only if the Equation List Pane is not empty
REQ-24: User must specify an equation and a position in the equation that the
selected symbol will be inserted. If he does not, the selected symbol will be inserted
into the default selected equation and at the end of it.
3.23 Equation List Pane
Equation List Pane is the interface where equations that are created/ loaded appear. It is described in
this section because it is more of a feature that has a correspondence to an interface.
3.23.1 Description
Most of the Edit Screen consists of the Equation List Pane. Equation List Pane is the
place where the user’s equations appear. User can select an equation and this
equation appears in the Rapid Mathline for editing. Left clicking on an equation
selects that equation. The selected equation is outlined by a pink box surrounding it.
Every action which makes any change to the currently displayed equation or list of
equations such as deleting/adding/editing/ opening/importing an equation or an
equation list affects the Equation List Pane because all the changes correspond to a
change in the Equation List Pane.
3.23.2 Stimulus/Response
Software Requirements Specification for MathCast Equation Editor Page 35
Because Equation List Pane is basically a feature that enables and supports most of
the general editing mentioned above in this document, it does not have a specific use
case. Equation List Pane is an element of the Edit Screen and thus the user should
open MathCast and navigate to the Edit Screen to see the Equation List Pane. If there
is no element loaded or created, the Equation List Pane is inactive and does not
appear in the Edit Screen. In every other case, if the user opens/creates/adds/imports
etc. any equation or list, the Equation List Pane appears, and all the equations appear
in it.
3.23.3 Functional Requirements
REQ-26: Equation List Pane is inactive and does not appear in the Edit Screen if the
user does not open/create a list of equations or add a single equation.
REQ-27: Every change in the consistency and appearance of an equation or an
equation list corresponds in a change in the Equation List Pane.
REQ-28: There is no defined limit to the number of the equations the Equation List
Pane can support. At some point when MathCast cannot allocate new memory, the
application stops working. The suggested length of an Equation List is a few hundred
equations.
3.24 Equation Name
This feature allows the user to name a specified equation
3.24.1 Description
The user can name specific equations without limitation. This means that the user
can give the same name to different equations. This name has nothing to do with the
name given when saving files. This feature is provided through the Rapid Mathline.
The user simply clicks on the name button, and then the Rapid Mathline asks for an
equation name. The user types the desired name and this name is saved. Name
appears right under the text field in the Rapid Mathline. Name is always present in
the Rapid Mathline. If an equation has no name, the name field simply appears and is
empty.
3.24.2 Stimulus/Response Sequences
Data Flow
3.24.2.1 Basic Data Flow
1. User selects an equation from the Equation List pane in the Edit Screen
2. User clicks the name field in the Rapid Mathline
3. The Rapid Mathline displays the current equation name if any and asks for
an equation name
4. User edits/writes a name or leaves the name blank
5. User presses OK
6. The name field displays the name the user gave for the selected equation
3.24.2.2 Alternative Data Flows
Software Requirements Specification for MathCast Equation Editor Page 36
3.24.2.2.1 Alternative Data Flow 1
5. User presses Cancel
6. System displays the equation in the Rapid Mathline
3.24.2.2.2 Alternative Data Flow 2
4a. User selects a different equation
4b. User writes a name or leaves the name blank
3.24.3 Functional Requirements
REQ-30: The name field is active when the Rapid Mathline is active.
REQ-31: If an equation does not have a name the name field appears but is empty. In
any other case the name field displays the name of the equation.
REQ-32: Different equations can have same names.
3.25 Quick Keys
This feature allows the user to insert different symbols in the Rapid Mathline by pressing the same
key multiple times.
3.25.1 Description
Some keys provide different symbols when pressing them more than once, while
editing an equation in the Rapid Mathline. If a user presses a key that supports quick
keys more than once, a different symbol appears in the Mathline than the one the user
pressed. This way the user can input symbols and edit an equation faster. A list of
default quick keys is provided in the “Keys.dat” file. The user can also customize the
Quick Keyes using this file.
3.25.2 Stimulus/Response Sequences
Data Flow
3.25.2.1 Basic Data Flow
1. User selects an equation from the Equation List Pane
2. The equation appears in the Rapid Mathline
3. User clicks inside the Rapid Mathline
4. User presses a key that supports Quick Keys once
5. The corresponding keyboard symbol appears
6. User presses the same symbol twice
7. The second corresponding symbol of Quick Keys for this key appears and
so on
3.25.2.2 Alternative Data Flows
3.25.2.2.1 Alternative Data Flow 1
4. User presses a key that it was not assigned with Quick Keys
5. The corresponding keyboard symbol appears
6. End of data flow
3.25.2.2.2 Alternative Data Flow 2
Software Requirements Specification for MathCast Equation Editor Page 37
8. User presses the same key one time more than the number of symbols
assigned to the Quick Key
9. Go to Basic Data Flow-5
3.25.3 Functional Requirements
REQ-33: Quick Keys only function when user is editing an equation using the Rapid
Mathline
REQ-34: Quick Keys function only if the user presses the same key more than once
and the time between keystrokes is less than 3 seconds.
REQ-35: User must be able to customize Quick Keys through the “Keys.dat” file.
REQ-36: Quick Keys can be turned on and off by pressing CTRL+Q. Quick keys are
active by default when the user starts MathCast.
3.26 Hotkeys
This functionality allows the user to enter some special characters in the Rapid Mathline using a
combination of the CTRL key + another key.
3.26.1 Description
The user can enter specific characters quickly using Hotkeys when editing an
equation in the Rapid Mathline. User can press a combination of CTRL + “key” and
the specified key appears in the Rapid Mathline. These keys are specified and cannot
be modified. The Hotkey list is the following:
Squared (Ctrl +2), cubed (Ctrl +3), square root(Ctrl +R), n’th root(Ctrl +T),
discriminant/change (Ctrl +D), nabla/del/grad (Ctrl +N), vector (Ctrl + -), dot
derivative (Ctrl +4), two dots above (Ctrl +5), overline (Ctrl +=), rooftop (Ctrl +6),
tilde above (Ctrl + `), underline (Ctrl +\), Bold (Ctrl +B), Space (Ctrl +S),
subscript(Ctrl + L), superscript (Ctrl + H), subscript-superscript (Ctrl + J),
underscript (Ctrl + U), overscript (Ctrl +O), underscript-overscript (Ctrl + K),
Block star (Ctrl+9 or Ctrl +,), block end (Ctrl + 0 or Ctrl +.), Matrix, Matrix Row, or
Vector Start (Ctrl + [), Matrix, Matrix Row, or Vector End (Ctrl +]).
The Hotkeys combinations must be provided in the Math menu, next to the
corresponding symbol.
3.26.2 Stimulus/Response Sequences
Because there are no alternative data flows for using Hotkeys we will just describe
the basic use case of this function. User can only use the Hotkeys when he is editing
an equation in Rapid Mathline. The user simply selects an equation from the
Equation List Pane and starts editing. When the control of the program is inside the
Rapid Mathline the user can press the Hotkeys mentioned above in Description and
the corresponding symbol appears in the Mathline. Pressing Hotkey combinations
outside the Rapid Mathline has no functionality
3.26.3 Functional Requirements
REQ-37: The symbols that are inserted when using Hotkeys must be inserted in the
position where the controller of the Rapid Mathline is.
Software Requirements Specification for MathCast Equation Editor Page 38
REQ-33: Hotkeys only function when user is editing an equation using the Rapid
Mathline.
3.27 Download
This feature allows the user to download readymade equation lists from another user through a
network.
3.27.1 Description
The user can download an equation list from another user either from a LAN network
or through the internet. In order for this to happen, the second user must check the
EnableHTTP server checkbox, in the settings screen, give an eligible port number
and restart his MathCast. The first user, can then go to the download screen and enter
the second user’s IP address and the port number in the textbox. By doing so, the first
user is able to download the second user’s equation list. The first user can download
an equation list by using Mozilla too. He can open Mozilla and download another
user’s equation list directly by typing in the address bar, the second user’s
IP:port/list.xml. If he only wants to view the second user’s equation list he can type
IP:port/math.xml. If he wishes for the equation list to refresh every five seconds he
can type IP:port/refresh.xml. If he wishes to specify the number of seconds for
refreshing the user can type IP:port/refresh.xml?interval =(a number of seconds).
3.27.2 Stimulus/Response Sequences
If the user wants to download an equation list from another user, using MathCast, he
must open MathCast, navigate to the Edit Screen, click on the File Menu and then
select “Download”. The program then opens the download Screen. The second user
has to Open his MathCast, go to the Settings Screen, check the EnableHTTP server
checkbox, give an eligible port number and then he must restart MathCast. After
restarting MathCast he can then open an equation list he wants to share. The first
user can then write the IP:port of the second user and click OK. After connecting the
equation list of the second user loads in the first user’s MathCast. The user can then
save the equation list and edit it by every means he wants. If the first user types an
ineligible IP or port number, or the second user did not enable the EnableHTTP
server checkbox or he did not give an eligible port number or he did not restart
MathCast, the first user gets an error message when he tries to connect. An error
message appears if one or both users do not have an active Internet connection, when
they try to connect through the Internet. After downloading the desired equation lists,
the users can choose to cease their connection.
3.27.3 Functional/Requirements
REQ-46: Both users must have an active internet connection when they try to
connect through the internet.
REQ-47: The EnableHTTP server requires an eligible port number. In order for this
setting to function, the user must restart his MathCast. If he does not restart
MathCast, this feature will become available the next time MathCast opens.
REQ-48: The first user can only download the active equation list of the second user.
REQ-49: If the second user uses a firewall in his personal computer, he must add an
incoming exception for MathCast.
Software Requirements Specification for MathCast Equation Editor Page 39
3.28 Preview Mathcasting
This feature allows the user to see a preview of the XHTML page associated with the equation list.
3.28.1 Description
When a user opens an XHTML file or any other XML, to be me more accurate,
MathCast only loads the <math> tags of that file into the Edit Screen. The user can
then work on all the equations using MathCast as he would normally do. When the
user saves the file, MathCast replaces the original <math> tags with the new
equations that the user created, or the older ones that were edited, without altering the
rest of the markup in the file. This ability is called Mathcasting as mentioned above
in the document. What preview Mathcasting does is that it offers the user a preview
of the XHTML page associated with his equation list.
3.28.2 Stimulus/Response Sequences
Data Flow
3.28.2.1 Basic Data Flow
1. User opens MathCast and Opens an eligible file
2. The equation list appears in the Equation List Pane
3. User clicks the preview Mathcasting button on the Equation Button Pane or
selects File à Preview Mathcasting
4. MathCast shows a preview of the XHTML page.
5. User selects Back or presses Esc
6. MathCast returns to the Edit Screen
3.28.2.2 Alternative Data Flows
3.28.2.2.1 Alternative Data Flow 1
5. User selects Help
6. The Help options appear
3.28.2.2.2 Alternative Data Flow 2
1a. User opens MathCast and Opens an ineligible file
1b. An error message appears and the system returns to the Welcome Screen
3.27.3 Functional Requirements
REQ-38: This feature is available only if the user opens an eligible file. This means that if
the user creates a new equation list and then save it as an eligible file, preview Mathcasting
feature will not available. In order for this feature to be available in that case, the user must
Open the file he just saved. User must always Open, not (Insert, Append or Download) an
eligible file for this feature to appear.
REQ-2: The eligible files for this feature are MathML XML Files and are of type
(*.xml;*.xht;*xhml;*.html)
Software Requirements Specification for MathCast Equation Editor Page 40
4. External Interface Requirements
4.1 User Interfaces
The aim of MathCast is to offer a powerful but light-weight equation management tool with a
simple to use GUI. MathCast consists of four basic screens: The Welcome Screen, the Edit Screen,
the Settings Screen and the Browser Screen. MathCast shows only a particular screen at time but the
user can switch between them without losing his work. The main menu changes according to the
active screen. The first screen that appears when the user opens MathCast is the Welcome Screen.
The buttons that appear in the Welcome Screen correspond to features that are explained in Section
3 of this document.
The second screen is the Edit Screen, and is MathCast’s main screen. All the editing is done in this
screen, and all the equations appear here.
Software Requirements Specification for MathCast Equation Editor Page 41
As shown above the Edit Screen is divided in areas. Edit Screen consists of the Main Menu, the
Equation List Pane, the Equation Buttons Pane, the Quick Keys, The Equation Name, the Rapid
Mathline and the Lowlist. The Equation List Pane was described better in section 3 of this
document. The Equation Buttons Pane consists of buttons that represent the most used actions a user
would take when using MathCast. These actions are: Copy, Cut, Paste, Delete, Move Up, Move
Down, Add, Insert, Preview Mathcasting. The Rapid Mathline is also described better in section 3
of this document. All of the “inputting” and “editing” of equations is done through this mechanism.
The Lowlist is the lower section of the Edit Screen and consist of the most commonly used
characters. User can click on any of those characters and this character will appear in the Rapid
Mathline. Equation Name and Quick Keys were also described in section 3. The Main Menu of this
screen is consisted of five other Menus: the File Menu, the Edit Menu, the Equation Menu, the Math
Menu and the Help Menu. The File Menu provides the following actions: New, Open, Save, Save
as, Insert, Append, Download, Browser Screen, Welcome Screen, Exit. The Edit Menu provides the
following options: Undo, Redo, Cut, Copy, Paste, Delete, Select All, Select Few, Unselect, Settings.
The Equation Menu provide the following options: Add Equation, Insert Equation, Import Equation,
Export Equation, Move up, Move down and the following options which are also available in the
Settings Screen: Change Display Type to Block, Change Display Type to Inline, Change Name,
Color, Background Color, Size. The Math Menu is described in section 3. The Help Menu consists
of: Help, Browse Help, Calculator, Unit Converter, MathCast’s Website, About MathCast.
Software Requirements Specification for MathCast Equation Editor Page 42
The Settings Screen is described in section 3. This is a screenshot of it
Software Requirements Specification for MathCast Equation Editor Page 43
The Browser Screen is also described in Section 3. Here is a screenshot of it
Other screens that appear when using MathCast are the system window that opens so the user can
navigate through his folders and the error window that appears when the user performs ineligible
actions. There is also a small window that appears when the user wants to replace an existing file
during saving an equation list .In addition to these screens MathCast is also consisted of the
downloading screen. More information about downloading and this screen can be found in section
3. Here is a screenshot of it.
Software Requirements Specification for MathCast Equation Editor Page 44
4.2 Hardware Interfaces
This product requires a functional PC in order to work properly. MathCast should be installed on a
PC that meets at least the minimum hardware requirements. That means that the PC must work
using a Pentium III or Athlon XP 1GHz processor or newer ones, must have 500MB RAM and 50
MB free hard drive space. MathCast supports some features that require an internet connection. In
order for these features to function the user should also have some kind of Modem or Router
connected to his PC, though it is not mandatory.
4.3 Software Interfaces
MathCast should be able to run on a Windows based platform using Microsoft Windows 2000, XP
or newer versions. Because MathCast supports copying and pasting equations in word processors
MathCast also uses the Clipboard. The XHTML files produced by MathCast should be compatible
with Mozilla, Firefox and Netscape browsers though Internet Explorer requires a program to enable
displaying of MathML. As a communication mechanism for downloading equations and web pages
(via download screen or browser screen) HTTP is used because of its reliable services.
4.4 Communications Interfaces
MathCast internally uses HTTP to talk with the embedded browser. MathCast also uses HTTP to
download web pages through the browser screen. The user must also enable HTTP server and enter
Software Requirements Specification for MathCast Equation Editor Page 45
a port number for incoming connections when using the download feature. Browse Screen requires
an internet connection to function.
5. Other Nonfunctional Requirements
5.1 Performance Requirements
MathCast shall run on a minimal amount of memory and take up a small amount of disk space after
install. Depending on the performance of the user’s computer, the number of equations in the
Equation List Pane might slow down MathCast. If the equation number is excessive at some point
MathCast cannot allocate memory, and the application crashes. However, serious performance
penalties may be applied for long equation lists. In a typical personal computer MathCast may
become unusable after a few hundred equations.
5.2 Safety Requirements
MathCast is a fast and responsive program. However as mentioned in section 5.1 working with
excessively big equation lists may lead MathCast to become unresponsive or even crush. To avoid
any loss of data when working in equation lists that consist of a few hundred equations the user
should save his files regularly. It is also advised that an Equation List that consist a few hundred
equations is divided into smaller equation lists. However MathCast runs at the user’s risk and these
choices should be left to the user.
5.3 Security Requirements
User has direct access in MathCast. Password or username are not required.
To be able to share his equation lists with others, the user must enable EnableHTTP Server
checkbox from the settings screen and enter a port number. It is suggested that the EnableHTTP
option remains unchecked by default and be enabled only when the user wants to share an equation
list. The user should also share his IP address only with other trusted users.
5.4 Software Quality Attributes
Reliability
MathCast should provide reliability to the user. The product will run stably with all the
features mentioned above available and executing perfectly. It should be tested and
debugged completely. All exceptions should be well handled.
User Friendliness/Simplicity
MathCast should have a graphical user interface with user friendly menu and options.
Supportability
Help documents and online help is provided. There are also two forums available. A Help
forum and a Bugs and Feedback forum.
Software Requirements Specification for MathCast Equation Editor Page 46
Availability
MathCast can be downloaded through the project’s website or the project’s webpage at
Sourceforge.net. Both links were given previously in this document. Since MathCast is
licensed under the GNU General Public License, it’s free software and can be used by
everyone without limitation. The source code of the project is also provided.
6. Special Thanks
Special thanks to Mr. Tomer Chakam, the creator of MathCast and diligentXML, for the
help and the immediate answers he provided, during the creation of this document.