Technical.docx - FTP by yaofenji

VIEWS: 2 PAGES: 62

									S3 Solutions



Personal Finance
Management
Technical Document




8/22/2012
                                                            Personal Finance Management 2012

Contents

I/ Introduction ............................................................................................................................................... 2
   1.1/ Overview............................................................................................................................................ 2
   1.2/ Scope ................................................................................................................................................. 2
   1.3/ Document Preview ............................................................................................................................ 2
II/ Data .......................................................................................................................................................... 3
   2.1/ Google Data APIs ............................................................................................................................... 3
   2.2/ Basic data type .................................................................................................................................. 3
III/ Architectural and Component-Level Design............................................................................................ 4
   3.1/ Flow Chart ......................................................................................................................................... 4
   3.2/ Program Structure ............................................................................................................................. 5
   3.3/ Usecase .............................................................................................................................................. 6
   3.4/Class Diagram ..................................................................................................................................... 7
IV/ User Interface Design ............................................................................................................................ 10
V/Restriction, Limitations and Constraints ................................................................................................. 15
   5.1/ Time ................................................................................................................................................. 15
   5.2/ Employee Skills ................................................................................................................................ 15
VI/ Testing ................................................................................................................................................... 15
   6.1/ Classes of Test ................................................................................................................................. 15
   6.2/ Identification of Critical Components ............................................................................................. 15




          1
                                      Personal Finance Management 2012

I/ Introduction

The following will define the design of the Personal Finance Management application on iPhone(iOS).




1.1/ Overview

This application is used to manage and track personal money spending ,statistic and create saving plan.




1.2/ Scope
Most important features of this application:

       Manage income and spending for many account
       Manage spending categories
       Create spending account (cash, banking, credit, saving)
       Saving and backup directly on Google Calendar
       Statistic and create chart by time or categories




1.3/ Document Preview


This design document is written to help the developers have a better idea of the different layers of the
software and the algorithms involved in its major functionalities. It will also serve as a basis for the
testing phase.




        2
                                       Personal Finance Management 2012

II/ Data

This application can save and backup data on Google Calendar directly , that’s the reason why we need
to use Google Data APIs.



2.1/ Google Data APIs


Google Data APIs allow client software to access and manipulate data hosted by Google
services.

The Google Data APIs Objective-C Client Library is a Cocoa framework that enables developers
for Mac OS X and iPhone to easily write native applications using Google Data APIs. The
framework handles

       XML parsing and generation
       Networking
       Sign-in for Google accounts
       Service-specific protocols and query generation

Some Google Data types are used in this application:

       GDataEntryCalendar
       GDataEntryCalendarEvent
       GDataWhen
       GDataWhere
       GDataDateTime

To setup Google Data APIs on Xcode4 , please follow instruction at this link.

2.2/ Basic data type


Some basic Objective-C data types we used:

       NSString
       NSMutableString
       NSNumber
       NSUrl
       NSMutableArray


        3
                            Personal Finance Management 2012

III/ Architectural and Component-Level Design


3.1/ Flow Chart




     4
                                        Personal Finance Management 2012




3.2/ Program Structure


The structure of this application is view-controller. We have 7 “.xib” files represent the views to user , 14
header and implementation files handle user’s interactions to the view:


               User.xib                              User.h                                User.m

             Account.xib                           Account.h                             Account.m

           AccountEntry.xib                     AccountEntry.h                        AccountEntry.m

           Transaction.xib                       Transaction.h                         Transaction.m

       TransactionEntry.xib                    TransactionEntry.h                    TransactionEntry.m
3.2/ UML Design
        CreateAccount.xib                       CreateAccount.h                       CreateAccount.m

       CreateTransaction.xib                  CreateTransaction.h                   CreateTransaction.m


              Views                                Controller                            Controller
                                                 (header files)                    (implementation files)




       5
                                                   Personal Finance Management 2012




3.3/ Usecase

   Edit Account        Delete Account        Create Account   Edit Transaction           Delete Transaction               Create Transaction




                                  Manage Account                                                         Manage Transaction




                                                                                  Report by category                  Report by time




                                 user
                                                                                                       View Reports




                                                                    Manage Categories




                                            Delete Category   Edit Category             Add Category
                  Log In




     6
                                      Personal Finance Management 2012
3.4/Class Diagram



                                          Report
                                      +reportType
                                      +createReport()


                                                                     Account
                                                                 +accountName
                      User                                       +balance
                                                                 +description
               +userName
               +passWord                                         +newAccount()
                                                                 +editAccount()
               +login()                                          +deleteAccount()




                                                                        Transaction
                                                                     +payFor
                                                                     +amount
                     Category                                        +dateTime
              +categoryName                                          +description
              +transactionType                                       +newTransaction()
              +newCategory()                                         +editTransaction()
              +updateCategory()                                      +deleteTransaction()




Class Name             MainView
Inherited class        None
Aggregated Classes     None
Associated Classes     None
Data Members           IBOutlet UITextField *txt_user;
                       IBOutlet UITextField *txt_pass;
                       GDataServiceGoogleCalendar *service;

Member Functions       -(IBAction)btnLogin:(id)sender
                       - (void)ticket:(GDataServiceTicket *)ticket
                       finishedWithFeed:(GDataFeedCalendar *)feed
                             error:(NSError *)error
Processing             Login




      7
                                    Personal Finance Management 2012

Class Name           ListCalendars
Inherited class      None
Aggregated Classes   None
Associated Classes   None
Data Members         NSMutableArray* listCalendars;
                     GDataFeedCalendar* feed;
                     IBOutlet UITableView *tableListCalendars;
Member Functions     -(IBAction)addCalendar:(id)sender;
                     -(IBAction)backListCalendars:(id)sender;
                     -(void) checkservice
                     - (void)ticket:(GDataServiceTicket *)ticket
                     finishedWithFeed:(GDataFeedCalendar *)feed
                           error:(NSError *)error
                     -(void) onToEventButtonClicked:(GDataEntryCalendar *)myCalendar
Processing           List calendars




Class Name           ListEvents
Inherited class      None
Aggregated Classes   None
Associated Classes   None
Data Members         GDataEntryCalendar* myCalendar;
                     NSMutableArray* listEvents;
                     GDataFeedCalendar* feed;
                     IBOutlet UITableView *tableListEvents;
Member Functions     -(IBAction)addEvent:(id)sender;
                     -(IBAction)backListCalendar:(id)sender;
                     - (void)beginFetchingEventsFromCalendar:(GDataEntryCalendar *)calendar
                     - (void)ticket:(GDataServiceTicket *)ticket
                     finishedWithFeed:(GDataFeedCalendar *)feed
                           error:(NSError *)error

Processing           List events




Class Name           AddCalendar
Inherited class      None
Aggregated Classes   None
Associated Classes   None
Data Members         IBOutlet UITextField *txt_money;
                     IBOutlet UIPickerView * pk_account;
                     int choose;

      8
                                     Personal Finance Management 2012
                     NSMutableArray* listAccount;
                     GDataFeedCalendar* feed;
Member Functions     -(IBAction)addCalendar:(id)sender;
                     -(IBAction)backListCalendar:(id)sender;

Processing           add calendar


Class Name           AddEvent
Inherited class      None
Aggregated Classes   None
Associated Classes   None
Data Members         IBOutlet UITextField *txt_money;
                     IBOutlet UITextView *txt_des;
                     IBOutlet UIPickerView * pk_category;
                     int choose;
                     GDataFeedCalendar* feed;
                     GDataEntryCalendar* myCalendar;
                     NSMutableArray* listCatelogy;
Member Functions     -(IBAction)addEvent:(id)sender;
                     -(IBAction)backListEvents:(id)sender;
                     - (void)ticket:(GDataServiceTicket *)ticket
                     finishedWithFeed:(GDataFeedCalendar *)feed
                           error:(NSError *)error
                     -(void) updateCalendar:(GDataEntryCalendar *)calendar
                     - (void)renameCalendarTicket:(GDataServiceTicket *)ticket
                               renamedEntry:(GDataEntryCalendar *)object
                                   error:(NSError *)error
Processing           add event




      9
                                      Personal Finance Management 2012

IV/ User Interface Design


Login View:

The login view contains two important UILabels is Gmail ID and Password that user must fill them before
using the software.




                                              Login View




     10
                                       Personal Finance Management 2012
Account List View:

The account list view contains all the accounts that are created by user. Each account is a row in a table
that will show the type and the balance of each account.




                                               Account List




     11
                                     Personal Finance Management 2012
Add New Account View:

The add new account view have two important parts are the account type picker and the balance that
user must choose and fill it.




                                       Add New Account View




    12
                                        Personal Finance Management 2012
Transaction List View:

The same as account list view, the transactions list is a table with each row is a transaction. Each
transaction contains the category with the money and the date time.




                                          Transactions List View




     13
                                     Personal Finance Management 2012
Add New Transaction View:

This view have a Picker category and two UITextView are amount and description. The category and
amount are required, the description is optional.




                                     Add New Transaction View




    14
                                     Personal Finance Management 2012

V/Restriction, Limitations and Constraints


5.1/ Time


Time is the biggest restriction or constraint for our project as we only have around 2 weeks to finish
many things such as: Setup Gdata, interact with Calendar APIs, build app on iOS…so that we ignore some
things like: validate input data, improve GUI or enhance application performance…

5.2/ Employee Skills
Employees programming and design skills is also one of the restriction. It does not have as big of an
impact on the project as time but it sure does limit us from doing more addition to the projects.




VI/ Testing

To validate the software we need to test the software. During the testing we were concerned about the
reaction of the interface to user manipulations. We emphasized on the testing where we will act as a
regular user and compare the reaction of the software with the expected results.

6.1/ Classes of Test


We went go through each of the interface and function to make sure we got the correct
outputs.

6.2/ Identification of Critical Components


   1. Login:
       The login process should be secure and fast , we tested all the cases can happen
       when user login to the application(blank username/password, wrong
       username/password…) to make sure if user don’t put the right username and
       password , they can’t access to the application by anyway.

   2. Create account and transaction:
      Each account or transaction , when it’s created, it must have all information user provide(name,
      balance and date created). For transaction , it should be showed only in the account where it
      was created.



    15
                                 Personal Finance Management 2012
3. Update account balance:
   When transaction is created, the account include it must update balance fast(about 3s) and
   exactly(actual balance= total balance – transaction balance).




 16
             Personal Finance Management 2012




     Newspaper Retrieval System


        Statement of Works




17
                                         Personal Finance Management 2012


Document Type

Access Rights          DatacomIT

Disposal Method        Secure disposal

References/Links

     References to

     References from




    Date             Version     Author                                  Changes
 23/05/2012            0.1      David Szeto   Initial Draft
 25/05/2012            0.2      David Szeto   Included more information on project scopes and requirements
  5/06/2012            0.3      David Szeto   Revised REQ-7.10, 8.04, 8.05, 8.19, 8.64
  6/06/2012            0.4      David Szeto   Added section Technical User Guide, fixed REQ numbering
 13/06/2012            0.5      David Szeto   Revised REQ-8.01, 8.02, 8.03, section 8.7 and 8.9, renumbering
                                              REQ
 27/06/2012            0.6      David Szeto   Revised section Users, added new sub section User Operations
                                              and subsections
 12/07/2012            0.7      David Szeto   Revised REQ-8.10, REQ-8.11, REQ-8.12, added email templates
                                              for invoice, account activation, password reset and system email
                                              notification, revised sales report, added new section Additional
                                              Requirement and its sub sections
 18/07/2012            0.8      David Szeto   Revised REQ-8.02, REQ-8.35, REQ-8.88x and REQ-8.90x, added
                                              REQ-8.93
 27/07/2012            0.9      David Szeto   Revised REQ-8.34, REQ-8.35, REQ-8.91 and REQ-8.93
 31/07/2012            1.0      David Szeto   Section 6, REQ 7.08, REQ-8.62, REQ-8.74 - Removed TBD status
                                              REQ-7.09 NRS pages will be tested against Apple iPad to measure
                                              the compatibility
                                              REQ-7.10 becomes HIGHLY DESIRABLE
                                              REQ-8.03 becomes DESIRABLE
                                              Revised REQ-8.01a (added Issue search field), REQ-8.62, REQ-
                                              8.74 and REQ-8.87
  6/08/2012            1.1      David Szeto   REQ-8.01a – Missing Filename7 field
                                              REQ-8.02 – No embedded text in TIFF
                                              REQ-8.35a - Added Issue and Card No in sales report
                                              REQ-8.94 – Added Merchant Hosted requirements
 10/08/2012            1.2      David Szeto   REQ-8.92e – Added transaction failure email template




     18
                                                           Personal Finance Management 2012

                                                  Table of Contents


1.     Contact Details................................................................................................................................ 21
     1.1.    DatacomIT Contacts ................................................................................................................ 21
2.     Glossary .......................................................................................................................................... 21
3.     Introduction .................................................................................................................................... 23
4.     Definition of Requirements ............................................................................................................ 23
5.     Project Management Approach and Milestones ............................................................................ 23
     5.1.    Project Plan.............................................................................................................................. 23
     5.2.    Project Milestones ................................................................................................................... 24
     5.3.    Software Development Strategy ............................................................................................. 26
6.     List of Deliverables.......................................................................................................................... 28
7.     Non-Functional Requirements........................................................................................................ 29
8.     Functional Requirements................................................................................................................ 30
     8.1.    Search Fields ............................................................................................................................ 30
     8.2.    File Types and Script ................................................................................................................ 31
     8.3.    Script for Adding Documents .................................................................................................. 32
     8.4.    Payment Gateway ................................................................................................................... 32
       8.4.1.       What is CommWeb? ........................................................................................................ 32
       8.4.2.       CommWeb Virtual Payment Client Integration Guide ..................................................... 32
     8.5.    Others ...................................................................................................................................... 33
     8.6.    Advertisement Banners ........................................................................................................... 35
     8.7.    Users ........................................................................................................................................ 36
       8.7.1.       Public User........................................................................................................................ 36
       8.7.2.       Registered User ................................................................................................................ 36
       8.7.3.       Licensed User ................................................................................................................... 37
       8.7.4.       Administrator User ........................................................................................................... 37
     8.8.    User Operations....................................................................................................................... 41
       8.8.1.       Login ................................................................................................................................. 41


       19
                                                            Personal Finance Management 2012
       8.8.2.         Password Reset ................................................................................................................ 42
       8.8.3.         Registration ...................................................................................................................... 43
       8.8.4.         Pay Per Download ............................................................................................................ 45
       8.8.5.         Annual Licence Download ................................................................................................ 46
       8.8.6.         Purchase/Renew Annual Licence ..................................................................................... 47
       8.8.7.         Expiring/Expired Annual Licence ...................................................................................... 48
       8.8.8.         Feedback and Comments from Users .............................................................................. 49
       8.8.9.         Other Operation ............................................................................................................... 49
     8.9.      Additional Requirements......................................................................................................... 50
       8.9.1.         Manage & Publish Content on a Web Page ..................................................................... 50
       8.9.2.         Advertiser/Banner Management ..................................................................................... 50
       8.9.3.         Latest Articles & Most Purchased Articles Box Management .......................................... 51
       8.9.4.         Purchase and Download History ...................................................................................... 52
       8.9.5.         Tax Invoice........................................................................................................................ 52
       8.9.6.         Administrator Users ......................................................................................................... 54
       8.9.7.         CommWeb Solution ......................................................................................................... 54
9.     Test and Verification Procedures ................................................................................................... 54
     9.1.      Introduction ............................................................................................................................. 54
     9.2.      Test Phase and Objectives ....................................................................................................... 55
     9.3.      Test Data.................................................................................................................................. 55
     9.4.      Test Requirements .................................................................................................................. 55
     9.5.      Test Plan .................................................................................................................................. 56
     9.6.      Test Cases ................................................................................................................................ 56
     9.7.      Test Reporting ......................................................................................................................... 57
     9.8.      Test Strategy ............................................................................................................................ 57
10.         Technical User Guide (TBD)......................................................................................................... 58
11.         Mockups ...................................................................................................................................... 59
     11.1.        Home Page ........................................................................................................................... 59
     11.2.        Search Page .......................................................................................................................... 60
     11.3.        Search Result Page ............................................................................................................... 61



       20
                                 Personal Finance Management 2012

1.     Contact Details
1.1. DatacomIT Contacts
Name              Position                 Phone              Email

Eamonn Donohoe    Business Development     02 9636 9026       eamonn.donohoe@datacomit.com.au
                  Manager

Lam Troung        Production Manager       03 9522 2007       lam.troung@datacomit.com.au

Myf White         Analyst/Programmer       03 9522 2005       myfanwy.white@datacomit.com.au

David Szeto       Project Management       03 9522 2005       david.szeto@datacomit.com.au

DatacomIT Help    Support                  1300 887 507       helpdesk@datacomit.com.au
Desk




2.     Glossary
Name               Description

NRS                Newspaper Retrieval System

DCIT               Abbreviation for DatacomIT

Digitisation       Process of converting a physical medium to electronic

HLD                High Level Design

OCR                Optical Character Recognition – process of converting scanned images into
                   machine-encoded text.

Dual Layer PDF     A PDF containing both an image and OCR text.

CommWeb            A secure e-commerce payment gateway used by Commonwealth Bank

Zend               Open Source, OO web application framework implemented in PHP 5

Public User        Any internet user around the globe

Registered User    A user has a registered NRS account

Licensed User      A user has a registered NRS account with a valid annual licence


     21
                                  Personal Finance Management 2012
Administrator User   Site Administrator who has full access permission and configuration of the NRS

DCIT Admin           DatacomIT personnel / staff




   22
                                       Personal Finance Management 2012

3.    Introduction
The purpose of this Statement of Work (SOW) is to set forth the requirements for the Newspaper
Retrieval System hereinafter referred to as the NRS, whereby a contractor can respond with a project
plan and cost estimate.



In a short description, the NRS allows users to find and retrieve images globally by searching the system
database via a web user interface. The user can also acquire high resolution images via Pay Per
Download service or purchase annual license with capped downloads. The site will be extremely
intuitive and easy to use for users.




4.    Definition of Requirements
Requirements define the baseline that the system has to be designed against. The contractor MUST
address in their proposal each and every requirement given in this SOW. The requirements are
identified by the prefix REQ. All mandatory requirements contain the word MUST. All other
requirements are considered optional and are characterised as DESIRABLE or HIGHLY DESIRABLE.



Unless explicitly indicated by a scope statement, it is assumed that the requirements apply to all
components of the system. In some requirements, the exact scope still needs clarification and this is
annotated by “TBD” (“to be developed”) and highlighted in red colour text.




5.    Project Management Approach and Milestones
5.1. Project Plan
REQ-5.01        The contractor MUST provide a project plan and describe the method and approach to
                the overall project management and communication with the DCIT stakeholders.



REQ-5.02        It is DESIRABLE that the contractor provides evidence of their project management
                practices.




     23
                                 Personal Finance Management 2012
REQ-5.03   The project plan MUST at least contain the following items:

              Project Milestones
              Names of the key staff and management personnel
              Roles and responsibilities
              Reporting procedures
              Escalation procedures
              Quality Management Plan
              Coding Standards
              Estimate of development time and cost


5.2. Project Milestones
REQ-5.04   The major milestones should include:



           M0: Delivery of Project Plan

           The objective of M0 is for the contractor to review this SOW. The contractor MUST
           provide a project plan and have it approved by DCIT. The contractor will need to
           understand the project scope and requirements and clarify with DCIT if they are not
           clear. Back and forth discussions are anticipated between the contractor and DCIT
           stakeholders of DCIT during this period.




           M1: Delivery of preliminary High level Design Document and Prototype

           The objective of M1 is to lock down as many design decision as possible before investing
           in coding. The contractor MUST provide the High Level Design (HLD) document and a
           prototype and have them approved by DCIT. The HLD document should only include
           overview of the system, and MUST contain at least the following:

              Introduction
              Tools - third party software, database, framework, OS platform, etc
              High level architecture diagrams depicting the components and interfaces
              How the key challenges and problems will be solved. For example, describe how to
               test the system ability to handle 300 concurrent users at a given point in time.




    24
                             Personal Finance Management 2012
     The prototype is not required to be functional, but it MUST have all the required look-
     and-feel and elements of the finished product.



     M2: Acceptance of the SOW by the contractor and DCIT

     The objective of M2 is to have both the contractor and DCIT agree on the final SOW
     before moving to next phase.



     M3: Delivery of the Architectural / Design Document and Test Plan

     The contractor MUST provide the Architectural / Design document, which MUST include
     at least the following elements in detail:

        Use Case Diagram
        Class Diagram
        Entity Relationship Diagram


     The contractor MUST provide the Test Plan (see section Test Plan) detailing the
     approach to testing the system. The Test Plan MUST include at least the following
     elements:

        Test Coverage
        Test Methods
        Test Responsibilities
        Test Cases (see section Test Cases)


     M4: Sign off on User Acceptance Testing

     The contractor MUST provide all the deliverables (see section List of Deliverables) to
     DCIT to carry out UAT, especially the following items:

        Final version of the product, including source code, API, Technical User Guide
        Final version of test cases for System Tests and UAT


     M5: Post Production / Maintenance / Support

     The contractor MUST indicate the extent of post production support they will provide,
     which includes at least the following:

        Length of support

25
                                  Personal Finance Management 2012
              Type of support


REQ-5.05   In addition to the Milestones as mentioned above, the contractor MUST provide the
           following to assist DCIT stakeholders to perform weekly code review and regular testing
           during the implementation:

              Weekly release of functional development site on the test server
              Weekly release of source code and API documentation
              Weekly release of test cases (See section Test Cases).


REQ-5.06   For each of the Milestones, a formal review and acceptance process will be done by
           DCIT stakeholders. The objective is to ensure the contractor delivered what is required
           in each milestone.



REQ-5.07   Payment to the contractor is made upon acceptance of key deliverables in each
           milestone. A potion of the pay will be retained until the contractor proves that all the
           deliverables are provided and work together.



5.3. Software Development Strategy
REQ-5.08   The contractor MUST describe the method and approach to the software development.



REQ-5.09   It is DESIRABLE that the contractor provides evidence of any current external
           certification of their proposed development practices (for example CMMI).



REQ-5.10   The contractor MUST describe in detail the software development environment and
           process as well as the software delivery environments and related tools.



REQ-5.11   The software development MUST be performed according to the current                proven
           professional practice.




    26
                                  Personal Finance Management 2012
REQ-5.12   The contractor MUST assure that they are able to develop the software using Zend
           framework. If the contractor chooses another framework over Zend, the contractor
           MUST explain to justify their reasons.



REQ-5.13   The contractor MUST describe in detail the approach to Quality Assurance, including the
           approach to regular testing, in particular unit tests, integration tests, system tests and
           performance test of the software. For details please refer to the Test and Verification
           Procedures.



REQ-5.14   The contractor MUST describe in detail the approach to Software Documentation,
           including the detailed specification of Software Architectural Design, a unified glossary,
           system documentation as well as user documentation and administration
           documentation.



REQ-5.15   The contractor MUST describe in detail the approach chosen to guarantee the required
           performance in terms of throughput and response times.



REQ-5.16   The contractor MUST describe in detail the approach to change request, i.e. any
           variation of the original scope of the requirements.



REQ-5.17   The contractor MUST provide evidence as to why the chosen software architecture will
           guarantee a flexible, reliable, scalable, easily extendible and open architecture.



REQ-5.18   The system MUST be robust, as evidenced for example by its modular design. If e.g. the
           ad-hoc request function is not operating, the subscription and delivery function must
           still operate.



REQ-5.19   The contractor MUST describe in detail the approach chosen for the overall system
           architecture and, in particular, performance, high availability, and disaster recovery.




    27
                                        Personal Finance Management 2012




6.       List of Deliverables
All documentation MUST be provided in English.

All documents MUST at least contain the following elements:

     Title
     Version number
     Status with respect to confidentiality and completeness
     Authors
     Revision history
     Summary
     Purpose of document
     Glossary
The following documents MUST be included:

         Project Plan
              o Each technical requirement, numbered in the document in the form REQ-n.mmm,
                  should have a corresponding numbered statement of how it will be addressed or not.
              o All mandatory requirements, containing the capitalised word MUST, must be met
                  completely.
              o Optional requirements, indicated by the capitalised words DESIRABLE or HIGHLY
                  DESIRABLE should be indicated as being met, or not, or only met partially.
              o The pricing for the deliverables and any options
         Documentation of all versions (old, new releases and final version)
              o High Level design document
              o Software Architectural Design document
              o Software API
              o Test Plan
         Documentation relating to the Final Version for Acceptance Tests
              o Technical User Guide
              o Detailed description of the test cases used for the internal validation of the software
                  including test results
              o Functional tests
              o Use Case tests
              o Performance test
              o Failover and high availability tests
              o Maintenance terms and conditions, including initial warranty period

     28
                                       Personal Finance Management 2012
        Software to be delivered:
             o Prototype (first verification of software)
             o Well documented complete source code of the system (including API documentation)
             o Final version of the software for UAT
             o Complete Test cases (including test environments and test results)


Test cases used for the validation of the software and interfaces.

        Support:
            o Maintenance terms and conditions
            o Initial warranty period
            o Installation support
            o Training




7.       Non-Functional Requirements
REQ-7.01        The web site MUST be accessible by public users 24 hours a day, 7 days a week.



REQ-7.02        The system MUST be able to run on the latest Centos 5 Linux OS.



REQ-7.03        The contractor MUST develop the system in LAMP (Linux, Apache, MySQL and PHP).



REQ-7.04        The system MUST support FTP, SFTP, HTTP, HTTPS, SMTP services.



REQ-7.05        The system MUST respond to query with search results less than 5 secs.


     29
                                      Personal Finance Management 2012


REQ-7.06       The system MUST support at least 300 concurrent users simultaneously access to
               system.



REQ-7.07       The contractor MUST provide recommendation on hardware equipment and
               configuration to support at least 300 concurrent users simultaneously access to the
               system.



REQ-7.08       The system MUST be intuitive that users require little to no training.



REQ-7.09       The web site is required to be Apple iPad compatible. It will be measured by testing on
               the Apple iPad tablet.



REQ-7.10       It is HIGHLY DESIRABLE that the web site allows extension to other multi-media format
               in the future. (The extension will probably involve storing, downloading and purchasing
               other multimedia file format such as AVI, MP4 and MP3. DCIT does not have the
               requirements at this stage. It is HIGHLY DESIRABLE for the contractor to offer various
               recommendations on how the extension can be developed and included in the NRS in
               the future)



8.    Functional Requirements
8.1. Search Fields
REQ-8.01a      The system MUST provide at least the following search fields:



 Field Name    Data Type        Searchable      Visible in          Comment
                                                Search Result

 Record ID     ID               No              No                  Unique Record Identifier

 Name of       Text             Yes             Yes
 publication



     30
                                        Personal Finance Management 2012
 Volume           Text            Yes           Yes                  Includes Roman Numerals

 Issue            Integer         Yes           Yes                  Issue Number

 Page number      Integer         Yes           Yes                  Page Position, not number of pages

 Date             Date            Yes           Yes                  Date of publication

 Body             Text            Yes           Yes. 15 words        Full text searching of text retrieved via
                                                before and after     OCR process
                                                the search word

 Doc Path         Text            No            No                   Location of the doc path

 Filename1        Text            No            No                   Name of File Type 1

 Filename2        Text            No            No                   Name of File Type 2

 Filename3        Text            No            No                   Name of File Type 3

 Filename4        Text            No            No                   Name of File Type 4

 Filename5        Text            No            No                   Name of File Type 5

 Filename6        Text            No            No                   Name of File Type 6

 Filename7        Text            No            No                   Name of File Type 7



REQ-8.01b        The system MUST provide AND/OR operators in Advanced Search page

8.2. File Types and Script
REQ-8.02         The system MUST support the following file types:



 Type      File Format      Embedded      Watermark      Text            Accessible     Usage
                            in PDF                       embedded        via URL

 1         Bitonal JPEG     Yes           Yes            No              Yes            Public user preview

 2         Bitonal JPEG     Yes           No             No              No             Licensed user preview

 3         Bitonal JPEG     Yes           No             Yes             No             Purchased/Licensed User




     31
                                         Personal Finance Management 2012
 4         Bitonal TIFF       No             No              No             No             Purchased/Licensed User

 5         Greyscale JPEG     No             No              No             No             Purchased/Licensed User

 6         ZIP                N/A            N/A             N/A            No             Purchased/Licensed User

 7         Color Image        Yes            No              Yes            No             Purchased/Licensed User



Clarification:

        File Type 1 and 2 is only for display purpose.
        Type 6 contains File Type 3 – 5.
        All File Types will be pre-generated and supplied by DCIT.
        One page per file. (If an article consists of 5 pages, then there will be 5 sets of File 1 – 6 for the
         article)
        Only latest articles will have File Type 7 and the system MUST not show in the downloading page
         if File Type 7 is not available to an article


8.3. Script for Adding Documents
REQ-8.03         It is DESIRABLE for the contractor to develop a script for adding documents to the NRS.
                 The requirements for the script and process are in the NRS-add-document-script.docx
                 and sample.zip which are in the zip file below:




8.4. Payment Gateway
REQ-8.04         The system MUST support CommWeb for online purchases.



8.4.1.     What is CommWeb?
        http://www.commbank.com.au/business/merchant-services/payment-options/payments-via-
         your-website/default.aspx


8.4.2.     CommWeb Virtual Payment Client Integration Guide
        http://www.slideshare.net/drkimsky/comm-web-virtual-payment-client




     32
                                     Personal Finance Management 2012

8.5. Others
REQ-8.05      The system MUST record all user level activities (except public users) which can be
              export to CSV/Excel format. The required fields are:

                 Email Address (The person who initiates the event)
                 Timestamp (The date/time of the event)
                 Event Type (type, e.g. login, logout, search, download, purchase)
                 Description (value, e.g. search field, doc number)


REQ-8.06      The system MUST provide spaces for banner advertising that can only be configured
              Administrator users via a web interface.



REQ-8.07      The system MUST have a shopping cart to make purchase online.



REQ-8.08      The system MUST support CommWeb payment gateway (see section Payment Gateway)
              for all e-commerce transaction.



REQ-8.09      The system MUST support full text index searching of the document content. The
              indexes will be provided by DCIT.

REQ-8.10      The system MUST notify DCIT admin via email when there are more than 1000 annual
              license users registered on the NRS.



              The message will be as followed:



              Subject: NRS notification - Annual Licensed Users exceed 1000

              Dear DCIT admin,



              This is to notify you that there are <number of valid licensed users> licensed users at
              <HH:MM:SS> on <DD/MM/YYYY>.




    33
                                 Personal Finance Management 2012
           Regards,

           NRS Admin



REQ-8.11   The system MUST notify DCIT admin via email whenever there are more than 300 users
           (public + registered + licensed) simultaneously accessing the system at a given point in
           time.



           The message will be as followed:



           Subject: NRS Notification - Concurrent users exceed 300

           Dear DCIT admin,



           This is to notify you that the there are <number of concurrent users> concurrent users
           at <HH:MM:SS> on <DD/MM/YYYY>.



           This has occurred <number of times> so far.



           Regards,

           NRS Admin



REQ-8.12   The system MUST send out DCIT admin a monthly report in regards to download
           consumption in GB.



           The message will be as followed:



           Subject: NRS Notification – Download Consumption in <MMM YYYY>

           Dear DCIT admin,

    34
                                 Personal Finance Management 2012


           This is to notify you that the download consumption for <MMM YYYY> is <download
           consumption in GB>.



           Regards,

           NRS Admin

8.6. Advertisement Banners
REQ-8.13   The web site MUST have spaces for banner advertising that can be configured by
           Administrator user via an interface.



REQ-8.14   The system MUST allow multiple ad banners to display on the right side of the pages.
           (See Mockups for the location of ad bannners)



REQ-8.15   The system MUST support the following dimension of the ad banner:

           Width : 40mm

           Height : 40mm or above



REQ-8.16   It is HIGHLY DESIRABLE to provide a web interface for Administrator users to configure
           the banner width.



REQ-8.17   The system MUST provide an interface for Administrator users to upload ad banners
           onto the site.



REQ-8.18   The system MUST support two types of ad banners:

           1. Flash banner ads
           2. Upload multiple images and ability to cycle through them at a set interval using
              Javascript.




    35
                                       Personal Finance Management 2012

8.7. Users
REQ-8.19        The system MUST support four types of users:

                   Public User
                   Registered User
                   Licensed User
                   Administrator User


8.7.1.     Public User


A public user is any internet user around the globe.



REQ-8.20        A public user can search the NRS repository but can only view PDFs that are of File Type
                1 (see section File Types and Script)



REQ-8.21        A public user is not allowed to search, view, purchase and download File Type 2 - 6.



8.7.2.     Registered User


A registered user has a registered user account with the NRS.



REQ-8.22        A registered user has the same access permissions as a public user.



REQ-8.23        A registered user has a user profile details which can be edited by the user.



REQ-8.24        A registered user can use Pay Per Download to purchase and download File Type 3 - 6
                (see section Pay Per Download)



REQ-8.25        A registered user can purchase an annual licence to have more access and download
                permissions on File Type 3 - 6 (see section Licensed User, Annual Licence Download and
                Purchase/Renew Annual Licence)

     36
                                       Personal Finance Management 2012


8.7.3.     Licensed User


A licensed user has a registered user account and a valid annual licence.



REQ-8.26        A licensed user has the same access permissions as a registered user.



REQ-8.27        A licensed user can search the NRS repository but can only view PDFs that are of File
                Type 2 (see section File Types and Script)

REQ-8.28        A licensed user has access permission to download File Type 3 – 6 at a capped number.



8.7.4.     Administrator User


An administrator user has a registered user account and full access permissions of the NRS



REQ-8.29        An administrator user can add, edit and delete user accounts.



REQ-8.30        An administrator user can enable and disable user accounts.



REQ-8.31        An administrator user can add, replace and delete advertising banners.



REQ-8.32         It is HIGHLY DESIRABLE for the system to have a web interface for administrator users
                to configure the banner width.



REQ-8.33        An administrator user can set the maximum download limits for each licensed user.




     37
                                         Personal Finance Management 2012
REQ-8.34        The system MUST enable administrator users to have access to the Excel sales reports
                detailing properties for each download purchase completed to assist in performing
                demographics analytics on the systems usage.



REQ-8.35a       The sales reports consist of four individual excel files:

                1.    Transaction report shows all transactions made by each user per month
                2.    Purchase report shows what items are in a transaction per month
                3.    Historical Sales report shows each user’s purchase history per month
                4.    Licence Expired report shows all users whose licences have expired and have not yet
                      renewed. This is an exhaustive list from the past to present.


Transaction Report:

Field Name                          Description

Order ID                            The order ID of the transaction

Date                                Transaction Date

First Name                          User’s first name

Last Name                           User’s last name

Address 1                           User’s address line 1

Address 2                           User’s address line 2

Suburb                              User’s address suburb

State                               User’s address state/province

Post Code                           User’s address post code

Country                             User’s address country

Age Bracket (for individuals)       Display in one of the following

                                    1.   Below 18
                                    2.   18 – 30
                                    3.   31 – 40
                                    4.   40 – 50
                                    5.   50 – 60
                                    6.   Above 60


       38
                                 Personal Finance Management 2012
                             Use Date of Birth to calculate the age bracket

Phone                        User account’s phone number

Fax                          User account’s fax number

Email                        User account’s email address

Number of units purchased    Number of units that the user purchased

Value of order (GST incl.)   User’s total order value per month (GST inclusive)



Purchase Report:

Field Name                   Description

Order ID                     Transaction’s Order ID

First Name                   User’s first name

Last Name                    User’s last name

Email                        User account’s email address

Format                       File or Licence

Expiry Date                  Licence expiry date (Only for licence purchase)

Volume                       The volume number in Search Fields

Card No                      The last 4 digits of the credit card number

Year                         The year of the page

Issue                        The issue number

Page Number                  Page Position



Historical Sales Report:

Field Name                   Description

First Name                   User’s first name



        39
                                      Personal Finance Management 2012
Last Name                         User’s last name

Address 1                         User’s address line 1

Address 2                         User’s address line 2

Suburb                            User’s address suburb

State                             User’s address state/province

Post Code                         User’s address post code

Country                           User’s address country

Email                             User account’s email address

<MM/YYYY>*                        Sales done by the customer current month

<MM/YYYY>*                        Sales done by the customer one month ago

<MM/YYYY>*                        Sales done by the customer two months ago

<MM/YYYY>*                        Sales done by the customer three months ago

<MM/YYYY>*                        Sales done by the customer four months ago

<MM/YYYY>*                        Sales done by the customer five months ago

6 month sales                     Total sales done by the customer in the last six months

12 months sales                   Total sales done by the customer in the last 12 months



* <MM/YYYY> is a dynamic field name. If current date is July 2012, the value will be 07/2012, and one
month ago will be 06/2012, two months ago will be 05/2012 and so on.


Licence Expired Report:

Field Name                        Description

First Name                        User’s first name

Last Name                         User’s last name

Address 1                         User’s address line 1



     40
                                         Personal Finance Management 2012
Address 2                            User’s address line 2

Suburb                               User’s address suburb

State                                User’s address state/province

Post Code                            User’s address post code

Country                              User’s address country

Email                                User account’s email address

Expiry Date                          Licence expiry date



REQ-8.35b          The system MUST allow administrator users to download the Transaction, Purchase and
                   Historical Sales reports by selecting the report type and the period (month and year).



REQ-8.35c          The Licence Expired report MUST shows every user whose licence has been expired and
                   not yet renewed. The list MUST contain everyone from the past till present.



REQ-8.36           The system MUST enable administrator users to view and analyse web traffic data
                   produced by Google Analytics, see http://www.google.com/analytics/ for more
                   information. This will provide useful details on the how the system is being used and
                   possibly assist in configuring banner ads and future system improvements.



8.8. User Operations
8.8.1.     Login


REQ-8.37           The system MUST provide a web interface for a registered user to login using their email
                   address and password.



REQ-8.38           The system MUST check the credentials of a user (i.e. email address and password)
                   when the user is logging in.




    41
                                       Personal Finance Management 2012
8.8.2.     Password Reset


REQ-8.39        The system MUST have a “Password Reset” page for a registered/licensed user to reset
                their password.



REQ-8.40        The system MUST guide a registered user to reset their password in the following steps:

                   The user submits their email address they use for the NRS account in the “Password
                    Reset” page.
                   The system sends a password reset email to the user’s email account (see below for
                    the message template).
                   The user clicks on the link in the email to go to a “Password Reset” page.
                   The reset password link MUST be unique to each request and will be expired in 48
                    hours.
                   The user submits new password (see Password validation rules)


                The message template will be as followed:



                Subject: <Company Name> Password Assistance

                We received a request to reset the password associated with this email address. If you
                made this request, please follow the instructions below.



                Click the link below to reset your password using our secure server:



                <https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>



                If you did not request to have your password reset, you can safely ignore this email.



                If clicking the link doesn’t seem to work, you can copy and paste the link into your
                browser’s address bar or retype it there.




    42
                                      Personal Finance Management 2012
                <Company Name> will never email or ask you to disclose your <Company Name>
                account password, credit card or banking account number. Please report any suspicious
                email to <company’s account service email address>.



                Regards

                <Company Name> Account Services



REQ-8.41        The length of a registered user session will be 30 minutes and the user needs to log in
                again after the session is expired.



8.8.3.     Registration


REQ-8.42        The user MUST have a registered user account in NRS before purchasing materials
                online.



REQ-8.43        The system MUST provide a “Registration” page for a public user to register a new
                account.



REQ-8.44        The registration form MUST contain the following required fields:

                   Email Address
                   Password
                   First Name
                   Last Name
                   Date of Birth
                   Business/Institution Name
                   Address Line 1
                   Address Line 2
                   Suburb
                   State
                   Postcode
                   Country
                   Phone Number
                   Fax Number (optional)



    43
                                 Personal Finance Management 2012
REQ-8.45   The system MUST not accept an email address already exists in the database.



REQ-8.46   The user’s password MUST comply with the following validation rules:

              Between 6 to 16 characters
              Include at least 1 letter and 1 numeral
              Can contain most symbols except < = > { } ^ `
              No space
              MUST not be the same as previous 3 passwords
              MUST not contain person’s name


REQ-8.47   It is DESIRABLE for the system to have a gauge to show the strength (Weak, Good,
           Strong and Very Strong) of the user’s password.



REQ-8.48   If REQ-8.49 is implemented, the system MUST only accept the password that has
           strength “Strong” or above.



REQ-8.49   The system MUST generate and send a confirmation email to the user email account
           with the account activation link.



REQ-8.50   The account activation link MUST be unique to each request for each registered user
           and MUST expire after 48 hours.




REQ-8.51   The account activation email message template will be as followed:



           Subject: <Company Name> New Account

           Dear <Full Name>,


    44
                                       Personal Finance Management 2012


                Thank you for registering with <Company Name>.



                Please click the following link to activate your account:



                <https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>



                Or copy and paste the link into your browser’s address bar.



                Yours Sincerely,

                <Company Name> Account Services



REQ-8.52        When the user clicks on the link, the system opens a new window showing “Your
                account has been successfully activated!” confirmation message.



REQ-8.53        The system MUST make sure the user is not logged in even after their account is
                activated. The user still needs to log in via the “Login” page.



8.8.4.     Pay Per Download


REQ-8.54        Pay Per Download scheme is only eligible for a registered user who does not have a valid
                annual licence or a licensed user who has reached the maximum download limit.



REQ-8.55        Shopping cart is only eligible for Pay Per Download scheme.



REQ-8.56        The system MUST allow registered users to purchase materials of File Type 3 - 6 for a
                fixed fee irrespective of the File Types they wish to download.


    45
                                       Personal Finance Management 2012
REQ-8.57        At checkout, the system brings user to “Checkout” page, which has the summary of the
                purchases, as well as a form for the user to enter personal and payment details.



REQ-8.58        The system MUST work with CommWeb Gateway and supply required payment details
                to fulfil the transaction.

REQ-8.59        All transaction information MUST be stored in the database for reconciliation and
                reporting.



REQ-8.60        The system MUST generate and send an invoice to both user and provider for the “Pay
                Per Download” purchase. Please see section Tax Invoice for more details.



REQ-8.61        The system MUST generate and send an email notification to the user and the provider
                if the transaction is unsuccessful.



REQ-8.62        The system MUST provide a way for the provider to reconcile with the bank account
                payment received. (Refer to REQ-8.35 Transaction and Purchase report)



REQ-8.63        The system MUST allow registered users to access and download their purchased
                materials without limit.




8.8.5.     Annual Licence Download


REQ-8.64        Annual Licence Download is only eligible for a licensed user with a valid annual licence.




    46
                                       Personal Finance Management 2012
REQ-8.65        A licensed user is given a default download limits at the beginning.



REQ-6.66        The system MUST keep track of every licensed user’s download limit and the number of
                downloads made by the user.



REQ-8.67        The system MUST not allow a licensed user who has reached maximum limit to continue
                accessing and downloading File Type 3 – 6.



REQ-8.68        The maximum download limit of every licensed user can be changed by an
                Administrator user via a web interface.



8.8.6.     Purchase/Renew Annual Licence


REQ-8.69        The system MUST enable a registered user to purchase or renew an annual licence via a
                “Purchase/Renew Licence” page where the user enters and submits personal and
                payment details.



REQ-8.70        The system MUST work with CommWeb Gateway and supply required payment details
                to fulfil the transaction.



REQ-8.71        All transaction information MUST be stored in the database for reconciliation and
                reporting.



REQ-8.72        The system MUST generate and send an invoice to both user and provider for the
                purchase of the annual licence. Please see section Tax Invoice for more details.



REQ-8.73        The system MUST generate and send an email notification to the user and the provider
                if the transaction is unsuccessful.




    47
                                       Personal Finance Management 2012
REQ-8.74        The system MUST provide a way for the provider to reconcile with the bank account
                payment received. (Refer to REQ-8.35 Transaction and Purchase report)



8.8.7.     Expiring/Expired Annual Licence


REQ-8.75        The system MUST check whether the licensed user has a valid license – not expired.



REQ-8.76        If the user’s annual licence is going to expire, the system MUST send out email
                reminders to the user in the following progressive manner:

                        Reminder 1: One month before due date

                        Reminder 2: Two weeks before due date

                        Reminder 3: 2 days before due date



REQ-8.77        If the user’s annual licence has expired, the system:

                   MUST not allow the user to access File Type 2 – 6 from NRS, including the ones they
                    have downloaded before.
                   MUST send an email notification to the user that the annual license has expired and
                    the user can no longer access File Type 2 - 6, but still can access File Type 1.


REQ-8.78        The email reminder and notification should be in HTML email format.



REQ-8.79        If the user’s email application does not support HTML email format, it should fall back to
                plain text format.



REQ-8.80        The email template for licence renewal is shown in below PDF:




    48
                                      Personal Finance Management 2012




REQ-8.81        The email template for an expired licence is shown in below PDF:




8.8.8.     Feedback and Comments from Users


REQ-8.84        The system MUST provide email address and phone number for customer to send
                feedback and comments.



REQ-8.85        It is DESIRABLE for the system to have a web interface for users to send comments and
                feedback.



8.8.9.     Other Operation


REQ-8.86        It is HIGHLY DESIRABLE for the system to have “Email to a friend” service to share with
                people who are interested in the materials.



    49
                                       Personal Finance Management 2012


REQ-8.87        The system MUST allow specific users (e.g. company staff/employees) to have unlimited
                download to the entire collection. i.e. No download limits restrictions should be
                available.



8.9. Additional Requirements
8.9.1.     Manage & Publish Content on a Web Page


REQ-8.88a       This feature is only available for Administrator Users.



REQ-8.88b       The system MUST provide an “edit” link at the top of a web page.



REQ-8.88c       A WYSIWYG editor will be provided to the user to control over creating, styling and
                formatting of the content



REQ-8.88d       The system MUST provide an “save” and “cancel” link at the top of a web page



REQ-8.88e       The following are the only pages required to have content management and publishing
                capability:

                   Home
                   Advertising
                   About Us
                   Contact Us


8.9.2.     Advertiser/Banner Management


REQ-8.89a       The Advertising Banner Manager MUST enable an Administrator User to:

                   Set a banner to display in zero or more pages
                   Set a banner to display in various position (e.g. 1 = Top, 2 = 2nd from the top, etc)
                   Configure the URL of a banner



    50
                                     Personal Finance Management 2012
REQ-8.89b     An advertising banner can appear on any of the following pages:

                 Home
                 Login
                 Search (Simple)
                 Search (Advanced)
                 Search Result
                 Subscribe
                 Advertising
                 About Us
                 Contact Us
                 Search Result
                 Checkout
                 Forgotten Password
                 Account Activation
                 Purchase Licence


REQ-8.89c     An advertising banner MUST NOT appear on any of the following pages:

                 View Page
                 User Dashboard
                 User Profile
                 Purchase History
                 Download History
                 Any configuration/settings pages where Administrator Users access


REQ-8.89d     The system MUST inform the Administrator User if duplicate number is assigned to two
              or more position.



REQ-8.89e     When an advertising banner has been configured with an URL, it should become
              “clickable” and bring the user to the web page corresponding to the URL.



8.9.3.   Latest Articles & Most Purchased Articles Box Management


REQ-8.90a     This feature is only available to Administrator Users.



REQ-8.90b     The system MUST provide a UI for an Administrator User to show/hide the “Most
              Purchased Articles” box on a page.

    51
                                      Personal Finance Management 2012
REQ-8.90c      The “Latest Articles” and “Most Purchased Articles” MUST not appear on any of the
               following pages:

                  View Page
                  User Dashboard
                  User Profile
                  Purchase History
                  Download History
                  Any configuration/settings pages where Administrator Users access


8.9.4.   Purchase and Download History


REQ-8.91a      The system MUST allow a licensed user who was a registered user and has previously
               purchased materials online to access both purchased history and download history.



REQ-8.91b      The system MUST allow a licensed user to access and download any previous purchased
               items via Purchased History page even though the annual licence has expired.



The following table shows the user permissions to access the corresponding history pages:



     History            Registered User             Licensed User               Licensed User

                                                (Licence not expired)          (Licence expired)

Purchase History               Yes                       Yes                         Yes

Download History               No                        Yes                          No



8.9.5.   Tax Invoice


REQ-8.92a      The invoice MUST contains at least the following information:

                  Invoice Number
                  Invoice Date
                  User’s Name
                  User’s Email Address
                  Purchased item details

    52
                                      Personal Finance Management 2012


REQ-8.92b       The invoice should be in HTML email format.



REQ-8.92c       If the email application does not support HTML email format, it should fall back to plain
                text format.



REQ-8.92d       The email template for the invoice is shown in PDF below:




REQ-8.92e       The email template for the transaction failure is shown in PDF below:




Clarification: <Field Name> is dynamic field generated by the system.



     53
                                        Personal Finance Management 2012
8.9.6.     Administrator Users


REQ-8.93        The user MUST be able to set the pricing of:

                   An annual licence
                   A page (default price for all)


                They should be under General Settings where ‘Default Download Limit’ is.



8.9.7.     CommWeb Solution


REQ-8.94a       The system MUST have its own payment page for an user to enter card details
                (Merchant Hosted transaction)



REQ-8.94b       The system MUST store the last 4 digits of the credit card number in the database



REQ-8.94c       The system MUST NOT store credit card details such as card type, card name, card
                number and expiry date in the database, except specified in REQ-8.94b



REQ-8.94d       The system MUST follow the best practices to secure and protect the data
                recommended
                http://commbank.thewhiteagency.com.au/CommWeb/CommWeb_Virtual_Payment_Cl
                ient_Integration_Guide.pdf




9.    Test and Verification Procedures
9.1. Introduction
This section defines the high level requirements and objectives of the test and verification activities for
the NRS, but NOT to provide the detailed test plans and the test cases.




     54
                                       Personal Finance Management 2012
The major objective of NRS software testing is to verify the system functions are implemented as
specified, and the performance, reliability and security features of the software meet requirements.



9.2. Test Phase and Objectives
Design Review, Prototype Review, System Test and User Acceptance Test are the necessary validation
and verification phases in the development and delivery of the NRS software:



REQ-9.01        The contractor MUST carry out Design Review and the Prototype Review with DCIT
                stakeholders. The objective is to determine the consistency of design with
                requirements, and the adequacy of design.



REQ-9.02        The contractor MUST carry out System Test to validate the functions, performance, user
                interface and security of the NRS software before it is delivered to UAT. The objective is
                to ensure the software meet all specifications in the development environment.



REQ-9.03        The contractor MUST provide all the deliverables of the software to DCIT stakeholders
                to carry out User Acceptance Test. The objective is to confirm the NRS software meet all
                specification and is ready for operational use.



9.3. Test Data
REQ-9.04        The contractor MUST supply the initial test data, except the test files for File Types (see
                section File Types) will be provided by DCIT stakeholders. Subsequent test data will be
                provided by DCIT stakeholders when test cases are set up by the contractor.



9.4. Test Requirements
REQ-9.05        All the functional and non-functional requirements (numbered in the document in the
                form REQ-n.mm) for the NRS software MUST be tested.



REQ-9.06        The contractor MUST develop the Test Plan (see section Test Plan) and Test Cases (see
                section Test Cases), according to the defined requirements.


     55
                                    Personal Finance Management 2012


REQ-9.06   The test results MUST be reported by the contractor at the end of each test phase.



9.5. Test Plan
REQ-9.07   The test plan MUST cover Prototype Review, System Test and UAT.



REQ-9.08   The test plan MUST contain at least the following items:

           Test Coverage

                Each test MUST be identified as Unit, Integration or System
                All software features and combinations of software features to be tested.
                All features and specific combinations of features that will not be tested along with
                 the reasons.


           Test Methods

                The sequence of test runs, tool requirements, expected results, and test verification
                 method must be identified.
                The testing environment – computer hardware, Operating System, support software
                 and test tools, as well as security requirements needed to complete the testing
                 activities.


           Test Responsibilities

                The key personnel to perform the test, in this case it is either the contractor and/or
                 DCIT


9.6. Test Cases
REQ-9.09   Each test listed in the detailed test plans MUST have a test case



REQ-9.10   The contractor MUST develop the test cases. The contractor may consider using
           Zend_Test_PHPUnit (http://framework.zend.com/manual/en/zend.test.phpunit.html)
           or similar test framework to develop test cases. A test case MUST contain at least the
           following information in either comments or coding:

                Test Case Name (Unique Name for the test case)

    56
                                 Personal Finance Management 2012
              Test Case ID (Unique ID for the test case)
              Test Level (Unit, Integration or System)
              Created By
              Created Date
              Modified By
              Modified Date
              Component (The software component to be exercised by this test case)
              Requirements Covered (The functional or non-functional requirements covered by
               this test case)
              Pre-condition (The necessary environment and input required to run this test case)
              Test Steps (The method and procedure to run this test case)
              Expected Results
              Actual Results


REQ-9.11   All test cases MUST be submitted for review by DCIT.



9.7. Test Reporting
REQ-9.12   The contractor MUST provide a Test Report which certify that all test cases necessary to
           test objectives were successfully completed and giving the total number of outstanding
           problems. The report MUST contain at least the following:

              Number of test cases planned
              Number of test cases successfully completed
              Number of test cases that could not be executed (with reasons)
              Test results showing
              Functions working
              Functions not working
              Any outstanding issues
              Action plan


9.8. Test Strategy
REQ-9.13   The contractor MUST cover the following areas in the Unit, Integration and System Test:

              Automated Testing: Verify codes by using testing tools
              Business Function Testing: Verify that the business functions operate according to
               the detailed requirements, the external and internal design specifications
              User Interface Testing: Verify that the user interface meets the functional
               requirements
              Performance Testing: Verify that the application meets the expected level of
               performance in a production-like environment.


    57
                                       Personal Finance Management 2012
                   Security Testing: Verify that the application provides an adequate level of
                    protection for confidential information and data belong to the system.


10. Technical User Guide (TBD)
As stated in REQ-7.08, the system will be easy to use and will require little or no training. Therefore the
contractor is not required to develop specific user guides for end users. However, a technical user guide
is required for developers.



REQ-10.01       The contractor MUST develop and provide a technical user guide, which includes at least
                the following:

                   Installation procedures
                        o Hardware and software requirements and versions
                        o Explanation of installation options (if any)
                        o Explanation of all the application configuration
                        o Explanation of all the database configuration
                   Instruction should be broken down to basic steps which will be able to follow for
                    even new developers. e.g. “Edit config.ini” or “set DEBUG to true”
                   Either in a PDF file or a HTML page
                




     58
                                       Personal Finance Management 2012

11. Mockups
The objective of the mockups is to give the contractor an overall idea of how the site should look like.
For more information about the look-and-feel of the site, please go to:

   http://www.australiancatholicnews.com.au/
   http://www.catholicweekly.com.au


Clarification: Some menu items may not be required.

11.1. Home Page
The site’s home page




     59
                                       Personal Finance Management 2012

11.2. Search Page
The user enters search criteria and clicks the ‘Go’ button.




     60
                                       Personal Finance Management 2012

11.3. Search Result Page
The user clicks on one of the search results.




     61

								
To top