Requirement Specification

Use Case Diagram

Online Photo Shop V1.1

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.