Requirement
|
Type
|
Summary
|
order_products |
Functional
|
Ordering products via an Internet site shall be possible. A product catalog is provided as an XML document.The catalog contains items like catalog contains prints, t-shirts, mugs and mouse pads.
The cataloge shall be easily extensible for new products.
|
products_browse |
Functional
|
Customers shall be able to browse through the products catalog.
|
product_options |
Functional
|
Customers shall be able to choose between different options offered for a particular product. The options contain, but are not limited to size and/or color.
|
product_customize |
Functional
|
Customers shall be able to customize offered product with uploaded, personal digital pictures. If no picture is uploaded some default pictures are available.
|
product_shopping_cart |
Functional
|
Customers shall be able to add products to a shopping cart while browsing through the product catalog. Also the customer can slect the amount of products.
|
order_checkout |
Functional
|
At any point while browsing through the product catalog customers shall be able to proceed to checkout and finalize the order. At checkout time the amount of products can be reviewed and changed. If the shopping cart is empty the user will be notified with a message.
|
customer_login |
Functional
|
Returning customers shall be able to use their previous shipping and payment information by providing their e-mail identifier and a password.
|
checkout_shipping |
Functional
|
During checkout, shipping information needs to be collected. The customer has to provide the full name, shipping address and a shipping method. Ground and second day air shipping methods are available.
|
checkout_shipping_cont |
Constraint
|
Shipping is possible to us addresses only. If a non us address is detected by the system, an error is shown indicating that shipping is just possible within the US. Also the completeness of shipping address is checked.
|
checkout_payment |
Functional
|
During checkout payment information needs to be collected. For payment the credit- or debit-card number and expiration date has to be collected. Verification of credit card information is done offline.
|
checkout_payment_secure |
Risk
|
Payment information shall be transmitted in a secure fashion.
|
checkout_payment_method |
Constraint
|
Payment is possible by credit or debit card only. A separate billing address shall NOT be collected (must match shipping address).
|
checkout_summarize |
Functional
|
If the customer provided valid payment and shipping information then the entire order information shall be transferred to order processing to validtae the information and to schedule the shipment.
|
order_confirmation |
Functional
|
After the order is sent to processing and all the information provided is verified, an order confirmation with confirmation number shall be provided. If some information could not be validated the cutomer will be informed via e-mail to contact customer service to solve the problem. If customer service is not contacted within a week, the order is deleted.
|
photo_editor |
Functional
|
Customers shall be able to perform basic photo post processing on their digital pictures. The GUI shall be similar to the GUI model provided in the file PhotoEditorGUI.vsd.
|
error_handling |
Functional
|
Errors shall be reported via exceptions. The exception handling mechanism is based on the Microsoft Application Block for exception handling and needs to be extended to show error message in a window on the screen. Every exception shall be displayed on the screen within a dialog window. A meaningful error message shall be displayed. For fatal errors, from which the application is not able to recover, the exception is written into the event log and the application is shut down.
|
image_crop |
Functional
|
If an image is loaded then the photo editor shall provide functionality to select a region of interest and crop the image to that region.
|
image_brightness |
Functional
|
The brightness of the image can be changed by using a track bar control. The functionality shall be provided via a plug ins that are loaded at run time.
|
image_contrast_and_color |
Functional
|
It shall be possible to change the contrast and the brightness of an image using track bar controls. The functionality shall be provided via a plug ins that are loaded at run time..
|
image_graphics_annotations |
Functional
|
The photo editor shall provide the possibility to attach customized graphical objects to the image.
The graphic primitives types provided are: Lines, Circles and Rectangles.
The primitives are drawn at a user defined position within the image by selecting a shape type
which can then be drawn interactively using the mouse. The graphic is stored in a list an can be removed
by selecting the are of the start or endpoint with a mouse click. In order to be able to rotate,
flip etc the image with the picture, it is possibly to burn the graphics onto the bitmap by selecting the apply button.
It shall also be possible to reset the image to the original image by selecting the reset button.
|
image_graphics_special_effects |
Functional
|
It shall be possible for the user to remove red eyes in a square are within the image by selecting the tool.
A red square will be shown on the screen to identify the areas where the red eye removal can be applied to with a left mouse click.
The functionality shall be provided via a plug ins that are loaded at run time.
|
image_3dtext |
Functional
|
The photo editor shall allow the user to add three-dimensional text to an image.
|
image_3dtext_color |
Functional
|
The user shall be able to select a color for 3D text.
|
image_3dtext_font |
Functional
|
The user shall be able to select a font type (Arial, Helvetica, etc.) and style (bold, italic) for 3D text.
|
image_3dtext_rotate |
Functional
|
The user shall be able to rotate the 3D text along x, y, and z axes.
|
image_3dtext_singleline |
Constraint
|
3D text can be added only to a single line at a time.
|
image_3dtext_opengl |
Constraint
|
Rendering three-dimensional text requires a graphics card compatible with OpenGL 1.2. No vendor-specific extension may be used.
|
image_text_annotations |
Functional
|
The photo editor shall provide a tool that allows adding text in different fonts and colors to an image.
After selecting the graphics, overlay-type text can be written at a user-selected position within the image.
Different fonts are not supported in this iteration (this will be discussed in the next iteration).
The text otherwise shall behave like a graphic.
|
image_rotate |
Functional
|
If an image is loaded, the photo editor shall be able to rotate an image by 90 degrees in both directions.
|
image_flip |
Functional
|
If an image is loaded, the photo editor shall be able to flip an image vertically and horizontally.
|
image_special_effects |
Functional
|
The photo editor shall provide special effects for red eye reduction.
|
editor_optimizations |
Performance
|
The application shall be profiled to uncover possible bottlenecks.
On basis of the profiling results it is decided upon improvements that are implemented in this iteration.
The overall goal of this development cycle is to provide better interactivity and to improve the performance of the image processing algorithms.
|
editor_system_test |
Functional
|
A test program shall show the functionalities implemented fulfill the requirements.
|
image_format |
Functional
|
The supported image formats are JPG and GIF. The supported image sizes range from 100 pixels to 2048 pixels for both width and height. An error is reported if the image format is not known.
|
online_shop_codebehind |
Constraint
|
Web Forms shall be created using the Visual Studio Web Form wizard and follow separation of code and design (code behind).
|
online_shop_stateservice |
Constraint
|
To allow for future scalability, the ASP State service shall be used to implement session management.
|
imageprocessing_library |
Constraint
|
All implementations of image-processing algorithms that go beyond the provided functionality of the .NET Framework Class Library shall be encapsulated into a separate library.
|
platform_os |
Constraint
|
The target platform operating system is Windows XP Professional. No special hardware requirement is necessary.
|
photo_editor_deployment |
Functional
|
An online installer for the photo editor shall be provided, which can be linked to any Web page. No manual setup steps involving copying or uncompressing shall be required.
|
onlinephotoshop_deployment |
Functional
|
The software for Online Photo Shop shall be provided on a CD along with installation instructions for system and Web administrators.
|