Refining Requirements for 3D Text Display

graphics/requirements_icon.gif

First let's refine the 3D text display requirement from Chapter 4 to better describe what exactly will be implemented. The initial requirement key, F:image_3dtext, is very general and does not yet address possible constraints, assumptions, or dependencies. For example, the 3D text function would not be practical if the user could not customize the appearance of the text by changing things like color, position, or font style. We need to decide which attributes will be customizable and which will simply be set to default values.

For the text, we plan to make the following attributes customizable by the user:

  • A single line of text
  • Position in the image where the text is placed
  • Font color
  • Font type (for example, Arial)
  • Font style (for example, bold)
  • Font size

In addition, the requirement that we need to fulfill says that users will be able to merge this text as a three-dimensional object into an existing image. Converting a two-dimensional line of text into a 3D object adds a variety of parameters:

  • Depth of the 3D object: Standard text has only two dimensions: width and height. We need to select a depth, which adds the third dimension.
  • Orientation or rotation of the 3D object: Looking straight at a 3D object does not show its depth and will not give a 3D impression. Only rotating the object will lead to nice effects.
  • Lighting, material, and shading parameters: If those parameters are not set correctly, the entire surface of the rendered object (all its sides) might appear in the same color, thereby not allowing the user to recognize corners. It is necessary, for example, to set up a directional light to create shadows that enhance the shape of an object. Furthermore, material properties define an object's shininess or reflections that are visible on the object.

Our customer, the printing and embossing business, needs to be included in this refinement of requirement keys. There are a large number of options that we could implement but at the cost of impacting the schedule. Together with the customer, we create and agree on a new list of refined keys that does not require new planning and allocation of additional resources. Table 9.1 lists the refined requirement keys for implementing three-dimensional text.

Table 9.1. Refined Requirements for Three-Dimensional Text

Requirement

Type

Summary

F:image_3dtext

Functional

The photo editor shall allow the user to add three-dimensional text to an image.

F:image_3dtext_color

Functional

The user shall be able to select a color for 3D text.

F:image_3dtext_font

Functional

The user shall be able to select a font type (Arial, Helvetica, etc.) and style (bold, italic) for 3D text.

F:image_3dtext_rotate

Functional

The user shall be able to rotate the 3D text along x, y, and z axes.

C:image_3dtext_singleline

Constraint

3D text can be added only to a single line at a time.

Introducing .NET

Introducing Software Engineering

A .NET Prototype

Project Planning

The Photo Editor Application

GDI+ Graphics Extensions

Advanced GDI+ Operations

Dynamic Loading of Components

Accessing System Resources

Performance Optimization, Multithreading, and Profiling

Building the Web Application with ASP.NET

Security and Database Access

Product Release



. NET-A Complete Development Cycle
.NET-A Complete Development Cycle
ISBN: 0321168828
EAN: 2147483647
Year: 2005
Pages: 123

Flylib.com © 2008-2020.
If you may any questions please contact us: flylib@qtcs.net