**Software Assurance Reliability Automation (SARA) Tool**

**Requirements Specifications**

**1. Introduction**

The Software Assurance Reliability Automation Tool (SARA) shall be a
comprehensive system which incorporates both reliability growth modeling
and design code metrics for analyzing software time between failure
data.

**2. General Requirements**

This section describes the general software and hardware requirements
for the SARA tool.

**2.1 Software**

The SARA tool shall use Windows 2000 and Windows XP as its host
operating systems. SARA shall be written using any object-oriented
language allowing it to run on the above operating systems.

**2.2 Hardware**

The SARA tool shall the able to run on a machine having the following
specifications or greater: A 17 inch monitor, standard 101/102 keyboard
or Microsoft Natural PS/2 keyboard, standard Microsoft PS/2 mouse, hard
drive memory 8 MB RAM and clock speed 1 GHz.

**3. Input Requirements**

This section describes the input formats and input methods accepted by
SARA. There are shall be two input mode, static and dynamic.

1.  **Static**

The SARA tool shall accept for import a text file containing columns of
data separated by the tab key with no column headers. The file will be
prepared independently from SARA, that is SARA will not interactive
participate in the making of this file. The file should contain at least
one column listing the reliability data (failure data). The other
optional columns should contain metrics relating to the failure data.

**3.2 Dynamic**

The SARA shall provide a grid consisting of rows and columns (table)
which allows the user to enter failure data and related metrics by
columns at runtime. The user shall have the option to open multiple
tables.

**4. Graphic User Interface (GUI) and Functionalities**

This section discusses SARA Graphic User Interface (GUI) and
functionalities associated with each GUI component. SARA shall implement
a dropdown GUI menu. The menu for SARA shall be implemented in the
following order presented in this section.

1.  **File**

This subsection discusses the File menu option containing the submenus
New, Open, Close, Save, Save As, Print Preview, Print, and Exit
respectively from SARA main dropdown menu.

1.  **New**

The New menu shall be a submenu of the File menu. Clicking on the New
menu shall allow SARA to create a new data window (table) with default
null values in it rows and columns. The rows and column shall also
contain default header titles.

2.  **Open**

The Open menu shall be a submenu of the File menu. Clicking on the Open
menu shall allow files to be open with the following extensions .sad,
.sar, .sag, .txt, and .\*. Where .sad, .sar, and .sag are data, report,
and graphical extensions for SARA document files respectively. The
extension .txt is the extension of a standard text file and .\* is the
wildcard extension representing any file extension.

3.  **Close**

The Close menu shall be a submenu of the File menu. Clicking on the
Close menu shall allow SARA to close the current live window. If there
is unsaved contents in the current live window, SARA shall ask the user
if they wish to save the unsaved content.

4.  **Save**

The Save menu shall be a submenu of the File menu. Clicking on the Save
menu shall allow SARA to save the content of the current live window
using a data, graphical, or report format depending on the type of
current window open. The contents of the window will be save using the
current file name or a default name if no prior file name was choose for
the file. The tile of the window would be used for the default name of
the file. The file shall be save in the current directory the file is in
or if the file is being save for the first time SARA should prompt the
user for a directory in which to save the file.

5.  **Save As**

The Save As menu shall be a submenu of the File menu. Clicking on the
Save As menu shall allow SARA to save the content of the current live
window using a data, graphical, or report format depending on the type
of current window open. The Save As option shall also prompt the user
for a file name which to name the file and a directory in which to save
the file in.

6.  **Print Preview**

The Print Preview menu shall be a submenu of the File menu. Clicking on
the Print Preview menu shall allow SARA to display the current live
window (data, graphical, or report) in a preview window showing the user
what the printed version of the current live window would look like.

7.  **Print**

The Print menu shall be a submenu of the File menu. Clicking on the
Print menu shall allow SARA to print the current live window. In the
case of a data window SARA shall print the text file associated with
that window. In the case of a graphical window or report window SARA
should print the graph or report contained in the window.

8.  **Exit**

The Exit menu shall be a submenu of the File menu. Clicking on the Exit
menu shall allow SARA close all open windows and then close the
application. However, before any window containing unsaved data is
closed, SARA should prompt the user to save the data if the user which
to do so.

2.  **Edit**

This subsection discusses the Edit menu option containing the submenus
Undo, Redo, Cut, Copy, Paste, Clear, and Find respectively from SARA
main dropdown menu. The Undo, Redo, and Find submenus are associated
with SARA data windows grid and Cut, Copy, Paste, and Clear are
associated with SARA graphical windows.

1.  **Undo**

The Undo menu shall be a submenu of the Edit menu. Clicking on the Undo
menu shall allow SARA to undo at most the previous ten operations
perform on a SARA data window grid.

2.  **Redo**

The Redo menu shall be a submenu of the Edit menu. Clicking on the Redo
menu shall allow SARA to redo at most the previous ten operations
perform by the Undo functionality on a SARA data window grid.

3.  **Cut**

The Cut menu shall be a submenu of the Edit menu. Clicking on the Cut
menu shall allow SARA to remove the contents of a SARA graphical window
and paste it onto a windows clipboard.

4.  **Copy**

The Copy menu shall be a submenu of the Edit menu. Clicking on the Cut
menu shall allow SARA to copy the contents of a SARA graphical window
and paste it onto a windows clipboard.

5.  **Paste**

The Paste menu shall be a submenu of the Edit menu. Clicking on the
Paste menu shall allow SARA to remove the latest contents of a windows
clipboard and paste it to another windows clipboard or a SARA graphical
window.

6.  **Clear**

The Clear menu shall be a submenu of the Edit menu. Clicking on the
Clear menu shall allow SARA to clear the contents of a SARA data or
graphical window, if the window is currently active.

7.  **Find**

The Find menu shall be a submenu of the Edit menu. Clicking on the Find
menu shall allow SARA to find a specify value in an active SARA data
window.

3.  **View**

This subsection discusses the View menu option containing the submenus
Tool Bar, Status Bar, View Data, and View Variable respectively from
SARA main dropdown menu. The Tool Bar and Status Bar submenus are
associated with SARA main GUI parent window and View Data and View
Variable are associated with a SARA active data window.

1.  **Tool Bar**

The Tool Bar menu shall be a submenu of the View menu. Clicking on the
Tool Bar menu shall allow SARA to switch between hiding the toolbar and
displaying the toolbar in the main menu GUI window.

2.  **Status Bar**

The Status Bar menu shall be a submenu of the View menu. Clicking on the
Status Bar menu shall allow SARA to switch between hiding the status bar
and displaying the status bar in the main menu GUI window.

3.  **View Data**

The View Data menu shall be a submenu of the View menu. Clicking on the
View Data menu shall allow SARA to switch from an active SARA variable
window to a window displaying a SARA data window associated with that
particular variable window.

4.  **View Variable**

The View Variable menu shall be a submenu of the View menu. Clicking on
the View Variable menu shall allow SARA to switch from an active SARA
data window to a window displaying the variable(s) (column(s) headers)
associated with that particular data window.

4.  **Data**

This subsection discusses the Data menu option containing the submenus
Insert Rows, Insert Columns, Delete Rows, Delete Columns, Sort, and Go
To Row respectively from SARA main dropdown menu. All of the above
submenus are associated with an active SARA data window.

1.  **Insert Rows**

The Insert Rows menu shall be a submenu of the Data menu. Clicking on
the Insert Rows menu shall allow SARA to insert rows into an active SARA
data window. To bring the Insert Rows submenu into focus the user will
click on a row header.

2.  **Insert Columns**

The Insert Columns menu shall be a submenu of the Data menu. Clicking on
the Insert Columns menu shall allow SARA to insert columns into an
active SARA data window. To bring the Insert Columns submenu into focus
the user will click on a column header.

3.  **Delete Rows**

The Delete Rows menu shall be a submenu of the Data menu. Clicking on
the Delete Rows menu shall allow SARA to delete rows from an active SARA
data window. To bring the Delete Rows submenu into focus the user will
click on a row header.

4.  **Delete Columns**

The Delete Columns menu shall be a submenu of the Data menu. Clicking on
the Delete Columns menu shall allow SARA to delete columns from an
active SARA data window. To bring the Delete Columns submenu into focus
the user will click on a column header.

5.  **Sort**

The Sort menu shall be a submenu of the Data menu. Clicking on the Sort
menu shall allow SARA to sort the data in a SARA data window on a
particular column chosen among the columns in the data window in
ascending or descending order. To bring the Sort menu into focus the
user will click on a column header.

6.  **Go To Row**

The Go To Row menu shall be a submenu of the Data menu. Clicking on the
Go To Row menu shall allow SARA to change focus to a particular row
requested by the user. To bring the Sort menu into focus the user will
click on a column header.

5.  **Transform**

This subsection discusses the Transform menu option containing the
submenus Compute, Count, Recode and submenus Into Same Variables and
Into Different Variables, which are further submenus of Recode. All of
the above submenus are respectively contained in SARA main dropdown
menu. Note also that all of the above submenus are associated with an
active SARA data window.

1.  **Compute**

The Compute menu shall be a submenu of the Transform menu. Clicking on
the Compute menu shall allow SARA to transform the data in a SARA data
window on a particular column chosen among the columns in the data
window. Transforms shall be multiplication of a column by a scalar,
addition and subtraction between two columns, and vector multiplication
between two columns.

2.  **Count**

The Count menu shall be a submenu of the Transform menu. Clicking on the
Count menu shall allow SARA to compute the minimum, maximum, mean,
variance, standard deviation, skewness, and kurtosis of the columns in
an active data window.

3.  **Recode**

The Recode menu shall be a submenu of the Transform menu. Clicking on
the Recode menu shall display two further submenus namely Into Same
Variables and Into Different Variables see the next two subsections.

1.  **Into Same Variables**

The Into Same Variables menu shall be a submenu of the Recode menu.
Clicking on the Into Same Variable menu shall allow SARA to recode a
data window column into the same column. Where recode is the process of
replacing a particular value or all the values in a column with a
different value.

2.  **Into Different Variables**

The Into Different Variables menu shall be a submenu of the Recode menu.
Clicking on the Into Different Variable menu shall allow SARA to recode
a data window column into a different column. Where recode is the
process of replacing a particular value or all the values in a column
with a different value.

6.  **Execution**

This subsection discusses the Execution menu option containing the
submenus Descriptive Statistics and Reliability Modeling. The
Descriptive Statistics menu further contains the Frequencies menu as a
submenu. Also the Reliability Modeling menu further contains the
Parametric and Nonparametric menus as submenus. All of the above
submenus are respectively contained in SARA main dropdown menu. Note
also that all of the above submenus are associated with an active SARA
data window.

1.  **Descriptive Statistics**

The Descriptive Statistics menu shall be a submenu of the Execution
menu. Clicking on the Descriptive Statistics menu shall display a
further submenu namely Frequencies see the next subsection.

1.  **Frequencies**

The Frequencies menu shall be a submenu of the Descriptive Statistics
menu. Clicking on the Frequencies menu shall allow SARA to provide the
user with a window containing checkboxes allowing the user to choose
which frequencies that SARA should calculate. The frequencies to choose
from are means and totals of the columns of a data window. SARA should
also provide the user with the capability to print the frequencies as a
report.

2.  **Reliability Modeling**

The Reliability Modeling menu shall be a submenu of the Execution menu.
Clicking on the Reliability Modeling menu shall display two further
submenus namely Parametric and Nonparametric see the next two
subsections.

1.  **Parametric**

The Parametric menu shall be a submenu of the Reliability Modeling menu.
Clicking on the Parametric menu shall allow SARA to provide the user
with a window containing checkboxes allowing the user to choose which
parametric model that SARA should calculate. The models to choose to
choose from are Exponential, Weibull, Gamma models using the appropriate
columns of an active data window as input the models. SARA should also
provide the user with the capability to print the result of the models
as a report.

**4.6.2.2 Nonparametric**

The Nonparametric menu shall be a submenu of the Reliability Modeling
menu. Clicking on the nonparametric menu shall allow SARA to provide the
user with a window containing checkboxes allowing the user to choose
between a nonparametric model with or without reliability bounds, using
the appropriate columns of an active data window as input the model.
SARA should also provide the user with the capability to print the
result of the model as a report.

7.  **Graph**

This subsection discusses the Graph menu option containing the submenus
Bar, Line, Scatter, and Histogram respectively from SARA main dropdown
menu. All of the above submenus are associated with an active SARA
graphical window.

1.  **Bar**

The Bar menu shall be a submenu of the Graph menu. Clicking on the Bar
menu shall allow SARA to use the columns of an active SARA data widow as
input to plot a bar graph and display it in a SARA graphical window.
SARA should also provide the user with the capability to print and edit
the bar graph. The editing capabilities of the graph shall be cutting,
copying, and pasting.

2.  **Line**

The Line menu shall be a submenu of the Graph menu. Clicking on the Line
menu shall allow SARA to use the columns of an active SARA data widow as
input to plot a line graph and display it in a SARA graphical window.
SARA should also provide the user with the capability to print and edit
the line graph. The editing capabilities of the graph shall be cutting,
copying, and pasting.

3.  **Scatter**

The Scatter menu shall be a submenu of the Graph menu. Clicking on the
Scatter menu shall allow SARA to use the columns of an active SARA data
widow as input to plot a scatter plot graph and display it in a SARA
graphical window. SARA should also provide the user with the capability
to print and edit the scatter plot graph. The editing capabilities of
the graph shall be cutting, copying, and pasting.

4.  **Histogram**

The Histogram menu shall be a submenu of the Graph menu. Clicking on the
Histogram menu shall allow SARA to use the columns of an active SARA
data widow as input to plot a histogram and display it in a SARA
graphical window. SARA should also provide the user with the capability
to print and edit the histogram. The editing capabilities of the graph
shall be cutting, copying, and pasting.

8.  **Window**

This subsection discusses the Window menu option containing the submenus
Minimize All Windows, New Data Window, Cascade, Tile Horizontal, and
Tile Vertical respectively from SARA main dropdown menu. All of the
above submenus are associated with any active SARA window.

1.  **Minimize All Windows**

The Minimize All Windows menu shall be a submenu of the Window menu.
Clicking on the Minimize All Windows menu shall allow SARA to minimize
all open SARA windows active or inactive.

2.  **New Data Window**

The New Data Window menu shall be a submenu of the Window menu. Clicking
on the New Data Window menu shall allow SARA to create a new data SARA
window and make it the current active window.

3.  **Cascade**

The Cascade menu shall be a submenu of the Window menu. Clicking on the
Cascade menu shall allow SARA to display any open SARA data or graphical
window(s) in a cascade format view inside the SARA main window. Note
that SARA shall have a multiple document interface (MDI) where SARA main
window is the parent window and the data and graphical window(s) are the
child window(s).

4.  **Tile Horizontal**

The Tile Horizontal menu shall be a submenu of the Window menu. Clicking
on the Tile Horizontal menu shall allow SARA to display any open SARA
data or graphical window(s) in a tile horizontal format view inside the
SARA main window. Note that SARA shall have a multiple document
interface (MDI) where SARA main window is the parent window and the data
and graphical window(s) are the child window(s).

5.  **Tile Vertical**

The Tile Vertical menu shall be a submenu of the Window menu. Clicking
on the Tile Vertical menu shall allow SARA to display any open SARA data
or graphical window(s) in a tile vertical format view inside the SARA
main window. Note that SARA shall have a multiple document interface
(MDI) where SARA main window is the parent window and the data and
graphical window(s) are the child window(s).

9.  **Help**

This subsection discusses the Help menu option containing the submenus
Topics, Tutorial, Home Page, and About respectively from SARA main
dropdown menu.

1.  **Topics**

The Topics menu shall be a submenu of the Help menu. Clicking on the
Topics menu shall allow SARA to provide access to the Contents, Index,
and Find tabs, which the user can use to find specific help topics.

2.  **Tutorial**

The Tutorial menu shall be a submenu of the Help menu. Clicking on the
Tutorial menu shall allow SARA to provide the user with a introductory
tutorial on the operation of SARA.

3.  **Home Page**

The Home Page menu shall be a submenu of the Help menu. Clicking on the
Home Page menu shall allow SARA to provide access to SARA home page,
which provides general information about the tool and the organization,
which created the tool.

4.  **About**

The About menu shall be a submenu of the Help menu. Clicking on the
About menu shall allow SARA to display a popup window, which provides
general information about the tool. Such as SARA version number,
developers, and link to a webpage providing more detail information
about the tool.