CS4500 Software Requirements Specification
February 10, 2009
Team Groundhog
1. Introduction
1.1 Purpose of this Document
This is the Software Requirements Specification for Team Groundhog’s VLSI UI and Printing project. This document will outline the software design and specification of our application.
1.2 Scope of the Development Project
The application is a Windows based .Net implementation with OpenGL. Our main UI will developed in C#, which is a .Net language. This application will allow viewing of GDS II files, assignment of Color and Transparency to layers within the VLSI object, as well as printing of the rendered object. There will be the ability to save these color/transparency palettes for a given GDS file as well as the foundry used to create the file. These palettes can then be used with future GDS files to save time assigning colors/transparencies to layers.
1.3 Definitions, Acronyms, and Abbreviations
1.4 References
http://en.wikipedia.org/wiki/Alpha_compositing
http://en.wikipedia.org/wiki/VLSI
http://en.wikipedia.org/wiki/GDSII
http://www.opengl.org/documentation/
1.5 Overview of Document
This document contains all of the software requirement specifics. There is a general description of who is going to use our application, how it is going to work, and what technologies we are using to make it work. We also outline and describe specific parts of the project.
2. General Description
2.1 User Personas and Characteristics
2.2 Product Perspective
This application will run as a standalone User Interface that will allow the end user to view and print GDS II files that they have created in other applications. The main utility of the application will be to display the GDS object with Alpha blending between layers and allow for switching colors on the layers. Once the layer properties have been established by the user, they will be able to print on the Epson printer.
This product is built to run on a Windows machine using .Net 3.5. The user must have an OpenGL capable graphics card, an Intel Pentium 4 or higher class cpu with no less than 2GB of memory.
2.3 Overview of Functional Requirements
2.4 Overview of Data Requirements
Files will be provided in the standard GDS II format. Our application will access these files in a read only manner.
2.5 General Constraints, Assumptions, Dependencies, Guidelines
Files will be provided in the standard GDS II format. Any changes to the format will cause issues loading the file into our application. The colors presented on the screen will not be identical to the ones produced on the printer.
2.6 User View of Product Use
Application Objectives
3. Specific Requirements
3.1 External Interface Requirements
Operator/user interface characteristics from the human factors point of view
Characteristics required of the interface between the software product and each of the hardware components
Interfaces with other software components or products, including other systems, utility software, databases, and operating systems
3.2 Detailed Description of Functional Requirements
3.2.1 Template for describing functional requirements
|
Purpose |
A description of the functional requirement and its reason(s) |
|
Inputs |
Which inputs; in what form/format will inputs arrive; from what sources input will be derived, legal domains of each input element |
|
Processing |
Describes the outcome rather than the implementation; include any validity checks on the data, exact timing of each operation (if needed), how to handle unexpected or abnormal situations |
|
Outputs |
The form, shape, destination, and volume of the output; output timing; range of parameters in the output; unit measure of the output; process by which the output is stored or destroyed; process for handling error messages produced as output |
3.2.2 GDS File Selection UI
|
Purpose |
The GDS selection user interface is accessible via the File menu. It will be the standard winforms file open dialog |
|
Inputs |
The user will select the GDS file they would like to open. |
|
Processing |
The file will be loaded by the GDS library and will be displayed in the main UI. |
|
Outputs |
The selected file will be displayed. |
3.2.3 Main UI
|
Purpose |
The main UI displays the GDS file and buttons for manipulating the view. |
|
Inputs |
The user will select changes to the view such as visible layers or an area to zoom into. |
|
Processing |
X/Y locations of the mouse will need to be checked to make sure the clicked location is valid. If the user clicks a button, the button's action will be executed. |
|
Outputs |
If a player clicked a valid button, the view will be updated appropriately. |
3.2.4 Color selection dialog
|
Purpose |
The purpose of the dialog is to allow the user to select the desired color for a specific layer. |
|
Inputs |
The user will appropriate area of the selector to indicate which color should be applied. |
|
Processing |
The color will be stored to appropriate objects in the GDS object. |
|
Outputs |
The layer will be rendered with the appropriate user selected color. |
3.2.5 Print dialog
|
Purpose |
The purpose of the dialog is to allow the user to select the desired print options. |
|
Inputs |
The user select the appropriate print options. |
|
Processing |
The options selected will be validated against the print driver. Use glReadPixels to write the GL window to a bitmap. Then use .net print support to print the bitmap |
|
Outputs |
The file will sent to the printer with the selected options. |
3.3 Performance Requirements
We need to be able to open very large GDS files within system resource constraints.
3.4 Quality Attributes
The application is very self-contained. Robust error handling will be implemented and code will be object-oriented to allow for easier maintenance and feature additions.
3.5 Other Requirements
None at this time