SDS Sample

  • Upload
    leokvn

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

  • 8/2/2019 SDS Sample

    1/65

    Quality Management System

    DOCUMENT ADMINISTRATION: The master of this document is stored in an electronic database and is

    write-protected. It may only be altered by authorized persons. Copies may be printed out, but this is not

    recommended. Viewing of the master online ensures access to the current issue. Any hard copy of this

    document or unlocked soft copy must be regarded as an uncontrolled copy.

    ABCSoftware Design Specification

    Version 0.5

    Project/Department: ABCIssue Date: December 5, 2007

    Issue Status: Draft

    Owner: ABC

    Author: Hau Tran

    Location: ABC Repository

    Confidential Class:

  • 8/2/2019 SDS Sample

    2/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 2 of 65

    Table of Contents

    1. DOCUMENT MANAGEMENT 61.1.1 Document Reviewer History 6

    1.1.2 Document Approver History 6

    1.1.3 Document Revision History 6

    2. INTRODUCTION 7

    2.1 Overview 7

    2.2 Design Map 7

    2.3 Supporting Materials 8

    ABC web site: http://www.ABC.com/content/us/en/index.jsx Error! Bookmark not defined.

    FedEx web site: http://www.fedex.com/us/officeprint/main/ Error! Bookmark not defined.

    3. CONSIDERATIONS 93.1 Assumptions and Dependencies 9

    3.2 System Environment 9

    3.3 Processes, Policies, Conventions, and Tactics 10

    4. ARCHITECTURE 10

    4.1 System Architecture 10

    4.2 Processes of Key Components in the Architecture 12

    4.3 Architecture Decisions and Rationales 12

    5. COMPONENT DESIGN 13

    5.1 Components Dependencies Diagram 13

    5.2 Description of the Components 145.3 Components and Use Cases Mapping 15

    5.4 Detail Component Design 16

    5.4.1 Module 16

    5.4.1.1 Processing Narrative 16

    5.4.1.2 Sequence Diagram 16

    5.4.1.3 Class Diagram 17

    5.4.1.4 Interface Description 18

    5.4.1.5 Data Processing 19

    5.4.2 Module 19

    5.4.2.1 Processing Narrative 195.4.2.2 Sequence Diagram 19

    5.4.2.3 Class Diagram 20

    5.4.2.4 Interface Description 20

    5.4.2.5 Data Processing 21

    5.4.3 Module 21

    5.4.3.1 Processing Narrative 21

    5.4.3.2 Sequence Diagram 21

    5.4.3.3 Class Diagram 22

    5.4.3.4 Interface Description 22

    5.4.3.5 Data Processing 235.4.4 Module 23

  • 8/2/2019 SDS Sample

    3/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 3 of 65

    5.4.4.1 Processing Narrative 23

    5.4.4.2 Sequence Diagram 23

    5.4.4.3 Class Diagram 23

    5.4.4.4 Interface Description 245.4.4.5 Data Processing 24

    5.4.5 Module 25

    5.4.5.1 Processing Narrative 25

    5.4.5.2 Sequence Diagram 25

    5.4.5.3 Class Diagram 26

    5.4.5.4 Interface Description 26

    5.4.5.5 Data Processing 27

    5.4.6 Module 27

    5.4.6.1 Processing Narrative 27

    5.4.6.2 Sequence Diagram 28

    5.4.6.3 Class Diagram 28

    5.4.6.4 Interface Description 29

    5.4.6.5 Data Processing 29

    5.4.7 Module 30

    5.4.7.1 Processing Narrative 30

    5.4.7.2 Sequence Diagram 30

    5.4.7.3 Class Diagram 30

    5.4.7.4 Interface Description 31

    5.4.7.5 Data Processing 31

    6. USER INTERFACE DESIGN 32

    6.1 Navigation 32

    6.2 Screen Representation 33

    6.2.1 Main Structure 33

    6.2.2 Content Page 33

    6.2.3 Button, Textbox, Drop-down List 34

    6.2.4 Menu Items, Action Items 34

    6.3 Screen Snapshots 35

    6.3.1 Shipping 35

    6.3.1.1 Create a Shipment 35

    6.3.1.1.1 Begin Your Shipment 35

    6.3.1.1.2 Add Shipping Options 356.3.1.1.3 Preview Your Shipment 36

    6.3.1.1.4 View History or Void Shipment 37

    6.3.1.1.5 Create a Return 38

    6.3.1.1.6 Set Preferences 39

    6.3.1.2 Calculate Time and Cost 40

    6.3.1.2.1 Provide Shipment Information 40

    6.3.1.2.2 Provide Shipment Details 41

    6.3.1.2.3 Time and Cost Summary 42

    6.3.1.2.4 Time and Cost Details 43

    6.3.1.3 Schedule a Pickup 446.3.1.3.1 Pickup Information 44

  • 8/2/2019 SDS Sample

    4/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 4 of 65

    6.3.1.3.2 Pickup Services Details 45

    6.3.1.3.3 Pickup Status 46

    6.3.1.3.4 Pickup Status 46

    6.3.1.3.5 Set Preferences 476.3.2 Printing / Copying 48

    6.3.2.1 New Print Job 48

    6.3.2.2 Delivery Options 48

    6.3.2.3 Manage Print Jobs 48

    6.3.3 Tracking 49

    6.3.3.1 Track by Reference 49

    6.3.3.2 Track by Number 49

    6.3.3.3 Track by Email 50

    6.3.3.4 Import Tracking Numbers 50

    6.3.4 Online Transaction Report 50

    6.3.5 Support 51

    6.3.6 Admin 51

    6.3.6.1 Register 51

    6.3.6.2 My ABC 52

    6.3.6.3 Forgot User ID or Password 52

    6.3.6.4 Manage Users 53

    7. DATA MODEL / DATA STRUCTURE 53

    7.1 General View 53

    7.2 Table Description 54

    7.2.1 Table user 54

    7.2.2 Table UserRole 55

    7.2.3 Table LayoutReference 55

    7.2.4 Table ABCAccount 56

    7.2.5 Table Address 56

    7.2.6 Table Pickup 57

    7.2.7 Table Shipment 57

    7.2.8 Table PaymentInfo 59

    7.2.9 Table ReturnShipment 59

    7.2.10Table Package 59

    7.2.11Table Tracking 60

    7.2.12Table ShipmentHistory 607.2.13Table PrintJob 60

    7.2.14Table PrintJobOption 61

    7.2.15Table Document 61

    7.2.16Table PrintJobHistory 62

    7.2.17Table Country 62

    7.2.18Table State 62

    7.2.19Table Service 62

    7.2.20Table ServiceType 62

    7.2.21Table Authorities 63

    7.2.22Table Resource 638. DEPLOYMENT MODEL 63

  • 8/2/2019 SDS Sample

    5/65

  • 8/2/2019 SDS Sample

    6/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 6 of 65

    1. DOCUMENT MANAGEMENT

    1.1.1 Document Reviewer History

    Reviewer Name Review Attendance (R/S) Comments

    Linh Le R

    Hai Nguyen R

    R/S: Required or Suggested participants or functions for the document review meeting.

    1.1.2 Document Approver History

    Approver name Approver Function Comments

    Linh Le Project Manager

    ABC Technical Contact Person

    1.1.3 Document Revision History

    Date Version Description Revised by

    Dec 05, 07 0.1 Draft Hau Tran

    Dec 12, 07 0.2

    Update parts:

    - Architect

    - Component Design

    Hau Tran

    Dec 14, 07 0.3Update parts:

    - User Interface Design

    - Data Model/Structure

    Hau Tran, HaiNguyen, TuanPhan

    Dec 18, 07 0.4

    Update parts:

    - Deployment Model

    - Testing Issues

    Hai Nguyen

    Dec 28, 07 0.5Update for comments in the review meeting Hau Tran, Hai

    Nguyen

  • 8/2/2019 SDS Sample

    7/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 7 of 65

    2. INTRODUCTIONThis is a Software Design Specification (SDS) document, and it provides a detailed overview of thedesign for the ABC system.

    The main purpose of this document is to provide a solid foundation for the development phase of theproduct. The design takes the results of use case analysis in SRS document and produces a specificationthat can be effectively implemented. It contains an explanation of a way to carry out each of the

    requirement specifications written in the Software Requirements Specification (SRS). The design isconsidered complete, when it is detailed enough to implemented and tested. It serves as a guide to thedevelopers who write the code and actually create the product. The SDS document will break down theproject into components to describe in detail what the purpose of each component is and how it will be

    implemented. The SDS document will also serve as a tool for verification and validation of the finalproduct.

    2.1 Overview

    The project to be developed is a pilot project that provides cost-effective and convenient on-line ABCservices to the (SOHO) Small Office Home Office market and consumers via the ABC network in theUnited States. Ultimately, this future system will be an opportunity for all of the ABC Stores to provideon-line services to its customers, regardless of where they live, work or travel.

    The system is an open-source, multi-lingual, web-based application. The scope of the project is targetedto service the US market first before other markets (Canada, Western Europe, Latin America, and Asia-

    Pacific). Specifically, this phase of project will aim to service only one ABC store in the US.

    2.2 Design Map

    This document will present the architecture, components, and graphical user interfaces (GUI) that makeup the ABC system.

  • 8/2/2019 SDS Sample

    8/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 8 of 65

    2.3 Supporting Materials

    Definitions, acronyms, and abbreviations

    Part CONTENTS DESCRIPTIONS

    Part 1 DOCUMENT MANAGEMENT History of this document development, including

    Revision History, Reviewer history, and ApproverHistory.

    Part 2 INTRODUCTION An introduction to the document by explaining thepurpose of the document, providing design mapand references, and a brief overview of eachsection within the document.

    Part 3 CONSIDERATIONS A description of any assumptions or dependenciesregarding the software and its use. Other concernssuch as: related software or hardware, operating

    systems, performance, security, design

    methodology, possible and/or probable changes infunctionality.

    Part 4 ARCHITECTURE An overview of the components that make up thesystem architecture and the relationships betweenthem.

    Part 5 COMPONENT DESIGN A detail of all components specification and therelationship between them.

    Part 6 USER INTERFACE DESIGN Screen snapshots and descriptions of user interfacedesigns that directly support construction of the

    system.

    Part 7 DATA MODEL / DATASTRUCTURE

    A description of the major data model of bothglobal and subsystem scope. This should berepresented in the form of entity relation model.

    Part 8 DEPLOYMENT MODEL A diagram that shows how system components,operating system, services and software will be

    deployed on each server.

    Part 9 OPERATIONAL SUPPORTINGMECHANISM

    The design document may need to support somespecial mechanisms in order to easily identify

    issues / defects / problems and resolve them.

    Part 10 RESTRICTIONS, LIMITATIONS,AND CONSTRAINTS

    Identification of any issues that may impact thedesign or implementation of the software.

    Part 11 TESTING ISSUES A specification of test strategy and preliminary testcase.

  • 8/2/2019 SDS Sample

    9/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 9 of 65

    ABC United Parcel Service

    SDS Software Design Specifications

    SRS Software Requirement Specifications

    ORM Object Relational Mapping

    IDE Integrated Development Environment

    References

    ABC-SRS-001-Software Requirement Specification.doc

    3. CONSIDERATIONS

    3.1 Assumptions and Dependencies

    The software is separated into 8 modules. Each module has it own responsibility:

    Administrationcontains components of managing user accounts, roles and profiles.

    Packaging & Shippingcontains components of shipments, pickABC and preferences.

    Printing and Copyingcontains components of print jobs, orders and options setting.

    Trackingcontains tracking component.

    Reportcontains report component.

    Utilitycontains e-mail component.

    Deliverycontains delivery service component.

    Paymentcontains payment service component.

    * Help Desk Ticket SystemWill be implemented separately after finishing this pilot project.

    3.2 System Environment

    The following are the description of frameworks, tools, operating system, servers and plug-ins which areimplemented in system development.

    Categories Technologies

    Frameworks JDK 1.5

    Spring MVC

    Spring Web Flow

    Acegi Security Framework

    Hibernate framework

    JUnit (for unit testing)ORM (Object Relational Mapping) Hibernate 3.x (for Object Relational Mapping)

  • 8/2/2019 SDS Sample

    10/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 10 of 65

    Business Logic Spring framework

    Web Application Server Apache Tomcat 5.5

    IDE (Integrated Development Environment) Eclipse 3.3.x with all necessary plug-ins.

    Database My SQL 5.0

    Operating System Linux Enterprise

    3.3 Processes, Policies, Conventions, and Tactics

    There are two kinds of documents that customers requireSoftware Requirements Specification (SRS)and Software Design Specification (SDS).

    SRS document describes all business and user requirements through use cases and diagrams. SDSdocument contains system architecture, components interaction diagram, description of all components

    and modules and data model. In further detail, all functions of each component are then furtherexplained with description, sequence diagram, and class diagram.

    4. ARCHITECTURE

    4.1 System Architecture

  • 8/2/2019 SDS Sample

    11/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 11 of 65

    Client Tier

    UPS Store members

    Browser ClientBrowser Client

    Browser Client

    Customer

    Browser Client

    Browser Client

    Browser Client

    Database

    System

    Database Tier

    SpringScheduler

    VIEW

    View(JSP/HTML)

    ViewResolver

    MODEL

    Business

    Objects

    Hibernate

    Beans

    Acegi Security

    Objects are managed by Spring IoC Container

    CONTROLLER

    SpringDispatcher Servlet

    HandlerMapping

    Controller

    SpringWebFlow

    ModelAndView

    Middle Tier 1

    23

    44.1

    4.2

    5

    6

    7

    8

    H T T P S

    R e q u e s

    t

    HTTPS

    Response

    JDBC

    Shipping

    Printing

    Tracking

    Adminstration

    Help Desk

    Report

  • 8/2/2019 SDS Sample

    12/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 12 of 65

    4.2 Processes of Key Components in the Architecture

    From the Client Tier, users who are ABC Store customers or members (Admin, ABC Storeowner, ABC Store manager and staffs) will use Packing & Shipping services, Printing &

    Copying, Tracking and/or Transaction Report services via the web browsers as InternetExplorer or Firefox. Being able to send requests (HTTPS Request) to the middle tier,

    customers have to follow step-by-step of the wizards of services. Each step of one servicegenerates a request to send to the ABC server in the middle tier (refer to SRS document ABC-SRS-001-Software Requirement Specification.doc for functionality details).

    The ABC application in the middle tier contains business logic rules, functions to handleclient requests. The data access objects (Hibernate objects) are included. One of features is theapplication sends emails to stores for printing and copying documents. Stores will print anddeliver documents as requirements from email. The Spring framework also supports the email

    sender component. The following is the general architecture in middle tier of ABC Storeapplication.

    1Spring Dispatcher Servlet receives requests from Client tier though Acegi security filter.

    2The Spring Dispatcher Servlet consults the suitable Handler Mapping to find a

    controller.

    3 The Spring Dispatcher Servlet dispatches the request to approximate Controller for

    processing belongs to SpringWeb Flow configuration.

    4The Controller will work with business objects of the service

    4.1, e.g. createUser and

    corresponding persistent classes4.2

    to create a ModelAndView object.

    5 The Controller returns the ModelAndView object with a logical view name to the

    Dispatcher Servlet.

    6TheDispatcher Servlet consults its view revolver to find the appropriate view.

    7DispatcherServlet forwards the request to the view.

    8The view renders the JSP page to the web browser.

    With the contents of a client request and business rules, the application will store the real-

    world data into database tables and retrieve data from database. The database model in thedatabase tier for the system should be designed, implemented and tested carefully forprocessing a huge number of package information.

    4.3 Architecture Decisions and Rationales

    Name Description

    Multi-tieredArchitecture

    A multi-tiered architecture is designed to partition the system intodistinct functional units: Client, Presentation, Business-Logic,Persistence and Database Management System.

    This ensures a clean division of responsibility and makes the systemmore maintainable and extensible. Systems with three or more tiers prove

  • 8/2/2019 SDS Sample

    13/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 13 of 65

    more scalable and flexible than a client-server system, in which nobusiness-logic middle tier exists.

    Apache Tomcat The main benefit of using the Apache server and Tomcat servlet engine

    is that both of these products are open source. These products can bedownloaded and installed for free, they run on a variety of computerserver hardware platforms, are very reliable, scalable, and are supportedand enhanced by developers throughout the world.

    Spring Spring is a lightweight container that makes it easy to wire objects

    together using an external XML configuration file. Spring supportspluggable transaction managers giving a broader range of choices fortransaction handling. The Spring architecture allows connecting Struts asWeb framework to Spring-based business and persistence layers. Springalso provides a simple mechanism for applying aspect-oriented codeagainst normal, object-oriented code.

    Spring MVC Provides a full-featured MVC module for a very clean division betweenControllers, Java Bean models and Views.

    Spring Web Flow This module is built on top of Spring MVC and adds the capability toeasily write wizardweb applications that span across several HTTPrequests. The core artifact within Spring Web Flow is the flow (orconversation). It is this flow definition that defines a blueprint for aconversation with the user. Conversations can execute in parallel withoutintruding on each other, and when the conversation has finished, allallocated resources are automatically cleaned up.

    Hibernate Hibernate is the most flexible and powerful ORM solution on the markettoday. Hibernate not only takes care of the mapping from Java classes todatabase tables and from Java data types to SQL data types, but also

    provides data query and retrieval facilities that significantly reducedevelopment time. Hibernators design goal is to relieve the developer

    from 95% of common data persistence related programming tasks byeliminating the need for manual, hand-crafted data processing using SQLand JDBC.

    Acegi Security Acegi Security System is a remarkable, easy-to-use alternative to writingendless security code for authentication and authorization through out the

    applications. For any application written using Java and Springframework, there is no reason why Acegi should not be used.

    POJO Plain Old Java Object is preferred by many advocates because of itssimple design. The name is used to emphasize that the object in question

    is an ordinary Java Object, not a special object. POJO is simply refers to

    the natural condition of an object class. The term serves as a reminderthat simpler designs can be better, rather than incorporating acomplicated framework in the architecture of a system without sufficientreason

    5. COMPONENT DESIGN

    5.1 Components Dependencies Diagram

    http://en.wikipedia.org/wiki/Software_architecturehttp://en.wikipedia.org/wiki/Software_architecture
  • 8/2/2019 SDS Sample

    14/65

  • 8/2/2019 SDS Sample

    15/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 15 of 65

    PickABCervice The Pickup Service component is responsiblefor scheduling or voiding an online pickup.

    5 Payment PaymentService The Payment Service component contains all

    the logic related to the online payment andcredit card validation. The Payment Service isan external subsystem.

    6 Delivery DeliveryService The Delivery Service component contains allthe logic related to the ABC Store delivery

    service. The Payment Service is an externalsubsystem.

    7 Printing PrintJobService The Print Job Service component is responsiblefor executing a print job online.

    8 Utility EmailMgr The Email Manager component is responsiblefor generating and sending an email to end

    user.

    5.3 Components and Use Cases Mapping

    # Package Name Component Name Use Cases

    1 Administration UserService Register an account (ABC_UC_1.1)

    Open an ABC Store account (ABC_UC_1.2)

    Log in (ABC_UC_1.3)

    Retrieve account and forgot password(ABC_UC_1.4)

    Customize personal profile (ABC_UC_1.5)Manage user accounts (ABC_UC_1.6)

    RoleService Manage user roles (ABC_UC_1.7)

    2 Report ReportService Generate transactions report (ABC_UC_5.1)

    3 Tracking TrackingService Track by reference (ABC_UC_4.1)

    Track by e-mail (ABC_UC_4.2)

    Track by tracking numbers (ABC_UC_4.3)

    Import tracking numbers (ABC_UC_4.4)

    4 Shipping ShipmentService Create a shipment (ABC_UC_2.1)

    Continue previous shipment (ABC_UC_2.2)

    View shipment history (ABC_UC_2.3)

    Void shipment (ABC_UC_2.4)

    Set shipment preferences (ABC_UC_2.5)

    Create a shipment return (ABC_UC_2.6)

    Calculate shipment time and cost(ABC_UC_2.7)

    PickupService Schedule a pickup (ABC_UC_2.8)

    View pickup status (ABC_UC_2.9)

    Modify a pickup (ABC_UC_2.10)

    Void a pickup (ABC_UC_2.11)Set pickup preferences (ABC_UC_2.12)

  • 8/2/2019 SDS Sample

    16/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 16 of 65

    5 Payment PaymentService N/A

    6 Delivery DeliveryService N/A

    7 Printing/Copying PrintJobService Start a new print job (ABC_UC_3.1)

    Set print job options (ABC_UC_3.2)

    Combine files (ABC_UC_3.3)

    Select delivery options (ABC_UC_3.4)

    Place the order (ABC_UC_3.5)

    Trace order (ABC_UC_3.6)

    Re-use print job (ABC_UC_3.7)

    Review order history (ABC_UC_3.8)

    8 Utility EmailMgr N/A

    5.4 Detail Component Design

    5.4.1 Module

    5.4.1.1 Processing Narrative

    The User Service component is responsible for creating, modifying and deleting users andassigning role or resetting password for an existing user.

    5.4.1.2 Sequence Diagram

    Users

    Homepage

    AddUserAbsAction

    User

    UserService

    UPSAccount

    EmailUtility

    UserInfoForm

    UserFormAction

    1 : access()

    2 : register()

    3 : getUserId()

    4 : view()

    5 : getUserId()

    6 : submit()

    7 : addUser()

    8 : saveObject()

    9 : createUPSAccount()

    10 : generateEmail()

    11 : sendEmail()

  • 8/2/2019 SDS Sample

    17/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 17 of 65

    Users

    UserMngtForm

    AddUserAbsAction

    User

    UserService

    UPSAccount

    EmailUtility

    UserManager

    1 : access()2 : action()

    3 : getUserList()

    4 : v iew()

    5 : getUser()

    6 : addUser()

    7 : addUser()

    8 : saveObject()

    9 : createUPSAccount()

    10 : generateEmail()

    11 : sendEmail()

    Users

    UserMngtForm

    AddUserAbsAction

    User

    UserService

    UPSAccount

    EmailUtility

    UserManager

    1 : access()2 : action()

    3 : getUserList()

    4 : view()

    5 : getUser()

    6 : updateUser()

    7 : resetPassword()

    8 : enable/disable()9 : updateUser()

    10 : saveObject()

    11 : updateUPSAccount()

    12 : generateEmail()13 : sendEmail()

    14 : deleteUser()15 : deleteUser()

    16 : removeObject()

    17 : deleteUPSAccount()

    5.4.1.3 Class Diagram

  • 8/2/2019 SDS Sample

    18/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 18 of 65

    UPSAccount

    +account_number

    +user_id

    +getAccNumber()

    +setAccNumber()

    UPSAccountManager

    -upsService

    +handleRequest()

    +...()

    User

    +user_id

    +userName

    +password

    +email

    +address

    +...

    +getUserName()

    +setUserName()

    +getPassword()

    +setPassword()

    +...()

    UserManager

    -upsService

    +handleRequest()

    +...()

    Users

    UPSAccounts

    EmailUtility

    +sendEmail()

    +...()

    Controller

    AddUserAbsAction

    -upsService

    -emailUtil

    +doExecute()+getUPSService()

    +setUPSService()

    +...()

    UserService

    -upsDAO

    +addUser()

    +removeUser()+updateUser()

    +getUserList()

    +addUPSAccount()

    +deleteUPSAccount()

    +getUPSAccountList()

    +...()

    UserInfoFormAction

    -upsService

    +createFormObject()

    +...()

    AbstractAction FormAction

    5.4.1.4 Interface Description

    register(): register a new user account.

    getUserId(): get user identification to validate the user existed or not.

    addUser(): create an user and use User Service to add it into system. saveObject(): save user to database by User Service.

    generateEmail(): generate an email contains ABC Account number or UserID and password,user information

    sendEmail(): send an email to user.

    getUserList(): get the list of user in system.

    getUser(): get a specify user.

    updateUser(): update user information.

    resetPassword(): reset password in case users forgot password.

    disableUser(): lock users account.

    enableUser(): recover an account that has been locked.

  • 8/2/2019 SDS Sample

    19/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 19 of 65

    deleteUser(): delete an user out of system.

    5.4.1.5 Data Processing

    User_Layout

    User_Address

    User_RoleUser_UPSAccount

    Address

    address_id

    user_id

    payment_id

    address1

    address2

    city

    telephone

    zipcode

    extension

    floor_room

    country

    state

    in t

    in t

    in t

    char(100)

    char(100)

    char(30)

    char(12)

    char(8)

    char(5)

    varchar(20)

    varchar(30)

    smallint

    LayoutReference

    layout_id

    enter_tracking

    save_tracking

    create_shipment

    find_location

    quick_link

    billing_center

    oder_supply

    schedule_pickup

    form_export

    void_shipment

    in t

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    tinyint(1)

    UPSAccountInfo

    account_number

    user_id

    payment_id

    account_description

    char(30)

    in t

    in t

    varchar(256)

    User

    user_id

    layout_iduser_role_id

    user_name

    email

    upsPassword

    secret_question

    secret_answer

    title

    company

    enabled

    role_use_ups

    info_notice

    pickup_reference

    tracking_reference

    shipment_reference

    printjob_reference

    in t

    in tin t

    varchar(40)

    char(50)

    char(40)

    varchar(256)

    varchar(256)

    varchar(100)

    varchar(100)

    tinyint(1)

    varchar(100)

    in t

    varchar(30)

    varchar(30)

    in t

    in t

    UserRole

    user_role_id

    user_role_name

    role_privileges

    in t

    varchar(50)

    smallint

    5.4.2 Module

    5.4.2.1 Processing Narrative

    The Role Manager component is responsible for creating a new role, modifying and deleting anexisting role of ABC Store system. This pilot phase supports 5 roles: Customer, Admin, ABCStore Owner, ABC Store Manger and ABC Store Staff.

    5.4.2.2 Sequence Diagram

  • 8/2/2019 SDS Sample

    20/65

  • 8/2/2019 SDS Sample

    21/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 21 of 65

    saveObject(): save user role to database.

    deleteUserRole(): allows users to delete a role. If this role is being used by any users, the roleof users will be set to default role (customer role as well).

    removeObject(): remove User Role in database.

    5.4.2.5 Data Processing

    User_Role

    User

    user_id

    layout_id

    user_role_id

    user_name

    email

    upsPassword

    secret_question

    secret_answertitle

    company

    enabled

    role_use_upsinfo_notice

    pickup_reference

    tracking_reference

    shipment_reference

    printjob_reference

    in t

    in t

    in t

    varchar(40)

    char(50)

    char(40)

    varchar(256)

    varchar(256)varchar(100)

    varchar(100)

    tinyint(1)

    varchar(100)in t

    varchar(30)

    varchar(30)

    in t

    in t

    UserRole

    user_role_id

    user_role_name

    role_privileges

    in t

    varchar(50)

    smallint

    5.4.3 Module

    5.4.3.1 Processing Narrative

    The Report component is responsible for making Transaction Report contains shipping info,

    printing/copying info.

    5.4.3.2 Sequence Diagram

  • 8/2/2019 SDS Sample

    22/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 22 of 65

    Users

    ReportForm

    ReportManager

    Shipments

    Packages

    PrintJobs

    ReportService

    Pickups

    1 : access()2 : makeReport()

    3 : makeReport()

    4 : getShipmentInfo()

    5 : getPackageInfo()

    6 : getPrintJobInfo()

    7 : getPickupInfo()

    8 : returnReport()

    5.4.3.3 Class Diagram

    ReportService

    +getShipmentInfo()

    +getpackageInfo()

    +getPrintJobsInfo()

    +makeReport()

    +...()

    Shipments

    Users

    Packages

    PrintJobs

    ReportManager

    -upsService

    +hanldeRequest()

    +...()

    Controller

    Pickups

    5.4.3.4 Interface Description

    makeReport(): allows users to make a report about customer using service in a date range. getUserInfo(): this function collects the info of customer using ABC services.

  • 8/2/2019 SDS Sample

    23/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 23 of 65

    getShipmentInfo(): this function collects all shipments which customer used.

    getPackageInfo(): this function collects all packages which customer used .

    getPrintJobInfo(): this function collects all print jobs which customer used

    getPickupInfo(): this function collects all pickup schedule which customer used .

    5.4.3.5 Data Processing

    N/A

    5.4.4 Module

    5.4.4.1 Processing Narrative

    The Tracking Manager component is responsible for tracking the status of services which users

    are using by email, by shipment reference

    5.4.4.2 Sequence Diagram

    Users

    TrackingForm

    TrackingManager

    ShipmentHistory

    EmailUtility

    PrintJobHistory

    1 : access()

    2 : trackByRef()

    3 : trackByNumber()

    4 : getShipmentHistory()

    5 : getPrintJobHistory()

    6 : showResult()

    7 : trackByEmail()

    8 : getShipmentHistory()

    9 : getPrintJobHistory()

    10 : generateEmail()

    11 : sendEmail()

    12 : importTrackingNumber()

    5.4.4.3 Class Diagram

  • 8/2/2019 SDS Sample

    24/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 24 of 65

    TrackingManager

    -upsService

    +handleRequest()

    +...()

    ShipmentHistory

    +date

    +location+notes

    +getDate()

    +setDate()

    +...()

    EmailUtility

    +sendEmail()

    +...()

    PrintJobHistory

    +date

    +location

    +notes+getDate()

    +setDate()

    +...()

    ShipmentHistories

    PrintJobHistories

    Controller

    TrackingService

    -upsDAO

    +getShipmentInfo()

    +getPrintJobInfo()

    +...()

    5.4.4.4 Interface Description

    trackByRef(): allows users to track the shipment, print jobs and pickup by reference.

    trackByEmail(): allows users to track the shipment, print jobs and pickup by email.

    trackByNumber(): allows users to track the shipment, print jobs and pickup by enteringnumbers.

    importTrackingNumber(): allows users to import a CVS file contains number of shipment,print jobs and pickup.

    getShipmentHistory(): this function collects the history of shipments.

    getPrintJobHistory(): this function collects the history of print jobs.

    getPickupHistory(): this function collects the history of pickup.

    sendEmail(): this function will send an email to end user.

    5.4.4.5 Data Processing

  • 8/2/2019 SDS Sample

    25/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 25 of 65

    FK_%REFERENCE%

    ShipmentHistory_Address

    Shipment_TrackingShipment_T racking

    Address

    address_id

    user_id

    payment_id

    address1

    address2

    address3

    city

    telephone

    zipcode

    int

    int

    int

    char(100)

    char(100)

    varchar(100)

    char(30)

    char(12)

    char(8)

    Shipment

    shipment_id

    return_shipment_id

    tracking_number

    pickup_iduser_id

    payment_id

    print_job_id

    shipper_address

    ship_from

    ship_to

    email_content

    rint reference1

    int

    int

    varchar(30)

    varchar(30)int

    int

    int

    int

    int

    int

    varchar(50)

    tin int 1

    Tracking

    tracking_number

    shipment_id

    countryshipment_type

    date_start

    date_end

    varchar(30)

    int

    varchar(30)varchar(30)

    date

    date

    ShipmentHistory

    address_id

    tracking_number

    shipment_status

    notice

    int

    varchar(30)

    varchar(30)

    varchar(128)

    5.4.5 Module

    5.4.5.1 Processing Narrative

    The Shipment Manager component is responsible for creating, voiding an online shipment.

    5.4.5.2 Sequence Diagram

    Users

    ShipmentInfoForm

    ShipmentFormAction

    AddShipmentAbsAction

    Shipments

    Packages

    TimeAndCost

    ShipmentService

    1 : access()

    2 : getShipmentInfo()3 : getPackages()

    4 : getPackageInfo()

    5 : view()

    6 : createShipment()

    7 : createReturn()

    8 : continueShipment()

    9 : addShipment()

    10 : addPackage()

    11 : saveObject()

    12 : saveObject()

    13 : getTimeAndCode()

  • 8/2/2019 SDS Sample

    26/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 26 of 65

    Users

    ShipmentHistoryForm

    ShipmentManager

    Shipments

    Packages

    ShipmentService

    VoidShipment

    1 : access()

    2 : showShipmentHistory()3 : getShipmentList()

    4 : getObjects()

    5 : getObjects()

    6 : view()

    7 : voidShipment()

    8 : voidShipment()

    9 : removeObject()

    10 : removeObject()

    5.4.5.3 Class Diagram

    ShipmentService

    -upsDAO

    +createShipment()

    +voidShipment()

    +viewShipmentHistory()

    +createShipmentReturn()

    +calculateTimeAndCost()

    +...()

    Shipments

    Users

    Packages

    ReturnShipments

    TimeAndCost

    Addresses

    Shipment

    +user

    +shipFrom

    +shipTo

    +service

    +...

    +getUserAddress()

    +setUserAddress()

    +getShipFrom()

    +setShipFrom()

    +schedulePickup()

    +...()

    PaymentManager

    PaymentService

    PickupManager

    DeliveryService

    ShipmentManager

    -upsService

    +handleRequest()

    +...()

    AddShipmentAbsAction

    -upsService

    +doExecute()

    +...()

    ShipmentInfoFormAction

    -upsService

    +createFormObject()

    +...()

    VoidShipment

    -upsService

    +handleRequest()

    +...()

    Controller

    AbstractAction

    FormAction

    5.4.5.4 Interface Description

    getShipmentInfo(): this function keeps shipment information for page session.

    createShipment(): allows users to create a shipment.

    getPackages(): allows users to get all packages customer having.

    getPackageInfo(): allows users to get the package info.

    createReturn(): allows users to create a return shipment. continueShipment(): allows users to continue an un-submitted shipment.

  • 8/2/2019 SDS Sample

    27/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 27 of 65

    addShipment(): this function creates a shipment and use Shipment Service to add this shipmentinto database.

    addPackage(): this function creates a package and use Shipment Service to add this packageinto database.

    saveObject(): this function save Shipment information into database.

    getTimeAndCost(): this function collects Time and Cost from database that customer provide.

    showShipmentHistory(): this function allows user to show all shipments customer created.

    getShipmentList(): this function collects all shipments user created.

    getObjects(): this function collects all Shipment from database.

    voidShipment(): this function allows user to void a shipment.

    removeObject(): this function removes object in database.

    5.4.5.5 Data Processing

    Shipment_PaymentShipment_User

    Return_Shipment

    Shipment_Package

    Shipment_Return

    Tracking_Shipment

    Shipment_Tracking

    Shipment_Pickup

    Pickup_Shipment

    PrintJob_ShipmentShipment_PrintJob

    Package

    package_id

    shipment_id

    package_weight

    declare_value

    package_length

    in t

    in t

    decimal(10)

    decimal(10)

    decimal(10)

    PaymentInfo

    payment_id

    account_number

    address_id

    payment_name

    card_number

    expiration_date

    card_type

    in t

    char(30)

    in t

    varchar(50)

    varchar(40)

    date

    varchar(30)

    Pickup

    pickup_id

    shipment_id

    print_job_id

    user_id

    pickup_date

    time_ready

    varchar(30)

    in t

    in t

    in t

    date

    time

    PrintJob

    print_job_id

    shipment_id

    user_idpickup_id

    print_history_id

    print_job_name

    order_date

    cost

    in t

    in t

    in tvarchar(30)

    in t

    varchar(50)

    date

    decimal(12)

    ReturnShipment

    return_shipment_id

    shipment_id

    ERL

    ERL_memo_field

    ERL_notice_fail

    return_service

    in t

    in t

    varchar(50)

    varchar(1024)

    varchar(40)

    varchar(30)

    Shipment

    shipment_id

    pickup_id

    tracking_number

    return_shipment_id

    user_id

    payment_id

    print_job_id

    shipper_address

    ship_from

    sh i t o

    in t

    varchar(30)

    varchar(30)

    in t

    in t

    in t

    in t

    in t

    in t

    in t

    Tracking

    tracking_number

    shipment_id

    country

    shipment_type

    date_start

    date_end

    varchar(30)

    in t

    varchar(30)

    varchar(30)

    date

    date

    User

    user_id

    user_role_id

    layout_id

    user_name

    email

    upsPassword

    in t

    in t

    in t

    varchar(40)

    char(50)

    char(40)

    5.4.6 Module

    5.4.6.1 Processing Narrative

    The Pickup Manager component is responsible for scheduling or voiding an online pickup.

  • 8/2/2019 SDS Sample

    28/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 28 of 65

    5.4.6.2 Sequence Diagram

    Users

    PickupInfoForm

    PickupInfoFormAction

    Pickups

    AddPickupAbsAction

    PickupService

    1 : access()

    2 : getPickupInfo()

    3 : v iew()

    4 : schedulePickup()

    5 : updatePickup()

    6 : addPickup()

    7 : saveObject()

    Users

    Pickups

    PickupHistoryForm

    PickupManager

    DeletePickup

    PickupService

    1 : access()

    2 : showHistory()

    3 : getPickupList() 4 : getObjects()

    5 : v iew()

    6 : viewPickupStatus()7 : getPickupStatus()

    8 : getObject()

    9 : deletePickup()

    10 : deletePickup()

    11 : removeObject()

    5.4.6.3 Class Diagram

  • 8/2/2019 SDS Sample

    29/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 29 of 65

    PickupService

    -upsDAO

    +createPickup()

    +deletePickup()

    +viewPickupHistory()

    +viewStatus()

    +getPickupList()

    +...()

    Addresses

    Pickup

    +date

    +address

    +time_ready

    +time_latest

    +...

    +getDate()

    +setDate()

    +getAddress()

    +setAddress()

    +...()

    PaymentService

    DeliveryService

    Pickups

    PickupManager

    -upsService

    +handleRequest()

    Controller

    PickupInfoFormAction

    -upsService

    +createFormObject()

    +...()

    AddPickupAbsAction

    -upsService

    +doExecute()

    +...()

    Packages

    AbstractAct ion

    FormAction

    5.4.6.4 Interface Description getPickupInfo(): this function collects pickup information for page session.

    schedulePickup(): this functionallows users to schedule a pickup.

    updatePickup(): this function updates Pickup information.

    addPickup(): this function creates a new pickup and use Pickup Service to save it to database.

    saveObject(): this function save Pickup information into database.

    5.4.6.5 Data Processing

  • 8/2/2019 SDS Sample

    30/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 30 of 65

    Pickup_PrintJob

    Pickup_User

    PrintJob_Pickup

    Shipment_Pickup

    Pickup_Shipment

    Pickup

    pickup_id

    shipment_idprint_job_id

    user_id

    pickup_date

    time_ready

    time_latest

    varchar(30)

    intint

    int

    date

    time

    time

    PrintJob

    print_job_id

    pickup_iduser_id

    shipment_id

    print_history_id

    print_job_name

    order_date

    cost

    int

    varchar(30)int

    int

    int

    varchar(50)

    date

    decimal(12)

    Shipment

    shipment_id

    print_job_id

    tracking_number

    pickup_iduser_id

    payment_id

    return_shipment_id

    shipper_address

    in t

    in t

    varchar(30)

    varchar(30)in t

    in t

    in t

    in t

    User

    user_id

    layout_id

    user_role_id

    user_name

    email

    upsPassword

    secret_question

    int

    int

    int

    varchar(40)

    char(50)

    char(40)

    varchar(256)

    5.4.7 Module

    5.4.7.1 Processing Narrative

    The Print Job Manager component is responsible for executing a print job online.

    5.4.7.2 Sequence Diagram

    Users

    PrintJobInfoForm

    PrintJobFormAction

    PrintJobs

    PrintJobManager

    PrintingService

    AddPrintJobAbsAction

    DeletePrintJob

    PrintJobMgntForm

    1 : access()2 : getPrintJob()

    3 : view()4 : createPrintJob()

    5 : setPrintJobOption()

    6 : setDeliveryOptions()

    7 : addPrintJob()

    8 : saveObject()9 : access()

    10 : getPrintJobList()

    11 : getPrintJobList()

    12 : getObjects()

    13 : view()

    14 : deletePrintJob()

    15 : deletePrintJob()

    16 : removeObject()

    5.4.7.3 Class Diagram

  • 8/2/2019 SDS Sample

    31/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 31 of 65

    PrintJob

    +printJobID

    +date

    +status

    +printOptions

    +...

    +getOrderDate()

    +setOrderDate()

    +getPrintOptions()

    +setPrintOptions()

    +...()

    PrintJobService

    -upsDAO

    +selectDocument()

    +combineFiles()

    +setPrintOptions()

    +tracePrintOrder()

    +previewPrintOrder()

    +...()

    PrintJobs

    Deliveries

    PrintOptions

    ShipmentManager

    Shipments

    PickupManager

    Pickups

    PrintJobManager

    -upsService

    +handleRequest()

    +...()

    DeletePrintJob

    -upsService

    +handleRequest()

    +...()

    AddPrintJobAbsAction

    -upsService

    +doExecute()

    +...()

    PrintJobFormAction

    -upsService

    +createFormObject()

    +...()

    Controller

    AbstractAction

    FormAction

    5.4.7.4 Interface Description getPrintJob(): this function keeps print job information for page session.

    createPrintJob(): this function allows user to create a new print job online.

    setPrintOptions(): this function allows users to set the print options.

    setDeliveryOptions(): this function allows users to choose a delivery option.

    addPrintJob(): this function creates a print job and use PrintJob Service to save it intodatabase.

    saveObject: this function saves the print job into database.

    getPrintJobList(): this function collects all print jobs customer created.

    getObjects: this function queries print job from database.

    deletePrintJob: this function deletes a print job.

    removeObject: this function remove print job information out of database.

    5.4.7.5 Data Processing

  • 8/2/2019 SDS Sample

    32/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 32 of 65

    History_PrintJob

    PrintJob_History

    PrintJob_Pickup

    Pickup_PrintJob

    Shipment_PrintJob

    PrintJob_Shipment

    User_PrintJob

    PrintJob_Document

    Document

    document_id

    print_job_id

    print_option_iddocument_name

    document_dir

    int

    int

    intvarchar(50)

    varchar(50)

    Pickup

    pickup_id

    shipment_id

    user_id

    print_job_id

    pickup_datetime_ready

    time_latest

    email notice1

    varchar(30)

    int

    int

    int

    datetime

    time

    varchar 50

    PrintJob

    print_job_id

    pickup_id

    user_idprint_history_id

    shipment_id

    print_job_name

    order_date

    cost

    int

    varchar(30)

    intint

    int

    varchar(50)

    date

    decimal(12)

    PrintJobHistory

    print_history_id

    print_job_id

    printhistory_status

    int

    int

    varchar(30)

  • 8/2/2019 SDS Sample

    33/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 33 of 65

    6.2 Screen Representation

    6.2.1 Main Structure

    There are 3 main parts for the structure of the screen shown above. These are:

    1. Page Header: this content the ABC logo and the applications name. This part will beappearing for all the main page of application.

    2. Left Menu Bar: This contents all the menu items use for navigate for the main modules ofapplication.

    3. Main Area: this area will content all the input and output of the application.

    6.2.2 Content Page

  • 8/2/2019 SDS Sample

    34/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 34 of 65

    The content page dominates the main area of the web site.

    6.2.3 Button, Textbox, Drop-down List

    Depend on the screen the input text field, drop-down list, buttons will be appropriately displayed.

    Buttoncontain the action and get parameter from the form or simply go to other screen.Text boxallows user to enter information or to display information back to user.Drop-down listallows user to select an item from the list.

    6.2.4 Menu Items, Action Items

    Menu Itemsare presented in the left-hand side of the web site. They are the action steps forcertain main action.

    Action Itemare small individual actions for each menu item.

  • 8/2/2019 SDS Sample

    35/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 35 of 65

    6.3 Screen Snapshots

    There are about 50 screens total in the system. We have a limited space in the document to show andexplain all the screens. Therefore, each screen prototype below represents a use case of each

    component described in the Architecture section mentioned above. Currently, there are twenty eightscreenshots are outstanding representatives for six components. Other sub-screens are incapable topresent in the document.

    6.3.1 Shipping

    6.3.1.1 Create a Shipment

    6.3.1.1.1 Begin Your Shipment

    6.3.1.1.2 Add Shipping Options

  • 8/2/2019 SDS Sample

    36/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 36 of 65

    6.3.1.1.3 Preview Your Shipment

  • 8/2/2019 SDS Sample

    37/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 37 of 65

    6.3.1.1.4 View History or Void Shipment

  • 8/2/2019 SDS Sample

    38/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 38 of 65

    6.3.1.1.5 Create a Return

  • 8/2/2019 SDS Sample

    39/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 39 of 65

    6.3.1.1.6 Set Preferences

  • 8/2/2019 SDS Sample

    40/65

  • 8/2/2019 SDS Sample

    41/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 41 of 65

    6.3.1.2.2 Provide Shipment Details

  • 8/2/2019 SDS Sample

    42/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 42 of 65

    6.3.1.2.3 Time and Cost Summary

  • 8/2/2019 SDS Sample

    43/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 43 of 65

    6.3.1.2.4 Time and Cost Details

  • 8/2/2019 SDS Sample

    44/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 44 of 65

    6.3.1.3 Schedule a Pickup

    6.3.1.3.1 Pickup Information

  • 8/2/2019 SDS Sample

    45/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 45 of 65

    6.3.1.3.2 Pickup Services Details

  • 8/2/2019 SDS Sample

    46/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 46 of 65

    6.3.1.3.3 Pickup Status

    6.3.1.3.4 Pickup Status

  • 8/2/2019 SDS Sample

    47/65

  • 8/2/2019 SDS Sample

    48/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 48 of 65

    6.3.2 Printing / Copying

    6.3.2.1 New Print Job

    6.3.2.2 Delivery Options

    6.3.2.3 Manage Print Jobs

  • 8/2/2019 SDS Sample

    49/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 49 of 65

    6.3.3 Tracking

    6.3.3.1 Track by Reference

    6.3.3.2 Track by Number

  • 8/2/2019 SDS Sample

    50/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 50 of 65

    6.3.3.3 Track by Email

    6.3.3.4 Import Tracking Numbers

    6.3.4 Online Transaction Report

  • 8/2/2019 SDS Sample

    51/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 51 of 65

    6.3.5 Support

    6.3.6 Admin

    6.3.6.1 Register

  • 8/2/2019 SDS Sample

    52/65

  • 8/2/2019 SDS Sample

    53/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 53 of 65

    6.3.6.4 Manage Users

    7. DATA MODEL / DATA STRUCTURE

    7.1 General View

  • 8/2/2019 SDS Sample

    54/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 54 of 65

    7.2 Table Description

    7.2.1 Table user

    The table stores information of an ABC user.

    Field name Key Field type Length Description

    User_id Primary key String 30 This field is used to identify every ABC user.

    Layout_id Foreigner key Integer This field refers to LayoutReference table. It

    helps to customize ABC profile.

    User_role_id Foreigner key Integer This filed refers to UserRole table. It helps to

    determine the role of ABC users when they uses

    The ABC.

    Address_id Foreigner key Integer This field refers to Address table and helps to

    show address of the user.

    User_Name No String 40 This field contains full name of the user.

    Email No String 40 This field stores email address of ABC user.

  • 8/2/2019 SDS Sample

    55/65

  • 8/2/2019 SDS Sample

    56/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 56 of 65

    ABC.

    Save_tracking No Boolean This field lets ABC user select save_tracking link is

    displayed on his profile or not when he logins the

    ABC.

    Create_shipment No Boolean This field lets ABC user select create_shipment linkis displayed on his profile or not when he logins the

    ABC.

    Find_location No Boolean This field lets ABC user select find_location link is

    displayed on his profile or not when he logins the

    ABC.

    Quick_link No Boolean This field lets ABC user select quick_link link isdisplayed on his profile or not when he logins the

    ABC.

    Billing_center No Boolean This field lets ABC user select billing_center link is

    displayed on his profile or not when he logins the

    ABC.

    Order_supply No Boolean This field lets ABC user select order_supply link isdisplayed on his profile or not when he logins the

    ABC.

    Schedule_pickup No Boolean This field lets ABC user select schedule_pickup

    link is displayed on his profile or not when he

    logins the ABC.

    Form_export No Boolean This field lets ABC user select form_export link isdisplayed on his profile or not when he logins the

    ABC.

    Void_shipment No Boolean This field lets ABC user select void_shipment link

    is displayed on his profile or not when he logins the

    ABC.

    7.2.4 Table ABCAccount

    The table contains information of account that ABC users uses to pay for their services.

    Field name Key Field type Length Description

    Account_number Primary key String 30 This field plays a role of primary key. It helps to

    distinguish among records in the table.

    Payment_id Foreigner key Integer This field refers to a record in Payment table. It

    supplies information for billing.

    User_id Foreigner key String 30 This field refers to a record in User table. It helps

    to determine this account belong to whom.Account_description No String 126 This field aims to have more description for the

    account.

    7.2.5 Table Address

    The table stores address of an ABC user. An ABC user can have many addresses. And it also stores addresses for

    billing.

    Field name Key Field type Length Description

    Address_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among records in the tables.

    User_id Foreigner key String 30 This field refers to a record in User table. It helpsto determine this account belong to whom.

  • 8/2/2019 SDS Sample

    57/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 57 of 65

    Payment_id Foreigner key Integer This field refers to a record in Payment table. It

    supplies information for billing.

    Address1 No String 50 This field stores information about first street for

    the address.

    Address2 No String 50 This field stores information about second street for

    the address.

    City No String 30 This field stores name of city.

    Telephone No String 12 This field stores telephone number.

    Zipcode No String 6 This field stores zip code number.

    Extension No String 8 This field stores extension number.

    Floor_room No String 20 This field stores information about floor and room

    of the address.

    Country No String 30 This field stores name of country.

    State No String 30 This field stores name of state if has.

    7.2.6 Table Pickup

    The table stores information relates to a pickup of an ABC user.

    Field name Key Field type Length Description

    Pickup_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among records in the table.

    User_id Foreigner key String 30 This field refers to a record in User table. It helps

    to determine this pickup belong to whom.

    Address_id Foreigner key Integer This field refers to a record in Address table. It

    stores location that packages are picked up.

    Shipment_id Foreigner key Integer This field refers to a record in Shipment table. Ithelps to get information of shipment that this

    pickup relates to.

    Pickup_date No Date This field stores the date this pickup is carried out.

    Time_ready No DateTime This field stores the earliest time this pickup can be

    carried out.

    Time_latest No DateTime This field stores the latest time this pickup can be

    carried out.

    Email_notice1 No String 30 This field stores email address.

    Email_notice2 No String 30 This field stores another email address.

    Item_weigh_70lbs No Boolean This field shows whether packages are over 70 lbs

    weight or not.Total_weight No Decimal This field stores total weight of all packages.

    Pickup_result No String 30 This field stores result of the pickup.

    Status No String 30 This field stores status of the pickup.

    Pickup_place No String 30 This field figures out position that packages can be

    picked up at a location.

    Email_for_fail No String 30 This field stores email address to notice in case of

    failing to pick up.

    Service No String 30 This field stores services name that uses to pick up

    packages.

    7.2.7 Table Shipment

  • 8/2/2019 SDS Sample

    58/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 58 of 65

    The table stores information of a specific shipment.

    Field name Key Field type Length Description

    Shipment_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among records in the table.

    Tracking_number Foreigner key String 30 This field refers to a record in Tracking table. It

    helps ABC user to track the shipment.

    User_id Foreigner key String 30 This field refers to a record in User table. It states

    that the shipment belongs to whom.

    Pickup_id Foreigner key Integer This field refers to a record in Pickup table. It

    contains information so that all packages of the

    shipment can be picked up.

    Return_shipment_id Foreigner key Integer This field refers to a record in theReturnShipment table. It states that this shipment

    is a shipment or a return shipment.

    Payment_id Foreigner key Integer This field refers to a record in Payment table. It

    helps to get information for billing for the shipment.

    Ship_from Foreigner key Integer This field refers to a record in Address table. It

    stores place where the shipment begins.

    Ship_to Foreigner key Integer This field refers to a record in Address table. It

    stores place where the shipment will be shipped to.

    Email_content No String 256 This field contains content of an email that will

    notice to who receive the shipment.

    Print_reference1 No Boolean This field allows ABC User select to print and stick

    a reference on every package or not.

    Email_notice_fail No String 30 This field stores email address so that it can be used

    when the shipment is failed.

    Email1 No String 30 This field stores first email address.Email2 No String 30 This field stores second email address.

    Email3 No String 30 This field stores third email address.

    Email4 No String 30 This field stores fourth email address.

    Email5 No String 30 This field stores fifth email address.

    Response_email1 No Integer This field stores options for case of using the first

    email.

    Response_email2 No Integer This field stores options for case of using the

    second email.

    Response_email3 No Integer This field stores options for case of using the third

    email.

    Response_email4 No Integer This field stores options for case of using the fourth

    email.

    Response_email5 No Integer This field stores options for case of using the fifth

    email.

    Saturday_deliver No Boolean This field states that whether the shipment delivers

    on Saturday or not.

    Date No Date This field stores date that the shipment is created.

    Cost No Decimal This field stores cost of the shipment.

    Number_package No Integer This field stores number of packages for the

    shipment.

    Service No String 40 This field stores information about service that uses

    to ship the shipment.

  • 8/2/2019 SDS Sample

    59/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 59 of 65

    7.2.8 Table PaymentInfo

    The table stores information that ABC customers use to pay for their services.

    Field name Key Field type Length Description

    Payment_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among records in the table.

    Shipment_id Foreigner key Integer This field refers to a record in Shipment table. It

    states that what shipment uses the payment info for

    its billing.

    Account_number Foreigner key String 30 This field refers to an ABC account.

    Address_id Foreigner key Integer This field stores address that credit card use to pay

    for.

    Payment_name No String 59 This field contains a brief description for the

    payment info.

    Card_number No String 30 This field stores credit card number.

    Expiration_date No Date This field stores date credit card will be expired.

    Card_type No String 30 This field stores information about type of credit

    card.

    7.2.9 Table ReturnShipment

    The table contains additional information for a return shipment.

    Field name Key Field type Length Description

    Return_shipment_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among return shipments.

    Shipment_id Foreigner key Integer This field refers to a shipment in Shipment table.

    ERL No String This field stores ERL.

    ERL_memo_field No String This field stores ERL_memo_field.

    ERL_notice_fail No String 30 This field stores an email to notice when the

    shipment return is failed.

    Return_service No String 30 This field stores name of service that uses for the

    return shipment.

    7.2.10 Table Package

    The table stores information relates to package that ABC Customer would like to transfer.Field name Key Field type Length Description

    Package_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among package in the table.

    Shipment_id Foreigner

    keyInteger This field refers to a shipment in Shipment table.

    Weight No Decimal This field stores weight of the package.

    Declare_value No Decimal This field stores value of the package.

    Length No Decimal This field stores length of package.

    Width No Decimal This field stores width of package.

    Height No Decimal This field stores height of package.

    Reference1 No String 256 This field stores the first reference for package.

  • 8/2/2019 SDS Sample

    60/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 60 of 65

    Reference2 No String 256 This field stores the second reference for package.

    Is_large No Boolean This field states that whether package is large or

    not.

    Additional_handling No Boolean This field allows ABC user select option of

    handling.

    Merchandise_des No String 50 This field stores information about merchandise of

    package.

    Cod_amount No Integer This field stores amount of cod of package.

    Shipper_release

    Diliver_confirm_type No String 40 This field stores information that deliver confirms.

    Package_type No String 30 This field helps to classify packages.

    7.2.11 Table Tracking

    The table stores the tracking information of a shipment.Field name Key Field type Length Description

    Tracking_number Primary key String 30 This field plays a role of primary key. It helps todistinguish among tracking item in Tracking

    table.

    Shipment_id Foreigner key Integer This field refers to a shipment in Shipment table.

    Shipment_type No String 30 This field stores information about type of

    shipment.

    Date_start No Date This field stores start date in range of time view

    tracking.

    Date_end No Date This field stores end date in range of time view

    tracking.Account_number No String 30 This field stores account number that ABC user

    usually uses.

    7.2.12 Table ShipmentHistory

    The table stores history of every shipment.

    Field name Key Field type Length Description

    Tracking_number Primary key String 30 This field refers to a tracking in Tracking table.

    Address_id Primary key Integer This field refers to an address in Address table.

    Status No String 30 This field shows status of shipment.

    Notice No String 128 This field stores notice for every milestone.

    7.2.13 Table PrintJob

    The table stores information of a specific print job.

    Field name Key Field type Length Description

    Print_job_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among print jobs.

    Print_history_id Foreigner key Integer This field refers to a printjob history in

    PrintJobHistory table.

    Shipment_id Foreigner key Integer This field refers to a shipment in Shipment table.

    User_id Foreigner key String 30 This field refers to a user in User table. It states

  • 8/2/2019 SDS Sample

    61/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 61 of 65

    that who creates the print job.

    Pickup_id Foreigner key Integer This field refers to a pickup in Pickup table. It

    helps to get information about pickup for this print

    job.

    Print_job_name No String 50 This field contains name of print job.

    Order_date No Date This field stores date that print job is created.

    Status No String 20 This field stores status of print job.

    Cost No Decimal This field stores expense for a print job.

    7.2.14 Table PrintJobOption

    The table contains options that ABC Customers want for their print job.

    Field name Key Field type Length Description

    Print_option_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among print job options.Number_copy No Integer This field stores number of copies for a document

    that needs to be printed.

    Is_collated No Boolean This field is an option that allows ABC user choose

    when he prints document.

    Is_single_side No Boolean This field is an option that allows ABC user choose

    when he prints document.

    Is_print_color No Boolean This field is an option that allows ABC user choose

    when he prints document.

    Is_first_color No Boolean This field is an option that allows ABC user choose

    when he prints document.

    Folding No Boolean This field is an option that allows ABC user choosewhen he prints document.

    Paper_type No String 20 This field stores type of paper uses to print

    document.

    Paper_category No String 20 This field stores category of paper uses to print

    document.

    Cutting No Boolean This field is an option that allows ABC user choose

    when he prints document.

    BindingStapling No Boolean This field is an option that allows ABC user choose

    when he prints document.

    HolePunching No Boolean This field is an option that allows ABC user choose

    when he prints document.

    7.2.15 Table Document

    The table stores information of the document that ABC Customer would like to print.

    Field name Key Field type Length Description

    Document_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among documents in the table.

    Print_job_id Foreigner key Integer This field states which print job relates to the

    document.

    Print_option_id Print_option_id Integer This field refers to a document in the Document

    table. It helps to select options when they print a

    document.

  • 8/2/2019 SDS Sample

    62/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 62 of 65

    Document_name No String 30 This field stores name of document needs to be

    printed.

    Document_dir No String 50 This field stores directory of document.

    7.2.16 Table PrintJobHistory

    Field name Key Field type Length Description

    Print_history_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among print job histories.

    Print_job_id Foreigner key Integer This field refers to a print job in PrintJob table. It

    is also print job that we store history.

    Status No String 20 This field stores status of print job.

    Notice No String 128 This field stores information of print job

    7.2.17 Table Country

    The table contains all countries on the world.

    Field name Key Field type Length Description

    Country_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among countries.

    Country_name No String 30 This field stores name of country.

    7.2.18 Table State

    The table contains all states in each country.

    Field name Key Field type Length Description

    State_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among states.

    Country_id Foreigner key Integer This field refers to a country in Country table. It

    shows which country this state belongs to.

    State_name No String 30 This field describes name of state.

    7.2.19 Table Service

    The table lists all services following their type can be used at The ABC.

    Field name Key Field type Length Description

    Service_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among services.

    Service_type_id Foreigner key Integer This field refers to a service type in ServiceType

    table. It helps to classify the service following typeof service.

    Service_name No String 30 This field describes name of service.

    7.2.20 Table ServiceType

    The table lists all types of services that can be used at The ABC.

    Field name Key Field type Length Description

    Service_type_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among types of service.

  • 8/2/2019 SDS Sample

    63/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 63 of 65

    Service_type_name No String 30 This field describes name of type of service.

    7.2.21 Table Authorities

    The table lists all authorities for each user The ABC.

    Field name Key Field type Length Description

    Author_id Primary key Integer This field plays a role of primary key.

    Username No String 30 This field describes name of user that has authority.

    Authority No String 40 This field describes name of authority

    (ROLE_ADMIN).

    7.2.22 Table Resource

    The table lists all pages of The ABC. It also attaches authority for each page.Field name Key Field type Length Description

    Resource_id Primary key Integer This field plays a role of primary key. It helps to

    distinguish among pages.

    Resource_name No String 50 This field stores link of web page.

    Authority No String 40 This field stores authority for this page.

    8. DEPLOYMENT MODELDistribution is an essential aspect of enterprise applications. Deployment model is useful for

    modeling how the different components that make up the system are distributed across multipletypes of servers. The deployment model below displays the configurations of the ABC systemwith types of operating system, services or software will be installed on appropriate servers.

    There are two servers for the systemWeb Application server and Database server.

    Web Application server will be installed with:

    JDK/JRE version 1.5.x or later.

    Apache Tomcat version 5.5.x or later

    Deploy all ABC packages by running the scripts setupABCWebStore.sh

    Database server will be installed with:

    MySQL 1.5 or later.

    Setup ABC database by running the scripts setupDB.sh

  • 8/2/2019 SDS Sample

    64/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    TMA Confidential TMA Solutions, 2004 Page 64 of 65

    Client Browser

    MySQL 5.0

    Windows: Linux Inteprise, Apache Tomcat 5.5

    Ultility

    Shipping

    Printing/Copying

    Tracking

    Report

    Delivery

    Payment

    Administration

    9. OPERATIONAL SUPPORTING MECHANISM

    Event Logging and Development Logging are important parts of ABC Store system. They will helpadministrator to identify easily any problems, and help defects developers to find defects and resolvethem easily. With development logging, we will support following types of logging.

    - Debug: provides the debug info to help developer easily to find the problems. It should be loggedfor complicated data, and data flow

    - Info: provides the information of each method the system will go though. It should be logged inbeginning and ending of each function.

    - Error: provides all error happened in system such as throwing the catch block,

    10. RESTRICTIONS, LIMITATIONS, AND CONSTRAINTS

    Address validation: The system does not perform detailed address validation.

    Packaging and shipping services: TMA system will not provide the calculation functionality

    of time and cost but the system will create function calls to get business rules, interfacesand/or APIs from the ABC iShip CMS backend system regarding cost and time.

    Printing and copying services: Customers can easily customize the document(s) by adding

    tabs and inserting pages into the document. TMA system will not support the functionPreview Print Job in Printing/Copying service.

    11. TESTING ISSUES

    11.1 Classes of Tests

  • 8/2/2019 SDS Sample

    65/65

    Quality Management SystemSoftware Design Specification

    Code: ABC-SDS-001

    Issue Date: Dec 18, 2007 Version: 0.5

    Unit Testing

    Individual components (Administration, ShipmentMgr ...) will be tested separately bydevelopers.

    This test will be conducted on each function before integrating to the system. All units testing will be done in White Box fashion.

    Integration Testing

    Combined components will be tested as a whole. To maintain maximum control overthe testing criteria, all data files will be made specifically for testing purposes.

    The level builder will be tested to ensure proper communication between the interface

    and the database.

    System Testing

    System Testing will be performed on Usability, Security, and Performance testing.

    These testing will be conducted by testers after the integration testing completed.

    Stress and Load Testing

    Stress Testing will determine the stability of ABC Store system

    Load Testing is the process of creating demand on a system or device and measuring

    its response.

    These testing will be conducted by testers after the integration and system testingcompleted.

    11.2 Expected Software Response

    All components of the system are working properly and satisfy the requirement.

    The system satisfies non-functional requirements. There is an error log if the system has problem.

    Error-less compilation of code.

    11.3 Performance Bounds

    The normal speed to load a web page is within 10 seconds.

    12 hours/day and 6 days/week for front-end (retail stores) technical support

    24x7 for back-end (remote servers) technical support

    Number of connections the system maximum support: TBD