SRS Outline

Version: 1 : 2/5/08


Team BLT - CS 4500, University of Utah Spring 2008


1. Introduction

Purpose of this section: General background and reference information

1.1 Purpose of this Document

This SRS describes the function and performance requirements for Team BLT's project Daz Studio Easy. Daz Studio Easy is to be a derivative project aiming at creating a free easy to use beginner version of Daz Studio.

1.2 Scope of the Development Project

Daz Studio Easy - is the project that is being developed. It is a program for working with 3D models, setting up scenes, lighting and more. Daz Studio Easy is being derived from Daz Studio which is very complex and is almost soley used by advanced users. The project will mostly consists of reworking the Daz Studio user interface. We will be removing complicated features, and adding user interface elements to make working in Daz Studio much easier. The end goal of this project is to be able to have Daz Studio Easy be something that a new user can start creating something cool with 3D models with in one half hour.

1.3 Definitions, Acronyms, and Abbreviations

GUI: graphical user interface.

QT: QT is the cross platform framework from Trolltech that Daz Studio is built upon. It is basis for the GUI (graphical user interface) of Daz Studio, and also is responsible for all the system specific calls.

1.4 References

Daz Studio Internal Documentation

QT 3.3 Documentation

Hearn, Ervin : Technical Lead for Daz Studio Easy project.

1.5 Overview of Document

The first section of this document is to help give a high level understanding of the nature of the project. There is a description of the main idea of the project, as well as some defintions and information about our available resources. The second section of this document gives backround information about the type of users that we anticipate using the software. You will also find details about the overall functionality, and about platform specifics. The third section deals with some of the more specific implementation details.


2. General Description

2.1 User Personas and Characteristics

User 1 - New 3D User:

The first user persona is that of a total beginner user. Someone who has never done anything with 3D content, but is interested in trying to do some minor manipulations with models. They will not be familiar with terminology commonly used in 3D modeling, and they will need the software to be straight forward, easy to learn and use. If they are not able to open the program and get started quickly, they will not have the tolerance or patience to continue with it.

User 2 - Tech Savy 3D Enthusiast:

This user is very familiar with technical programs, terminology, and figuring things out. They have mostly like used or created 3D models, and have probably used multiple different programs for working with models. They will use Daz Studio for more advanced features than the beginner user, but will most likely be using the software for personal and not commercial use.

2.2 Product Perspective

2.3 Overview of Functional Requirements

There is very large number of functional pieces of this software. Most of the functionality we will leave intact. Other functionality we will be modifying, and other functionality we will be adding. 1.User Interface elements - we will be adding,removing, and modifying the functionality of many of the interface elements. On the first sprint of the project, we were focusing on modifying interface functionality to make it more intuitive. We worked on making changes that make it more clear how some of the basic functionality works. We changed how tool palettes drag, minimize, and how the 3D viewport resizes.

Due to the iterative development process we are doing the project in, we don't know all of the future modification and adjustments. After each sprint, the project will be evaluated and the next steps decided upon.

2.4 Overview of Data Requirements

The primary data source is the 3D content. This data must be loaded into the program. A key feature that we will mostly likely implement will be a way of accessing, purchasing, and loading 3D into Daz Studio. Daz content currently is downloaded and purchased from their website as EXE files on Windows and SIT files on the mac. Content may also be created from a variety of 3D programs and imported to Daz Studio as OBJ files.

2.5 General Constraints, Assumptions, Dependencies, Guidelines

"The product will work on most all computers running Windows XP or later, and MacOS X 10.4 or later."
"This product may function faster and better with better graphics cards"

2.6 User View of Product Use

User 1: They will open Daz Studio, then load some of the free 3D content, or content they purchase. They will then create scenes or manipulate the models apperance for avatars, games, or just for fun.

User 2: They will also load content into daz for manipulation. The content they load will be content that they create or buy, and they will be doing more advanced manipulations and more complex scenes inside Daz studio.


3. Specific Requirements

3.1 External Interface Requirements

No current external interface requirements.

3.2 Detailed Description of Functional Requirements


3.2.1 Template for describing functional requirements
Task a description of the functional requirement and its reason(s)
SprintWhich sprint the task is to be achieved.
3.2.2 through 3.2.x
  1. Tab panel dragging - Make the tool bar panels obviously dragable, transparent window when dragging. Accomadating moving, docking etc. Sprint 1.
  2. Extra handle gripper removal - remove handle controls and functionality that is unnecessary and confusing. Sprint 1.
  3. Refresh Viewport on the fly - Automatically refresh the 3D view port work area, as you resize the viewport area or move the toolbars around. Sprint 1.

3.3 Performance Requirements

The changes made to the existing code, and the new code should not add any siginifcant lag in the functioning of the program.

3.4 Quality Attributes

All code should be written following Daz coding standards, and should be layed out in such a way that it will be easy to update and maintain.

3.5 Other requirements

None at this time.