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:
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:
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.
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